All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CAFMakerParams.h
Go to the documentation of this file.
1 #ifndef CAF_CAFMAKERPARAMS_H
2 #define CAF_CAFMAKERPARAMS_H
3 
4 #include "fhiclcpp/types/Table.h"
5 #include "fhiclcpp/types/OptionalTable.h"
6 #include "fhiclcpp/types/Sequence.h"
7 #include "fhiclcpp/types/OptionalSequence.h"
8 #include "canvas/Utilities/InputTag.h"
9 #include "art/Framework/Core/EDAnalyzer.h"
10 
11 namespace caf
12 {
14  {
15  template<class T> using Atom = fhicl::Atom<T>;
16  template<class T> using Sequence = fhicl::Sequence<T>;
17  template<class T> using Table = fhicl::Table<T>;
18  using Comment = fhicl::Comment;
19  using Name = fhicl::Name;
20  using string = std::string;
21  using InputTag = art::InputTag;
22 
23  Atom<bool> CreateCAF { Name("CreateCAF"),
24  Comment("Whether to produce an output file in CAF format"), true
25  };
26 
27  Atom<bool> CreateFlatCAF { Name("CreateFlatCAF"),
28  Comment("Whether to produce an output file in FlatCAF format"), true
29  };
30 
31  Atom<bool> CreateBlindedCAF { Name("CreateBlindedCAF"),
32  Comment("Whether to produce output files with one consisting of a fraction of events and the other consisting of the remainder of the events with critical information obscured"), true
33  };
34 
36  Comment("Provide a string to override the automatic filename."), ""
37  };
38 
39  Atom<std::string> FlatCAFFilename { Name("FlatCAFFilename"),
40  Comment("Provide a string to override the automatic filename."), ""
41  };
42 
43  Atom<float> PrescaleFactor { Name("PrescaleFactor"),
44  Comment("Factor by which to prescale unblind events"), 10
45  };
46 
47  Atom<int> POTBlindSeed { Name("POTBlindNum"),
48  Comment("Integer used to derive POT scaling factor for blind events"), 655277
49  };
50 
51  Atom<std::string> DetectorOverride { Name("DetectorOverride"),
52  Comment("Override the automatically detectected detector using 'sbnd' or 'icarus'. This parameter should usually be unset - ''"),
53  ""
54  };
55 
56  Atom<string> DataTier { Name("DataTier") };
57  Atom<string> FileExtension { Name("FileExtension"), ".caf.root" };
58  Atom<string> FlatCAFFileExtension { Name("FlatCAFFileExtension"), ".flat.caf.root" };
59  Atom<string> UnblindFileExtension { Name("UnblindFileExtension"), ".Unblind.DONOTLOOK.dum" };
60  Atom<string> BlindFileExtension { Name("BlindFileExtension"), ".Blind.OKTOLOOK.dum" };
61  Atom<string> PrescaleFileExtension { Name("PrescaleFileExtension"), ".Prescaled.OKTOLOOK.dum" };
62 
63  Atom<string> GeneratorLabel { Name("GeneratorInput") };
64 
65  Atom<bool> StrictMode { Name("StrictMode"),
66  Comment("Abort if any required product not found, unless label is empty")
67  };
68 
70  Name("CutClearCosmic"),
71  Comment("Cut slices which are marked as a 'clear-cosmic' by pandora"),
72  false
73  };
74 
76  Name("SelectOneSlice"),
77  Comment("Only select one slice per spill (ranked by nu_score) [TODO: implement]."),
78  false
79  };
80 
81  fhicl::OptionalSequence<std::string> PandoraTagSuffixes {
82  Name("PandoraTagSuffixes"),
83  Comment("List of suffixes to add to TPC reco tag names (e.g. cryo0 cryo1)")
84  };
85 
87  Name("BNBPOTDataLabel"),
88  Comment("Label of BNBRetriever module"),
89  "bnbinfo"
90  };
91 
93  Name("NuMIPOTDataLabel"),
94  Comment("Label of NuMIRetriever module"),
95  "numiinfo"
96  };
97 
99  Name("G4Label"),
100  Comment("Label of G4 module."),
101  "largeant"
102  };
103 
105  Name("GenLabel"),
106  Comment("Label of neutrino gen module."),
107  "generator"
108  };
109 
111  Name("CosmicGenLabel"),
112  Comment("Label of cosmic gen module."),
113  "cosmgen"
114  };
115 
117  Name("ParticleGunGenLabel"),
118  Comment("Label of particle gun gen module."),
119  "particlegun"
120  };
121 
123  Name("PFParticleLabel"),
124  Comment("Base label of PFParticle producer."),
125  "pandora"
126  };
127 
129  Name("StubLabel"),
130  Comment("Base label of Stub producer."),
131  "vertexStub"
132  };
133 
135  Name("FlashMatchLabel"),
136  Comment("Base label of flash match producer."),
137  "fmatch" // same for icarus and sbnd
138  };
139 
141  Name("CRUMBSLabel"),
142  Comment("Base label of CRUMBS ID producer."),
143  "crumbs"
144  };
145 
147  Name("FillHits"),
148  Comment("Label deciding if you want to fill SRHits"),
149  false // default is false; set to true if you want SRHits filled
150  };
151 
153  Name("HitLabel"),
154  Comment("Base label of the TPC Hit producer."),
155  "gaushit"
156  };
157 
159  Name("RecoTrackLabel"),
160  Comment("Base label of reco-base track producer."),
161  "pandoraTrack"
162  };
163 
165  Name("RecoShowerLabel"),
166  Comment("Base label of reco-base shower producer."),
167  "pandoraShowerSBN"
168  };
169 
171  Name("ShowerRazzleLabel"),
172  Comment("Base label of shower mva particle-id producer."),
173  "pandoraShowerRazzle"
174  };
175 
177  Name("RecoShowerSelectionLabel"),
178  Comment("Base label of shower selection vars producer."),
179  "pandoraShowerSelectionVars"
180  };
181 
183  Name("ShowerCosmicDistLabel"),
184  Comment("Base label of shower selection vars producer."),
185  "pandoraShowerCosmicDist"
186  };
187 
189  Name("TrackCaloLabel"),
190  Comment("Base label of track calorimetry producer."),
191  "pandoraCalo"
192  };
193 
195  Name("TrackChi2PidLabel"),
196  Comment("Base label of track chi2 particle-id producer."),
197  "pandoraPid"
198  };
199 
201  Name("TrackScatterClosestApproachLabel"),
202  Comment("Base label of track track scatter closestapproach producer."),
203  "pandoraTrackClosestApproach"
204  };
205 
207  Name("TrackStoppingChi2FitLabel"),
208  Comment("Base label of track stopping chi2 fit producer."),
209  "pandoraTrackStoppingChi2"
210  };
211 
213  Name("TrackDazzleLabel"),
214  Comment("Base label of track mva particle-id producer."),
215  "pandoraTrackDazzle"
216  };
217 
219  Name("CRTHitMatchLabel"),
220  Comment("Base label of track to CRT hit matching producer."),
221  "pandoraTrackCRTHit"
222  };
223 
225  Name("CRTTrackMatchLabel"),
226  Comment("Base label of track to CRT track matching producer."),
227  "pandoraTrackCRTTrack"
228  };
229 
231  Name("TrackMCSLabel"),
232  Comment("Base label of track MCS momentum calculation producer."),
233  "pandoraTrackMCS"
234  };
235 
237  Name("TrackRangeLabel"),
238  Comment("Base label of track range momentum calculation producer."),
239  "pandoraTrackRange"
240  };
241 
243  Name("CRTHitLabel"),
244  Comment("Label of sbn CRT hits."),
245  "crthit" // same for icarus and sbnd
246  };
247 
249  Name("CRTTrackLabel"),
250  Comment("Label of sbn CRT tracks."),
251  "crttrack" // same for icarus and sbnd
252  };
253 
255  Name("OpFlashLabel"),
256  Comment("Label of PMT flash."),
257  "OpFlash"
258  };
259 
261  Name("CRTSimT0Offset"),
262  Comment("start of beam gate/simulation time in the simulated CRT clock"),
263  0,
264  };
265 
267  Name("TriggerLabel"),
268  Comment("Label of trigger."),
269  "daqTrigger"
270  };
271 
273  Name("FlashTrigLabel"),
274  Comment("Label of bool of passing flash trigger."),
275  "flashtrigfilter"
276  };
277 
279  Name("CRTUseTS0"),
280  Comment("Whether to use ts0 or ts1 to fill the time of the SRCRTHit and SRCRTTrack"),
281  false
282  };
283 
285  Name("SimChannelLabel"),
286  Comment("Label of input sim::SimChannel objects."),
287  "simdrift"
288  };
289 
291  Name("FillTrueParticles"),
292  Comment("Whether to fill the rec.true_particles branch. The information on true particles"
293  " will still be stored for the neutirno primaries and for trk/shw truth matching."),
294  true
295  };
296 
298  Name("SystWeightLabels"),
299  Comment("Labels for EventWeightMap objects for mc.nu.wgt")
300  };
301 
303  Name("FillHitsAllSlices"),
304  Comment("Fill per-hit information in all reconstructed slices."),
305  false
306  };
307 
309  Name("FillHitsNeutrinoSlices"),
310  Comment("Fill per-hit information in neutrino ID-d reconstructed slices."),
311  true
312  };
313 
315  Name("TrackHitFillRRStartCut"),
316  Comment("How long from the start of a track to save calo-point information. Set to -1 to save nothing"),
317  5.
318  };
319 
321  Name("TrackHitFillRREndCut"),
322  Comment("How long from the end of a track to save calo-point information. Set to -1 to save nothing"),
323  25.
324  };
325  };
326 }
327 
328 #endif
fhicl::Table< T > Table
Atom< string > UnblindFileExtension
Atom< string > FileExtension
Atom< bool > FillHits
Atom< bool > StrictMode
Atom< string > CRTTrackLabel
Atom< art::InputTag > TriggerLabel
Atom< bool > FillTrueParticles
fhicl::OptionalSequence< std::string > PandoraTagSuffixes
Atom< string > PrescaleFileExtension
Atom< string > PFParticleLabel
art::InputTag InputTag
Atom< string > SimChannelLabel
Atom< string > TrackScatterClosestApproachLabel
Atom< string > BlindFileExtension
fhicl::Atom< T > Atom
Atom< std::string > DetectorOverride
Atom< string > RecoShowerLabel
Atom< string > G4Label
Atom< bool > FillHitsNeutrinoSlices
Atom< string > GeneratorLabel
Atom< string > HitLabel
Atom< int > POTBlindSeed
Atom< bool > CreateCAF
Atom< string > CRUMBSLabel
Atom< string > OpFlashLabel
Atom< string > GenLabel
Atom< string > CRTTrackMatchLabel
Atom< string > DataTier
Atom< string > FlatCAFFileExtension
Atom< bool > SelectOneSlice
Atom< string > TrackDazzleLabel
Atom< string > ShowerRazzleLabel
Atom< string > TrackMCSLabel
Atom< std::string > CAFFilename
Atom< float > PrescaleFactor
Atom< string > TrackCaloLabel
Atom< bool > CreateFlatCAF
Atom< std::string > FlatCAFFilename
BEGIN_PROLOG vertical distance to the surface Name
Atom< string > RecoTrackLabel
Atom< bool > CutClearCosmic
Atom< string > ParticleGunGenLabel
Atom< string > BNBPOTDataLabel
Atom< bool > CRTUseTS0
Atom< float > TrackHitFillRRStartCut
Atom< string > NuMIPOTDataLabel
Atom< string > StubLabel
fhicl::Comment Comment
Atom< string > TrackStoppingChi2FitLabel
Atom< string > CRTHitMatchLabel
Atom< string > FlashTrigLabel
Atom< string > CosmicGenLabel
Atom< bool > FillHitsAllSlices
Atom< string > RecoShowerSelectionLabel
Atom< string > FlashMatchLabel
Atom< bool > CreateBlindedCAF
Atom< string > ShowerCosmicDistLabel
Atom< long long > CRTSimT0Offset
Atom< float > TrackHitFillRREndCut
Atom< string > CRTHitLabel
Atom< string > TrackRangeLabel
Sequence< std::string > SystWeightLabels
Atom< string > TrackChi2PidLabel
fhicl::Sequence< T > Sequence