Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
fnex Namespace Reference

Create a list of fnex::Events to be used in fits. More...

Namespaces

 NueSystsSAW
 

Classes

class  AnalysisSetupBase
 
class  AnalyzeWeighters
 
class  BeamSyst
 
class  Binning
 Base class for 'binning' objects. Pure virtual – you want either a FixedBinning or a VariableBinning. More...
 
class  CAFContourMaker
 
class  CAFToEventList
 
class  CalibSyst
 
class  CalibSystHistMaker
 
class  CompareFNEXCAFEventListFiles
 
struct  ConstraintInfo
 
class  ContourMaker
 
class  CorrectedSpectrum
 
class  Correlations
 
class  CorrSpec_BENDecomp
 
class  CorrSpec_MichelDecomp
 
class  CorrSpec_NoExtrapNuE
 
class  CorrSpec_NoExtrapNuMu
 
class  CorrSpec_PropDecomp
 
class  CorrSpec_SimpleExtrap
 
class  CorrSpec_SimpleNuMuExtrap
 
class  CovarianceBinUtility
 
class  CovarianceFitHelper
 
class  CovarianceMatrixFitter
 
class  CovarianceMatrixMaker
 
struct  CovFitIteration
 
struct  DataEventInfo_struct
 
struct  DataVars
 
class  DataVarVals
 Base container for the MC related Vars that constitute an event. More...
 
struct  DetectorHasher
 
struct  Event
 
struct  EventId
 
struct  EventInfo
 
struct  EventInfo_struct_RunSubrunCycle
 
class  EventList
 
class  EventListMaker
 
class  EventListManipulator
 
class  Experiment
 
class  FakePointResultMaker
 
class  FitAlg_ROOTFactoryFit
 
class  FitAlg_SeparatedSystFit
 
class  FitAlgorithm
 
class  FitEval_ChiSq
 
class  FitEval_Counting
 
class  FitEval_UBL
 
class  FitEvaluation
 
struct  FitIteration
 
class  FitPoint
 
class  FixedBinning
 Binning containing a fixed number of bins. More...
 
class  GeniePCASyst
 
struct  GENIEVar
 
struct  GENIEVars
 
class  Hashable
 
struct  Hasher
 
class  InputPoint
 
struct  MCEventInfo_struct
 
class  MCVarVals
 Base container for the MC related Vars that constitute an event. More...
 
struct  MetaData
 
struct  MetaDataHasher
 
struct  MetaDataLite
 
class  MultiExperiment
 
class  NOvA_Experiment
 
struct  NPInfo
 
class  NuEAnalysisSetup
 
class  NuisanceParameter_Experiment
 
class  NuisanceParameters
 
class  NuMuAnalysisSetup
 
class  ParameterConstraints
 
struct  ParameterDetHasher
 
class  PlotPoint
 
class  PointResult
 
struct  POTLiveTime
 
struct  potTracker
 
class  ReadCAFMakeEventList
 
class  ReadFitResults
 
class  SensitivityPointsMaker
 
struct  shiftconv
 
class  ShifterAndWeighter
 
struct  simple_correlation
 
class  SortEventLists
 
class  Spectrum
 The Spectrum is the means for interaction with Event collections. More...
 
class  SpectrumTest
 
struct  SpillPOT
 
struct  SpillSummary
 
class  StarPlot
 
class  StupidWeight_Linear
 Stupid test weight that produces a linear shift for every event, where 1 sigma = 50%. More...
 
class  SystematicSigmas
 
class  SystematicsWeightTest
 
struct  TruthVars
 
class  VarBinning
 
class  VariableBinning
 Binning with variable bins. More...
 
struct  WeightVars
 

Typedefs

typedef std::unordered_map< novadaq::cnv::DetId, bool, fnex::DetectorHasherDetBoolMap
 
typedef std::unordered_map< fnex::MetaData, TH1D, fnex::MetaDataHasherHistMap
 
typedef std::unordered_map< novadaq::cnv::DetId, TH1D, fnex::DetectorHasherDetHistMap
 
typedef std::map< std::string, InputPointStringPointMap
 
typedef std::shared_ptr< EventEventPtr
 
typedef std::vector< EventPtrEventContainer
 
typedef std::map< fnex::MetaData, std::vector< EventInfo > > EventVarValsMap
 
typedef std::map< fnex::MetaData, fnex::EventListEventListMap
 
typedef enum fnex::weight_type WeightType_t
 
typedef std::unordered_map< fnex::MetaData, fnex::Spectrum, fnex::MetaDataHasherSpectrumList
 
typedef std::pair< std::string, novadaq::cnv::DetIdParameterDet
 
typedef std::unordered_map< std::string, double > ParameterMap
 
typedef std::unordered_map< ParameterDet, double, ParameterDetHasherParameterDetMap
 
typedef enum fnex::beam_type BeamType_t
 
typedef enum fnex::sel_type SelectionType_t
 
typedef enum fnex::interaction_type InteractionType_t
 
typedef enum fnex::osc_params OscParm_t
 
typedef enum fnex::osc_type OscType_t
 
typedef enum fnex::file_type FileType_t
 
typedef std::map< std::string, double > TStrDblMap
 
typedef std::pair< std::string, double > TStrDblPair
 
typedef std::map< std::pair< double, double >, std::set< fnex::PointResult > > PointResMap
 
typedef std::map< std::pair< double, double >, double > PointMap
 
typedef enum fnex::dataMC_type DataMC_t
 
typedef std::unordered_map< fnex::MetaData, double, fnex::MetaDataHasherExposureMap
 
typedef std::unordered_map< fnex::MetaData, std::vector< TH1F * >, fnex::MetaDataHasherEnergyHistMap
 
typedef enum fnex::fit_type FitType_t
 

Enumerations

enum  weight_type { kSystWgtOnly =0, kOscWgtOnly, kSystAndOscWgt, kAllWgt }
 
enum  beam_type { kFHC = 0, kRHC, k0HC, kUnknownBeam }
 
enum  sel_type {
  kNuMuSelection = 0, kNuESelection, kNuESelectionLowPID, kNuESelectionMidPID,
  kNuESelectionHighPID, kNuESelectionPeripheral, kNuMuSelectionQ1, kNuMuSelectionQ2,
  kNuMuSelectionQ3, kNuMuSelectionQ4, kUnknownSelection
}
 
enum  interaction_type {
  kUnknownInteraction = 0, kNuMuCC, kNuMuBarCC, kNuECC,
  kNuEBarCC, kNuTauCC, kNuTauBarCC, kNC,
  kCosmicMuon
}
 
enum  extrap_type {
  kExtrapBasic = 0, kExtrapMC1to1 = 1, kExtrapMCRandDist = 2, kExtrapMCHalfAndHalf = 3,
  kExtrapMCPoisson = 4, kExtrapMCFDBoxed = 5, kExtrapNone = 6, kExtrapNone_ND = 7,
  kNumExtrapTypes
}
 
enum  osc_params {
  kL = 0, kRho, kDmsq21, kDmsq32,
  kTh12, kTh13, kTh23, kdCP,
  kNumOscParams
}
 
enum  cut_type {
  kGT = 0, kLT, kGTE, kLTE,
  kE, kNone, kNumCutTypes, kBadCutType,
  kUnassignedCutType
}
 
enum  cut_properties {
  kFiducial = 0, kMuonTrackLength, kMuonTrackDedx, kShowerLength,
  kMuonPID, kElectronPID, kNumPropertyTypes
}
 
enum  osc_type {
  kMCmm = 0, kMCmmbar, kMCme, kMCmebar,
  kMCmt, kMCmtbar, kMCee, kMCeebar,
  kMCem, kMCembar, kMCtm, kMCtmbar,
  kMCte, kMCtebar, kMCNC, kDataEvent,
  kCosmicEvent, kBadOscType, kNumOscTypes, kOscTypeNoneSet
}
 
enum  file_type {
  kBeam =0, kSwap, kTauSwap, kDataFile,
  kCosmicBackgroundFile, kNumFileTypes, kBadFileType, kUnknownFileType
}
 
enum  dataMC_type { kData = 0, kMC, kFakeData, kBoth }
 
enum  fit_type { kMultiExperiment = 0, kCovarianceFit }
 

Functions

std::ostream & operator<< (std::ostream &o, fnex::Event const &event)
 
void SerializeEvents (TTree *eventTree, fnex::MetaData const &md, std::vector< fnex::EventInfo > const &events)
 
void SerializeEvents (TTree *eventTree, fnex::MetaData const &md, fnex::EventList const &events)
 
void SerializeEventListMap (std::string const &dirName, fnex::EventListMap const &listMap)
 
std::ostream & operator<< (std::ostream &o, fnex::MCVarVals const &mcvv)
 
std::ostream & operator<< (std::ostream &o, fnex::EventId const &evid)
 
std::ostream & operator<< (std::ostream &o, fnex::DataVarVals const &dvv)
 
bool isSumSmallXSecJoint2017Key (unsigned char const &varkey)
 
bool isSumSmallXSecJoint2017Name (std::string const &varname)
 
bool isUnusedGENIEName (std::string const &varname)
 
unsigned char VarNameToKey (std::string const &name)
 
std::string KeyToVarName (unsigned char const &key)
 
std::string KeyToLatex (unsigned char const &varkey)
 
bool IsMCVar (unsigned char const &key)
 
bool IsMCVar (std::string const &name)
 
bool IsDataVar (unsigned char const &key)
 
bool IsDataVar (std::string const &name)
 
bool showerByLength (art::Ptr< rb::Shower > s1, art::Ptr< rb::Shower > s2)
 
bool prongByLength (art::Ptr< rb::Prong > p1, art::Ptr< rb::Prong > p2)
 
std::string ParameterDetToString (fnex::ParameterDet const &pd)
 
std::ostream & operator<< (std::ostream &o, fnex::InputPoint const &ip)
 
std::ostream & operator<< (std::ostream &o, fnex::PointResult const &pr)
 
long StringToKey (std::string const &str)
 
int EpochStringToInt (std::string const &epochStr)
 
std::ostream & operator<< (std::ostream &o, SpillSummary const &ss)
 
double FitFunction_ForROOT (const double *params)
 
void ConvertPointToVectors (InputPoint const &pPoint, std::vector< double > &pVals, std::vector< std::string > &pNames)
 
void ConvertVectorsToPoint (std::vector< double > const &pVals, std::vector< std::string > const &pNames, InputPoint &pPoint)
 
bool orderByExperimentShortName (std::unique_ptr< fnex::Experiment > a, std::unique_ptr< fnex::Experiment > b)
 
 DEFINE_ART_MODULE (SpectrumTest)
 
 DEFINE_ART_MODULE (SystematicsWeightTest)
 
void MakeGraphs (TH2F *in_hist, std::vector< double > vContours, std::vector< std::vector< std::unique_ptr< TGraph > > > &vGraphVectors)
 

Variables

static ShifterAndWeightergShifterAndWeighter = nullptr
 
static VarBinninggVarBinning = nullptr
 
static const unsigned char kUnknownVar = 0
 
static const unsigned char kNuE_CVN = 1
 
static const unsigned char kNuE_NumMichel = 2
 
static const unsigned char kHad_RecoE = 3
 
static const unsigned char kLep_RecoE = 4
 
static const unsigned char kNu_RecoE = 5
 
static const unsigned char kLep_RecoE_MCFrac = 6
 
static const unsigned char kRecoQ2 = 7
 
static const unsigned char kFake_Weight = 8
 
static const unsigned char kTrueE = 9
 
static const unsigned char kTruePDG = 10
 
static const unsigned char kTrueCCNC = 11
 
static const unsigned char kTrueIntType = 12
 
static const unsigned char kTruePDGOrig = 13
 
static const unsigned char kTrueParentPDG = 14
 
static const unsigned char kTrueParentPT = 15
 
static const unsigned char kTrueParentPZ = 16
 
static const unsigned char kTrueParentDecay = 17
 
static const unsigned char kTrueParentTargetPDG = 18
 
static const unsigned char kTrueHitNuc = 19
 
static const unsigned char kTrueIntMode = 20
 
static const unsigned char kXSecCVPPFX_Weight = 21
 
static const unsigned char kRPACCQE_Weight = 22
 
static const unsigned char kRPARES_Weight = 23
 
static const unsigned char kDISvnCC1pi_Weight = 24
 
static const unsigned char kEmpiricalMEC_Weight = 25
 
static const unsigned char kEmpiricalMECtoGENIEQE_Weight = 26
 
static const unsigned char kEmpiricalMECtoGENIERES_Weight = 27
 
static const unsigned char kOtherDIS_Weight = 28
 
static const unsigned char kMinus2Sigma = 29
 
static const unsigned char kMinus1Sigma = 30
 
static const unsigned char kPlus1Sigma = 31
 
static const unsigned char kPlus2Sigma = 32
 
static const unsigned char kMaCCQE = 33
 
static const unsigned char kMaCCRES = 34
 
static const unsigned char kMaNCRES = 35
 
static const unsigned char kMvCCRES = 36
 
static const unsigned char kRPACCQEshapeEnh = 37
 
static const unsigned char kRPACCQEshapeSupp = 38
 
static const unsigned char kFormZone = 39
 
static const unsigned char kFrInel_pi = 40
 
static const unsigned char kFrCEx_N = 41
 
static const unsigned char kFrElas_N = 42
 
static const unsigned char kFrAbs_N = 43
 
static const unsigned char kCCQEPauliSupViaKF = 44
 
static const unsigned char kSumSmallXSecJoint2017 = 45
 
static const unsigned char kMaNCEL = 46
 
static const unsigned char kEtaNCEL = 47
 
static const unsigned char kVecCCQE_shape = 48
 
static const unsigned char kMvNCRES = 49
 
static const unsigned char kMaCOHpi = 50
 
static const unsigned char kR0COHpi = 51
 
static const unsigned char kAhtBY = 52
 
static const unsigned char kBhtBY = 53
 
static const unsigned char kCV1uBY = 54
 
static const unsigned char kCV2uBY = 55
 
static const unsigned char kNormDISCC = 56
 
static const unsigned char kRnubarnuCC = 57
 
static const unsigned char kDISNuclMod = 58
 
static const unsigned char kAGKY_xF1pi = 59
 
static const unsigned char kAGKY_pT1pi = 60
 
static const unsigned char kMFP_pi = 61
 
static const unsigned char kMFP_N = 62
 
static const unsigned char kFrCEx_pi = 63
 
static const unsigned char kFrElas_pi = 64
 
static const unsigned char kFrAbs_pi = 65
 
static const unsigned char kFrPiProd_pi = 66
 
static const unsigned char kFrInel_N = 67
 
static const unsigned char kFrPiProd_N = 68
 
static const unsigned char kCCQEMomDistroFGtoSF = 69
 
static const unsigned char kBR1gamma = 70
 
static const unsigned char kBR1eta = 71
 
static const unsigned char kTheta_Delta2Npi = 72
 
static const unsigned char kLep_RecoE_UBL = 73
 
static const unsigned char kHad_RecoE_UBL = 74
 
static const unsigned char kNu_RecoE_UBL = 75
 
static const unsigned char kNu_RecoE_Quantiles_NuMu = 76
 
static const unsigned char kNu_RecoE_NuE_Peripheral = 77
 
const std::string cBeamType_Strings [4]
 
const std::string cBeamType_LatexStrings [4]
 
const std::string cSelectionType_Strings [11]
 
const std::string cSelectionType_LatexStrings [11]
 
const std::string cInteractionType_LatexStrings [9]
 
const std::string cInteractionType_Strings [9]
 
const std::string cExtrapMode_Strings [9]
 
const std::string cOscParams_Strings [kNumOscParams]
 
const std::string cOscParams_Strings_Latex [kNumOscParams]
 
const double cOscParams_Default [kNumOscParams]
 
const std::string kCutTypeStrings [9]
 
const std::string cOscType_Strings [20]
 
const std::string cOscType_LatexStrings [20]
 
const int cOscType_Colors [20]
 
const int cOscType_FillStyles [20]
 
const int cOscType_Markers [20]
 
const std::string kFileTypeStrings [8]
 
const std::string kFileTypeStrings_Latex [8]
 
const double cNearDetBaseline = 0.0
 
const double cFarDetBaseline = 810.0
 
const int kNumFCAlpha = 2
 
const double kFCAlpha [2] ={0.68, 0.90}
 
const int kFCAlphaColors [2] = {4, 2}
 
const std::string kFCAlphaStrings [2] = {"68% CL","90% CL"}
 
static NuisanceParametersgSystSigmaInstance = nullptr
 
static ParameterConstraintsgParConstInstance = nullptr
 
static SystematicSigmasgSystSigmaInstance = nullptr
 
InputPointgPoint
 
std::unique_ptr< std::vector< double > > gFFVals
 
std::unique_ptr< std::vector< std::string > > gFFNames
 
fnex::MultiExperimentgRFFMultiExperiment
 
ROOT::Math::Minimizer * gFFMin
 
std::unique_ptr< fnex::CovarianceFitHelpergFitHelp
 

Detailed Description

Create a list of fnex::Events to be used in fits.

Create a set of Covariance matrices to be used in fits.

Use covariance matrices in fits.

Module to do a fit of a single point in parameter space.

Author
brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v

Typedef Documentation

typedef std::unordered_map< novadaq::cnv::DetId, bool, fnex::DetectorHasher > fnex::DetBoolMap

Definition at line 37 of file CorrectedSpectrum.h.

typedef std::unordered_map< novadaq::cnv::DetId, TH1D, fnex::DetectorHasher > fnex::DetHistMap

Definition at line 39 of file CorrectedSpectrum.h.

typedef std::unordered_map<fnex::MetaData, std::vector<TH1F*>, fnex::MetaDataHasher> fnex::EnergyHistMap

Definition at line 46 of file EventListManipulator.h.

typedef std::vector<EventPtr> fnex::EventContainer

Definition at line 51 of file Event.h.

Definition at line 186 of file Event.h.

typedef std::shared_ptr<Event> fnex::EventPtr

Definition at line 50 of file Event.h.

typedef std::map<fnex::MetaData, std::vector<EventInfo> > fnex::EventVarValsMap

Definition at line 176 of file Event.h.

typedef std::unordered_map<fnex::MetaData, double, fnex::MetaDataHasher> fnex::ExposureMap

Definition at line 43 of file EventListManipulator.h.

typedef std::unordered_map< fnex::MetaData, TH1D, fnex::MetaDataHasher > fnex::HistMap

Definition at line 38 of file CorrectedSpectrum.h.

typedef std::pair<std::string, novadaq::cnv::DetId> fnex::ParameterDet

Definition at line 38 of file Constants.h.

typedef std::unordered_map<ParameterDet, double, ParameterDetHasher> fnex::ParameterDetMap

Definition at line 63 of file Constants.h.

typedef std::unordered_map<std::string, double> fnex::ParameterMap

Definition at line 62 of file Constants.h.

typedef std::map< std::pair< double, double >, double > fnex::PointMap

Definition at line 42 of file ContourMaker_plugin.cc.

typedef std::map< std::pair< double, double >, std::set< fnex::PointResult > > fnex::PointResMap

Definition at line 41 of file ContourMaker_plugin.cc.

Definition at line 69 of file Spectrum.h.

typedef std::map<std::string, InputPoint> fnex::StringPointMap

Definition at line 23 of file Correlations.h.

typedef std::map<std::string, double> fnex::TStrDblMap

Definition at line 421 of file Constants.h.

typedef std::pair<std::string, double> fnex::TStrDblPair

Definition at line 422 of file Constants.h.

Enumeration Type Documentation

Enumerator
kFHC 
kRHC 
k0HC 
kUnknownBeam 

Definition at line 69 of file Constants.h.

69  {
70  kFHC = 0,
71  kRHC,
72  k0HC,
74  } BeamType_t;
enum fnex::beam_type BeamType_t
Enumerator
kFiducial 
kMuonTrackLength 
kMuonTrackDedx 
kShowerLength 
kMuonPID 
kElectronPID 
kNumPropertyTypes 

Definition at line 247 of file Constants.h.

Enumerator
kGT 
kLT 
kGTE 
kLTE 
kE 
kNone 
kNumCutTypes 
kBadCutType 
kUnassignedCutType 

Definition at line 225 of file Constants.h.

225  {
226  kGT = 0,
227  kLT,
228  kGTE,
229  kLTE,
230  kE,
231  kNone,
232  kNumCutTypes,
233  kBadCutType,
235  };
Enumerator
kData 
kMC 
kFakeData 
kBoth 

Definition at line 34 of file EventListManipulator.h.

34  {
35  kData = 0,
36  kMC,
37  kFakeData,
38  kBoth
39  } DataMC_t;
const Color_t kMC
enum fnex::dataMC_type DataMC_t
Enumerator
kExtrapBasic 
kExtrapMC1to1 
kExtrapMCRandDist 
kExtrapMCHalfAndHalf 
kExtrapMCPoisson 
kExtrapMCFDBoxed 
kExtrapNone 
kExtrapNone_ND 
kNumExtrapTypes 

Definition at line 161 of file Constants.h.

Enumerator
kBeam 
kSwap 
kTauSwap 
kDataFile 
kCosmicBackgroundFile 
kNumFileTypes 
kBadFileType 
kUnknownFileType 

Definition at line 375 of file Constants.h.

Enumerator
kMultiExperiment 
kCovarianceFit 

Definition at line 37 of file SensitivityPointsMaker_plugin.cc.

Enumerator
kUnknownInteraction 
kNuMuCC 
kNuMuBarCC 
kNuECC 
kNuEBarCC 
kNuTauCC 
kNuTauBarCC 
kNC 
kCosmicMuon 

Definition at line 128 of file Constants.h.

Enumerator
kL 
kRho 
kDmsq21 
kDmsq32 
kTh12 
kTh13 
kTh23 
kdCP 
kNumOscParams 

Definition at line 184 of file Constants.h.

184  {
185  kL = 0,
186  kRho,
187  kDmsq21,
188  kDmsq32,
189  kTh12,
190  kTh13,
191  kTh23,
192  kdCP,
194  } OscParm_t;
enum fnex::osc_params OscParm_t
Enumerator
kMCmm 
kMCmmbar 
kMCme 
kMCmebar 
kMCmt 
kMCmtbar 
kMCee 
kMCeebar 
kMCem 
kMCembar 
kMCtm 
kMCtmbar 
kMCte 
kMCtebar 
kMCNC 
kDataEvent 
kCosmicEvent 
kBadOscType 
kNumOscTypes 
kOscTypeNoneSet 

Definition at line 258 of file Constants.h.

Enumerator
kNuMuSelection 
kNuESelection 
kNuESelectionLowPID 
kNuESelectionMidPID 
kNuESelectionHighPID 
kNuESelectionPeripheral 
kNuMuSelectionQ1 
kNuMuSelectionQ2 
kNuMuSelectionQ3 
kNuMuSelectionQ4 
kUnknownSelection 

Definition at line 87 of file Constants.h.

Enumerator
kSystWgtOnly 
kOscWgtOnly 
kSystAndOscWgt 
kAllWgt 

Definition at line 28 of file ShifterAndWeighter.h.

Function Documentation

void fnex::ConvertPointToVectors ( InputPoint const &  pPoint,
std::vector< double > &  pVals,
std::vector< std::string > &  pNames 
)

Definition at line 330 of file FitAlg_ROOTFactoryFit.cxx.

References confusionMatrixTree::count, fnex::InputPoint::FixedParameters(), fnex::InputPoint::FixedSystematics(), it, novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, make_pair(), fnex::InputPoint::ParameterSpaceLocation(), and fnex::InputPoint::SystematicPulls().

Referenced by cmf::CovarianceFitHelper::AddIteration(), and fnex::FitAlg_ROOTFactoryFit::FillGlobalVariables().

332  {
333 
334  // Grab the easy-to-get vectors
335  fnex::ParameterDetMap pParameterSpaceLocations = pPoint.ParameterSpaceLocation();
336  fnex::ParameterDetMap pSystematicPulls = pPoint.SystematicPulls();
337  std::vector<fnex::ParameterDet> pFixedParameters = pPoint.FixedParameters();
338  std::vector<fnex::ParameterDet> pFixedSystematics = pPoint.FixedSystematics();
339 
340 
341  // Add all FD entry keys to the psl_key_list
342  // Add ND entry keys only if they don't shot up on FD list
343  // E.g., FD entry will override ND entry if common
344  // Don't add entries on the Fixed list
345  std::list<std::string> psl_key_list_fd;
346  for( auto psl : pPoint.ParameterSpaceLocation(novadaq::cnv::kFARDET) ){
347  ParameterDet tempPairFar = std::make_pair(psl.first, novadaq::cnv::kFARDET);
348  if(count(pFixedParameters.begin(), pFixedParameters.end(), tempPairFar) != 0) continue;
349  //LOG_VERBATIM("ROOTFactoryFit") << "FD Adding " << psl.first << std::endl;
350  psl_key_list_fd.push_back(psl.first);
351  }
352 
353  // The ND list will contain an event only if it occurs solely for the ND
354  // and not for the FD
355  std::list<std::string> psl_key_list_nd;
356  for( auto psl : pPoint.ParameterSpaceLocation(novadaq::cnv::kNEARDET) ){
357  ParameterDet tempPairNear = std::make_pair(psl.first, novadaq::cnv::kNEARDET);
358  if(count(pFixedParameters.begin(), pFixedParameters.end(), tempPairNear) != 0) continue;
359  if( count(psl_key_list_fd.begin(), psl_key_list_fd.end(), psl.first) == 0 ){
360  //LOG_VERBATIM("ROOTFactoryFit") << "ND Adding " << psl.first << std::endl;
361  psl_key_list_nd.push_back(psl.first);
362  }
363  }
364  psl_key_list_nd.sort();
365  psl_key_list_fd.sort();
366 
367  // Add all FD entry keys to the sp_key_list
368  // Add ND entry keys only if they don't shot up on FD list
369  // E.g., FD entry will override ND entry if common
370  // Don't add entries on the Fixed list
371  std::list<std::string> sp_key_list_fd;
372  for( auto sp : pPoint.SystematicPulls(novadaq::cnv::kFARDET) ){
373  ParameterDet tempPairFar = std::make_pair(sp.first, novadaq::cnv::kFARDET);
374  if(count(pFixedSystematics.begin(), pFixedSystematics.end(), tempPairFar) != 0) continue;
375  sp_key_list_fd.push_back(sp.first);
376  }
377 
378  // Again, the ND list will contain an event only if it occurs solely for the ND
379  // and not for the FD
380  std::list<std::string> sp_key_list_nd;
381  for( auto sp : pPoint.SystematicPulls(novadaq::cnv::kNEARDET) ){
382  ParameterDet tempPairNear = std::make_pair(sp.first, novadaq::cnv::kNEARDET);
383  if(count(pFixedSystematics.begin(), pFixedSystematics.end(), tempPairNear) != 0) continue;
384  if( count(sp_key_list_fd.begin(), sp_key_list_fd.end(), sp.first) == 0 ){
385  sp_key_list_nd.push_back(sp.first);
386  }
387  }
388 
389  sp_key_list_nd.sort();
390  sp_key_list_fd.sort();
391 
392  // Now fill the pVals and pNames vectors with these 'condensed' vectors
393  //
394  pVals.clear();
395  pNames.clear();
396 
397 
398  for (auto it=psl_key_list_nd.begin(); it != psl_key_list_nd.end(); ++it) {
399  pVals.push_back(pPoint.ParameterSpaceLocation(novadaq::cnv::kNEARDET).at(*it));
400  pNames.push_back(*it);
401  }
402  for (auto it=psl_key_list_fd.begin(); it != psl_key_list_fd.end(); ++it) {
403  pVals.push_back(pPoint.ParameterSpaceLocation(novadaq::cnv::kFARDET).at(*it));
404  pNames.push_back(*it);
405  }
406 
407  for (auto it=sp_key_list_nd.begin(); it != sp_key_list_nd.end(); ++it) {
408  pVals.push_back(pPoint.SystematicPulls(novadaq::cnv::kNEARDET).at(*it));
409  pNames.push_back(*it);
410  }
411  for (auto it=sp_key_list_fd.begin(); it != sp_key_list_fd.end(); ++it) {
412  pVals.push_back(pPoint.SystematicPulls(novadaq::cnv::kFARDET).at(*it));
413  pNames.push_back(*it);
414  }
415 
416  // We're done here
417  return;
418  }
set< int >::iterator it
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:335
Far Detector at Ash River, MN.
std::pair< std::string, novadaq::cnv::DetId > ParameterDet
Definition: Constants.h:38
Near Detector in the NuMI cavern.
std::unordered_map< ParameterDet, double, ParameterDetHasher > ParameterDetMap
Definition: Constants.h:63
void fnex::ConvertVectorsToPoint ( std::vector< double > const &  pVals,
std::vector< std::string > const &  pNames,
InputPoint pPoint 
)

Definition at line 422 of file FitAlg_ROOTFactoryFit.cxx.

References fnex::InputPoint::FixedParameters(), fnex::InputPoint::FixedSystematics(), MECModelEnuComparisons::i, novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, make_pair(), fnex::InputPoint::ParameterSpaceLocation(), and fnex::InputPoint::SystematicPulls().

Referenced by FitFunction_ForROOT(), and fnex::FitAlg_ROOTFactoryFit::LoadFinalResults().

424  {
425 
426  // Grab the vectors to overwrite in the InputPoint
427  //
428  ParameterDetMap pParameterSpaceLocations = pPoint.ParameterSpaceLocation();
429  ParameterDetMap pSystematicPulls = pPoint.SystematicPulls();
430  std::vector<ParameterDet> pFixedParameters = pPoint.FixedParameters();
431  std::vector<ParameterDet> pFixedSystematics = pPoint.FixedSystematics();
432 
433 
434  // Start by looping through condensed name (key) vector
435  //
436  unsigned int keys_size = pNames.size();
437  for (unsigned int i = 0; i < keys_size; ++i) {
438  ParameterDet tempPairFar = std::make_pair(pNames.at(i), novadaq::cnv::kFARDET);
439  ParameterDet tempPairNear = std::make_pair(pNames.at(i), novadaq::cnv::kNEARDET);
440  if(pParameterSpaceLocations.count(tempPairFar) != 0){
441  pParameterSpaceLocations[tempPairFar] = pVals.at(i); }
442  if(pParameterSpaceLocations.count(tempPairNear) != 0){
443  pParameterSpaceLocations[tempPairNear] = pVals.at(i); }
444  if(pSystematicPulls.count(tempPairFar) != 0){
445  pSystematicPulls[tempPairFar] = pVals.at(i); }
446  if(pSystematicPulls.count(tempPairNear) != 0){
447  pSystematicPulls[tempPairNear] = pVals.at(i); }
448  }
449 
450  // Make the new input point
451  //
452  pPoint = InputPoint(pParameterSpaceLocations,
453  pSystematicPulls,
454  pFixedParameters,
455  pFixedSystematics );
456 
457  // We're done here
458  return;
459  }
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:335
Far Detector at Ash River, MN.
std::pair< std::string, novadaq::cnv::DetId > ParameterDet
Definition: Constants.h:38
std::unordered_map< ParameterDet, double, ParameterDetHasher > ParameterDetMap
Definition: Constants.h:63
Near Detector in the NuMI cavern.
fnex::DEFINE_ART_MODULE ( SystematicsWeightTest  )
fnex::DEFINE_ART_MODULE ( SpectrumTest  )
int fnex::EpochStringToInt ( std::string const &  epochStr)
inline

Definition at line 82 of file Structs.h.

Referenced by fnex::EventListMaker::InitializeEventListMaps(), fnex::MetaData::MetaData(), and fnex::MetaDataLite::MetaDataLite().

82  {
83  size_t first = epochStr.find_first_of("abcdefghijklmnopqrstuvwxyz");
84  std::string alpha;
85  if(first != std::string::npos){
86  alpha = epochStr.substr(first, first + 1);
87  return (std::atoi(epochStr.substr(0, first).c_str()) * 1000 + static_cast<int>(*(alpha.c_str())));
88  }
89 
90  return (std::atoi(epochStr.substr(0, 1).c_str()) * 1000);
91  }
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
double fnex::FitFunction_ForROOT ( const double *  params)

Definition at line 21 of file FitAlg_ROOTFactoryFit.cxx.

References fnex::MultiExperiment::ApplyPoint(), compare(), ConvertVectorsToPoint(), allTimeWatchdog::endl, fnex::MultiExperiment::FitValue(), gFFVals, gPoint, MECModelEnuComparisons::i, LOG_VERBATIM, cet::pow(), and std::sin().

Referenced by fnex::FitAlg_ROOTFactoryFit::InitializeMinimizer(), and fnex::CovarianceMatrixFitter::InitializeMinimizer().

22  {
23  // debug
24  LOG_VERBATIM("ROOTFactoryFit") << "Processing guess: ";
25  for(size_t i = 0; i < gFFVals->size(); ++i){
26  if((*gFFNames)[i].compare("Th23") == 0)
27  LOG_VERBATIM("ROOTFactoryFit")
28  << "\t"
29  << (*gFFNames)[i]
30  << " : "
31  << params[i]
32  << "; sin^2(Th23) : "
33  << std::pow(std::sin(params[i]), 2.);
34  else if((*gFFNames)[i].compare("dCP") == 0)
35  LOG_VERBATIM("ROOTFactoryFit")
36  << "\t"
37  << (*gFFNames)[i]
38  << " : "
39  << params[i]
40  << " = "
41  << params[i]/TMath::Pi()
42  << " (pi)";
43  else
44  LOG_VERBATIM("ROOTFactoryFit")
45  << "\t"
46  << (*gFFNames)[i]
47  << " : "
48  << params[i];
49 
50  }
51 
52  std::vector<double> guessVals = *gFFVals;
53  for(size_t i = 0; i < gFFVals->size(); ++i) guessVals[i] = params[i];
54 
55  // Now make a new InputPoint
56  InputPoint newPoint = *gPoint;
57  ConvertVectorsToPoint(guessVals, *gFFNames, newPoint);
58 
59  // Send this to the MultiExperiment, and update the experiment
61 
62  //LOG_VERBATIM("ROOTFactoryFit") << "\t" << "Applied Point = " << newPoint << std::endl;
63 
64  // Get Chisq
65  double chisq = gRFFMultiExperiment->FitValue();
66 
67  LOG_VERBATIM("ROOTFactoryFit") << "\t" << "FitValue = " << chisq << std::endl;
68 
69  // Return the fit value; that's what we're looking to minimize
70  return chisq;
71 
72  }
constexpr T pow(T x)
Definition: pow.h:75
fnex::MultiExperiment * gRFFMultiExperiment
InputPoint * gPoint
std::unique_ptr< std::vector< std::string > > gFFNames
void ConvertVectorsToPoint(std::vector< double > const &pVals, std::vector< std::string > const &pNames, InputPoint &pPoint)
void ApplyPoint(InputPoint &pInputPoint)
std::unique_ptr< std::vector< double > > gFFVals
T sin(T number)
Definition: d0nt_math.hpp:132
bool compare(const GFluxGenerator &g1, const GFluxGenerator &g2)
#define LOG_VERBATIM(category)
bool fnex::IsDataVar ( unsigned char const &  key)
inline

Definition at line 617 of file VarVals.h.

References kFake_Weight.

Referenced by IsDataVar(), and fnex::EventListManipulator::LoadVarVals().

618  {
619  return (key > 0 && key <= fnex::kFake_Weight);
620  }
static const unsigned char kFake_Weight
Definition: VarVals.h:39
bool fnex::IsDataVar ( std::string const &  name)
inline

Definition at line 624 of file VarVals.h.

References IsDataVar(), and VarNameToKey().

625  {
627  }
unsigned char VarNameToKey(std::string const &name)
Definition: VarVals.h:279
const XML_Char * name
Definition: expat.h:151
bool IsDataVar(unsigned char const &key)
Definition: VarVals.h:617
bool fnex::IsMCVar ( unsigned char const &  key)
inline

Definition at line 604 of file VarVals.h.

References kFake_Weight.

Referenced by IsMCVar(), and fnex::EventListManipulator::LoadVarVals().

605  {
606  return (key > fnex::kFake_Weight);
607  }
static const unsigned char kFake_Weight
Definition: VarVals.h:39
bool fnex::IsMCVar ( std::string const &  name)
inline

Definition at line 611 of file VarVals.h.

References IsMCVar(), and VarNameToKey().

612  {
614  }
unsigned char VarNameToKey(std::string const &name)
Definition: VarVals.h:279
const XML_Char * name
Definition: expat.h:151
bool IsMCVar(unsigned char const &key)
Definition: VarVals.h:604
bool fnex::isSumSmallXSecJoint2017Key ( unsigned char const &  varkey)
inline

Definition at line 151 of file VarVals.h.

152  {
153  if(varkey == kSumSmallXSecJoint2017 ||
154  varkey == kMaNCEL ||
155  varkey == kEtaNCEL ||
156  varkey == kVecCCQE_shape ||
157  varkey == kMvNCRES ||
158  varkey == kMaCOHpi ||
159  varkey == kR0COHpi ||
160  varkey == kAhtBY ||
161  varkey == kBhtBY ||
162  varkey == kCV1uBY ||
163  varkey == kCV2uBY ||
164  varkey == kNormDISCC ||
165  varkey == kRnubarnuCC ||
166  varkey == kDISNuclMod ||
167  varkey == kAGKY_xF1pi ||
168  varkey == kAGKY_pT1pi ||
169  varkey == kFormZone ||
170  varkey == kMFP_pi ||
171  varkey == kMFP_N ||
172  varkey == kFrCEx_pi ||
173  varkey == kFrElas_pi ||
174  varkey == kFrInel_pi ||
175  varkey == kFrAbs_pi ||
176  varkey == kFrPiProd_pi ||
177  varkey == kFrCEx_N ||
178  varkey == kFrElas_N ||
179  varkey == kFrInel_N ||
180  varkey == kFrAbs_N ||
181  varkey == kFrPiProd_N ||
182  varkey == kCCQEPauliSupViaKF ||
183  varkey == kCCQEMomDistroFGtoSF ||
184  varkey == kBR1gamma ||
185  varkey == kBR1eta ||
186  varkey == kTheta_Delta2Npi) return true;
187 
188  return false;
189  }
static const unsigned char kEtaNCEL
Definition: VarVals.h:86
static const unsigned char kTheta_Delta2Npi
Definition: VarVals.h:111
static const unsigned char kRnubarnuCC
Definition: VarVals.h:96
static const unsigned char kMaCOHpi
Definition: VarVals.h:89
static const unsigned char kFrElas_N
Definition: VarVals.h:79
static const unsigned char kCCQEMomDistroFGtoSF
Definition: VarVals.h:108
static const unsigned char kFrPiProd_N
Definition: VarVals.h:107
static const unsigned char kFrElas_pi
Definition: VarVals.h:103
static const unsigned char kMvNCRES
Definition: VarVals.h:88
static const unsigned char kVecCCQE_shape
Definition: VarVals.h:87
static const unsigned char kBR1gamma
Definition: VarVals.h:109
static const unsigned char kFormZone
Definition: VarVals.h:76
static const unsigned char kFrAbs_N
Definition: VarVals.h:80
static const unsigned char kMaNCEL
Definition: VarVals.h:85
static const unsigned char kBhtBY
Definition: VarVals.h:92
static const unsigned char kNormDISCC
Definition: VarVals.h:95
static const unsigned char kDISNuclMod
Definition: VarVals.h:97
static const unsigned char kAGKY_pT1pi
Definition: VarVals.h:99
static const unsigned char kCV1uBY
Definition: VarVals.h:93
static const unsigned char kCCQEPauliSupViaKF
Definition: VarVals.h:81
static const unsigned char kFrAbs_pi
Definition: VarVals.h:104
static const unsigned char kR0COHpi
Definition: VarVals.h:90
static const unsigned char kFrPiProd_pi
Definition: VarVals.h:105
static const unsigned char kSumSmallXSecJoint2017
Definition: VarVals.h:84
static const unsigned char kFrInel_pi
Definition: VarVals.h:77
static const unsigned char kMFP_N
Definition: VarVals.h:101
static const unsigned char kBR1eta
Definition: VarVals.h:110
static const unsigned char kCV2uBY
Definition: VarVals.h:94
static const unsigned char kMFP_pi
Definition: VarVals.h:100
static const unsigned char kAhtBY
Definition: VarVals.h:91
static const unsigned char kAGKY_xF1pi
Definition: VarVals.h:98
static const unsigned char kFrCEx_N
Definition: VarVals.h:78
static const unsigned char kFrCEx_pi
Definition: VarVals.h:102
static const unsigned char kFrInel_N
Definition: VarVals.h:106
bool fnex::isSumSmallXSecJoint2017Name ( std::string const &  varname)
inline

Definition at line 193 of file VarVals.h.

Referenced by fnex::AnalysisSetupBase::FillGENIEWeightVars().

194  {
195 
196  if(varname.compare("SumSmallXSecJoint2017") == 0 ||
197  varname.compare("SumSmallXSecNumu2017") == 0 ||
198  varname.compare("SumSmallXSecNue2017") == 0 ||
199  varname.compare("MaNCEL") == 0 ||
200  varname.compare("EtaNCEL") == 0 ||
201  varname.compare("VecCCQE_shape") == 0 ||
202  varname.compare("MvNCRES") == 0 ||
203  varname.compare("MaCOHpi") == 0 ||
204  varname.compare("R0COHpi") == 0 ||
205  varname.compare("AhtBY") == 0 ||
206  varname.compare("BhtBY") == 0 ||
207  varname.compare("CV1uBY") == 0 ||
208  varname.compare("CV2uBY") == 0 ||
209  varname.compare("NormDISCC") == 0 ||
210  varname.compare("RnubarnuCC") == 0 ||
211  varname.compare("DISNuclMod") == 0 ||
212  varname.compare("AGKY_xF1pi") == 0 ||
213  varname.compare("AGKY_pT1pi") == 0 ||
214  varname.compare("FormZone") == 0 ||
215  varname.compare("MFP_pi") == 0 ||
216  varname.compare("MFP_N") == 0 ||
217  varname.compare("FrCEx_pi") == 0 ||
218  varname.compare("FrElas_pi") == 0 ||
219  varname.compare("FrInel_pi") == 0 ||
220  varname.compare("FrAbs_pi") == 0 ||
221  varname.compare("FrPiProd_pi") == 0 ||
222  varname.compare("FrCEx_N") == 0 ||
223  varname.compare("FrElas_N") == 0 ||
224  varname.compare("FrInel_N") == 0 ||
225  varname.compare("FrAbs_N") == 0 ||
226  varname.compare("FrPiProd_N") == 0 ||
227  varname.compare("CCQEPauliSupViaKF") == 0 ||
228  varname.compare("CCQEMomDistroFGtoSF") == 0 ||
229  varname.compare("BR1gamma") == 0 ||
230  varname.compare("BR1eta") == 0 ||
231  varname.compare("Theta_Delta2Npi") == 0 ) return true;
232 
233  return false;
234  }
bool fnex::isUnusedGENIEName ( std::string const &  varname)
inline

Definition at line 238 of file VarVals.h.

Referenced by fnex::AnalysisSetupBase::FillGENIEWeightVars().

239  {
240 
241  if(varname.compare("AhtBYshape") == 0 ||
242  varname.compare("BhtBYshape") == 0 ||
243  varname.compare("CV1uBYshape") == 0 ||
244  varname.compare("CV2uBYshape") == 0 ||
245  varname.compare("NormCCQE_EnuDep") == 0 ||
246  varname.compare("NormCCRES") == 0 ||
247  varname.compare("MaCCRES_shape") == 0 ||
248  varname.compare("MvCCRES_shape") == 0 ||
249  varname.compare("NormNCRES") == 0 ||
250  varname.compare("MaNCRES_shape") == 0 ||
251  varname.compare("MvNCRES_shape") == 0 ||
252  varname.compare("NCGENIE") == 0 ||
253  varname.compare("NC") == 0 ||
254  varname.compare("NormCCQE") == 0 ||
255  varname.compare("MaCCQE_shape") == 0 ||
256  varname.compare("RvpCC1pi") == 0 ||
257  varname.compare("RvpCC2pi") == 0 ||
258  varname.compare("RvpNC1pi") == 0 ||
259  varname.compare("RvpNC2pi") == 0 ||
260  varname.compare("RvnCC1pi") == 0 ||
261  varname.compare("RvnCC2pi") == 0 ||
262  varname.compare("RvnNC1pi") == 0 ||
263  varname.compare("RvnNC2pi") == 0 ||
264  varname.compare("RvbarpCC1pi") == 0 ||
265  varname.compare("RvbarpCC2pi") == 0 ||
266  varname.compare("RvbarpNC1pi") == 0 ||
267  varname.compare("RvbarpNC2pi") == 0 ||
268  varname.compare("RvbarnCC1pi") == 0 ||
269  varname.compare("RvbarnCC2pi") == 0 ||
270  varname.compare("RvbarnNC1pi") == 0 ||
271  varname.compare("RvbarnNC2pi") == 0 ) return true;
272 
273  return false;
274  }
std::string fnex::KeyToLatex ( unsigned char const &  varkey)
inline

Definition at line 593 of file VarVals.h.

References KeyToVarName(), kNu_RecoE, and latex().

Referenced by fnex::CorrSpec_NoExtrapNuMu::MakeCorrectedHistograms(), fnex::CorrSpec_SimpleExtrap::MakeCorrectedHistograms(), fnex::CorrSpec_SimpleNuMuExtrap::MakeCorrectedHistograms(), fnex::CorrSpec_NoExtrapNuMu::MakeUncorrectedHistograms(), fnex::CorrSpec_SimpleNuMuExtrap::MakeUncorrectedHistograms(), and fnex::CorrSpec_SimpleExtrap::MakeUncorrectedHistograms().

594  {
596 
597  if(varkey == fnex::kNu_RecoE) latex = "E_{#nu} (GeV)";
598 
599  return latex;
600 
601  }
static const unsigned char kNu_RecoE
Definition: VarVals.h:36
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
std::string KeyToVarName(unsigned char const &key)
Definition: VarVals.h:445
void latex(double x, double y, std::string txt, double ang=0, int align=22, double size=2/30.)
std::string fnex::KeyToVarName ( unsigned char const &  key)
inline

Definition at line 445 of file VarVals.h.

Referenced by fnex::EventListManipulator::FillEventList(), fnex::EventListManipulator::FillHistogram(), fnex::MCVarVals::GENIEWgts(), KeyToLatex(), operator<<(), fnex::ReadCAFMakeEventList::Serialize(), SerializeEvents(), fnex::DataVarVals::set_val_at(), fnex::ShifterAndWeighter::TotalShift(), fnex::CorrSpec_MichelDecomp::UpdateCorrectedHistograms(), fnex::CorrSpec_SimpleNuMuExtrap::UpdateCorrectedHistograms(), fnex::CorrSpec_SimpleExtrap::UpdateCorrectedHistograms(), fnex::CorrSpec_NoExtrapNuMu::UpdateCorrectedHistograms(), fnex::CorrSpec_PropDecomp::UpdateCorrectedHistograms(), fnex::CorrSpec_NoExtrapNuE::UpdateCorrectedHistograms(), and fnex::CorrSpec_BENDecomp::UpdateCorrectedHistograms().

446  {
447  // else if(key == kNuE_LID ) return "NuE_LID";
448  // else if(key == kNuE_LEM ) return "NuE_LEM";
449  if(key == kNuE_CVN ) return "NuE_CVN";
450  else if(key == kNuE_NumMichel ) return "NuE_NumMichel";
451  else if(key == kHad_RecoE ) return "Had_RecoE";
452  else if(key == kHad_RecoE_UBL ) return "Had_RecoE_UBL";
453  else if(key == kLep_RecoE ) return "Lep_RecoE";
454  else if(key == kLep_RecoE_UBL ) return "Lep_RecoE_UBL";
455  else if(key == kNu_RecoE ) return "Nu_RecoE";
456  else if(key == kNu_RecoE_UBL ) return "Nu_RecoE_UBL";
457  else if(key == kNu_RecoE_Quantiles_NuMu ) return "Nu_RecoE_Quantiles_NuMu";
458  else if(key == kNu_RecoE_NuE_Peripheral ) return "Nu_RecoE_NuE_Peripheral";
459  else if(key == kLep_RecoE_MCFrac ) return "Lep_RecoE_MCFrac";
460  else if(key == kRecoQ2 ) return "Reco_Q2";
461  else if(key == kFake_Weight ) return "Fake_Weight";
462 
463  else if(key == kTrueE ) return "TrueE";
464  else if(key == kTruePDG ) return "TruePDG";
465  else if(key == kTrueCCNC ) return "TrueCCNC";
466  else if(key == kTrueIntType ) return "TrueIntType";
467  else if(key == kTruePDGOrig ) return "TruePDGOrig";
468  else if(key == kTrueParentPDG ) return "TrueParentPDG";
469  else if(key == kTrueParentPT ) return "TrueParentPT";
470  else if(key == kTrueParentPZ ) return "TrueParentPZ";
471  else if(key == kTrueParentDecay ) return "TrueParentDecay";
472  else if(key == kTrueParentTargetPDG) return "TrueParentTargetPDG";
473  else if(key == kTrueHitNuc ) return "TrueHitNuc";
474  else if(key == kTrueIntMode ) return "TrueIntMode";
475 
476  else if(key == kXSecCVPPFX_Weight ) return "XsecCVWgt";
477  else if(key == kRPACCQE_Weight ) return "RPACCQEWgt";
478  else if(key == kRPARES_Weight ) return "RPARESWgt";
479  else if(key == kDISvnCC1pi_Weight ) return "DISvnCC1piWgt";
480  else if(key == kEmpiricalMEC_Weight ) return "EmpiricalMECWgt";
481  else if(key == kEmpiricalMECtoGENIEQE_Weight ) return "EmpiricalMECtoGENIEQEWgt";
482  else if(key == kEmpiricalMECtoGENIERES_Weight) return "EmpiricalMECtoGENIERESWgt";
483  else if(key == kOtherDIS_Weight ) return "OtherDISWgt";
484 
485  else if(key == kMinus2Sigma ) return "-2sigma";
486  else if(key == kMinus1Sigma ) return "-1sigma";
487  else if(key == kPlus1Sigma ) return "+1sigma";
488  else if(key == kPlus2Sigma ) return "+2sigma";
489 
490  //GENIE knobs
491  //else if( isSumSmallXSecJoint2017Key(key) ) return "SumSmallXSecJoint2017";
492 
493  // NC elastic parameters
494  else if(key == kMaNCEL ) return "MaNCEL";
495  else if(key == kEtaNCEL ) return "EtaNCEL";
496 
497  // CCQE parameters
498  //else if(key == kNormCCQE ) return "NormCCQE";
499  //else if(key == kNormCCQE_EnuDep ) return "NormCCQE_EnuDep";
500  //else if(key == kMaCCQE_shape ) return "MaCCQE_shape";
501  else if(key == kMaCCQE ) return "MaCCQE";
502  else if(key == kVecCCQE_shape ) return "VecCCQE_shape";
503 
504  // Resonant production: CC
505  //else if(key == kNormCCRES ) return "NormCCRES";
506  //else if(key == kMaCCRES_shape ) return "MaCCRES_shape";
507  //else if(key == kMvCCRES_shape ) return "MvCCRES_shape";
508  else if(key == kMaCCRES ) return "MaCCRES";
509  else if(key == kMvCCRES ) return "MvCCRES";
510 
511  // Resonant production: NC
512  //else if(key == kNormNCRES ) return "NormNCRES";
513  //else if(key == kMaNCRES_shape ) return "MaNCRES_shape";
514  //else if(key == kMvNCRES_shape ) return "MvNCRES_shape";
515  else if(key == kMaNCRES ) return "MaNCRES";
516  else if(key == kMvNCRES ) return "MvNCRES";
517 
518  // Coherent pion production
519  else if(key == kMaCOHpi ) return "MaCOHpi";
520  else if(key == kR0COHpi ) return "R0COHpi";
521 
522  // Non-resonant background
523  //else if(key == kRvpCC1pi ) return "RvpCC1pi";
524  //else if(key == kRvpCC2pi ) return "RvpCC2pi";
525  //else if(key == kRvpNC1pi ) return "RvpNC1pi";
526  //else if(key == kRvpNC2pi ) return "RvpNC2pi";
527  //else if(key == kRvnCC1pi ) return "RvnCC1pi";
528  //else if(key == kRvnCC2pi ) return "RvnCC2pi";
529  //else if(key == kRvnNC1pi ) return "RvnNC1pi";
530  //else if(key == kRvnNC2pi ) return "RvnNC2pi";
531  //else if(key == kRvbarpCC1pi ) return "RvbarpCC1pi";
532  //else if(key == kRvbarpCC2pi ) return "RvbarpCC2pi";
533  //else if(key == kRvbarpNC1pi ) return "RvbarpNC1pi";
534  //else if(key == kRvbarpNC2pi ) return "RvbarpNC2pi";
535  //else if(key == kRvbarnCC1pi ) return "RvbarnCC1pi";
536  //else if(key == kRvbarnCC2pi ) return "RvbarnCC2pi";
537  //else if(key == kRvbarnNC1pi ) return "RvbarnNC1pi";
538  //else if(key == kRvbarnNC2pi ) return "RvbarnNC2pi";
539 
540  // DIS tweaking parameters
541  else if(key == kAhtBY ) return "AhtBY";
542  else if(key == kBhtBY ) return "BhtBY";
543  else if(key == kCV1uBY ) return "CV1uBY";
544  else if(key == kCV2uBY ) return "CV2uBY";
545  //else if(key == kAhtBYshape ) return "AhtBYshape";
546  //else if(key == kBhtBYshape ) return "BhtBYshape";
547  //else if(key == kCV1uBYshape ) return "CV1uBYshape";
548  //else if(key == kCV2uBYshape ) return "CV2uBYshape";
549  else if(key == kNormDISCC ) return "NormDISCC";
550  else if(key == kRnubarnuCC ) return "RnubarnuCC";
551  else if(key == kDISNuclMod ) return "DISNuclMod";
552 
553  //else if(key == kNCGENIE ) return "NC";
554 
555  // Hadronization (free nucleon target)
556  else if(key == kAGKY_xF1pi ) return "AGKY_xF1pi";
557  else if(key == kAGKY_pT1pi ) return "AGKY_pT1pi";
558 
559  // Medium-effects to hadronization
560  else if(key == kFormZone ) return "FormZone";
561 
562  // Intranuclear rescattering parameters.
563  else if(key == kMFP_pi ) return "MFP_pi";
564  else if(key == kMFP_N ) return "MFP_N";
565  else if(key == kFrCEx_pi ) return "FrCEx_pi";
566  else if(key == kFrElas_pi ) return "FrElas_pi";
567  else if(key == kFrInel_pi ) return "FrInel_pi";
568  else if(key == kFrAbs_pi ) return "FrAbs_pi";
569  else if(key == kFrPiProd_pi ) return "FrPiProd_pi";
570  else if(key == kFrCEx_N ) return "FrCEx_N";
571  else if(key == kFrElas_N ) return "FrElas_N";
572  else if(key == kFrInel_N ) return "FrInel_N";
573  else if(key == kFrAbs_N ) return "FrAbs_N";
574  else if(key == kFrPiProd_N ) return "FrPiProd_N";
575 
576  // Nuclear model
577  else if(key == kCCQEPauliSupViaKF ) return "CCQEPauliSupViaKF";
578  else if(key == kCCQEMomDistroFGtoSF) return "CCQEMomDistroFGtoSF";
579 
580  // Resonance decays
581  else if(key == kBR1gamma ) return "BR1gamma";
582  else if(key == kBR1eta ) return "BR1eta";
583  else if(key == kTheta_Delta2Npi ) return "Theta_Delta2Npi";
584 
585  // 2017 RPA shape systematics
586  else if(key == kRPACCQEshapeEnh ) return "RPACCQEshapeEnh";
587  else if(key == kRPACCQEshapeSupp ) return "RPACCQEshapeSupp";
588 
589  return "Unknown";
590  }
static const unsigned char kNu_RecoE
Definition: VarVals.h:36
static const unsigned char kEtaNCEL
Definition: VarVals.h:86
static const unsigned char kNuE_CVN
Definition: VarVals.h:32
static const unsigned char kTheta_Delta2Npi
Definition: VarVals.h:111
static const unsigned char kRnubarnuCC
Definition: VarVals.h:96
static const unsigned char kMaCOHpi
Definition: VarVals.h:89
static const unsigned char kFrElas_N
Definition: VarVals.h:79
static const unsigned char kMinus1Sigma
Definition: VarVals.h:66
static const unsigned char kEmpiricalMEC_Weight
Definition: VarVals.h:60
static const unsigned char kCCQEMomDistroFGtoSF
Definition: VarVals.h:108
static const unsigned char kTrueParentPT
Definition: VarVals.h:48
static const unsigned char kOtherDIS_Weight
Definition: VarVals.h:63
static const unsigned char kFrPiProd_N
Definition: VarVals.h:107
static const unsigned char kNu_RecoE_NuE_Peripheral
Definition: VarVals.h:119
static const unsigned char kMvCCRES
Definition: VarVals.h:73
static const unsigned char kDISvnCC1pi_Weight
Definition: VarVals.h:59
static const unsigned char kMaNCRES
Definition: VarVals.h:72
static const unsigned char kEmpiricalMECtoGENIERES_Weight
Definition: VarVals.h:62
static const unsigned char kFrElas_pi
Definition: VarVals.h:103
static const unsigned char kMvNCRES
Definition: VarVals.h:88
static const unsigned char kVecCCQE_shape
Definition: VarVals.h:87
static const unsigned char kRecoQ2
Definition: VarVals.h:38
static const unsigned char kRPACCQEshapeSupp
Definition: VarVals.h:75
static const unsigned char kXSecCVPPFX_Weight
Definition: VarVals.h:56
static const unsigned char kNu_RecoE_Quantiles_NuMu
Definition: VarVals.h:118
static const unsigned char kTrueHitNuc
Definition: VarVals.h:52
static const unsigned char kBR1gamma
Definition: VarVals.h:109
static const unsigned char kFormZone
Definition: VarVals.h:76
static const unsigned char kFake_Weight
Definition: VarVals.h:39
static const unsigned char kFrAbs_N
Definition: VarVals.h:80
static const unsigned char kTrueParentPDG
Definition: VarVals.h:47
static const unsigned char kMaNCEL
Definition: VarVals.h:85
static const unsigned char kRPARES_Weight
Definition: VarVals.h:58
static const unsigned char kBhtBY
Definition: VarVals.h:92
static const unsigned char kLep_RecoE_UBL
Definition: VarVals.h:115
static const unsigned char kTruePDGOrig
Definition: VarVals.h:46
static const unsigned char kNormDISCC
Definition: VarVals.h:95
static const unsigned char kTrueCCNC
Definition: VarVals.h:44
static const unsigned char kDISNuclMod
Definition: VarVals.h:97
static const unsigned char kAGKY_pT1pi
Definition: VarVals.h:99
static const unsigned char kPlus1Sigma
Definition: VarVals.h:67
static const unsigned char kCV1uBY
Definition: VarVals.h:93
static const unsigned char kLep_RecoE_MCFrac
Definition: VarVals.h:37
static const unsigned char kMaCCQE
Definition: VarVals.h:70
static const unsigned char kNuE_NumMichel
Definition: VarVals.h:33
static const unsigned char kCCQEPauliSupViaKF
Definition: VarVals.h:81
static const unsigned char kTrueIntType
Definition: VarVals.h:45
static const unsigned char kFrAbs_pi
Definition: VarVals.h:104
static const unsigned char kTrueParentDecay
Definition: VarVals.h:50
static const unsigned char kR0COHpi
Definition: VarVals.h:90
static const unsigned char kFrPiProd_pi
Definition: VarVals.h:105
static const unsigned char kTrueParentTargetPDG
Definition: VarVals.h:51
static const unsigned char kFrInel_pi
Definition: VarVals.h:77
static const unsigned char kMFP_N
Definition: VarVals.h:101
static const unsigned char kBR1eta
Definition: VarVals.h:110
static const unsigned char kEmpiricalMECtoGENIEQE_Weight
Definition: VarVals.h:61
static const unsigned char kCV2uBY
Definition: VarVals.h:94
static const unsigned char kRPACCQE_Weight
Definition: VarVals.h:57
static const unsigned char kMFP_pi
Definition: VarVals.h:100
static const unsigned char kMinus2Sigma
Definition: VarVals.h:65
static const unsigned char kTrueE
Definition: VarVals.h:42
static const unsigned char kPlus2Sigma
Definition: VarVals.h:68
static const unsigned char kAhtBY
Definition: VarVals.h:91
static const unsigned char kAGKY_xF1pi
Definition: VarVals.h:98
static const unsigned char kHad_RecoE
Definition: VarVals.h:34
static const unsigned char kTrueIntMode
Definition: VarVals.h:53
static const unsigned char kFrCEx_N
Definition: VarVals.h:78
static const unsigned char kFrCEx_pi
Definition: VarVals.h:102
static const unsigned char kRPACCQEshapeEnh
Definition: VarVals.h:74
static const unsigned char kMaCCRES
Definition: VarVals.h:71
static const unsigned char kLep_RecoE
Definition: VarVals.h:35
static const unsigned char kNu_RecoE_UBL
Definition: VarVals.h:117
static const unsigned char kTrueParentPZ
Definition: VarVals.h:49
static const unsigned char kHad_RecoE_UBL
Definition: VarVals.h:116
static const unsigned char kFrInel_N
Definition: VarVals.h:106
static const unsigned char kTruePDG
Definition: VarVals.h:43
void fnex::MakeGraphs ( TH2F *  in_hist,
std::vector< double >  vContours,
std::vector< std::vector< std::unique_ptr< TGraph > > > &  vGraphVectors 
)

Definition at line 15 of file PlotAssist.cxx.

References MECModelEnuComparisons::i, parse_dependency_file_t::list, LOG_DEBUG, and APDHVSetting::temp.

Referenced by fnex::CAFContourMaker::Make2DContours(), and fnex::ContourMaker::Make2DContours().

18  {
19  in_hist->SetContour(vContours.size(), vContours.data());
20 
21 
22  TCanvas temp_can; // This avoids disturbing canvases already in use.
23  temp_can.cd(); // Yes, we do need a canvas for this to work, and
24 
25  in_hist->Draw("contlist");// yes, we do need to call Update() on it after
26  temp_can.Update(); // Draw(). No, ROOT is not very friendly.
27 
28  TObjArray * plah = (TObjArray *)(gROOT->GetListOfSpecials()->FindObject("contours"));
29  vGraphVectors.resize(vContours.size());
30 
31  if(!plah) return;
32 
33  for(int i = 0; i < plah->GetSize(); ++i){
34  std::vector<std::unique_ptr<TGraph> > temp;
35  TList * list = (TList*) plah->At(i);
36  if(!list) break;
37  if(!(list->First())) break;
38  for(int igraph = 0; igraph < list->GetSize(); ++igraph){
39  if(list->At(igraph)) temp.push_back( std::make_unique<TGraph>( *((TGraph*) list->At(igraph))) );
40  }
41  vGraphVectors[i] = std::move(temp);
42  }
43 
44  LOG_DEBUG("PlotAssist")
45  << "MakeGraphs found : "
46  << plah->GetSize()
47  << " sets of contours";
48 
49  return;
50  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::Event const &  event 
)

Definition at line 27 of file Event.cxx.

References fnex::Event::dataVals, allTimeWatchdog::endl, fnex::Event::eventId, fnex::Event::mcVals, and msf_helper::o.

Referenced by fnex::DataVarVals::DataVarVals(), and fnex::MCVarVals::MCVarVals().

28  {
29  o << "Event Variables are: \n";
30 
31  if(event.dataVals.get() != nullptr) o << *(event.dataVals);
32  if(event.mcVals.get() != nullptr) o << *(event.mcVals );
33  if(event.eventId.get() != nullptr) o << *(event.eventId );
34 
35  o << std::endl;
36 
37  return o;
38  }
std::ostream& fnex::operator<< ( std::ostream &  o,
SpillSummary const &  ss 
)
inline

Definition at line 119 of file Structs.h.

References fnex::SpillSummary::goodPOT, fnex::SpillSummary::liveTime, fnex::SpillSummary::numGoodSpills, msf_helper::o, fnex::SpillSummary::totalNumSpills, and fnex::SpillSummary::totalPOT.

120  {
121  o << "good POT: "
122  << ss.goodPOT
123  << " total POT: "
124  << ss.totalPOT
125  << " live time: "
126  << ss.liveTime
127  << " good spills: "
128  << ss.numGoodSpills
129  << " total spills: "
130  << ss.totalNumSpills;
131 
132  return o;
133  }
Float_t ss
Definition: plot.C:24
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::PointResult const &  pr 
)

Definition at line 152 of file PointResult.cxx.

References fnex::PointResult::ChiSqr(), allTimeWatchdog::endl, novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, msf_helper::o, fnex::PointResult::ParameterSpaceLocation(), cet::pow(), art::right(), std::sin(), and fnex::PointResult::SystematicPulls().

153  {
154  o << "PointResult:" << std::endl
155  << "\tChiSqr = " << std::setw(5) << std::right << pr.ChiSqr() << std::endl;
156 
157  o << "PointResult FD:" << std::endl;
158  for(auto itr : pr.ParameterSpaceLocation(novadaq::cnv::kFARDET) ){
159  if(itr.first=="dCP")
160  o << "\t" << std::setw(20) << itr.first << " " << itr.second << " = " << itr.second/TMath::Pi() << "(pi)" << std::endl;
161  else if(itr.first=="Th23")
162  o << "\t" << std::setw(20) << itr.first << " " << itr.second << ": sin^2(Th23) : " << std::pow(std::sin(itr.second), 2.) << std::endl;
163  else o << "\t" << std::setw(20) << itr.first << " " << itr.second << std::endl;
164  }
165  for(auto itr : pr.SystematicPulls(novadaq::cnv::kFARDET) ){
166  o << "\t" << std::setw(20) << itr.first << " " << itr.second << std::endl;
167  }
168 
169  o << "PointResult ND:" << std::endl;
170  for(auto itr : pr.ParameterSpaceLocation(novadaq::cnv::kNEARDET) ){
171  if(itr.first=="dCP")
172  o << "\t" << std::setw(20) << itr.first << " " << itr.second << " = " << itr.second/TMath::Pi() << "(pi)" << std::endl;
173  else if(itr.first=="Th23")
174  o << "\t" << std::setw(20) << itr.first << " " << itr.second << ": sin^2(Th23) : " << std::pow(std::sin(itr.second), 2.) << std::endl;
175  else o << "\t" << std::setw(20) << itr.first << " " << itr.second << std::endl;
176  }
177  for(auto itr : pr.SystematicPulls(novadaq::cnv::kNEARDET) ){
178  o << "\t" << std::setw(20) << itr.first << " " << itr.second << std::endl;
179  }
180 
181  return o;
182  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr T pow(T x)
Definition: pow.h:75
Far Detector at Ash River, MN.
Near Detector in the NuMI cavern.
T sin(T number)
Definition: d0nt_math.hpp:132
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::MCVarVals const &  mcvv 
)

Definition at line 417 of file VarVals.cxx.

References allTimeWatchdog::endl, kDISvnCC1pi_Weight, kEmpiricalMEC_Weight, kEmpiricalMECtoGENIEQE_Weight, kEmpiricalMECtoGENIERES_Weight, KeyToVarName(), kOtherDIS_Weight, kRPACCQE_Weight, kRPARES_Weight, kTrueCCNC, kTrueE, kTrueHitNuc, kTrueIntMode, kTrueIntType, kTrueParentDecay, kTrueParentPDG, kTrueParentPT, kTrueParentPZ, kTrueParentTargetPDG, kTruePDG, kTruePDGOrig, kXSecCVPPFX_Weight, msf_helper::o, and fnex::MCVarVals::val_at().

418  {
419  o << "Event MC related variables are: "
420  << "\n\t" << fnex::KeyToVarName(fnex::kTrueE) << " " << mcvv.val_at(fnex::kTrueE )
421  << "\n\t" << fnex::KeyToVarName(fnex::kTruePDG) << " " << mcvv.val_at(fnex::kTruePDG )
422  << "\n\t" << fnex::KeyToVarName(fnex::kTrueCCNC) << " " << mcvv.val_at(fnex::kTrueCCNC )
423  << "\n\t" << fnex::KeyToVarName(fnex::kTrueIntType) << " " << mcvv.val_at(fnex::kTrueIntType )
424  << "\n\t" << fnex::KeyToVarName(fnex::kTruePDGOrig) << " " << mcvv.val_at(fnex::kTruePDGOrig )
425  << "\n\t" << fnex::KeyToVarName(fnex::kTrueParentPDG) << " " << mcvv.val_at(fnex::kTrueParentPDG )
426  << "\n\t" << fnex::KeyToVarName(fnex::kTrueParentPT) << " " << mcvv.val_at(fnex::kTrueParentPT )
427  << "\n\t" << fnex::KeyToVarName(fnex::kTrueParentPZ) << " " << mcvv.val_at(fnex::kTrueParentPZ )
428  << "\n\t" << fnex::KeyToVarName(fnex::kTrueParentDecay) << " " << mcvv.val_at(fnex::kTrueParentDecay )
430  << "\n\t" << fnex::KeyToVarName(fnex::kTrueHitNuc) << " " << mcvv.val_at(fnex::kTrueHitNuc )
431  << "\n\t" << fnex::KeyToVarName(fnex::kTrueIntMode) << " " << mcvv.val_at(fnex::kTrueIntMode )
432  << "\n\t" << fnex::KeyToVarName(fnex::kXSecCVPPFX_Weight) << " " << mcvv.val_at(fnex::kXSecCVPPFX_Weight )
433  << "\n\t" << fnex::KeyToVarName(fnex::kRPACCQE_Weight) << " " << mcvv.val_at(fnex::kRPACCQE_Weight )
434  << "\n\t" << fnex::KeyToVarName(fnex::kRPARES_Weight) << " " << mcvv.val_at(fnex::kRPARES_Weight )
435  << "\n\t" << fnex::KeyToVarName(fnex::kDISvnCC1pi_Weight) << " " << mcvv.val_at(fnex::kDISvnCC1pi_Weight )
439  << "\n\t" << fnex::KeyToVarName(fnex::kOtherDIS_Weight) << " " << mcvv.val_at(fnex::kOtherDIS_Weight )
440  << "\n\t and too many GENIE knobs to list"
441  << std::endl;
442 
443  return o;
444  }
static const unsigned char kEmpiricalMEC_Weight
Definition: VarVals.h:60
static const unsigned char kTrueParentPT
Definition: VarVals.h:48
static const unsigned char kOtherDIS_Weight
Definition: VarVals.h:63
static const unsigned char kDISvnCC1pi_Weight
Definition: VarVals.h:59
static const unsigned char kEmpiricalMECtoGENIERES_Weight
Definition: VarVals.h:62
static const unsigned char kXSecCVPPFX_Weight
Definition: VarVals.h:56
static const unsigned char kTrueHitNuc
Definition: VarVals.h:52
static const unsigned char kTrueParentPDG
Definition: VarVals.h:47
static const unsigned char kRPARES_Weight
Definition: VarVals.h:58
static const unsigned char kTruePDGOrig
Definition: VarVals.h:46
static const unsigned char kTrueCCNC
Definition: VarVals.h:44
static const unsigned char kTrueIntType
Definition: VarVals.h:45
static const unsigned char kTrueParentDecay
Definition: VarVals.h:50
static const unsigned char kTrueParentTargetPDG
Definition: VarVals.h:51
static const unsigned char kEmpiricalMECtoGENIEQE_Weight
Definition: VarVals.h:61
static const unsigned char kRPACCQE_Weight
Definition: VarVals.h:57
static const unsigned char kTrueE
Definition: VarVals.h:42
std::string KeyToVarName(unsigned char const &key)
Definition: VarVals.h:445
static const unsigned char kTrueIntMode
Definition: VarVals.h:53
static const unsigned char kTrueParentPZ
Definition: VarVals.h:49
static const unsigned char kTruePDG
Definition: VarVals.h:43
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::EventId const &  evid 
)

Definition at line 479 of file VarVals.cxx.

References fnex::EventId::cycle, fnex::EventId::event, msf_helper::o, fnex::EventId::run, fnex::EventId::slice, and fnex::EventId::subrun.

480  {
481  o << "run "
482  << evid.run
483  << "\tsubrun "
484  << evid.subrun
485  << "\tevent "
486  << evid.event
487  << "\tcycle "
488  << evid.cycle
489  << "\tslice "
490  << evid.slice;
491 
492  return o;
493  }
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::InputPoint const &  ip 
)

Definition at line 500 of file InputPoint.cxx.

References allTimeWatchdog::endl, fnex::InputPoint::FixedParameters(), fnex::InputPoint::FixedSystematics(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, msf_helper::o, fnex::InputPoint::ParameterSpaceLocation(), cet::pow(), std::sin(), and fnex::InputPoint::SystematicPulls().

501  {
502 
503  o << "InputPoint ND:" << std::endl;
504  for(auto itr : ip.ParameterSpaceLocation(novadaq::cnv::kNEARDET) ){
505  if(itr.first=="dCP")
506  o << "\t" << std::setw(20) << itr.first << " " << std::setw(10) << itr.second << " = " << itr.second/TMath::Pi() << "(pi)" << std::endl;
507  else if(itr.first=="Th23")
508  o << "\t" << std::setw(20) << itr.first << " " << std::setw(10) << itr.second << ": sin^2(Th23) : " << std::pow(std::sin(itr.second), 2.) << std::endl;
509  else o << "\t" << std::setw(20) << itr.first << " " << std::setw(10) << itr.second << std::endl;
510  }
511  for(auto itr : ip.SystematicPulls(novadaq::cnv::kNEARDET) ){
512 
513  o << "\t"<< std::setw(10) << itr.first << " " << std::setw(10) << itr.second << std::endl;
514  }
515  o << "Fixed:" << std::endl;
516  for(auto itr: ip.FixedParameters(novadaq::cnv::kNEARDET) )
517  o << "\t"<< std::setw(10) << itr << " " << std::endl;
518  for(auto itr: ip.FixedSystematics(novadaq::cnv::kNEARDET) )
519  o << "\t"<< std::setw(10) << itr << " " << std::endl;
520 
521  o << "\nInputPoint FD:" << std::endl;
522  for(auto itr : ip.ParameterSpaceLocation(novadaq::cnv::kFARDET) ){
523  if(itr.first=="dCP")
524  o << "\t" << std::setw(20) << itr.first << " " << std::setw(10) << itr.second << " = " << itr.second/TMath::Pi() << "(pi)" << std::endl;
525  else if(itr.first=="Th23")
526  o << "\t" << std::setw(20) << itr.first << " " << std::setw(10) << itr.second << ": sin^2(Th23) : " << std::pow(std::sin(itr.second), 2.) << std::endl;
527  else o << "\t"<< std::setw(10) << itr.first << " " << std::setw(10) << itr.second << std::endl;
528  }
529  for(auto itr : ip.SystematicPulls(novadaq::cnv::kFARDET) ){
530  o << "\t"<< std::setw(10) << itr.first
531  << " " << std::setw(10) << itr.second << std::endl;
532  }
533  o << "Fixed:" << std::endl;
534  for(auto itr: ip.FixedParameters(novadaq::cnv::kFARDET) )
535  o << std::setw(10)<< itr << " " << std::endl;
536  for(auto itr: ip.FixedSystematics(novadaq::cnv::kFARDET) )
537  o << std::setw(10)<< itr << " " << std::endl;
538 
539  return o;
540  }
constexpr T pow(T x)
Definition: pow.h:75
TString ip
Definition: loadincs.C:5
Far Detector at Ash River, MN.
Near Detector in the NuMI cavern.
T sin(T number)
Definition: d0nt_math.hpp:132
std::ostream& fnex::operator<< ( std::ostream &  o,
fnex::DataVarVals const &  dvv 
)

Definition at line 728 of file VarVals.cxx.

References allTimeWatchdog::endl, fnex::MetaData::isMC, KeyToVarName(), kFake_Weight, kHad_RecoE, kLep_RecoE, kLep_RecoE_MCFrac, kNu_RecoE, kNuE_CVN, kNuE_NumMichel, kNuESelection, kNuMuSelection, msf_helper::o, fnex::MetaData::selectionType, and fnex::DataVarVals::val_at().

729  {
730  fnex::MetaData numumd;
731  fnex::MetaData nuemd;
732 
733  numumd.isMC = false;
734  nuemd .isMC = false;
737 
738  o << "Event MC related variables are: "
739  << "\n\t" << fnex::KeyToVarName(fnex::kNuE_CVN) << " " << dvv.val_at(fnex::kNuE_CVN, nuemd )
740  << "\n\t" << fnex::KeyToVarName(fnex::kNuE_NumMichel) << " " << dvv.val_at(fnex::kNuE_NumMichel, nuemd )
741  << "\n\t" << fnex::KeyToVarName(fnex::kHad_RecoE) << " " << dvv.val_at(fnex::kHad_RecoE, nuemd )
742  << "\n\t" << fnex::KeyToVarName(fnex::kLep_RecoE) << " " << dvv.val_at(fnex::kLep_RecoE, nuemd )
743  << "\n\t" << fnex::KeyToVarName(fnex::kLep_RecoE_MCFrac) << " " << dvv.val_at(fnex::kLep_RecoE_MCFrac, numumd)
744  << "\n\t" << fnex::KeyToVarName(fnex::kNu_RecoE ) << " nue " << dvv.val_at(fnex::kNu_RecoE, nuemd )
745  << "\n\t" << fnex::KeyToVarName(fnex::kNu_RecoE ) << " numu " << dvv.val_at(fnex::kNu_RecoE, numumd)
746  << "\n\t" << fnex::KeyToVarName(fnex::kFake_Weight) << " " << dvv.val_at(fnex::kFake_Weight, nuemd )
747  << std::endl;
748 
749  return o;
750  }
static const unsigned char kNu_RecoE
Definition: VarVals.h:36
static const unsigned char kNuE_CVN
Definition: VarVals.h:32
static const unsigned char kFake_Weight
Definition: VarVals.h:39
static const unsigned char kLep_RecoE_MCFrac
Definition: VarVals.h:37
static const unsigned char kNuE_NumMichel
Definition: VarVals.h:33
fnex::SelectionType_t selectionType
Definition: Structs.h:52
static const unsigned char kHad_RecoE
Definition: VarVals.h:34
std::string KeyToVarName(unsigned char const &key)
Definition: VarVals.h:445
static const unsigned char kLep_RecoE
Definition: VarVals.h:35
bool fnex::orderByExperimentShortName ( std::unique_ptr< fnex::Experiment a,
std::unique_ptr< fnex::Experiment b 
)

Definition at line 14 of file MultiExperiment.cxx.

15  {
16  // order Numu < nue
17 
18  size_t numuIndxA = a->ShortName().find("Numu");
19  size_t numuIndxB = b->ShortName().find("Numu");
20 
21  // if neither is numu, then they are both nue
22  if(numuIndxA == std::string::npos &&
23  numuIndxB == std::string::npos){
24 
25  std::vector<bool> selAOpts({a->ShortName().find("Low") != std::string::npos,
26  a->ShortName().find("Mid") != std::string::npos,
27  a->ShortName().find("Hig") != std::string::npos,
28  a->ShortName().find("Per") != std::string::npos});
29 
30  std::vector<bool> selBOpts({b->ShortName().find("Low") != std::string::npos,
31  b->ShortName().find("Mid") != std::string::npos,
32  b->ShortName().find("Hig") != std::string::npos,
33  b->ShortName().find("Per") != std::string::npos});
34 
35  // order them as Low --> Mid --> High --> Peripheral
36  if(selAOpts[0]) return true;
37  else if(selAOpts[1]){
38  if(selBOpts[0]) return false;
39  else return true;
40  }
41  else if(selAOpts[2]){
42  if(selBOpts[3]) return true;
43  else return false;
44  }
45  else if(selAOpts[3]) return false;
46  }
47  else if(numuIndxA != std::string::npos &&
48  numuIndxB == std::string::npos) return true;
49  else if(numuIndxA == std::string::npos &&
50  numuIndxB != std::string::npos) return false;
51  // both are numu, order by quantiles
52  else if(numuIndxA != std::string::npos &&
53  numuIndxB != std::string::npos){
54 
55  int aNum = 0;
56  int bNum = 0;
57  size_t numA = a->ShortName().find("Q");
58  size_t numB = b->ShortName().find("Q");
59  if(numA != std::string::npos) aNum = std::atoi(a->ShortName().substr(numA + 1, numA + 1).c_str());
60  if(numB != std::string::npos) bNum = std::atoi(b->ShortName().substr(numB + 1, numB + 1).c_str());
61 
62  return aNum < bNum;
63  }
64 
65  return false;
66  }
const double a
const hit & b
Definition: hits.cxx:21
std::string fnex::ParameterDetToString ( fnex::ParameterDet const &  pd)
inline

Definition at line 429 of file Constants.h.

References novadaq::cnv::kNEARDET.

430 {
431  std::string retStr(pd.first);
432 
433  if (pd.second == novadaq::cnv::kNEARDET) retStr += "ND";
434  else if(pd.second == novadaq::cnv::kNEARDET) retStr += "FD";
435 
436  return retStr;
437 }
Near Detector in the NuMI cavern.
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
bool fnex::prongByLength ( art::Ptr< rb::Prong p1,
art::Ptr< rb::Prong p2 
)

Definition at line 53 of file NuEAnalysisSetup.cxx.

References rb::Prong::TotalLength().

Referenced by fnex::NuEAnalysisSetup::FillVars().

54  {
55  return p1->TotalLength() > p2->TotalLength();
56  }
virtual double TotalLength() const
Distance along prong to reach last cell hit.
Definition: Prong.cxx:186
void fnex::SerializeEventListMap ( std::string const &  dirName,
fnex::EventListMap const &  listMap 
)

Definition at line 176 of file Event.cxx.

References dir, LOG_DEBUG, fetch_tb_beamline_files::md, art::TFileDirectory::mkdir(), SerializeEvents(), ss, and fnex::MetaData::ToString().

Referenced by fnex::CAFToEventList::endJob(), and fnex::EventListMaker::Serialize().

178  {
179 
180  // make a directory in the output file, and the act of making it puts us
181  // into that directory of the file
183  auto dir = tfs->mkdir(dirName.c_str());
184 
187 
188  // first the metadata tree
189  // leave this pointer dangling because the fileService created & manages it
190  TTree *metadataTree = dir.make<TTree>( "metadata", "Event list metadata" );
191  metadataTree->Branch("metadata", &md);
192  metadataTree->Branch("spillsummary", &ss);
193 
194  for(auto itr : listMap){
195 
196  md = itr.first;
197  ss = itr.second.ListSpillSummary();
198 
199  LOG_DEBUG("Event")
200  << "Filling metadata tree for "
201  << md.ToString()
202  << " branch variable "
203  << ss
204  << " map spill summary "
205  << itr.second.ListSpillSummary();
206 
207  metadataTree->Fill();
208 
209  // same principle as above for the event tree
210  TTree *eventTree = dir.make<TTree>(md.ToString().c_str(), "FNEX event records");
211 
212  fnex::SerializeEvents(eventTree,
213  md,
214  itr.second);
215 
216  } // end loop over the lists
217 
218  return;
219  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
void SerializeEvents(TTree *eventTree, fnex::MetaData const &md, std::vector< fnex::EventInfo > const &events)
Definition: Event.cxx:82
TFileDirectory mkdir(std::string const &dir, std::string const &descr="")
Float_t ss
Definition: plot.C:24
std::string const ToString() const
Definition: Structs.cxx:114
TDirectory * dir
Definition: macro.C:5
void fnex::SerializeEvents ( TTree *  eventTree,
fnex::MetaData const &  md,
std::vector< fnex::EventInfo > const &  events 
)

Definition at line 82 of file Event.cxx.

References fnex::DataVars::DataVars(), fnex::MetaData::isMC, kCCQEPauliSupViaKF, findDuplicateFiles::key, KeyToVarName(), kMaCCQE, LOG_DEBUG, fnex::TruthVars::TruthVars(), and fnex::WeightVars::WeightVars().

Referenced by SerializeEventListMap(), SerializeEvents(), and fnex::EventListManipulator::WriteCappedListsAsTrees().

85  {
86 
87  fnex::DataVars dataVars;
88  fnex::TruthVars truthVars;
89  fnex::WeightVars weightVars;
90  std::vector<fnex::GENIEVar> genieVars(fnex::kCCQEPauliSupViaKF);
91  fnex::EventId eventId;
92 
93  std::string eventidst("run/I:subrun/I:event/I:cycle/I:slice/I");
94  std::string datavarst("fNue_CVN/F:fNuE_NumMichel/F:fHad_RecoE/F:fLep_RecoE/F:fLep_RecoE_MCFrac/F:fRecoQ2/F:fFake_Weight/F");
95  std::string weightvst("fXSecCVPPFX_Weight/F:fRPACCQE_Weight/F:fRPARES_Weight/F:fDISvnCC1pi_Weight/F:fEmpiricalMEC_Weight/F:fEmpiricalMECtoGENIEQE_Weight/F:fEmpiricalMECtoGENIERES_Weight/F:fOtherDIS_Weight/F");
96  std::string truthvrst("fTrueE/F:fTruePDG/F:fTrueCCNC/F:fTrueIntType/F:fTruePDGOrig/F:fTrueParentPDG/F:fTrueNucHit/F:fTrueParentPT/F:fTrueParentPZ/F:fTrueParentDecay/F:fTrueParentTargetPDG/F:fTrueIntMode/F");
97  // truthvrst. append("fTrueParentPT/F:fTrueParentPZ/F:fTrueParentDecay/F:fTrueParentTargetPDG/F");
98  std::string genievrst("fMinus2Sigma/F:fMinus1Sigma/F:fPlus1Sigma/F:fPlus2Sigma/F");
99 
100  eventTree->Branch("eventId" , &eventId , eventidst.c_str());
101  eventTree->Branch("dataVars", &dataVars, datavarst.c_str());
102 
103  if(md.isMC){
104  eventTree->Branch("truthVars" , &truthVars , truthvrst.c_str());
105  eventTree->Branch("weightVars", &weightVars, weightvst.c_str());
106 
107  //for(auto key = fnex::kMaNCEL; key < fnex::kOtherGENIE + 1; ++key){
108  //for(auto key = fnex::kMaCCQE; key < fnex::kSumSmallXSecJoint2017 + 1; ++key){
109  for(auto key = fnex::kMaCCQE; key < fnex::kCCQEPauliSupViaKF + 1; ++key){
110  LOG_DEBUG("Event")
111  << "For branch "
113  << ", get genieVars["
114  << key - fnex::kMaCCQE
115  << "]";
116  eventTree->Branch(fnex::KeyToVarName(key).c_str(), &genieVars[key - fnex::kMaCCQE], genievrst.c_str());
117  }
118  } // end if MC
119 
120  for(auto & itr : events){
121  eventId = itr.eventId;
122  dataVars = itr.dataVars.DataVars();
123 
124  if(md.isMC){
125  truthVars = itr.mcVars.TruthVars();
126  weightVars = itr.mcVars.WeightVars();
127 
128  // for(auto key = fnex::kMaNCEL; key < fnex::kOtherGENIE + 1; ++key)
129  //for(auto key = fnex::kMaCCQE; key < fnex::kSumSmallXSecJoint2017 + 1; ++key){
130  for(auto key = fnex::kMaCCQE; key < fnex::kCCQEPauliSupViaKF + 1; ++key){
131  LOG_DEBUG("Event")
132  << "For branch "
134  << ", get genieVars["
135  << key - fnex::kMaCCQE
136  << "]";
137  genieVars[key - fnex::kMaCCQE] = itr.mcVars.GENIEVars().GENIEVarByKey(key);
138  }
139  }
140 
141  eventTree->Fill();
142  }
143 
144  return;
145  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
static const unsigned char kMaCCQE
Definition: VarVals.h:70
static const unsigned char kCCQEPauliSupViaKF
Definition: VarVals.h:81
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
std::string KeyToVarName(unsigned char const &key)
Definition: VarVals.h:445
void events(int which)
Definition: Cana.C:52
void fnex::SerializeEvents ( TTree *  eventTree,
fnex::MetaData const &  md,
fnex::EventList const &  events 
)

Definition at line 148 of file Event.cxx.

References fnex::MetaData::isMC, and SerializeEvents().

151  {
152  // Turn the event list into a vector of EventInfo structs
153  std::vector<fnex::EventInfo> evInfo;
154 
155  for(auto itr : events){
156  if(md.isMC)
157  evInfo.emplace_back(*(itr->eventId),
158  *(itr->dataVals),
159  *(itr->mcVals));
160  else
161  evInfo.emplace_back(*(itr->eventId),
162  *(itr->dataVals));
163 
164  }
165 
166  // call the other version of SerializeEvents that does all the work
167  fnex::SerializeEvents(eventTree,
168  md,
169  evInfo);
170 
171  return;
172  }
void SerializeEvents(TTree *eventTree, fnex::MetaData const &md, std::vector< fnex::EventInfo > const &events)
Definition: Event.cxx:82
void events(int which)
Definition: Cana.C:52
bool fnex::showerByLength ( art::Ptr< rb::Shower s1,
art::Ptr< rb::Shower s2 
)

Definition at line 47 of file NuEAnalysisSetup.cxx.

References rb::Shower::TotalLength().

Referenced by fnex::NuEAnalysisSetup::FillVars().

48  {
49  return s1->TotalLength() > s2->TotalLength();
50  }
virtual double TotalLength() const
Length (cm) of a shower.
Definition: Shower.cxx:43
long fnex::StringToKey ( std::string const &  str)

Definition at line 15 of file Structs.cxx.

References make_cached_def::e2, kBeam, kCosmicMuon, kDataFile, findDuplicateFiles::key, kNC, kNuEBarCC, kNuECC, kNuESelection, kNuESelectionHighPID, kNuESelectionLowPID, kNuESelectionMidPID, kNuESelectionPeripheral, kNuMuBarCC, kNuMuCC, kNuMuSelection, kNuMuSelectionQ1, kNuMuSelectionQ2, kNuMuSelectionQ3, kNuMuSelectionQ4, kNuTauBarCC, kNuTauCC, kSwap, and kTauSwap.

Referenced by fnex::EventListManipulator::reconfigure().

16  {
17  long key = 0;
18 
19  // check for the detector
20  if(str.find("Near") != std::string::npos) key += 1e9;
21  else if(str.find("Far" ) != std::string::npos) key += 2e9;
22 
23  // check the epoch
24  if(str.find("P1") != std::string::npos) key += 1000 * 1e5;
25  else if(str.find("P2") != std::string::npos) key += 2000 * 1e5;
26  else if(str.find("P3") != std::string::npos) key += 3000 * 1e5;
27  else if(str.find("P4") != std::string::npos) key += 4000 * 1e5;
28  else if(str.find("P5") != std::string::npos) key += 5000 * 1e5;
29  else if(str.find("P6") != std::string::npos) key += 6000 * 1e5;
30  else if(str.find("P7") != std::string::npos) key += 7000 * 1e5;
31 
32  // check the file type
33  if(str.find("Beam" ) != std::string::npos) key += (1 + fnex::kBeam ) * 1e4;
34  else if(str.find("TauSwap" ) != std::string::npos) key += (1 + fnex::kTauSwap ) * 1e4;
35  else if(str.find("FluxSwap") != std::string::npos) key += (1 + fnex::kSwap ) * 1e4;
36  else if(str.find("Data" ) != std::string::npos) key += (1 + fnex::kDataFile) * 1e4;
37 
38  // check for a selection
39  if(str.find("NuMuSelQ1" ) != std::string::npos) key += (1 + fnex::kNuMuSelectionQ1 ) * 1e2;
40  else if(str.find("NuMuSelQ2" ) != std::string::npos) key += (1 + fnex::kNuMuSelectionQ2 ) * 1e2;
41  else if(str.find("NuMuSelQ3" ) != std::string::npos) key += (1 + fnex::kNuMuSelectionQ3 ) * 1e2;
42  else if(str.find("NuMuSelQ4" ) != std::string::npos) key += (1 + fnex::kNuMuSelectionQ4 ) * 1e2;
43  else if(str.find("NuMuSel" ) != std::string::npos) key += (1 + fnex::kNuMuSelection ) * 1e2;
44  else if(str.find("NuESel_AllPID" ) != std::string::npos) key += (1 + fnex::kNuESelection ) * 1e2;
45  else if(str.find("NuESel_LowPID" ) != std::string::npos) key += (1 + fnex::kNuESelectionLowPID ) * 1e2;
46  else if(str.find("NuESel_MidPID" ) != std::string::npos) key += (1 + fnex::kNuESelectionMidPID ) * 1e2;
47  else if(str.find("NuESel_HighPID" ) != std::string::npos) key += (1 + fnex::kNuESelectionHighPID ) * 1e2;
48  else if(str.find("NuESel_Peripheral") != std::string::npos) key += (1 + fnex::kNuESelectionPeripheral ) * 1e2;
49 
50 
51  // check for an interaction type
52  if(str.find("NuMuCC" ) != std::string::npos) key += fnex::kNuMuCC;
53  else if(str.find("NuMuBarCC" ) != std::string::npos) key += fnex::kNuMuBarCC;
54  else if(str.find("NuECC" ) != std::string::npos) key += fnex::kNuECC;
55  else if(str.find("NuEBarCC" ) != std::string::npos) key += fnex::kNuEBarCC;
56  else if(str.find("NuTauCC" ) != std::string::npos) key += fnex::kNuTauCC;
57  else if(str.find("NuTauBarCC") != std::string::npos) key += fnex::kNuTauBarCC;
58  else if(str.find("NC" ) != std::string::npos) key += fnex::kNC;
59  else if(str.find("CosmicMuon") != std::string::npos) key += fnex::kCosmicMuon;
60 
61  // check if this is data or MC, multiply by +/- 1 depending on the answer
62  if(str.find("MC") != std::string::npos) key *= 1;
63  else if(str.find("Data") != std::string::npos) key *= -1;
64 
65  return key;
66  }
unsigned char fnex::VarNameToKey ( std::string const &  name)
inline

Definition at line 279 of file VarVals.h.

References LOG_DEBUG.

Referenced by fnex::Spectrum::BaseVals(), fnex::VarBinning::BinInfo(), fnex::MCVarVals::GENIEWgts(), fnex::Spectrum::Histogram(), IsDataVar(), IsMCVar(), fnex::CorrSpec_SimpleExtrap::MakeCorrectedHistograms(), fnex::CorrSpec_SimpleNuMuExtrap::MakeCorrectedHistograms(), fnex::CorrSpec_NoExtrapNuMu::MakeCorrectedHistograms(), fnex::CorrSpec_NoExtrapNuMu::MakeUncorrectedHistograms(), fnex::CorrSpec_SimpleNuMuExtrap::MakeUncorrectedHistograms(), fnex::CorrSpec_SimpleExtrap::MakeUncorrectedHistograms(), fnex::MCVarVals::set_GENIEWgt(), fnex::MCVarVals::set_val_at(), fnex::DataVarVals::set_val_at(), fnex::MCVarVals::SetGENIEVarVal(), fnex::MCVarVals::val_at(), fnex::DataVarVals::val_at(), and fnex::VarBinning::VarBinning().

280  {
281 // if (name.compare("NuE_LID" ) == 0) return kNuE_LID;
282 // else if(name.compare("NuE_LEM" ) == 0) return kNuE_LEM;
283  if(name.compare("NuE_CVN" ) == 0) return kNuE_CVN;
284  else if(name.compare("NuE_NumMichel" ) == 0) return kNuE_NumMichel;
285  else if(name.compare("Had_RecoE" ) == 0) return kHad_RecoE;
286  else if(name.compare("Had_RecoE_UBL" ) == 0) return kHad_RecoE_UBL;
287  else if(name.compare("Lep_RecoE" ) == 0) return kLep_RecoE;
288  else if(name.compare("Lep_RecoE_UBL" ) == 0) return kLep_RecoE_UBL;
289  else if(name.compare("Nu_RecoE" ) == 0) return kNu_RecoE;
290  else if(name.compare("Nu_RecoE_UBL" ) == 0) return kNu_RecoE_UBL;
291  else if(name.compare("Nu_RecoE_Quantiles_NuMu" ) == 0) return kNu_RecoE_Quantiles_NuMu;
292  else if(name.compare("Nu_RecoE_NuE_Peripheral" ) == 0) return kNu_RecoE_NuE_Peripheral;
293  else if(name.compare("Lep_RecoE_MCFrac" ) == 0) return kLep_RecoE_MCFrac;
294  else if(name.compare("Reco_Q2" ) == 0) return kRecoQ2;
295  else if(name.compare("Fake_Weight" ) == 0) return kFake_Weight;
296 
297  else if(name.compare("TrueE" ) == 0) return kTrueE;
298  else if(name.compare("TruePDG" ) == 0) return kTruePDG;
299  else if(name.compare("TrueCCNC" ) == 0) return kTrueCCNC;
300  else if(name.compare("TrueIntType" ) == 0) return kTrueIntType;
301  else if(name.compare("TruePDGOrig" ) == 0) return kTruePDGOrig;
302  else if(name.compare("TrueParentPDG" ) == 0) return kTrueParentPDG;
303  else if(name.compare("TrueParentPT" ) == 0) return kTrueParentPT;
304  else if(name.compare("TrueParentPZ" ) == 0) return kTrueParentPZ;
305  else if(name.compare("TrueParentDecay" ) == 0) return kTrueParentDecay;
306  else if(name.compare("TrueParentTargetPDG") == 0) return kTrueParentTargetPDG;
307  else if(name.compare("TrueHitNuc" ) == 0) return kTrueHitNuc;
308  else if(name.compare("TrueIntMode" ) == 0) return kTrueIntMode;
309 
310  else if(name.compare("XsecCVWgt" ) == 0) return kXSecCVPPFX_Weight;
311  else if(name.compare("RPACCQEWgt" ) == 0) return kRPACCQE_Weight;
312  else if(name.compare("RPARESWgt" ) == 0) return kRPARES_Weight;
313  else if(name.compare("DISvnCC1piWgt" ) == 0) return kDISvnCC1pi_Weight;
314  else if(name.compare("EmpiricalMECWgt" ) == 0) return kEmpiricalMEC_Weight;
315  else if(name.compare("EmpiricalMECtoGENIEQEWgt" ) == 0)
317  else if(name.compare("EmpiricalMECtoGENIERESWgt") == 0)
319  else if(name.compare("OtherDISWgt" ) == 0) return kOtherDIS_Weight;
320 
321  // the next two are for backwards compatibility with files using an
322  // old naming scheme for those variables
323  else if(name.compare("TuftsCC_Weight" ) == 0) return kXSecCVPPFX_Weight;
324  else if(name.compare("RPACCQE_Weight" ) == 0) return kRPACCQE_Weight;
325 
326  else if(name.compare("-2sigma" ) == 0) return kMinus2Sigma;
327  else if(name.compare("-1sigma" ) == 0) return kMinus1Sigma;
328  else if(name.compare("+1sigma" ) == 0) return kPlus1Sigma;
329  else if(name.compare("+2sigma" ) == 0) return kPlus2Sigma;
330 
331  //GENIE knobs
332  //else if( isSumSmallXSecJoint2017Name(name) ) return kSumSmallXSecJoint2017;
333  //else if( isUnusedGENIEName (name) ) return 0;
334 
335  // NC elastic parameters
336  else if(name.compare("MaNCEL" ) == 0) return kMaNCEL;
337  else if(name.compare("EtaNCEL" ) == 0) return kEtaNCEL;
338 
339  // CCQE parameters
340  //else if(name.compare("NormCCQE" ) == 0) return kNormCCQE;
341  //else if(name.compare("NormCCQE_EnuDep" ) == 0) return kNormCCQE_EnuDep;
342  //else if(name.compare("MaCCQE_shape" ) == 0) return kMaCCQE_shape;
343  else if(name.compare("MaCCQE" ) == 0) return kMaCCQE;
344  else if(name.compare("VecCCQE_shape" ) == 0) return kVecCCQE_shape;
345 
346  // Resonant production: CC
347  //else if(name.compare("NormCCRES" ) == 0) return kNormCCRES;
348  //else if(name.compare("MaCCRES_shape" ) == 0) return kMaCCRES_shape;
349  //else if(name.compare("MvCCRES_shape" ) == 0) return kMvCCRES_shape;
350  else if(name.compare("MaCCRES" ) == 0) return kMaCCRES;
351  else if(name.compare("MvCCRES" ) == 0) return kMvCCRES;
352 
353  // Resonant production: NC
354  //else if(name.compare("NormNCRES" ) == 0) return kNormNCRES;
355  //else if(name.compare("MaNCRES_shape" ) == 0) return kMaNCRES_shape;
356  //else if(name.compare("MvNCRES_shape" ) == 0) return kMvNCRES_shape;
357  else if(name.compare("MaNCRES" ) == 0) return kMaNCRES;
358  else if(name.compare("MvNCRES" ) == 0) return kMvNCRES;
359 
360  // Coherent pion production
361  else if(name.compare("MaCOHpi" ) == 0) return kMaCOHpi;
362  else if(name.compare("R0COHpi" ) == 0) return kR0COHpi;
363 
364  // Non-resonant background
365  //else if(name.compare("RvpCC1pi" ) == 0) return kRvpCC1pi;
366  //else if(name.compare("RvpCC2pi" ) == 0) return kRvpCC2pi;
367  //else if(name.compare("RvpNC1pi" ) == 0) return kRvpNC1pi;
368  //else if(name.compare("RvpNC2pi" ) == 0) return kRvpNC2pi;
369  //else if(name.compare("RvnCC1pi" ) == 0) return kRvnCC1pi;
370  //else if(name.compare("RvnCC2pi" ) == 0) return kRvnCC2pi;
371  //else if(name.compare("RvnNC1pi" ) == 0) return kRvnNC1pi;
372  //else if(name.compare("RvnNC2pi" ) == 0) return kRvnNC2pi;
373  //else if(name.compare("RvbarpCC1pi" ) == 0) return kRvbarpCC1pi;
374  //else if(name.compare("RvbarpCC2pi" ) == 0) return kRvbarpCC2pi;
375  //else if(name.compare("RvbarpNC1pi" ) == 0) return kRvbarpNC1pi;
376  //else if(name.compare("RvbarpNC2pi" ) == 0) return kRvbarpNC2pi;
377  //else if(name.compare("RvbarnCC1pi" ) == 0) return kRvbarnCC1pi;
378  //else if(name.compare("RvbarnCC2pi" ) == 0) return kRvbarnCC2pi;
379  //else if(name.compare("RvbarnNC1pi" ) == 0) return kRvbarnNC1pi;
380  //else if(name.compare("RvbarnNC2pi" ) == 0) return kRvbarnNC2pi;
381 
382  // DIS tweaking parameters
383  else if(name.compare("AhtBY" ) == 0) return kAhtBY;
384  else if(name.compare("BhtBY" ) == 0) return kBhtBY;
385  else if(name.compare("CV1uBY" ) == 0) return kCV1uBY;
386  else if(name.compare("CV2uBY" ) == 0) return kCV2uBY;
387  //else if(name.compare("AhtBYshape" ) == 0) return kAhtBYshape;
388  //else if(name.compare("BhtBYshape" ) == 0) return kBhtBYshape;
389  //else if(name.compare("CV1uBYshape" ) == 0) return kCV1uBYshape;
390  //else if(name.compare("CV2uBYshape" ) == 0) return kCV2uBYshape;
391  else if(name.compare("NormDISCC" ) == 0) return kNormDISCC;
392  else if(name.compare("RnubarnuCC" ) == 0) return kRnubarnuCC;
393  else if(name.compare("DISNuclMod" ) == 0) return kDISNuclMod;
394 
395  //else if(name.compare("NC" ) == 0) return kNCGENIE;
396 
397  // Hadronization (free nucleon target)
398  else if(name.compare("AGKY_xF1pi" ) == 0) return kAGKY_xF1pi;
399  else if(name.compare("AGKY_pT1pi" ) == 0) return kAGKY_pT1pi;
400 
401  // Medium-effects to hadronization
402  else if(name.compare("FormZone" ) == 0) return kFormZone;
403 
404  // Intranuclear rescattering parameters.
405  else if(name.compare("MFP_pi" ) == 0) return kMFP_pi;
406  else if(name.compare("MFP_N" ) == 0) return kMFP_N;
407  else if(name.compare("FrCEx_pi" ) == 0) return kFrCEx_pi;
408  else if(name.compare("FrElas_pi" ) == 0) return kFrElas_pi;
409  else if(name.compare("FrInel_pi" ) == 0) return kFrInel_pi;
410  else if(name.compare("FrAbs_pi" ) == 0) return kFrAbs_pi;
411  else if(name.compare("FrPiProd_pi" ) == 0) return kFrPiProd_pi;
412  else if(name.compare("FrCEx_N" ) == 0) return kFrCEx_N;
413  else if(name.compare("FrElas_N" ) == 0) return kFrElas_N;
414  else if(name.compare("FrInel_N" ) == 0) return kFrInel_N;
415  else if(name.compare("FrAbs_N" ) == 0) return kFrAbs_N;
416  else if(name.compare("FrPiProd_N" ) == 0) return kFrPiProd_N;
417 
418  // Nuclear model
419  else if(name.compare("CCQEPauliSupViaKF" ) == 0) return kCCQEPauliSupViaKF;
420  else if(name.compare("CCQEMomDistroFGtoSF") == 0) return kCCQEMomDistroFGtoSF;
421 
422  // Resonance decays
423  else if(name.compare("BR1gamma" ) == 0) return kBR1gamma;
424  else if(name.compare("BR1eta" ) == 0) return kBR1eta;
425  else if(name.compare("Theta_Delta2Npi" ) == 0) return kTheta_Delta2Npi;
426 
427  // 2017 RPA shape systematics
428  else if(name.compare("RPACCQEshapeEnh" ) == 0) return kRPACCQEshapeEnh;
429  else if(name.compare("RPACCQEshapeSupp" ) == 0) return kRPACCQEshapeSupp;
430 
431  // if we passed it the name Unknown intentionally, just return 0
432  else if(name.compare("Unknown" ) == 0) return 0;
433 
434  LOG_DEBUG("VarNameToKey")
435  << "Variable name "
436  << name
437  << " does not correspond to any key, returning 0";
438 
439  return 0;
440  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
const XML_Char * name
Definition: expat.h:151
static const unsigned char kNu_RecoE
Definition: VarVals.h:36
static const unsigned char kEtaNCEL
Definition: VarVals.h:86
static const unsigned char kNuE_CVN
Definition: VarVals.h:32
static const unsigned char kTheta_Delta2Npi
Definition: VarVals.h:111
static const unsigned char kRnubarnuCC
Definition: VarVals.h:96
static const unsigned char kMaCOHpi
Definition: VarVals.h:89
static const unsigned char kFrElas_N
Definition: VarVals.h:79
static const unsigned char kMinus1Sigma
Definition: VarVals.h:66
static const unsigned char kEmpiricalMEC_Weight
Definition: VarVals.h:60
static const unsigned char kCCQEMomDistroFGtoSF
Definition: VarVals.h:108
static const unsigned char kTrueParentPT
Definition: VarVals.h:48
static const unsigned char kOtherDIS_Weight
Definition: VarVals.h:63
static const unsigned char kFrPiProd_N
Definition: VarVals.h:107
static const unsigned char kNu_RecoE_NuE_Peripheral
Definition: VarVals.h:119
static const unsigned char kMvCCRES
Definition: VarVals.h:73
static const unsigned char kDISvnCC1pi_Weight
Definition: VarVals.h:59
static const unsigned char kMaNCRES
Definition: VarVals.h:72
static const unsigned char kEmpiricalMECtoGENIERES_Weight
Definition: VarVals.h:62
static const unsigned char kFrElas_pi
Definition: VarVals.h:103
static const unsigned char kMvNCRES
Definition: VarVals.h:88
static const unsigned char kVecCCQE_shape
Definition: VarVals.h:87
static const unsigned char kRecoQ2
Definition: VarVals.h:38
static const unsigned char kRPACCQEshapeSupp
Definition: VarVals.h:75
static const unsigned char kXSecCVPPFX_Weight
Definition: VarVals.h:56
static const unsigned char kNu_RecoE_Quantiles_NuMu
Definition: VarVals.h:118
static const unsigned char kTrueHitNuc
Definition: VarVals.h:52
static const unsigned char kBR1gamma
Definition: VarVals.h:109
static const unsigned char kFormZone
Definition: VarVals.h:76
static const unsigned char kFake_Weight
Definition: VarVals.h:39
static const unsigned char kFrAbs_N
Definition: VarVals.h:80
static const unsigned char kTrueParentPDG
Definition: VarVals.h:47
static const unsigned char kMaNCEL
Definition: VarVals.h:85
static const unsigned char kRPARES_Weight
Definition: VarVals.h:58
static const unsigned char kBhtBY
Definition: VarVals.h:92
static const unsigned char kLep_RecoE_UBL
Definition: VarVals.h:115
static const unsigned char kTruePDGOrig
Definition: VarVals.h:46
static const unsigned char kNormDISCC
Definition: VarVals.h:95
static const unsigned char kTrueCCNC
Definition: VarVals.h:44
static const unsigned char kDISNuclMod
Definition: VarVals.h:97
static const unsigned char kAGKY_pT1pi
Definition: VarVals.h:99
static const unsigned char kPlus1Sigma
Definition: VarVals.h:67
static const unsigned char kCV1uBY
Definition: VarVals.h:93
static const unsigned char kLep_RecoE_MCFrac
Definition: VarVals.h:37
static const unsigned char kMaCCQE
Definition: VarVals.h:70
static const unsigned char kNuE_NumMichel
Definition: VarVals.h:33
static const unsigned char kCCQEPauliSupViaKF
Definition: VarVals.h:81
static const unsigned char kTrueIntType
Definition: VarVals.h:45
static const unsigned char kFrAbs_pi
Definition: VarVals.h:104
static const unsigned char kTrueParentDecay
Definition: VarVals.h:50
static const unsigned char kR0COHpi
Definition: VarVals.h:90
static const unsigned char kFrPiProd_pi
Definition: VarVals.h:105
static const unsigned char kTrueParentTargetPDG
Definition: VarVals.h:51
static const unsigned char kFrInel_pi
Definition: VarVals.h:77
static const unsigned char kMFP_N
Definition: VarVals.h:101
static const unsigned char kBR1eta
Definition: VarVals.h:110
static const unsigned char kEmpiricalMECtoGENIEQE_Weight
Definition: VarVals.h:61
static const unsigned char kCV2uBY
Definition: VarVals.h:94
static const unsigned char kRPACCQE_Weight
Definition: VarVals.h:57
static const unsigned char kMFP_pi
Definition: VarVals.h:100
static const unsigned char kMinus2Sigma
Definition: VarVals.h:65
static const unsigned char kTrueE
Definition: VarVals.h:42
static const unsigned char kPlus2Sigma
Definition: VarVals.h:68
static const unsigned char kAhtBY
Definition: VarVals.h:91
static const unsigned char kAGKY_xF1pi
Definition: VarVals.h:98
static const unsigned char kHad_RecoE
Definition: VarVals.h:34
static const unsigned char kTrueIntMode
Definition: VarVals.h:53
static const unsigned char kFrCEx_N
Definition: VarVals.h:78
static const unsigned char kFrCEx_pi
Definition: VarVals.h:102
static const unsigned char kRPACCQEshapeEnh
Definition: VarVals.h:74
static const unsigned char kMaCCRES
Definition: VarVals.h:71
static const unsigned char kLep_RecoE
Definition: VarVals.h:35
static const unsigned char kNu_RecoE_UBL
Definition: VarVals.h:117
static const unsigned char kTrueParentPZ
Definition: VarVals.h:49
static const unsigned char kHad_RecoE_UBL
Definition: VarVals.h:116
static const unsigned char kFrInel_N
Definition: VarVals.h:106
static const unsigned char kTruePDG
Definition: VarVals.h:43

Variable Documentation

const std::string fnex::cBeamType_LatexStrings[4]
Initial value:
= { "FHC",
"RHC",
"0HC"
"Unknown Beam" }

Definition at line 81 of file Constants.h.

Referenced by fnex::MetaData::ToStringLatex().

const std::string fnex::cBeamType_Strings[4]
const std::string fnex::cExtrapMode_Strings[9]
Initial value:
={"kExtrapBasic",
"kExtrapMC1to1",
"kExtrapMCRandDist",
"kExtrapMCHalfAndHalf",
"kExtrapMCPoisson",
"kExtrapMCFDBoxed",
"kExtrapNone",
"kExtrapNone_ND",
"NumExtrapTypes"}

Definition at line 173 of file Constants.h.

const double fnex::cFarDetBaseline = 810.0

Definition at line 407 of file Constants.h.

const std::string fnex::cInteractionType_LatexStrings[9]
Initial value:
={"Unknown Interaction",
"#nu_{#mu} CC",
"#bar{#nu}_{#mu} CC",
"#nu_{e} CC",
"#bar{#nu}_{e} CC",
"#nu_{#tau} CC",
"#bar{#nu}_{#tau} CC",
"NC",
"Cosmic Muon"}

Definition at line 140 of file Constants.h.

Referenced by fnex::MetaData::ToStringLatex().

const std::string fnex::cInteractionType_Strings[9]
Initial value:
={"UnknownInteraction",
"NuMuCC",
"NuMuBarCC",
"NuECC",
"NuEBarCC",
"NuTauCC",
"NuTauBarCC",
"NC",
"CosmicMuon"}

Definition at line 150 of file Constants.h.

Referenced by fnex::MetaData::OscType(), fnex::EventListManipulator::reconfigure(), and fnex::MetaData::ToString().

const double fnex::cNearDetBaseline = 0.0

Definition at line 406 of file Constants.h.

const double fnex::cOscParams_Default[kNumOscParams]
Initial value:
= {810.0,
2.84,
7.54E-5,
2.43E-3,
0.588,
0.154,
CLHEP::pi*0.25,
1.39 }
static constexpr double pi
Definition: SystemOfUnits.h:54

Definition at line 215 of file Constants.h.

Referenced by fnex::InputPoint::InputPoint(), and fnex::FakePointResultMaker::writeResults().

const std::string fnex::cOscParams_Strings[kNumOscParams]
const std::string fnex::cOscParams_Strings_Latex[kNumOscParams]
Initial value:
= {"L",
"#rho",
"#Delta m^{2}_{21}",
"#Delta m^{2}_{32}",
"#theta_{12}",
"#theta_{13}",
"#theta_{23}",
"#delta_{CP}"}

Definition at line 205 of file Constants.h.

Referenced by fnex::CorrectedSpectrum::CorrectedSpectrum(), fnex::ContourMaker::Make1DPlot(), fnex::ContourMaker::Make2DContours(), fnex::ContourMaker::Make2DHist(), fnex::StarPlot::MakeStarPlot(), and fnex::ContourMaker::StoreContourGraphs().

const int fnex::cOscType_Colors[20]
Initial value:
= {kGreen + 0, kGreen + 0,
kGreen + 2, kGreen + 2,
kGreen - 8, kGreen - 8,
kMagenta + 0, kMagenta + 0,
kMagenta + 2, kMagenta + 2,
kCyan + 0, kCyan + 0,
kCyan + 2, kCyan + 2,
kGray,
kBlack,
kYellow,
kPink,
kPink + 5,
kPink - 5}

Definition at line 313 of file Constants.h.

Referenced by fnex::CorrectedSpectrum::DrawCounts(), fnex::CorrectedSpectrum::DrawStacks(), and fnex::CorrectedSpectrum::GetStacksCanvasCopy().

const int fnex::cOscType_FillStyles[20]
Initial value:
= {1001, 3001, 1001, 3001, 1001,3001,
1001, 3001, 1001, 3001,
1001, 3001, 1001, 3001,
1001,
1001,
1001,
1001,
0,
0}

Definition at line 327 of file Constants.h.

Referenced by fnex::CorrectedSpectrum::DrawCounts(), fnex::CorrectedSpectrum::DrawStacks(), and fnex::CorrectedSpectrum::GetStacksCanvasCopy().

const std::string fnex::cOscType_LatexStrings[20]
Initial value:
={"MC #nu_{#mu} #rightarrow #nu_{#mu}",
"MC #bar{#nu}_{#mu} #rightarrow #bar{#nu}_{#mu}",
"MC #nu_{#mu} #rightarrow #nu_{e}",
"MC #bar{#nu}_{#mu} #rightarrow #bar{#nu}_{e}",
"MC #nu_{#mu} #rightarrow #nu_{#tau}",
"MC #bar{#nu}_{#mu} #rightarrow #bar{#nu}_{#tau}",
"MC #nu_{e} #rightarrow #nu_{e}",
"MC #bar{#nu}_{e} #rightarrow #bar{#nu}_{e}",
"MC #nu_{e} #rightarrow #nu_{#mu}",
"MC #bar{#nu}_{e} #rightarrow #bar{#nu}_{#mu}",
"MC #nu_{#tau} #rightarrow #nu_{#mu}",
"MC #bar{#nu}_{#tau} #rightarrow #bar{#nu}_{#mu}",
"MC #nu_{#tau} #rightarrow #nu_{e}",
"MC #bar{#nu}_{#tau} #rightarrow #bar{#nu}_{e}",
"MC NC",
"DATA",
"COSMIC",
"bad_osc_type",
"num_osc_types",
"none_set"}

Definition at line 292 of file Constants.h.

Referenced by fnex::CorrectedSpectrum::DrawCounts(), fnex::CorrectedSpectrum::DrawStacks(), and fnex::CorrectedSpectrum::GetStacksCanvasCopy().

const int fnex::cOscType_Markers[20]
Initial value:
= {22, 22, 23, 23, 24, 24,
32, 32, 26, 26,
25, 25, 27, 27,
33,
33,
20,
21,
0,
0}

Definition at line 337 of file Constants.h.

const std::string fnex::cOscType_Strings[20]
Initial value:
= {"mc_mm", "mc_mmbar", "mc_me", "mc_mebar", "mc_mt", "mc_mtbar",
"mc_ee", "mc_eebar", "mc_em", "mc_embar",
"mc_tm", "mc_tmbar", "mc_te", "mc_tebar",
"mc_nc",
"data",
"cosmic",
"bad_osc_type",
"num_osc_types",
"none_set"}

Definition at line 282 of file Constants.h.

Referenced by fnex::CorrectedSpectrum::DrawCounts(), fnex::CorrectedSpectrum::DrawStacks(), and fnex::CorrectedSpectrum::GetStacksCanvasCopy().

const std::string fnex::cSelectionType_LatexStrings[11]
Initial value:
= {"#nu_{#mu} Selection",
"#nu_{e} Selection",
"#nu_{e} Selection - Low PID",
"#nu_{e} Selection - Mid PID",
"#nu_{e} Selection - High PID",
"#nu_{e} Selection - Peripheral",
"#nu_{#mu} Selection - Quantile 1",
"#nu_{#mu} Selection - Quantile 2",
"#nu_{#mu} Selection - Quantile 3",
"#nu_{#mu} Selection - Quantile 4",
"Unknown Selection"}

Definition at line 113 of file Constants.h.

Referenced by fnex::MetaData::ToStringLatex().

const std::string fnex::cSelectionType_Strings[11]
ROOT::Math::Minimizer * fnex::gFFMin

Definition at line 18 of file FitAlg_ROOTFactoryFit.cxx.

std::unique_ptr< std::vector< std::string > > fnex::gFFNames

Definition at line 15 of file FitAlg_ROOTFactoryFit.cxx.

std::unique_ptr< std::vector< double > > fnex::gFFVals
std::unique_ptr<fnex::CovarianceFitHelper> fnex::gFitHelp

Definition at line 82 of file FNEXCovarianceMatrixFitter_plugin.cc.

ParameterConstraints* fnex::gParConstInstance = nullptr
static

Definition at line 12 of file ParameterConstraints.cxx.

Referenced by fnex::ParameterConstraints::Instance().

InputPoint* fnex::gPoint
fnex::MultiExperiment* fnex::gRFFMultiExperiment

Definition at line 17 of file FitAlg_ROOTFactoryFit.cxx.

ShifterAndWeighter* fnex::gShifterAndWeighter = nullptr
static

Definition at line 35 of file ShifterAndWeighter.cxx.

Referenced by fnex::ShifterAndWeighter::Instance().

NuisanceParameters* fnex::gSystSigmaInstance = nullptr
static
SystematicSigmas* fnex::gSystSigmaInstance = nullptr
static

Definition at line 11 of file SystematicSigmas.cxx.

VarBinning* fnex::gVarBinning = nullptr
static

Definition at line 12 of file VarBinning.cxx.

Referenced by fnex::VarBinning::Instance().

const unsigned char fnex::kAGKY_pT1pi = 60
static

Definition at line 99 of file VarVals.h.

const unsigned char fnex::kAGKY_xF1pi = 59
static

Definition at line 98 of file VarVals.h.

const unsigned char fnex::kAhtBY = 52
static

Definition at line 91 of file VarVals.h.

const unsigned char fnex::kBhtBY = 53
static

Definition at line 92 of file VarVals.h.

const unsigned char fnex::kBR1eta = 71
static

Definition at line 110 of file VarVals.h.

const unsigned char fnex::kBR1gamma = 70
static

Definition at line 109 of file VarVals.h.

const unsigned char fnex::kCCQEMomDistroFGtoSF = 69
static

Definition at line 108 of file VarVals.h.

const unsigned char fnex::kCCQEPauliSupViaKF = 44
static
const std::string fnex::kCutTypeStrings[9]
Initial value:
={">",
"<",
">=",
"<=",
"==",
"NONE",
"NUM",
"Bad",
"Unassigned"}

Definition at line 237 of file Constants.h.

const unsigned char fnex::kCV1uBY = 54
static

Definition at line 93 of file VarVals.h.

const unsigned char fnex::kCV2uBY = 55
static

Definition at line 94 of file VarVals.h.

const unsigned char fnex::kDISNuclMod = 58
static

Definition at line 97 of file VarVals.h.

const unsigned char fnex::kDISvnCC1pi_Weight = 24
static
const unsigned char fnex::kEmpiricalMEC_Weight = 25
static
const unsigned char fnex::kEmpiricalMECtoGENIEQE_Weight = 26
static
const unsigned char fnex::kEmpiricalMECtoGENIERES_Weight = 27
static
const unsigned char fnex::kEtaNCEL = 47
static

Definition at line 86 of file VarVals.h.

const unsigned char fnex::kFake_Weight = 8
static
const double fnex::kFCAlpha[2] ={0.68, 0.90}

Definition at line 415 of file Constants.h.

const int fnex::kFCAlphaColors[2] = {4, 2}

Definition at line 416 of file Constants.h.

const std::string fnex::kFCAlphaStrings[2] = {"68% CL","90% CL"}

Definition at line 417 of file Constants.h.

const std::string fnex::kFileTypeStrings[8]
Initial value:
= {"Beam",
"FluxSwap",
"TauSwap",
"Data",
"CosmicBackground",
"num_file_types",
"bad_file_type",
"UnknownFileType"}

Definition at line 386 of file Constants.h.

Referenced by fnex::CovarianceMatrixMaker::beginJob(), fnex::CovarianceFitHelper::Initialize(), fnex::MetaData::OscType(), and fnex::MetaData::ToString().

const std::string fnex::kFileTypeStrings_Latex[8]
Initial value:
= {"Beam",
"Flux Swap",
"#tau Swap",
"Data",
"Cosmic #mu Background",
"num_file_types",
"bad_file_type",
"none_set"}

Definition at line 395 of file Constants.h.

Referenced by fnex::MetaData::ToStringLatex().

const unsigned char fnex::kFormZone = 39
static
const unsigned char fnex::kFrAbs_N = 43
static
const unsigned char fnex::kFrAbs_pi = 65
static

Definition at line 104 of file VarVals.h.

const unsigned char fnex::kFrCEx_N = 41
static
const unsigned char fnex::kFrCEx_pi = 63
static

Definition at line 102 of file VarVals.h.

const unsigned char fnex::kFrElas_N = 42
static
const unsigned char fnex::kFrElas_pi = 64
static

Definition at line 103 of file VarVals.h.

const unsigned char fnex::kFrInel_N = 67
static

Definition at line 106 of file VarVals.h.

const unsigned char fnex::kFrInel_pi = 40
static
const unsigned char fnex::kFrPiProd_N = 68
static

Definition at line 107 of file VarVals.h.

const unsigned char fnex::kFrPiProd_pi = 66
static

Definition at line 105 of file VarVals.h.

const unsigned char fnex::kHad_RecoE = 3
static
const unsigned char fnex::kHad_RecoE_UBL = 74
static

Definition at line 116 of file VarVals.h.

const unsigned char fnex::kLep_RecoE = 4
static
const unsigned char fnex::kLep_RecoE_MCFrac = 6
static
const unsigned char fnex::kLep_RecoE_UBL = 73
static

Definition at line 115 of file VarVals.h.

const unsigned char fnex::kMaCCQE = 33
static
const unsigned char fnex::kMaCCRES = 34
static
const unsigned char fnex::kMaCOHpi = 50
static

Definition at line 89 of file VarVals.h.

const unsigned char fnex::kMaNCEL = 46
static

Definition at line 85 of file VarVals.h.

const unsigned char fnex::kMaNCRES = 35
static
const unsigned char fnex::kMFP_N = 62
static

Definition at line 101 of file VarVals.h.

const unsigned char fnex::kMFP_pi = 61
static

Definition at line 100 of file VarVals.h.

const unsigned char fnex::kMinus1Sigma = 30
static

Definition at line 66 of file VarVals.h.

Referenced by fnex::MCVarVals::SetGENIEVarVal().

const unsigned char fnex::kMinus2Sigma = 29
static
const unsigned char fnex::kMvCCRES = 36
static
const unsigned char fnex::kMvNCRES = 49
static

Definition at line 88 of file VarVals.h.

const unsigned char fnex::kNormDISCC = 56
static

Definition at line 95 of file VarVals.h.

const unsigned char fnex::kNu_RecoE = 5
static
const unsigned char fnex::kNu_RecoE_NuE_Peripheral = 77
static

Definition at line 119 of file VarVals.h.

const unsigned char fnex::kNu_RecoE_Quantiles_NuMu = 76
static

Definition at line 118 of file VarVals.h.

const unsigned char fnex::kNu_RecoE_UBL = 75
static

Definition at line 117 of file VarVals.h.

const unsigned char fnex::kNuE_CVN = 1
static
const unsigned char fnex::kNuE_NumMichel = 2
static
const int fnex::kNumFCAlpha = 2

Definition at line 414 of file Constants.h.

const unsigned char fnex::kOtherDIS_Weight = 28
static
const unsigned char fnex::kPlus1Sigma = 31
static

Definition at line 67 of file VarVals.h.

Referenced by fnex::MCVarVals::SetGENIEVarVal().

const unsigned char fnex::kPlus2Sigma = 32
static

Definition at line 68 of file VarVals.h.

Referenced by fnex::MCVarVals::SetGENIEVarVal().

const unsigned char fnex::kR0COHpi = 51
static

Definition at line 90 of file VarVals.h.

const unsigned char fnex::kRecoQ2 = 7
static
const unsigned char fnex::kRnubarnuCC = 57
static

Definition at line 96 of file VarVals.h.

const unsigned char fnex::kRPACCQE_Weight = 22
static
const unsigned char fnex::kRPACCQEshapeEnh = 37
static
const unsigned char fnex::kRPACCQEshapeSupp = 38
static
const unsigned char fnex::kRPARES_Weight = 23
static
const unsigned char fnex::kSumSmallXSecJoint2017 = 45
static

Definition at line 84 of file VarVals.h.

const unsigned char fnex::kTheta_Delta2Npi = 72
static

Definition at line 111 of file VarVals.h.

const unsigned char fnex::kTrueCCNC = 11
static
const unsigned char fnex::kTrueE = 9
static
const unsigned char fnex::kTrueHitNuc = 19
static
const unsigned char fnex::kTrueIntMode = 20
static
const unsigned char fnex::kTrueIntType = 12
static
const unsigned char fnex::kTrueParentDecay = 17
static
const unsigned char fnex::kTrueParentPDG = 14
static
const unsigned char fnex::kTrueParentPT = 15
static
const unsigned char fnex::kTrueParentPZ = 16
static
const unsigned char fnex::kTrueParentTargetPDG = 18
static
const unsigned char fnex::kTruePDG = 10
static
const unsigned char fnex::kTruePDGOrig = 13
static
const unsigned char fnex::kUnknownVar = 0
static

Definition at line 27 of file VarVals.h.

const unsigned char fnex::kVecCCQE_shape = 48
static

Definition at line 87 of file VarVals.h.

const unsigned char fnex::kXSecCVPPFX_Weight = 21
static