StaticFuncs.h
Go to the documentation of this file.
1 //
2 // Created by Brian Rebel on 10/31/19.
3 //
4 
5 #ifndef COVARIANCEMATRIXFIT_STATICFUNCS_H
6 #define COVARIANCEMATRIXFIT_STATICFUNCS_H
7 
9 #include "NovaDAQConventions/DAQConventions.h"
10 
12 
13 namespace cmf{
14 
15  static inline long DetectorTypeKey (cmf::DetType_t const& det) { return det * 1000000000; }
16  static inline long PeriodKey (long const& ep ) { return ep * 10000000; }
17  static inline long FileTypeKey (cmf::FileType_t const& ft ) { return (ft + 1) * 100000; }
18  static inline long BeamTypeKey (cmf::BeamType_t const& bt ) { return (bt + 1) * 10000; }
19  static inline long SelectionTypeKey (cmf::SelectionType_t const& st ) { return (st + 1) * 100; }
20  static inline long InteractionTypeKey(cmf::InteractionType_t const& it ) { return it * 1; }
21 
23  cmf::BeamType_t const& bt,
24  cmf::SelectionType_t const& sel);
25 
26  static cmf::DetType_t KeyToDetectorType (long const& key);
27  static int KeyToEpoch (long const& key);
28  static cmf::FileType_t KeyToFileType (long const& key);
29  static cmf::BeamType_t KeyToBeamType (long const& key);
30  static cmf::SelectionType_t KeyToSelectionType (long const& key);
31  static cmf::InteractionType_t KeyToInteractionType(long const& key);
32  static std::string KeyToString (long const& key);
33 
34  static int BeamToPeriod(cmf::BeamType_t const& beam);
35 
37  static cmf::BeamType_t StringToBeamType (std::string const& str);
43  static cmf::BeamType_t PeriodToBeamType(std::string const& str);
44 
45  static bool IsOscillationParameter(std::string const& str);
46  static bool IsAngleParameter(cmf::OscParm_t const& par);
47 
48  static bool IsNuMuSelected (cmf::SelectionType_t const& sel);
49  static bool IsNuMuQuantiles(cmf::SelectionType_t const& sel);
50  static bool IsNuESelected (cmf::SelectionType_t const& sel);
51  static bool IsNCSelected (cmf::SelectionType_t const& sel);
52 
53  static uint8_t VarNameToKey(std::string const& name);
54  static std::string KeyToVarName(uint8_t const& key );
55 
57 
58 }
59 
60 //------------------------------------------------------------------------------
62  cmf::BeamType_t const& bt,
63  cmf::SelectionType_t const& sel)
64 {
66 }
67 
68 //------------------------------------------------------------------------------
69 inline static cmf::DetType_t cmf::KeyToDetectorType(long const& key)
70 {
71  if(key < 1000000000) return cmf::kUnknownDet;
72 
73  LOG_DEBUG("StaticFuncs")
74  << "KeyToDetector: "
75  << key
76  << " "
77  << (key / 1000000000);
78 
79  return (cmf::DetType_t)(key / 1000000000);
80 }
81 
82 //------------------------------------------------------------------------------
83 inline static int cmf::KeyToEpoch(long const& key)
84 {
85  auto detType = cmf::KeyToDetectorType(key);
86 
87  long tmpKey = key;
88  if(detType != cmf::kUnknownDet) tmpKey -= cmf::DetectorTypeKey(detType);
89 
90  if(tmpKey < 10000000) return 0;
91 
92  LOG_DEBUG("StaticFuncs")
93  << "KeyToEpoch: "
94  << key
95  << " "
96  << detType
97  << "/"
98  << cmf::DetectorTypeKey(detType)
99  << " "
100  << tmpKey
101  << " "
102  << (tmpKey / 10000000);
103 
104  return (tmpKey / 10000000);
105 }
106 
107 //------------------------------------------------------------------------------
108 inline static cmf::FileType_t cmf::KeyToFileType(long const& key)
109 {
110  auto detType = cmf::KeyToDetectorType(key);
111  auto epoch = cmf::KeyToEpoch(key);
112 
113  // if the epoch is not part of the key, KeyToEpoch returns 0
114  long tmpKey = key - cmf::PeriodKey(epoch);
115  if(detType != cmf::kUnknownDet) tmpKey -= cmf::DetectorTypeKey(detType);
116 
117  if(tmpKey < 100000) return cmf::kUnknownFileType;
118 
119  LOG_DEBUG("StaticFuncs")
120  << "KeyToFile: "
121  << key
122  << " "
123  << detType
124  << "/"
125  << cmf::DetectorTypeKey(detType)
126  << " "
127  << tmpKey
128  << " "
129  << (tmpKey / 100000) - 1;
130 
131  return (cmf::FileType_t)((tmpKey / 100000) - 1);
132 }
133 
134 //------------------------------------------------------------------------------
135 inline static cmf::BeamType_t cmf::KeyToBeamType(long const& key)
136 {
137  auto detType = cmf::KeyToDetectorType(key);
138  auto fileType = cmf::KeyToFileType(key);
139  auto epoch = cmf::KeyToEpoch(key);
140 
141  long tmpKey = key - cmf::PeriodKey(epoch);
142 
143  if(detType != cmf::kUnknownDet ) tmpKey -= cmf::DetectorTypeKey(detType);
145 
146  if(tmpKey < 10000) return cmf::kUnknownBeam;
147 
148  LOG_DEBUG("StaticFuncs")
149  << "KeyToBeam: "
150  << key
151  << " "
152  << detType
153  << "/"
154  << cmf::DetectorTypeKey(detType)
155  << " "
156  << fileType
157  << "/"
159  << " "
160  << tmpKey
161  << " "
162  << (tmpKey / 10000) - 1;
163 
164 
165  return (cmf::BeamType_t)((tmpKey / 10000) - 1);
166 }
167 
168 //------------------------------------------------------------------------------
170 {
171  auto detType = cmf::KeyToDetectorType(key);
172  auto beamType = cmf::KeyToBeamType(key);
173  auto fileType = cmf::KeyToFileType(key);
174  auto epoch = cmf::KeyToEpoch(key);
175 
176  long tmpKey = key - cmf::PeriodKey(epoch);
177  if(detType != cmf::kUnknownDet ) tmpKey -= cmf::DetectorTypeKey(detType);
178  if(beamType != cmf::kUnknownBeam ) tmpKey -= cmf::BeamTypeKey(beamType);
180 
181  if(tmpKey < 100) return cmf::kUnknownSelection;
182 
183  LOG_DEBUG("StaticFuncs")
184  << "KeyToSelection: "
185  << key
186  << " "
187  << detType
188  << "/"
189  << cmf::DetectorTypeKey(detType)
190  << " "
191  << beamType
192  << "/"
193  << cmf::BeamTypeKey(beamType)
194  << " "
195  << fileType
196  << "/"
198  << " "
199  << tmpKey
200  << " "
201  << (tmpKey / 100) - 1;
202 
203  return (cmf::SelectionType_t)((tmpKey / 100) - 1);
204 }
205 
206 //------------------------------------------------------------------------------
208 {
209  auto detType = cmf::KeyToDetectorType(key);
210  auto beamType = cmf::KeyToBeamType(key);
211  auto fileType = cmf::KeyToFileType(key);
212  auto selType = cmf::KeyToSelectionType(key);
213  auto epoch = cmf::KeyToEpoch(key);
214 
215  long tmpKey = key - cmf::PeriodKey(epoch);
216  if(detType != cmf::kUnknownDet ) tmpKey -= cmf::DetectorTypeKey(detType);
217  if(beamType != cmf::kUnknownBeam ) tmpKey -= cmf::BeamTypeKey(beamType);
219  if(selType != cmf::kUnknownSelection) tmpKey -= cmf::SelectionTypeKey(selType);
220 
221  if(tmpKey < 1) return cmf::kUnknownInteraction;
222 
223  return (cmf::InteractionType_t)(tmpKey);
224 }
225 
226 //------------------------------------------------------------------------------
227 inline static std::string cmf::KeyToString(long const& key)
228 {
230  "Period" +
236 }
237 
238 //------------------------------------------------------------------------------
239 inline static int cmf::BeamToPeriod(cmf::BeamType_t const& beam)
240 {
241  if (beam == cmf::kFHC) return 1;
242  else if(beam == cmf::kRHC) return 4;
243 
244  return 0;
245 }
246 
247 //------------------------------------------------------------------------------
249 {
250  for(size_t i = 0; i < cmf::cSelectionType_Strings.size() - 1; ++i){
252  }
253 
254  return cmf::kUnknownSelection;
255 }
256 
257 //------------------------------------------------------------------------------
259 {
260  if (str == "RHC") return cmf::kRHC;
261  else if(str == "FHC") return cmf::kFHC;
262 
263  return cmf::kUnknownBeam;
264 }
265 
266 //------------------------------------------------------------------------------
268 {
269  for(uint8_t itr = 1; itr < (uint8_t)cmf::kMINOSFAR + 1; ++itr){
270  if(cmf::cDetType_Strings[itr].find(str) != std::string::npos)
271  return (cmf::DetType_t)itr;
272  }
273 
274  return cmf::kUnknownDet;
275 }
276 
277 //------------------------------------------------------------------------------
279 {
280  for(int i = 0; i < (int)cmf::kNumOscParams; ++i){
281  if(str == cmf::cOscParams_Strings[i]) return (cmf::OscParm_t)i;
282  }
283 
284  LOG_WARNING("StringToOscParmType")
285  << str
286  << " not found in list for oscillation parameters, returning max enumeration";
287 
288  return cmf::kNumOscParams;
289 }
290 
291 //------------------------------------------------------------------------------
293 {
294  for(size_t i = 0; i < cmf::cChiSqrCalcType_Strings.size() - 1; ++i){
296  }
297 
298  return cmf::kUnknownChiSqr;
299 }
300 
301 //------------------------------------------------------------------------------
303 {
304  for(size_t i = 0; i < cmf::cContourTypeStrings.size() - 1; ++i){
305  if(str == cmf::cContourTypeStrings[i]) return (cmf::ContourType_t)i;
306  }
307 
308 
309  return cmf::kUnknownContour;
310 }
311 
312 //------------------------------------------------------------------------------
314 {
315  for(size_t i = 1; i < cmf::cInteractionType_Strings.size(); ++i){
317  }
318 
320 }
321 
322 
323 //------------------------------------------------------------------------------
325 {
326 
327  if (str.find("102") != std::string::npos) return cmf::BeamType_t::kRHC;
328  else if (str.find("101") != std::string::npos) return cmf::BeamType_t::kFHC;
329  else if (str.find("10") != std::string::npos) return cmf::BeamType_t::kFHC;
330  else if (str.find("9") != std::string::npos) return cmf::BeamType_t::kFHC;
331  else if (str.find("8") != std::string::npos) return cmf::BeamType_t::kRHC;
332  else if (str.find("7") != std::string::npos) return cmf::BeamType_t::kRHC;
333  else if (str.find("6") != std::string::npos) return cmf::BeamType_t::kRHC;
334  else if (str.find("5") != std::string::npos) return cmf::BeamType_t::kFHC;
335  else if (str.find("4") != std::string::npos) return cmf::BeamType_t::kRHC;
336  else if (str.find("3") != std::string::npos) return cmf::BeamType_t::kFHC;
337  else if (str.find("2") != std::string::npos) return cmf::BeamType_t::kFHC;
338  else if (str.find("1") != std::string::npos) return cmf::BeamType_t::kFHC;
339  else return cmf::BeamType_t::kUnknownBeam;
340 
341 }
342 
343 //------------------------------------------------------------------------------
344 inline static bool cmf::IsOscillationParameter(const std::string &str)
345 {
346  for(int i = 0; i < cmf::kNumOscParams; ++i){
347  if(str == cmf::cOscParams_Strings[i]) return true;
348  }
349 
350  return false;
351 }
352 
353 //------------------------------------------------------------------------------
354 inline static bool cmf::IsAngleParameter(cmf::OscParm_t const& par)
355 {
356  if(par == cmf::kTh13 ||
357  par == cmf::kTh23 ||
358  par == cmf::kTh14 ||
359  par == cmf::kTh24 ||
360  par == cmf::kTh34 ) return true;
361 
362  return false;
363 }
364 
365 //------------------------------------------------------------------------------
366 inline static bool cmf::IsNuMuSelected(cmf::SelectionType_t const& sel)
367 {
368  return (sel == cmf::kNuMuSelection ||
369  cmf::IsNuMuQuantiles(sel));
370 }
371 
372 //------------------------------------------------------------------------------
373 inline static bool cmf::IsNuMuQuantiles(cmf::SelectionType_t const& sel)
374 {
375  return (sel >= cmf::kNuMuSelectionQ1 &&
376  sel <= cmf::kNuMuSelectionQ4);
377 }
378 
379 //------------------------------------------------------------------------------
380 inline static bool cmf::IsNuESelected(cmf::SelectionType_t const& sel)
381 {
382  return (sel >= cmf::kNuESelection &&
384 }
385 
386 //------------------------------------------------------------------------------
387 inline static bool cmf::IsNCSelected(cmf::SelectionType_t const& sel)
388 {
389  return sel == cmf::kNCSelection;
390 }
391 
392 //-----------------------------------------------------------------------
393 // Helper function to turn a Variable Name string into the key for the map
394 // number the keys from 1, 0 is reserved for an undefined key
395 inline static uint8_t cmf::VarNameToKey(std::string const& name)
396 {
397  auto const& itr = cmf::kVarNameToKey.find(name);
398  if(itr != cmf::kVarNameToKey.end()) return itr->second;
399  LOG_VERBATIM("VarNameToKey")
400  << "Variable name "
401  << name
402  << " does not correspond to any key, returning 0";
403 
404  return cmf::kUnknownVar;
405 }
406 
407 //-----------------------------------------------------------------------
408 // Helper function to turn a key for the map into a Variable Name string
409 // a key of 0 is an undefined variable name
410 inline static std::string cmf::KeyToVarName(uint8_t const& key)
411 {
412  for(auto const& itr : cmf::kVarNameToKey){
413  if(itr.second == key) return itr.first;
414  }
415  return "Unknown";
416 }
417 
418 //-----------------------------------------------------------------------
420 {
421  std::string oscParString;
422  for(auto const& itr : opm){
423  oscParString += " " + cmf::cOscParams_Strings[itr.first] + ": " + std::to_string(itr.second);
424  }
425 
426  return oscParString;
427 }
428 
429 #endif //COVARIANCEMATRIXFIT_STATICFUNCS_H
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
const XML_Char * name
Definition: expat.h:151
enum cmf::osc_params OscParm_t
static std::string OscParMapToString(cmf::OscillationParameterMap const &opm)
Definition: StaticFuncs.h:419
static cmf::ContourType_t StringToContourType(std::string const &str)
enum cmf::interaction_type InteractionType_t
static bool IsNCSelected(cmf::SelectionType_t const &sel)
Definition: StaticFuncs.h:387
static long SelectionTypeKey(cmf::SelectionType_t const &st)
Definition: StaticFuncs.h:19
set< int >::iterator it
static cmf::InteractionType_t StringToInteractionType(std::string const &str)
const std::vector< std::string > cFileTypeStrings({"Beam","FluxSwap","TauSwap","Data","CosmicBackground","RockFluxSwap","RockNonSwap","num_file_types","bad_file_type","UnknownFileType"})
const std::vector< std::string > cChiSqrCalcType_Strings({"CovMat","Poisson","CNP","Gauss","UnknownChiSqr"})
static long DetectorTypeKey(cmf::DetType_t const &det)
Definition: StaticFuncs.h:15
const std::vector< std::string > cDetType_Strings({"UnknownDet","NearDet","FarDet","MINOSNear","MINOSFar","AllDetectors"})
static long DetectorBeamSelectionTypesToKey(cmf::DetType_t const &det, cmf::BeamType_t const &bt, cmf::SelectionType_t const &sel)
Definition: StaticFuncs.h:61
Int_t par
Definition: SimpleIterate.C:24
enum cmf::cont_type ContourType_t
enum cmf::det_type DetType_t
static cmf::InteractionType_t KeyToInteractionType(long const &key)
Definition: StaticFuncs.h:207
static cmf::BeamType_t KeyToBeamType(long const &key)
Definition: StaticFuncs.h:135
enum cmf::sel_type SelectionType_t
const std::vector< std::string > cInteractionType_Strings({"UnknownInteraction","NuMuCC","NuMuBarCC","NuECC","NuEBarCC","NuTauCC","NuTauBarCC","NC","CosmicMuon","RockMuon","UncategorisedInteraction"})
static bool IsNuESelected(cmf::SelectionType_t const &sel)
Definition: StaticFuncs.h:380
static bool IsAngleParameter(cmf::OscParm_t const &par)
Definition: StaticFuncs.h:354
static bool IsNuMuQuantiles(cmf::SelectionType_t const &sel)
Definition: StaticFuncs.h:373
static cmf::BeamType_t StringToBeamType(std::string const &str)
Definition: StaticFuncs.h:258
fileType
Definition: mkDefs.py:113
static bool IsNuMuSelected(cmf::SelectionType_t const &sel)
Definition: StaticFuncs.h:366
static const std::map< std::string, uint8_t > kVarNameToKey({{"NuE_CVN", cmf::kNuE_CVN},{"NuE_NumMichel", cmf::kNuE_NumMichel},{"Had_RecoE", cmf::kHad_RecoE},{"Lep_RecoE", cmf::kLep_RecoE},{"Nu_RecoE", cmf::kNu_RecoE},{"Lep_RecoE_MCFrac", cmf::kLep_RecoE_MCFrac},{"Reco_Q2", cmf::kRecoQ2},{"Fake_Weight", cmf::kFake_Weight},{"TrueE", cmf::kTrueE},{"TruePDG", cmf::kTruePDG},{"TrueCCNC", cmf::kTrueCCNC},{"TrueIntType", cmf::kTrueIntType},{"TruePDGOrig", cmf::kTruePDGOrig},{"TrueParentPDG", cmf::kTrueParentPDG},{"TrueParentPT", cmf::kTrueParentPT},{"TrueParentPZ", cmf::kTrueParentPZ},{"TrueParentDecay", cmf::kTrueParentDecay},{"TrueParentTargetPDG", cmf::kTrueParentTargetPDG},{"TrueHitNuc", cmf::kTrueHitNuc},{"TrueIntMode", cmf::kTrueIntMode},{"XsecCV2020", cmf::kXSecCV2020Wgt},{"PPFXFluxCV", cmf::kPPFXFluxCVWgt},{"RPARES", cmf::kRPARES_Weight},{"UnCorrNDMuEScaleSyst2020", cmf::kUnCorrNDMuEScaleSyst2020},{"UnCorrMuCatMuESyst2020", cmf::kUnCorrMuCatMuESyst2020},{"PileupMuESyst2020", cmf::kPileupMuESyst2020},{"CorrMuEScaleSyst2020", cmf::kCorrMuEScaleSyst2020},{"NeutronEvisPrimariesSyst2018", cmf::kNeutronVisEScalePrimariesSyst2018},{"MichelTaggingSyst2020", cmf::kMichelTaggingSyst2020},{"llND", cmf::kLightModelND},{"llFD", cmf::kLightModelFD},{"cherenkov", cmf::kCherenkov},{"calibND", cmf::kAbsoluteCalibrationND},{"calibFD", cmf::kAbsoluteCalibrationFD},{"calibshapeND", cmf::kCalibShapeND},{"calibshapeFD", cmf::kCalibShapeFD},{"detectoraging", cmf::kDetectorAging},{"NormalizationPOT", cmf::kNormalizationPOT},{"NormalizationNDMass", cmf::kNormalizationNDMass},{"NormalizationFDMass", cmf::kNormalizationFDMass},{"NormalizationML", cmf::kNormalizationML},{"NormalizationFHCNuMuContext", cmf::kNormalizationFHCNuMuContext},{"NormalizationRHCNuMuContext", cmf::kNormalizationRHCNuMuContext},{"NormalizationFHCNuEContext", cmf::kNormalizationFHCNuEContext},{"NormalizationRHCNuEContext", cmf::kNormalizationRHCNuEContext},{"NormalizationFHCNCContext", cmf::kNormalizationFHCNCContext},{"NormalizationRHCNCContext", cmf::kNormalizationRHCNCContext},{"MaNCEL", cmf::kMaNCEL},{"EtaNCEL", cmf::kEtaNCEL},{"AhtBY", cmf::kAhtBY},{"BhtBY", cmf::kBhtBY},{"CV1uBY", cmf::kCV1uBY},{"CV2uBY", cmf::kCV2uBY},{"AGKY_xF1pi", cmf::kAGKY_xF1pi},{"AGKY_pT1pi", cmf::kAGKY_pT1pi},{"BR1gamma", cmf::kBR1gamma},{"BR1eta", cmf::kBR1eta},{"Theta_Delta2Npi", cmf::kTheta_Delta2Npi},{"MvCCRES", cmf::kMvCCRES},{"MaCCRES", cmf::kMaCCRES},{"MvNCRES", cmf::kMvNCRES},{"MaNCRES", cmf::kMaNCRES},{"RPACCQEshapeEnh", cmf::kRPACCQEshapeEnh},{"RPACCQEshapeSupp", cmf::kRPACCQEshapeSupp},{"COHCCScale2018", cmf::kCOHCCScaleSyst2018},{"COHNCScale2018", cmf::kCOHNCScaleSyst2018},{"ZExpAxialFFSyst2020_eV1", cmf::kZExpEV1Syst2020},{"ZExpAxialFFSyst2020_eV2", cmf::kZExpEV2Syst2020},{"ZExpAxialFFSyst2020_eV3", cmf::kZExpEV3Syst2020},{"ZExpAxialFFSyst2020_eV4", cmf::kZExpEV4Syst2020},{"ZNormCCQE", cmf::kZNormCCQE},{"RESLowQ2SuppSyst2020", cmf::kRESLowQ2SuppSyst2020},{"hNFSISyst2020_MFP", cmf::khNFSISyst2020_MFP},{"hNFSISyst2020_EV1", cmf::khNFSISyst2020_EV1},{"MECEnuShapeSyst2020Nu", cmf::kMECEnuShapeSyst2020Nu},{"MECEnuShapeSyst2020AntiNu", cmf::kMECEnuShapeSyst2020AntiNu},{"MECShapeSyst2020Nu", cmf::kMECShapeSyst2020Nu},{"MECShapeSyst2020AntiNu", cmf::kMECShapeSyst2020AntiNu},{"MECInitStateNPFracSyst2020Nu", cmf::kMECInitStateNPFracSyst2020Nu},{"MECInitStateNPFracSyst2020AntiNu", cmf::kMECInitStateNPFracSyst2020AntiNu},{"RadCorrNue", cmf::kRadCorrNue},{"RadCorrNuebar", cmf::kRadCorrNuebar},{"2ndClassCurrs", cmf::k2ndClassCurrs},{"Norm_1Nux", cmf::kNorm_1Nux},{"MeanQ0_1Nux", cmf::kMeanQ0_1Nux},{"MeanQ3_1Nux", cmf::kMeanQ3_1Nux},{"SigmaQ0_1Nux", cmf::kSigmaQ0_1Nux},{"SigmaQ3_1Nux", cmf::kSigmaQ3_1Nux},{"Corr_1Nux", cmf::kCorr_1Nux},{"Norm_2Nux", cmf::kNorm_2Nux},{"MeanQ0_2Nux", cmf::kMeanQ0_2Nux},{"MeanQ3_2Nux", cmf::kMeanQ3_2Nux},{"SigmaQ0_2Nux", cmf::kSigmaQ0_2Nux},{"SigmaQ3_2Nux", cmf::kSigmaQ3_2Nux},{"Corr_2Nux", cmf::kCorr_2Nux},{"BaselineNux", cmf::kBaselineNux},{"TauScaleSyst", cmf::kTauScaleSyst},{"DISvpCC0pi_2020", cmf::kDISvpCC0pi_2020},{"DISvpCC1pi_2020", cmf::kDISvpCC1pi_2020},{"DISvpCC2pi_2020", cmf::kDISvpCC2pi_2020},{"DISvpCC3pi_2020", cmf::kDISvpCC3pi_2020},{"DISvpNC0pi_2020", cmf::kDISvpNC0pi_2020},{"DISvpNC1pi_2020", cmf::kDISvpNC1pi_2020},{"DISvpNC2pi_2020", cmf::kDISvpNC2pi_2020},{"DISvpNC3pi_2020", cmf::kDISvpNC3pi_2020},{"DISvnCC0pi_2020", cmf::kDISvnCC0pi_2020},{"DISvnCC1pi_2020", cmf::kDISvnCC1pi_2020},{"DISvnCC2pi_2020", cmf::kDISvnCC2pi_2020},{"DISvnCC3pi_2020", cmf::kDISvnCC3pi_2020},{"DISvnNC0pi_2020", cmf::kDISvnNC0pi_2020},{"DISvnNC1pi_2020", cmf::kDISvnNC1pi_2020},{"DISvnNC2pi_2020", cmf::kDISvnNC2pi_2020},{"DISvnNC3pi_2020", cmf::kDISvnNC3pi_2020},{"DISvbarpCC0pi_2020", cmf::kDISvbarpCC0pi_2020},{"DISvbarpCC1pi_2020", cmf::kDISvbarpCC1pi_2020},{"DISvbarpCC2pi_2020", cmf::kDISvbarpCC2pi_2020},{"DISvbarpCC3pi_2020", cmf::kDISvbarpCC3pi_2020},{"DISvbarpNC0pi_2020", cmf::kDISvbarpNC0pi_2020},{"DISvbarpNC1pi_2020", cmf::kDISvbarpNC1pi_2020},{"DISvbarpNC2pi_2020", cmf::kDISvbarpNC2pi_2020},{"DISvbarpNC3pi_2020", cmf::kDISvbarpNC3pi_2020},{"DISvbarnCC0pi_2020", cmf::kDISvbarnCC0pi_2020},{"DISvbarnCC1pi_2020", cmf::kDISvbarnCC1pi_2020},{"DISvbarnCC2pi_2020", cmf::kDISvbarnCC2pi_2020},{"DISvbarnCC3pi_2020", cmf::kDISvbarnCC3pi_2020},{"DISvbarnNC0pi_2020", cmf::kDISvbarnNC0pi_2020},{"DISvbarnNC1pi_2020", cmf::kDISvbarnNC1pi_2020},{"DISvbarnNC2pi_2020", cmf::kDISvbarnNC2pi_2020},{"DISvbarnNC3pi_2020", cmf::kDISvbarnNC3pi_2020},{"FormZone_2020", cmf::kFormZone_2020},{"hNFSISyst2020_EV2", cmf::khNFSISyst2020_EV2},{"hNFSISyst2020_EV3", cmf::khNFSISyst2020_EV3},{"COHCCScaleSyst2018", cmf::kCOHCCScaleSyst2018},{"COHNCScaleSyst2018", cmf::kCOHNCScaleSyst2018},{"FluxPCA00", cmf::kFluxPCA00},{"FluxPCA01", cmf::kFluxPCA01},{"FluxPCA02", cmf::kFluxPCA02},{"FluxPCA03", cmf::kFluxPCA03},{"FluxPCA04", cmf::kFluxPCA04},{"KaonSyst", cmf::kKaonSyst},{"-2sigma", cmf::kMinus2Sigma},{"-1sigma", cmf::kMinus1Sigma},{"+1sigma", cmf::kPlus1Sigma},{"+2sigma", cmf::kPlus2Sigma}})
const std::vector< std::string > cContourTypeStrings({"Asimov","Median","Feldman-Cousins","Data","UnknownContour"})
static uint8_t VarNameToKey(std::string const &name)
Definition: StaticFuncs.h:395
static cmf::SelectionType_t StringToSelectionType(std::string const &str)
Definition: StaticFuncs.h:248
std::map< cmf::OscParm_t, float > OscillationParameterMap
Definition: Constants.h:745
static cmf::DetType_t KeyToDetectorType(long const &key)
Definition: StaticFuncs.h:69
static long PeriodKey(long const &ep)
Definition: StaticFuncs.h:16
static cmf::DetType_t StringToDetectorType(std::string const &str)
Definition: StaticFuncs.h:267
const std::vector< std::string > cSelectionType_Strings({"NuESel_AllPID","NuESel_LowPID","NuESel_MidPID","NuESel_HighPID","NuESel_Peripheral","NuMuSel","NuMuSelQ1","NuMuSelQ2","NuMuSelQ3","NuMuSelQ4","NCSel","UnknownSel"})
static cmf::BeamType_t PeriodToBeamType(std::string const &str)
const std::vector< std::string > cBeamType_Strings({"FHC","RHC","0HC","UnknownBeam"})
static cmf::FileType_t KeyToFileType(long const &key)
Definition: StaticFuncs.h:108
static int BeamToPeriod(cmf::BeamType_t const &beam)
Definition: StaticFuncs.h:239
static long InteractionTypeKey(cmf::InteractionType_t const &it)
Definition: StaticFuncs.h:20
static int KeyToEpoch(long const &key)
Definition: StaticFuncs.h:83
#define LOG_WARNING(category)
static bool IsOscillationParameter(std::string const &str)
static cmf::ChiSqrCalc_t StringToChiSqrType(std::string const &str)
Module to combine a set of results into a single file currently only does one data product type at a ...
Definition: Event.cxx:24
static long FileTypeKey(cmf::FileType_t const &ft)
Definition: StaticFuncs.h:17
enum cmf::beam_type BeamType_t
static cmf::SelectionType_t KeyToSelectionType(long const &key)
Definition: StaticFuncs.h:169
#define LOG_VERBATIM(category)
std::string to_string(ModuleType mt)
Definition: ModuleType.h:32
static cmf::OscParm_t StringToOscParmType(std::string const &str)
static std::string KeyToVarName(uint8_t const &key)
Definition: StaticFuncs.h:410
static long BeamTypeKey(cmf::BeamType_t const &bt)
Definition: StaticFuncs.h:18
static std::string KeyToString(long const &key)
Definition: StaticFuncs.h:227
enum cmf::chisqr_type ChiSqrCalc_t
const std::vector< std::string > cOscParams_Strings({"L","Rho","Dmsq21","Dmsq32","Th12","Th13","Th23","dCP","Th14","Th24","Th34","Dmsq41","d24","Eps_ee","Eps_emu","Eps_etau","Eps_mumu","Eps_mutau","Eps_tautau","Delta_emu","Delta_etau","Delta_mutau"})
enum cmf::file_type FileType_t
enum BeamMode string