standard_reco_dune35tdata.fcl
Go to the documentation of this file.
1 # standard_reco_dune35tdata.fcl
2 #
3 # David Adams
4 # August 2016
5 #
6 # Modified to use DataPrep.
7 
8 #include "services_dune.fcl"
9 #include "hitfindermodules_dune.fcl"
10 #include "clusterfinder_dune.fcl"
11 #include "trackfindermodules_dune.fcl"
12 #include "calorimetry_dune35t.fcl"
13 #include "t0reco.fcl"
14 #include "opticaldetectormodules_dune.fcl"
15 #include "photoncountert0matching.fcl"
16 #include "trackshowerhits.fcl"
17 #include "showerfindermodules_dune.fcl"
18 #include "emshower3d.fcl"
19 #include "tools_dune.fcl"
20 
21 process_name: Reco
22 
23 services:
24 {
25  # Load the service that manages root files for histograms.
26  TFileService: { fileName: "reco_hist.root" }
27  TimeTracker: {}
28  MemoryTracker: { } # default is one
29  RandomNumberGenerator: {} #ART native random number generator
30  message: @local::dune_message_services_prod_debug
31  FileCatalogMetadata: @local::art_file_catalog_data
32  @table::dune35tdata_reco_services
33 }
34 #source is now a root file
35 source:
36 {
37  module_type: RootInput
38  maxEvents: 10 # Number of events to create
39 }
40 
41 # Define and configure some modules to do work on each event.
42 # First modules are defined; they are scheduled later.
43 # Modules are grouped by type.
44 physics:
45 {
46 
47  producers:
48  {
49 # random number saver
50  rns: { module_type: RandomNumberSaver }
51 # convert raw::RawDigit to recob::wire
52  caldata: @local::producer_adcprep
53 # actual hit finder
54  gaushit: @local::dune35t_gaushitfinder
55  fasthit: @local::dune35t_fasthitfinder
56  cchit: @local::dune35t_clustercrawlerhit
57 
58 # actual disambiguation
59  hit35t: @local::dune35t_hitfinder35t
60 # hit35tcc: @local::dune35t_hitfinder35t
61  handscan: @local::dune35t_handscan
62 # disambiguation using the counters
63  counterhit: @local::dune35t_hitfindercounters
64 # reconstruction using disambiguated hits
65 # fuzzy: @local::dune35t_fuzzycluster
66  dbcluster: @local::dune35t_dbcluster
67  linecluster: @local::dune35tdata_linecluster
68  lineclusterch: @local::dune35tdata_linecluster
69  costrk: @local::dune35t_cosmictracker
70 # stitch: @local::dune35t_trackstitcher
71  calo: @local::dune35t_calomc
72  pmtrack: @local::dune35t_pmalgtrackmaker
73  pmtrackcalo: @local::dune35t_calomc
74  pmtrackch: @local::dune35t_pmalgtrackmaker
75 
76 # kalmanhit: @local::dune35t_track3Dkalmanhit
77 # Photon counter T0
78  photont0costrk: @local::lbne35t_photoncountert0matching
79  photont0costrkdc: @local::lbne35t_photoncountert0matching
80  photont0pmtrack: @local::lbne35t_photoncountert0matching
81  photont0pmtrackdc: @local::lbne35t_photoncountert0matching
82 # Muon Counter T0
83  t0counter: @local::dune35t_t0counter
84 # photon detector reconstruction
85  ophit: @local::dune35t_ophit_splitdata
86  opflash: @local::dune35t_opflash_splitdata
87 # track shower splitter
88  trkshowersplit: @local::standard_trackshowerhits
89 # shower reconstruction
90  blurredcluster: @local::dune35t_blurredcluster
91  emshower: @local::dune35tdata_emshower
92  emshower3d: @local::dune35t_emshower3d
93  mergeemshower3d: @local::dune35t_mergeemshower3d
94  }
95 
96  #define the producer and filter modules for this path, order matters,
97  #filters reject all following items. see lines starting physics.producers below
98  reco: [ rns
99  #optical hit reco, flash, counter, TPC wire signals
100  #ophit, opflash
101  , t0counter
102  , caldata
103  #hit reco with cheated disambiguation
104  ,gaushit #, fasthit
105  #real disambiguation
106  , hit35t
107  #manual real-from-noise hit selection
108  #, handscan
109  # disambiguation using the counters.
110  , counterhit
111  #cluster reco
112  #, dbcluster
113  , linecluster, lineclusterch
114  #pmatrack
115  , pmtrack, pmtrackch
116  #, photont0pmtrack, pmtrackcalo
117  #shower reconstruction
118  #, blurredcluster, emshower, emshower3d, mergeemshower3d
119 ]
120 
121  #define the output stream, there could be more than one if using filters
122  stream1: [ out1 ]
123 
124  #trigger_paths is a keyword and contains the paths that modify the art::event,
125  #ie filters and producers
126  trigger_paths: [reco]
127 
128  #end_paths is a keyword and contains the paths that do not modify the art::Event,
129  #ie analyzers and output streams. these all run simultaneously
130  end_paths: [stream1]
131 }
132 
133 #block to define where the output goes. if you defined a filter in the physics
134 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
135 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
136 outputs:
137 {
138  out1:
139  {
140  module_type: RootOutput
141  fileName: "%ifb_%tc_reco.root"
142  dataTier: "full-reconstructed"
143  compressionLevel: 1
144  }
145 }
146 ### Here, we overwrite ALL module labels with the ones defined above.
147 physics.producers.caldata.DigitLabel: "SplitterInput:TPC"
148 physics.producers.t0counter.TriggerModuleLabel: "SplitterInput:TRIGGER"
149 
150 physics.producers.gaushit.CalDataModuleLabel: "caldata"
151 #physics.producers.gaushit.MinSig: [100,100,100]
152 #physics.producers.gaushit.MinWidth: [5,5,5]
153 #physics.producers.hit35tcc.ChanHitLabel: "gaushit"
154 physics.producers.lineclusterch.HitFinderModuleLabel: "counterhit"
155 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
156 physics.producers.pmtrack.HitModuleLabel: "linecluster"
157 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
158 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
159 physics.producers.pmtrackcalo.T0ModuleLabel: "photont0pmtrack"
160 physics.producers.photont0pmtrack.TrackModuleLabel: "pmtrack"
161 physics.producers.photont0pmtrack.HitsModuleLabel: "linecluster"
162 physics.producers.photont0pmtrack.ShowerModuleLabel: ""
163 physics.producers.photont0pmtrack.TruthT0ModuleLabel: "mctrutht0pmtrack"
164 
165 physics.producers.pmtrackch.HitModuleLabel: "lineclusterch"
166 physics.producers.pmtrackch.ClusterModuleLabel: "lineclusterch"
167 #physics.producers.fuzzy.HitsModuleLabel: "hit35t"
168 
169 physics.producers.costrk.ClusterModuleLabel: "linecluster"
170 #physics.producers.stitch.TrackModuleLabel: "costrk"
171 #physics.producers.stitch.SpptModuleLabel: "costrk"
172 physics.producers.photont0costrk.TrackModuleLabel: "costrk"
173 physics.producers.photont0costrk.HitsModuleLabel: "linecluster"
174 physics.producers.photont0costrk.ShowerModuleLabel: ""
175 physics.producers.photont0costrk.TruthT0ModuleLabel: "mctrutht0"
176 physics.producers.calo.TrackModuleLabel: "costrk"
177 physics.producers.calo.SpacePointModuleLabel: "costrk"
178 physics.producers.calo.T0ModuleLabel: "photont0costrk"
179 #physics.producers.kalmanhit.HitModuleLabel: "hit35t"
180 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
181 
182 #Optical detector configuration
183 #defined in opticaldetectormodules_dune.fcl
184 #don't want to overwrite in case standard opdet data config changes
185 
186 #physics.producers.linecluster.ClusterCrawlerAlg.TimeDelta: [2,3,3]
187 #shower configuration
188 physics.producers.blurredcluster.HitsModuleLabel: "linecluster"
189 physics.producers.blurredcluster.TrackModuleLabel: "pmtrack"
190 physics.producers.blurredcluster.CreateDebugPDF: false
191 physics.producers.blurredcluster.MergeClusters: false
192 physics.producers.blurredcluster.GlobalTPCRecon: true
193 physics.producers.blurredcluster.ShowerReconOnly: false
194 physics.producers.blurredcluster.VertexModuleLabel: "linecluster"
195 
196 physics.producers.emshower.ClusterModuleLabel: "blurredcluster"
197 physics.producers.emshower.HitsModuleLabel: "linecluster"
198 physics.producers.emshower.TrackModuleLabel: "pmtrack"
199 
200 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
201 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
202 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
203 
204 physics.producers.mergeemshower3d.HitsModuleLabel: "linecluster"
205 physics.producers.mergeemshower3d.ClustersModuleLabel: "blurredcluster"
206 physics.producers.mergeemshower3d.Trk3DModuleLabel: "emshower3d"
207 physics.producers.mergeemshower3d.VtxModuleLabel: "emshower3d"
208 physics.producers.mergeemshower3d.WideConeAngle: 20
209 
210 services.DetectorPropertiesService.NumberTimeSamples: 15000
211 services.DetectorPropertiesService.ReadOutWindowSize: 15000
212 services.DetectorPropertiesService.Efield: [0.25, 0.782, 1.734]
213 
214 #services.SignalShapingServiceDUNE.DebugFieldShape: true
215 services.SignalShapingServiceDUNE.ASICGainInMVPerFC: [14, 14, 14]
216 services.SignalShapingServiceDUNE.ShapeTimeConst: [3, 3, 3]
217 
218 services.SignalShapingServiceDUNE.NoiseFactVec: [[ 1.12, 0.86, 6.0, 0.55 ],
219  [ 1.12, 0.86, 6.0, 0.55 ],
220  [ 0.89, 0.66, 4.8, 0.43 ]]
221 
222 ############## The standard parameters -----------------------
223 #services.SignalShapingServiceDUNE35t.ColFilter: "(x>0.0)*[0]*exp(-0.5*(((x-[1])/[2])^2)^[3])"
224 #services.SignalShapingServiceDUNE35t.IndUFilter: "(x>0.0)*gaus(0)*exp(-0.5*pow(x/[3],[4]))"
225 #services.SignalShapingServiceDUNE35t.IndVFilter: "(x>0.0)*gaus(0)*exp(-0.5*pow(x/[3],[4]))"
226 
227 ############## My new parameters -----------------------
228 
229 services.SignalShapingServiceDUNE.ColFilter: "(x>0.001)*[0]*(1-1/(1+exp(-(x-[1])/[2])))"
230 services.SignalShapingServiceDUNE.ColFilterParams: [ 1, 0.150, 0.025 ]
231 
232 services.SignalShapingServiceDUNE.IndUFilter: "(x>0.03)*[0]*(1-1/(1+exp(-(x-[1])/[2])))*(1/(1+exp(-(x-[3])/[4])))"
233 services.SignalShapingServiceDUNE.IndUFilterParams: [ 1.0, 0.105, 0.019, 0.018, 0.010 ]
234 services.SignalShapingServiceDUNE.IndVFilter: "(x>0.03)*[0]*(1-1/(1+exp(-(x-[1])/[2])))*(1/(1+exp(-(x-[3])/[4])))"
235 services.SignalShapingServiceDUNE.IndVFilterParams: [ 0.95, 0.125, 0.019, 0.010, 0.0109 ]
236 
237 #physics.producers.gaushit.MinSig: [ 5, 5, 10 ]
238 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 5.0
239 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 5.0
240 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 10.0
241 #physics.producers.gaushit.MinWidth: [ 1, 1, 1 ]
242 
243 physics.producers.fasthit.MinSigCol: 80
244 physics.producers.fasthit.MinSigInd: 80