-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathdetsim_opdetonly_icarus_overlay_reprocessing_run2.fcl
More file actions
148 lines (116 loc) · 7.7 KB
/
detsim_opdetonly_icarus_overlay_reprocessing_run2.fcl
File metadata and controls
148 lines (116 loc) · 7.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
## File: stage0_run2_opdetonly_icarus_data_reprocessing.fcl
## Purpose: Reprocessing of the optical products for the 2025 SBN "spring" OVERLAY MC production
#include "detsim_2d_icarus_refactored.fcl"
## This job selectively re-runs only the PMT/CRT DetSim path on top of an existing file.
## This is has been put together only for the post-processing of the 2025 SBN MC OVERLAY
## productions, and assumes to be starting with its mcstage1 files.
## It is valid only for RUN-2 productions because it selects the Run2 DetSim tune.
process_name: OpDetSim
services.DetPedestalService: @erase
services.ChannelStatusService: @erase
services.SignalShapingICARUSService: @erase
source.inputCommands: [
"keep *",
# `stage0` comes from decoding data: should be kept!
# `MCstage0` comes running stage0 on the overlay products:
# so pmt/trigger/crt stuff should be thrown out!
# note: I would really like to drop these things as well:
# "drop raw::OpDetWaveform*_opdaq_*_*", # drop old MC waveforms (if any)
# "drop *_pmtfixedthrinit_*_*", # drop triggersim product
# "drop *_pmtlvdsgatesinit_*_*", # drop triggersim product
# "drop *_pmttriggerwindowsinit_*_*", # drop triggersim product
# "drop *_triggersimgatesinit_*_*", # drop triggersim product
# "drop *_emuTriggerUnshifted_*_*", # drop triggersim product
# but I can't: it triggers art genocidal insticts thus removing all
# downstream products in the dependency tree that we still need.
"drop raw::OpDetWaveform*_shifted_*_*", # drop old MC (shifted) waveforms (if any)
"drop *_overlayOpWaveforms_*_*", # drop old Overlay waveforms (if any)
"drop *_ophit*_*_*", # drop MCstage0 ophits
"drop *_mcophit_*_*", # drop MCstageo mcophit
"drop *_opflash*_*_*", # drop MCsstage0 east/west opflashes
"drop *_pmtfixedthr_*_*", # drop MCstage0 trigger product
"drop *_pmtlvdsgates_*_*", # drop MCstage0 trigger product
"drop *_pmtlvdsgates_*_*", # drop MCstage0 trigger product
"drop *_pmtbaselines_*_MCstage0", # drop MCstage0 baselines, not stage0!
"drop *_pmttriggerwindows_*_*", # drop MCstage0 trigger product
"drop *_emuTrigger_*_*", # drop MCstage0 trigger product
"drop *_crtdaq_*_*", # drop CRT detsim product
"drop *_mccrthit_*_*", # drop CRT mc hits
"drop *_overlayCRTHit_*_*", # drop CRT overlay hits
"drop *_crttrack_*_*", # drop CRT tracks (MCstage0)
"drop *_crtpmt_*_*" # drop CRTPMT matches (MCstage0)
]
# Running only the optical/trigger/crt modules
# Simplify configuration removing all other producers (tpc)
physics.producers: {
# opdaq Run-1/2 tune for overlays (no noise)
opdaq: @local::icarus_simpmt_run2_nonoise
# triggersim producers
@table::icarus_shifting_triggersim.producers
# crt hits
crtdaq: @local::icarus_crtsim
}
# since some "old" products need to be kept in the tree
# we have products with the same tag, and different process_name
# make sure to select exactly what you need!
# build waveforms from simPhotons (already shifted)
physics.producers.opdaq.InputModule: "shifted::DetSim"
physics.producers.opdaq.ApplyTimingDelays: true
# make sure the triggersim chain used the "new" products
# instead of the "old" ones which I cannot drop on input
physics.producers.pmtfixedthrinit.OpticalWaveforms: "opdaq::OpDetSim" # this was re-generated with same tag
physics.producers.pmtlvdsgatesinit.TriggerGatesTag: "pmtfixedthrinit::OpDetSim" # this was re-generated with same tag
physics.producers.pmttriggerwindowsinit.TriggerGatesTag: "pmtlvdsgatesinit::OpDetSim" # this was re-generated with same tag
physics.producers.triggersimgatesinit.BeamGateTag: "beamgate" # keep using old Gen product
physics.producers.emuTriggerUnshifted.BeamGates: "triggersimgatesinit::OpDetSim" # this was re-generated with same tag
physics.producers.emuTriggerUnshifted.TriggerGatesTag: "pmttriggerwindowsinit::OpDetSim" # this was re-generated with same tag
# need to update the shifting module to pick up new labels
# some were regenerated (tag still good), others were previously shifted
# applying a second shift is okay: everything is consistent
# (eg. waveforms made from `shifted` photons)
# NOTE: still shifing energy deposits although tpc info not regenerated
# however forced to use `filtersed` as `shifted` has been consumed
physics.producers.shifted.InputTriggerLabel: "emuTriggerUnshifted::OpDetSim" # this was re-generated with same tag
physics.producers.shifted.InitAuxDetSimChannelLabel: "shifted::DetSim" # need to start from previously-shifted, not `genericcrt`
physics.producers.shifted.InitBeamGateInfoLabel: "triggersimgatesinit::OpDetSim" # this was re-generated with same tag
physics.producers.shifted.InitSimEnergyDepositLabel: "filtersed::DetSim" # need to start from previously-shifted, but `shifted` no longer available
physics.producers.shifted.InitSimEnergyDepositLiteLabel: "filtersed::DetSim" # need to start from previously-shifted, but `shifted` no longer available
physics.producers.shifted.InitSimPhotonsLabel: "shifted::DetSim" # need to start from previously-shifted, not `pdfastsim`
physics.producers.shifted.InitWaveformLabel: "opdaq::OpDetSim" # this was re-generated with same tag
# need to update shiting of priorSCE deposits:
# this is important if future reprocessings will need to regenerate SimPhotons
physics.producers.shiftedpriorSCE.InputTriggerLabel: "emuTriggerUnshifted::OpDetSim" # this was re-generated with same tag
physics.producers.shiftedpriorSCE.InitSimEnergyDepositLabel: "shiftedpriorSCE::DetSim" # need to start from previously-shifted, not `ionization:priorSCE`
# and finally make sure the crtsim also uses the newly shifted products
physics.producers.crtsim.G4ModuleLabel: "shifted::OpDetSim"
# The reprocessing flow is the following:
# - build new pmt waveforms from photons
# - simulate the trigger
# - shift all products to the trigger:
# -- we are shifting photons, pmt waveforms, energy depositis, aux sim channels
# -- note: since tpc is not re-simulated, no longer fully coherent with trigger time
# - build CRT data from aux sim channels
physics.simulate: [ opdaq, @sequence::icarus_shifting_triggersim.path, crtdaq ]
# drop duplicate produtcs in output
# this doesn't trigger art genocidal instincts
outputs.rootoutput.outputCommands: [
"keep *",
# drop `opdaq`, but keep `shifted` for overlaying
"drop *_opdaq_*_*",
# drop old trigger products now that new ones exist
# specify the old process name "DetSim"
"drop *_pmtfixedthrinit_*_DetSim",
"drop *_pmtlvdsgatesinit_*_DetSim",
"drop *_pmttriggerwindowsinit_*_DetSim",
"drop *_triggersimgatesinit_*_DetSim",
"drop *_emuTriggerUnshifted_*_DetSim",
# drop old "shifted" products since we shifted things again
"drop sim::SimEnergyDeposits_filtersed_*_DetSim", # this has been regenerated into `shifted`
# mcreco looks for `filtersed` in stage1: potentially can be changed to look for `shifted`?
# however since tpc reco products are not shifted, better to keep old deposits for that matching
# "drop sim::SimEnergyDepositLites_filtersed_*_DetSim", # this has been regenerated into `shifted`
"drop sim::SimEnergyDeposits_shiftedpriorSCE_*_DetSim", # this has been regenerated into the same tag
"drop sim::AuxDetSimChannel_shifted_*_DetSim", # this has been regenerated into the same tag
"drop sim::SimPhotons_shifted_*_DetSim", # this has been regenerated into the same tag
"drop sim::BeamGateInfo_shifted_*_DetSim" # this has been regenerated into the same tag
]