|
| 1 | +#include "detsim_2d_icarus_refactored.fcl" |
| 2 | + |
| 3 | +process_name: OpDetSim |
| 4 | + |
| 5 | +services.DetPedestalService: @erase |
| 6 | +services.ChannelStatusService: @erase |
| 7 | +services.SignalShapingICARUSService: @erase |
| 8 | + |
| 9 | +source.inputCommands: [ |
| 10 | + "keep *", |
| 11 | + |
| 12 | + # `stage0` comes from decoding data: should be kept! |
| 13 | + # `MCstage0` comes running stage0 on the overlay products: |
| 14 | + # so pmt/trigger/crt stuff should be thrown out! |
| 15 | + |
| 16 | + "drop raw::OpDetWaveform*_opdaq_*_*", # drop old MC waveforms (if any) |
| 17 | + "drop raw::OpDetWaveform*_shifted_*_*", # drop old MC (shifted) waveforms (if any) |
| 18 | + "drop *_overlayOpWaveforms_*_*", # drop old Overlay waveforms (if any) |
| 19 | + "drop *_ophit*_*_*", # drop MCstage0 ophits |
| 20 | + "drop *_mcophit_*_*", # drop MCstageo mcophit |
| 21 | + "drop *_opflash*_*_*", # drop MCsstage0 east/west opflashes |
| 22 | + |
| 23 | + "drop *_pmtfixedthrinit_*_*", # drop triggersim product |
| 24 | + "drop *_pmtlvdsgatesinit_*_*", # drop triggersim product |
| 25 | + "drop *_pmttriggerwindowsinit_*_*", # drop triggersim product |
| 26 | + "drop *_triggersimgatesinit_*_*", # drop triggersim product |
| 27 | + "drop *_emuTriggerUnshifted_*_*", # drop triggersim product |
| 28 | + "drop *_pmtfixedthr_*_*", # drop MCstage0 trigger product |
| 29 | + "drop *_pmtlvdsgates_*_*", # drop MCstage0 trigger product |
| 30 | + "drop *_pmtlvdsgates_*_*", # drop MCstage0 trigger product |
| 31 | + "drop *_pmtbaselines_*_MCstage0", # drop MCstage0 baselines, not stage0! |
| 32 | + "drop *_pmttriggerwindows_*_*", # drop MCstage0 trigger product |
| 33 | + drop "*_emuTrigger_*_*", # drop MCstage0 trigger product |
| 34 | + |
| 35 | + "drop *_crtdaq_*_*", # drop CRT detsim product |
| 36 | + "drop *_mccrthit_*_*", # drop CRT mc hits |
| 37 | + "drop *_overlayCRTHit_*_*", # drop CRT overlay hits |
| 38 | + "drop *_crttrack_*_*", # drop CRT tracks (MCstage0) |
| 39 | + "drop *_crtpmt_*_*", # drop CRTPMT matches (MCstage0) |
| 40 | +] |
| 41 | + |
| 42 | +# Running only the optical/trigger/crt modules |
| 43 | +# Simplify configuration removing all other producers (tpc) |
| 44 | + |
| 45 | +physics.producers: { |
| 46 | + |
| 47 | + # opdaq Run-1/2 tune for overlays (no noise) |
| 48 | + opdaq: @local::icarus_simpmt_run2_nonoise |
| 49 | + |
| 50 | + # triggersim producers |
| 51 | + @table::icarus_shifting_triggersim.producers |
| 52 | + |
| 53 | + # crt hits |
| 54 | + crtdaq: @local::icarus_crtsim |
| 55 | + |
| 56 | +} |
| 57 | + |
| 58 | +# build waveforms from simPhotons (already shifted) |
| 59 | +physics.producers.opdaq.InputModule: "shifted" |
| 60 | + |
| 61 | +# need to update the shifting module to pick up new labels |
| 62 | +# some were regenerated (tag still good), others were previously shifted |
| 63 | +# applying a second shift is okay: everything is consistent |
| 64 | +# (eg. waveforms made from `shifted` photons) |
| 65 | +# NOTE: still shifing energy deposits although tpc info not regenerated |
| 66 | +# however forced to use `filtersed` as `shifted` has been consumed |
| 67 | + |
| 68 | +physics.producers.shifted.InputTriggerLabel: "emuTriggerUnshifted" # this was re-generated, so same tag |
| 69 | +physics.producers.shifted.InitAuxDetSimChannelLabel: "shifted" # need to start from previously-shifted, not `genericcrt` |
| 70 | +physics.producers.shifted.InitBeamGateInfoLabel: "triggersimgatesinit" # this was re-generated, so same tag |
| 71 | +physics.producers.shifted.InitSimEnergyDepositLabel: "filtersed" # need to start from previously-shifted, but `shifted` no longer available |
| 72 | +physics.producers.shifted.InitSimEnergyDepositLiteLabel: "filtersed" # need to start from previously-shifted, but `shifted` no longer available |
| 73 | +physics.producers.shifted.InitSimPhotonsLabel: "shifted" # need to start from previously-shifted, not `pdfastsim` |
| 74 | +physics.producers.shifted.InitWaveformLabel: "opdaq" # this was re-generated, so same tag |
| 75 | + |
| 76 | +# need to update shiting of priorSCE deposits: |
| 77 | +# this is important if future reprocessings will need to regenerate SimPhotons |
| 78 | + |
| 79 | +physics.producers.shiftedpriorSCE.InputTriggerLabel: "emuTriggerUnshifted" # this was re-generated, so same tag |
| 80 | +physics.producers.shiftedpriorSCE.InitSimEnergyDepositLabel: "shiftedpriorSCE" # need to start from previously-shifted, not `ionization:priorSCE` |
| 81 | + |
| 82 | +# The reprocessing flow is the following: |
| 83 | +# - build new pmt waveforms from photons |
| 84 | +# - simulate the trigger |
| 85 | +# - shift all products to the trigger: |
| 86 | +# -- we are shifting photons, pmt waveforms, energy depositis, aux sim channels |
| 87 | +# -- note: since tpc is not re-simulated, no longer fully coherent with trigger time |
| 88 | +# - build CRT data from aux sim channels |
| 89 | + |
| 90 | +physics.simulate: [ opdaq, @sequence::icarus_shifting_triggersim.path, crtdaq ] |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | + |
0 commit comments