1 # File: prodcorsika_proton_intime_icarus_bnb.fcl
2 # Purpose: generation of "intime-cosmic" monte-carlo -- events where a cosmic triggers the beam spill
3 # Author: Gray Putnam (grayputnam@uchicago.edu)
6 # Generates events with cosmic rays in-time with the beam spill.
8 # This generation is done in three stages:
10 # First, corsika is run (in proton mode) in an unbiased way to populate
11 # the TPC with cosmic rays.
13 # Second, a filter (GenInTimeSorter) is run to ensure that at least
14 # one particle enters the TPC in a window around (minT, maxT). This
15 # window is chosen so that any particle which could possibly deposit
16 # light on a photon detector in-time with the beam is passed.
18 # Third, G4 is run on only those in-time particles and a filter
19 # (FilterSimPhotonTime) is run which removes events which have fewer
20 # than MinTotalEnergy of energy of in-time photon depositions (in units of eV).
23 # -These filters by themselves do not constitute a trigger emulation and
24 # a reco-based trigger emulator should be run downstream. One should
25 # take care to ensure that the two filters do not remove events that
26 # would be passed by the trigger simulation.
28 # -This file runs G4 only on the "intime" set of particles. One __must__
29 # run G4 using the "intime_g4_icarus.fcl" configuration to ensure that
30 # G4 is run consistently only on the "outtime" particles downstream.
32 # -In general, this config will filter out a large percentage of the
33 # generated corsika events. One should test what percentage of events
34 # do not pass the filtering in order to tune how many to generate
45 #FileCatalogMetadata: @local::art_file_catalog_mc
46 @table::icarus_gen_services
47 @table::icarus_g4_services
50 #Start each new event with an empty event.
54 timestampPlugin: { plugin_type:
"GeneratedEventTimestamp" }
56 firstRun: 1 # Run number to use
for this file
60 # Define and configure some modules to do work on each event.
61 # First modules are defined; they are scheduled later.
62 # Modules are grouped by type.
77 MinKE: 1
e-1 # some energy threshold to produce
a PE
80 MinT: -200 # [ns] Change:
filter to only allow muons starting at
the beam spill (with
a small buffer)
88 # Currently in overlay generation, events are generated
89 # uniformly in a window [0, 1596ns] to approximate a beam spill.
90 # Add a little width here to up that width to 2000ns
91 TimeWindows: [ [-202, 1798] ] # ns
94 # MinTotalEnergy: 9.7e-4
95 # 25 PE!! That's the ticket!
96 MinTotalEnergy: 0.0002425
98 # MinTotalEnergy: 0.00485
103 #define the producer and filter modules for this path, order matters,
104 #filters reject all following items. see lines starting physics.producers below
108 #define the output stream, there could be more than one if using filters
112 #block to define where the output goes. if you defined a filter in the physics
113 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
114 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
120 fileName:
"prodcorsika_intime_proton_icarus_bnb_%tc.root"
129 #physics.producers.generator.EnergyThreshold: 2.e-1
130 physics.producers.generator.SubBoxLength:
"subboxLength 60 "
131 services.LArG4Parameters.ParticleKineticEnergyCut: 0.0005
132 physics.producers.larg4intime.KeepParticlesInVolumes: [
"volDetEnclosure" ]
133 physics.producers.larg4intime.InputLabels: [
"GenInTimeSorter:intime" ]
BEGIN_PROLOG supported so far
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
process_name can override from command line with o or output photon
process_name local::throughgoing_selection SelectEvents
BEGIN_PROLOG pandoraTrackRangeCryoW pandoraTrackRangeCryoW rns
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
process_name gaushitTPC3 gaushitTPC3 filters
process_name can override from command line with o or output dataTier
source drop raw::ubdaqSoftwareTriggerData_ *_ *_ * maxEvents
process_name GenInTimeSorter
physics filters GenInTimeSorter MaxT
auto end(FixedBins< T, C > const &) noexcept
process_name MinPhotonEnergy
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
services TFileService fileName
standard_singlep gaussian distribution ie ie ie gaussian gaussian gaussian larg4Main stream1
process_name keep raw::RawDigits_ *_ *_ * saveMemoryObjectThreshold
process_name showerreco Particles Coinciding wih the Vertex services ScanOptions nu_mu services ScanOptions Number
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name