forked from AlexanderFlesher/Ar39Study
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnoise_filter_protoduneHD.fcl
242 lines (205 loc) · 8.99 KB
/
noise_filter_protoduneHD.fcl
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
## Traditionally we divide reco into two stages according to calibration:
## a) stage 1 with calibration sce, lifetime (protoDUNE_SP_keepup_decoder_reco_stage1.fcl)
## b) stage 2 with calibration yz,x,t (protoDUNE_SP_keepup_decoder_reco_stage2.fcl)
## This fhicl file reflects the purpose of protoDUNE HD reco data stage 1: with sce, liftime correction; no yz,x,t correction, similar to step (a) above.
#include "services_dune.fcl"
#include "services_refactored_pdune.fcl"
#include "PDHDTPCReader.fcl"
#include "HDF5RawInput3.fcl"
#include "PDHDDataInterfaceWIBEth3.fcl"
#include "caldata_dune.fcl"
#include "dataprep_dune.fcl"
#include "wirecell_dune.fcl"
#include "hitfindermodules_dune.fcl"
#include "SpacePointSolver_dune.fcl"
#include "cluster_dune.fcl"
#include "trackfindermodules_dune.fcl"
#include "pandoramodules_dune.fcl"
#include "calorimetry_pdune.fcl"
#include "calibration_dune.fcl"
#include "featurelabelingmodules.fcl"
#include "particleid.fcl"
#include "mctrutht0matching.fcl"
#include "t0reco.fcl"
#include "opticaldetectormodules_dune.fcl"
#include "showerfindermodules_dune.fcl"
#include "emshower3d.fcl"
#include "ProtoDUNETriggerFilter.fcl"
#include "OpSlicer.fcl"
#include "CRT.fcl"
#include "T0RecoAnodePiercers.fcl"
#include "numberofhitsfilter.fcl"
#include "protodune_tools_dune.fcl"
process_name: Reco
services:
{
# Load the service that manages root files for histograms.
TFileService: { fileName: "reco_protoDUNE_hd_hist.root" }
TimeTracker: @local::dune_time_tracker
MemoryTracker: @local::dune_memory_tracker
RandomNumberGenerator: {} #ART native random number generator
message: @local::dune_message_services_prod
FileCatalogMetadata: @local::art_file_catalog_mc
@table::protodunehd_reco_services
IFDH: {}
HDF5RawFile3Service: {}
PD2HDChannelMapService:
{
FileName: "PD2HDChannelMap_WIBEth_electronics_v1.txt"
}
}
# Source is now an HDF5 file.
source: @local::hdf5rawinput3
# Define and configure some modules to do work on each event.
# First modules are defined; they are scheduled later.
# Modules are grouped by type.
physics: {
filters: {
trigfilter: @local::pdsp_trigfilter_all
nhitsfilter: @local::standard_numberofhitsfilter
}
producers: {
# TPC wire signals
tpcrawdecoder: @local::PDHDTPCReaderDefaults
# WireCell
wclsdatahd: @local::protodunehd_nf
# Hit finder
gaushit: @local::protodunespmc_gaushitfinder
# space point solver
reco3d: @local::protodunespmc_spacepointsolver
# actual disambiguation
hitpdune: @local::pdune_disambigfromsp
# event feature labeling
emtrkmichelid: @local::protodune_emtrkmichelid
# reconstruction using disambiguated hits
pandora: @local::protodune_pandora
pandoraWriter: @local::dune_pandorawriter
pandoraTrack: @local::dune_pandoraTrackCreation
pandoraShower: @local::dune_pandoraShowerCreation
pandoracalo: @local::pdune_sp_calomcnosce
pandoracalonosce: @local::pdune_sp_calomcnosce
pandorapid: @local::standard_chi2pid
pandoracali: @local::protodunespmcnosce_calibrationdedx
pandoracalipid: @local::standard_chi2pid
pandoraShowercalo: @local::pdune_sp_showercalomcnosce
pandoraShowercalonosce: @local::pdune_sp_showercalomcnosce
# photon detector reconstruction
ophit: @local::protodune_ophit
opflash: @local::protodune_opflash
opslicer: @local::protodune_opslicer
crtreco: @local::TwoCRTMatching_producer
crttag: @local::SingleCRTMatching_producer
# Anode piercing tracks t0 reconstruction
anodepiercerst0: @local::T0RecoAnodePiercers
##Producers for forcing pandora to create track or shower objects
##for each PFParticle
pandora2Track: @local::dune_pandoraTrackCreation
pandora2calo: @local::pdune_sp_alltrackcalomcnosce
pandora2calonosce: @local::pdune_sp_alltrackcalomcnosce
pandora2pid: @local::standard_chi2pid
pandora2cali: @local::protodunespmcnosce_calibrationdedx
pandora2calipid: @local::standard_chi2pid
pandora2Shower: @local::dune_pandoraShowerCreation
pandora2Showercalo: @local::pdune_sp_allshowercalomcnosce
pandora2Showercalonosce: @local::pdune_sp_allshowercalomcnosce
}
#define the producer and filter modules for this path, order matters,
#filters reject all following items. see lines starting physics.producers below
reco: [ #ophit,
#opflash,
#opslicer,
tpcrawdecoder,
wclsdatahd
#gaushit,
#nhitsfilter,
#reco3d,
#hitpdune,
#pandora,
#pandoraWriter,
#pandoraTrack,
#pandoraShower,
#pandoracalo,
#pandoracalonosce,
#pandorapid,
#pandoraShowercalo,
#pandoraShowercalonosce,
#pandoracali,
#pandoracalipid,
#emtrkmichelid,
#crttag,
#crtreco,
#anodepiercerst0,
#pandora2Track,
#pandora2calo,
#pandora2calonosce,
#pandora2pid,
#pandora2Shower,
#pandora2Showercalo #,
#pandora2Showercalonosce,
#pandora2cali,
#pandora2calipid
]
#define the output stream, there could be more than one if using filters
stream1: [ out1 ]
#trigger_paths is a keyword and contains the paths that modify the art::event,
#ie filters and producers
trigger_paths: [reco]
#end_paths is a keyword and contains the paths that do not modify the art::Event,
#ie analyzers and output streams. these all run simultaneously
end_paths: [stream1]
}
outputs:
{
out1:
{
module_type: RootOutput
fileName: "%ifb_reco.root"
dataTier: "full-reconstructed"
#outputCommands: [ "keep *", "drop raw::RawDigit*_*_*_*", "drop recob::Wires_caldata_dataprep_*", "drop *_wclsdatasp_wiener_*", "drop *_reco3d_noreg_*", "drop *_reco3d_pre_*" ]
outputCommands: [ "keep *" ]
#outputCommands: [ "keep *", "drop *_reco3d_noreg_*", "drop *_reco3d_pre_*" ]
compressionLevel: 1 #zlib argument (0-9)
fastCloning: true
#basketSize: 8192 #[Byte] buffer size at 8k
#splitLevel: 0 #reduces number of buffers
#treeMaxVirtualSize: 1 #[Byte] limits number of buffers/branch to 1 (default is 10)
}
}
physics.producers.tpcrawdecoder.DecoderToolParams: @local::PDHDDataInterfaceWIBEth3Defaults
physics.producers.wclsdatahd.wcls_main.params.raw_input_label: "tpcrawdecoder:daq"
physics.producers.caldata.OutputDigitName: "tpcrawdecoder:daq"
physics.producers.caldata.DigitLabel: "tpcrawdecoder:daq"
physics.producers.gaushit.CalDataModuleLabel: "wclsdatahd:gauss"
physics.producers.emtrkmichelid.WireLabel: "wclsdatahd:gauss"
physics.producers.pandora.HitFinderModuleLabel: "hitpdune"
physics.producers.pandora.GeantModuleLabel: "tpcrawdecoder:simpleSC"
physics.producers.pandoraWriter.GeantModuleLabel: "tpcrawdecoder:simpleSC"
physics.producers.pandoraWriter.HitFinderModuleLabel: "hitpdune"
physics.producers.pandoraWriter.GeneratorModuleLabel: "generator"
physics.producers.pandoraTrack.PFParticleLabel: "pandora"
physics.producers.pandoraShower.PFParticleLabel: "pandora"
physics.producers.pandorapid.CalorimetryModuleLabel: "pandoracalo"
physics.producers.pandorapid.TrackModuleLabel: "pandoraTrack"
physics.producers.pandoracalipid.CalorimetryModuleLabel: "pandoracali"
physics.producers.pandoracalipid.TrackModuleLabel: "pandoraTrack"
##Optical detector configuration
physics.producers.ophit.InputModule: "opdigi"
physics.producers.opflash.InputModule: "ophit"
physics.producers.opslicer.OpHitModuleLabel: "ophit"
# Use channel map service for data
#services.PdspChannelMapService: @local::pdspchannelmap
services.ExptGeoHelperInterface.ChannelMapClass: "DuneApaChannelMapAlg"
#Forcing Pandora to create either all tracks or all showers on each PFParticle object
physics.producers.pandora2Track.PFParticleLabel: "pandora"
physics.producers.pandora2Track.UseAllParticles: true
####The above line forces pandora to fit a track to all PFParticles
physics.producers.pandora2pid.CalorimetryModuleLabel: "pandora2calo"
physics.producers.pandora2pid.TrackModuleLabel: "pandora2Track"
physics.producers.pandora2cali.TrackModuleLabel: "pandora2Track"
physics.producers.pandora2cali.CalorimetryModuleLabel: "pandora2calo"
physics.producers.pandora2cali.ShowerModuleLabel: "pandora2Shower"
physics.producers.pandora2cali.ShowerCalorimetryModuleLabel: "pandora2Showercalo"
physics.producers.pandora2calipid.CalorimetryModuleLabel: "pandora2cali"
physics.producers.pandora2calipid.TrackModuleLabel: "pandora2Track"
physics.producers.pandora2Shower.PFParticleLabel: "pandora"
physics.producers.pandora2Shower.UseAllParticles: true