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"
6 // Give up trying to figure out the correct full set of includes. This does the
7 // trick
9 
10 namespace caf
11 {
13  {
14  template<class T> using Atom = fhicl::Atom<T>;
15  template<class T> using Table = fhicl::Table<T>;
17  using Name = fhicl::Name;
18  using string = std::string;
20 
21  Atom<bool> MRMode{Name("MRMode")};
22  Atom<bool> AbortOnEmpty{Name("AbortOnEmpty")};
23  Atom<string> MRParentSliceLabel{Name("MRParentSliceLabel")};
24 
26  {
27  Name("CAFFilename"),
28  Comment("Provide a string to override the automatic filename.")
29  };
30 
32  {
33  Name("StrictMode"),
34  Comment("Abort if any required product is not found, unless the label is empty")
35  };
36 
37  Atom<string> DataTier {Name("DataTier")};
38  Atom<string> FileExtension {Name("FileExtension")};
40  Atom<string> GeneratorLabel {Name("GeneratorInput")};
41  Atom<string> MCSpillDataLabel {Name("MCSpillDataInput")};
42  Atom<string> GenProcessLabel {Name("GeneratorProcessName")};
43  Atom<string> GenMixerProcessLabel{Name("GenMixerProcessName")};
44  Atom<string> GenMixerLabel {Name("GenMixerInput")};
45  Atom<string> ReweightLabel {Name("ReweightInput")};
46  Atom<string> FluxReweightLabel {Name("FluxReweightInput")};
47  Atom<string> G4ReweightLabel {Name("G4ReweightInput")};
48  Atom<string> ExposureLabel {Name("ExposureInput")};
49  Atom<string> SpillQualLabel {Name("SpillQualInput")};
50  Atom<string> DAQEventSummaryLabel{Name("DAQEventSummaryInput")};
51  Atom<string> ClusterLabel {Name("ClusterInput")};
52  Atom<string> HitsLabel {Name("HitInput")};
54 
55  Atom<string> DiFShowerClusterLabel {Name("DiFShowerClusterInput")};
56  Atom<string> DiFShowerLIDLabel {Name("DiFShowerLIDInput")};
57  Atom<string> DiFShowerShwLabel {Name("DiFShowerShwInput")};
58  Atom<string> DiFShowerCVNLabelLoosePreselPtP {Name("DiFShowerCVNLabelLoosePreselPtP")};
59  Atom<string> DiFShowerCVNLabelOldPresel {Name("DiFShowerCVNLabelOldPresel")};
60  Atom<string> DiFShowerCVNLabelNoCosmics {Name("DiFShowerCVNLabelNoCosmics")};
61 
62  Atom<string> DiscreteTrackLabel {Name("DiscreteInput")};
63  Atom<string> DiscreteTrack2dLabel{Name("Discrete2dInput")};
66  Atom<string> BreakPointTrackLabel{Name("BreakPointInput")};
67  Atom<string> MELabel {Name("MEInput")};
69  Atom<string> HoughVertexLabel {Name("HoughVertexInput")};
70  Atom<string> VertexDTLabel {Name("VertexDTInput")};
71  Atom<InputTag> FuzzyK3DLabel {Name("Fuzzy3DInput")};
72  Atom<InputTag> FuzzyK2DLabel {Name("Fuzzy2DInput")};
73  Atom<string> FuzzyKHVLabel {Name("FuzzyHVInput")};
74  Atom<InputTag> FuzzyKWeight3DLabel {Name("FuzzyWeight3DInput")};
75  Atom<InputTag> FuzzyKWeight2DLabel {Name("FuzzyWeight2DInput")};
76  Atom<InputTag> FuzzyKOrphLabel {Name("FuzzyOrphInput")};
77  Atom<string> JMShowerLabel {Name("JmShowerInput")};
78  Atom<string> NumuEnergyLabel {Name("NumuEnergyInput")};
79  Atom<string> NumuLSTMEnergyLabel {Name("NumuLSTMEnergyInput")};
80  Atom<string> NumuLSTMEnergyOppHornLabel{Name("NumuLSTMEnergyOppHornInput")};
81  Atom<string> RemidLabel {Name("RemidInput")};
82  Atom<string> MuonIDLabel {Name("MuonIDInput")};
83  Atom<string> RawDataLabel {Name("RawDataInput")};
84  Atom<string> NuePreselLabel {Name("NuePreselInput")};
85  Atom<string> RockPreselLabel {Name("RockPreselInput")};
86  Atom<string> VetoLabel {Name("VetoInput")};
87  Atom<string> NueVetoLabel {Name("NueVetoInput")};
88  Atom<string> NueSelLabel {Name("NueSelInput")};
89  Atom<string> LIDLabel {Name("LIDInput")};
90  Atom<string> SlcLIDLabel {Name("SlcLIDInput")};
91  Atom<string> SliceLIDLabel {Name("SliceLIDInput")};
92  Atom<string> SliceLIDOppHornLabel{Name("SliceLIDOppHornInput")};
93  Atom<string> SPIDLabel {Name("SPIDInput")};
94  Atom<string> LemLabel {Name("LemInput")};
95  Atom<string> RvpLabel {Name("RvpInput")};
96  Atom<string> XnueLabel {Name("XnueInput")};
97  Atom<string> CosRejLabel {Name("CosRejInput")};
98  Atom<string> CosRejBPFLabel {Name("CosRejBPFInput")};
99  Atom<string> NueCosRejLabel {Name("NueCosRejInput")};
100  Atom<string> NCCosRejLabel {Name("NCCosRejInput")};
101  Atom<string> NCPi0BkgRejLabel {Name("NCPi0BkgRejInput")};
102  Atom<string> NDRecoLabel {Name("NDRecoInput")};
103  Atom<InputTag> OverlapEKalLabel {Name("OverlapEKalInput")};
104  Atom<InputTag> OverlapEBPFLabel {Name("OverlapEBPFInput")};
105  Atom<string> NuMIBeamLabel {Name("NuMIBeamInput")};
106  Atom<string> ReclusShowerLabel {Name("ReclustShowerInput")};
107  Atom<string> TrueEnergyLabel {Name("TrueEnergyInput")};
108  Atom<string> CVNPixelMapLabel {Name("CVNPixelMapInput")};
109  Atom<string> CVNTrainingDataLabel {Name("CVNTrainingDataInput")};
110  Atom<bool> FillPixelMaps {Name("FillPixelMaps")};
111  Atom<bool> FillTrainingData {Name("FillTrainingData")};
112  Atom<bool> UseGeVPixelMaps {Name("UseGeVPixelMaps")};
113  Atom<bool> UseEnergy {Name("UseEnergy")};
114  Atom<string> CosmicCVNLabel {Name("CosmicCVNLabel")};
115  Atom<bool> FillCosmicCVN {Name("FillCosmicCVN")};
116  Atom<string> TrackInfoKalman {Name("TrackInfoKalman")};
117  Atom<string> TrackInfoBPF {Name("TrackInfoBPF")};
118 
120  {
121  Name("FullTruthInfo"),
122  Comment("Set false to not fill allnus, allcosmic.")
123  };
124 
126  {
127  Name("FullTrainingInfo"),
128  Comment("Set false to not fill rec.training.")
129  };
130 
131 
133  {
134  Name("NumCVNPrincipalComponents"),
135  Comment("Maximum number of principal components to store. 0 to disable")
136  };
137 
139  {
140  Name("FillNuTree"),
141  Comment("Store info for all neutrinos, even if unsliced?")
142  };
143 
145  {
146  Name("EnableBlindness"),
147  Comment("true = hide sensitive info, false = include full record")
148  };
149 
151  {
152  Name("IsSAMInput"),
153  Comment("true = input art file is from SAM, false = input art file is homebrew")
154  };
155 
157  {
158  Name("ApplyingFilter"),
159  Comment("Set to true if a filter is applied but you need the unfiltered events for POT/LT accounting and don't have slicer info")
160  };
161 
162  Atom<string> CVNLabelNeutronProng {Name("CVNLabelNeutronProng")};
163  Atom<string> MRCCParentLabel {Name("MRCCParentInput")};
164  Atom<string> CVNLabelLoosePreselPtP {Name("CVNLabelLoosePreselPtP")};
165  Atom<string> CVNLabelLoosePreselPtPOppHorn {Name("CVNLabelLoosePreselPtPOppHorn")};
166  Atom<string> CVNLabelOldPresel {Name("CVNLabelOldPresel")};
167  Atom<string> CVNLabelOldPreselOppHorn {Name("CVNLabelOldPreselOppHorn")};
168  Atom<string> CVNLabelNoCosmics {Name("CVNLabelNoCosmics")};
169  Atom<string> CVNLabelNoCosmicsOppHorn {Name("CVNLabelNoCosmicsOppHorn")};
170  Atom<string> WSCNNLabel {Name("WSCNNLabel")};
171  Atom<string> CVNParticleLabel {Name("CVNParticleLabel")};
172  Atom<string> CVNParticle2DLabel {Name("CVNParticle2DLabel")};
173  Atom<string> CVNParticleOppHornLabel {Name("CVNParticleOppHornLabel")};
174  Atom<string> SPProngCVN5labelLabel {Name("SPProngCVN5labelLabel")};
175  Atom<string> SPProngCVNNumuCCEMIDLabel {Name("SPProngCVNNumuCCEMIDLabel")};
176  Atom<string> RegCVNLabel {Name("RegCVNLabel")};
177  Atom<string> RegCVNOppHornLabel {Name("RegCVNOppHornLabel")};
178  Atom<string> LEMNuePresel {Name("LEMNuePresel")};
179  Atom<string> NuonELabel {Name("NuonELabel")};
180  Atom<string> NuonEOppHornLabel {Name("NuonEOppHornLabel")};
181 
182  Atom<bool> ApplyLEMNuePresel{Name("ApplyLEMNuePresel")};
183  Atom<bool> IsSinglesOverlay {Name("IsSinglesOverlay")};
184 
186  Name("DataSpillHasMC"),
187  Comment("If overlaid MC in BackTracker, still treat spill as data")
188  };
189  };
190 }
191 
192 #endif
Atom< string > TrueEnergyLabel
Atom< string > NumuEnergyLabel
Atom< string > DiscreteTrackLabel
Atom< string > GenMixerProcessLabel
Atom< string > MuonIDLabel
Atom< string > FileExtension
Atom< InputTag > FuzzyK2DLabel
Atom< bool > StrictMode
Atom< string > ClusterLabel
Atom< string > GenMixerLabel
Atom< InputTag > OverlapEKalLabel
Atom< string > DiFShowerCVNLabelOldPresel
Atom< string > NueSelLabel
Atom< string > RockPreselLabel
Atom< string > CosmicCVNLabel
Atom< bool > UseGeVPixelMaps
Atom< string > CVNParticleLabel
Atom< string > NueVetoLabel
Atom< string > G4ReweightLabel
Atom< string > VetoLabel
Atom< string > KalmanTrackLabel
Atom< bool > FullTruthInfo
Atom< string > BreakPointTrackLabel
Atom< string > DiFShowerLIDLabel
Atom< string > SlcLIDLabel
Atom< bool > ApplyLEMNuePresel
Atom< string > CVNLabelNoCosmicsOppHorn
Atom< string > CVNTrainingDataLabel
Atom< string > NuMIBeamLabel
Atom< InputTag > FuzzyKWeight3DLabel
Atom< string > ReweightLabel
Atom< bool > IsSinglesOverlay
Atom< bool > FillNuTree
Atom< bool > FillPixelMaps
Atom< string > SliceLIDLabel
Atom< string > CVNLabelLoosePreselPtPOppHorn
Atom< string > DiscreteTrack2dLabel
Atom< bool > FullTrainingInfo
Atom< string > DiFShowerCVNLabelNoCosmics
Atom< string > SpillQualLabel
Atom< string > GeneratorLabel
Atom< bool > UseEnergy
Atom< string > CosRejLabel
Atom< string > CVNLabelLoosePreselPtP
Atom< string > ExposureLabel
Atom< string > MRParentSliceLabel
Atom< string > CVNParticleOppHornLabel
Atom< bool > ApplyingFilter
Atom< InputTag > FuzzyKWeight2DLabel
Atom< string > SPIDLabel
Atom< string > DataTier
Atom< string > RegCVNLabel
Atom< string > CVNPixelMapLabel
Atom< string > SingleMixerLabel
Atom< string > DiFShowerShwLabel
Atom< string > JMShowerLabel
Atom< bool > EnableBlindness
Atom< string > NCCosRejLabel
Atom< string > DAQEventSummaryLabel
Atom< string > LemLabel
Atom< std::string > CAFFilename
Atom< string > XnueLabel
Atom< InputTag > FuzzyKOrphLabel
Atom< InputTag > OverlapEBPFLabel
Atom< bool > IsSAMInput
Atom< string > RawDataLabel
Atom< string > NuonELabel
Atom< string > SPProngCVNNumuCCEMIDLabel
Atom< bool > DataSpillHasMC
Atom< string > SPProngCVN5labelLabel
Atom< string > CVNLabelNeutronProng
Atom< string > ReclusShowerLabel
Atom< string > CVNLabelOldPresel
Atom< string > NumuLSTMEnergyOppHornLabel
Atom< string > CVNLabelNoCosmics
Atom< string > WSCNNLabel
Atom< bool > AbortOnEmpty
Atom< string > HitsLabel
Atom< string > HoughVertexLabel
Atom< int > NumCVNPrincipalComponents
Atom< string > FuzzyKHVLabel
Atom< string > LIDLabel
Atom< bool > FillTrainingData
Atom< string > LEMNuePresel
Atom< InputTag > ElasticArmsLabel
Atom< string > MCSpillDataLabel
Atom< string > NDRecoLabel
Atom< InputTag > FuzzyK3DLabel
Atom< string > CVNParticle2DLabel
Atom< string > NCPi0BkgRejLabel
Atom< string > RvpLabel
Atom< string > CosmicTrackLabel
Atom< string > NumuLSTMEnergyLabel
Atom< string > GenProcessLabel
Atom< string > WindowTrackLabel
Atom< string > TrackInfoBPF
Atom< string > NuonEOppHornLabel
fhicl::Comment Comment
Atom< string > CVNLabelOldPreselOppHorn
Atom< bool > MRMode
Atom< string > RemidLabel
Atom< string > NuePreselLabel
Atom< string > DiFShowerClusterLabel
Atom< string > RegCVNOppHornLabel
Atom< string > DiFShowerCVNLabelLoosePreselPtP
This module creates Common Analysis Files.
Definition: FileReducer.h:10
Atom< string > MELabel
Atom< string > NueCosRejLabel
Atom< string > SliceLIDOppHornLabel
Atom< string > TrackInfoKalman
Atom< bool > FillCosmicCVN
Atom< string > VertexDTLabel
Atom< string > MRCCParentLabel
Atom< string > FluxReweightLabel
Atom< string > CosRejBPFLabel
enum BeamMode string