Classes | Typedefs | Functions | Variables
syst_header.h File Reference
#include "CAFAna/Core/Loaders.h"
#include "CAFAna/Analysis/Prod4Loaders.h"
#include "CAFAna/Core/SystShifts.h"
#include "CAFAna/Cuts/Cuts.h"
#include "3FlavorAna/Cuts/NueCuts2018.h"
#include "3FlavorAna/Cuts/NumuCuts2018.h"
#include "3FlavorAna/Cuts/QuantileCuts.h"
#include "3FlavorAna/Prediction/PredictionGenerator3Flavor.h"
#include "3FlavorAna/Systs/NueExtrapSysts.h"
#include "CAFAna/Systs/XSecSysts.h"
#include "CAFAna/Systs/XSecSystLists.h"
#include "CAFAna/Systs/BeamSysts.h"
#include "CAFAna/Vars/GenieWeights.h"
#include "3FlavorAna/Vars/HistAxes.h"
#include "CAFAna/Vars/PPFXWeights.h"
#include "3FlavorAna/Systs/EnergySysts.h"
#include "3FlavorAna/Systs/EnergySysts2017.h"
#include "3FlavorAna/Systs/JointAna2017Systs.h"
#include "3FlavorAna/Systs/GeniePCASyst.h"
#include "3FlavorAna/Systs/DummySystStorage.h"
#include "3FlavorAna/Systs/NueAcceptSysts.h"
#include "3FlavorAna/Systs/MichelTaggingSyst.h"
#include <TFile.h>
#include <TString.h>
#include <vector>
#include <iostream>

Go to the source code of this file.

Classes

struct  SystGroupDef
 
class  SystGroupHelper
 

Typedefs

typedef std::map< TString, std::map< TString, SystShifts > > Group
 

Functions

LoadersGetLoaders2018 (const TString option, const TString period="full")
 
void AddSystGroup (Loaders *loader, TString syst_group_name, Group group_shifts, std::vector< SystGroupDef > &syst_group)
 
Group GetCalibUpGroupShifts ()
 
Group GetCalibDownGroupShifts ()
 
Group GetRelCalibUpGroupShifts ()
 
Group GetRelCalibDownGroupShifts ()
 
Group GetCalibShapeGroupShifts ()
 
Group GetLightUpGroupShifts ()
 
Group GetLightDownGroupShifts ()
 
Group GetLightNomGroupShifts ()
 
Group GetCherenkovGroupShifts ()
 
Group GetFluxGroupShifts ()
 
Group GetGeniePCAGroupShifts ()
 
std::vector< const ISyst * > XSecSystListHelper (int minsyst=0, int maxsyst=-1)
 
Group GetXSecAllGroupShifts ()
 
Group GetXSec1GroupShifts ()
 
Group GetXSec2GroupShifts ()
 
Group GetXSec3GroupShifts ()
 
Group GetXSec4GroupShifts ()
 
Group GetXSec5GroupShifts ()
 
Group GetXSec6GroupShifts ()
 
Group GetMuEnergyJointGroupShifts ()
 
Group GetMuEnergyNumuGroupShifts ()
 
Group GetNeutronGroupShifts ()
 
Group GetNueAcceptanceGroupShifts ()
 
Group GetJointSmallGroupShifts ()
 
Group GetNumuSmallGroupShifts ()
 
Group GetNueMichelGroupShifts ()
 
std::vector< CutGetQuantileCuts (std::string f_quantile, const HistAxis axisNumu, const HistAxis axisHadEFrac)
 
void AddNumuExtrapGenerator (std::vector< Cut > HadEFracQuantCuts, const HistAxis axisNumu, const Cut cutNumuFD, const Cut cutNumuND, Var kMCWeight, std::map< TString, IPredictionGenerator * > &gens)
 
void AddNumuNoExtrapGenerator (std::vector< Cut > HadEFracQuantCuts, const HistAxis axisNumu, const Cut cutNumuFD, Var kMCWeight, std::map< TString, IPredictionGenerator * > &gens)
 
void AddNueComboExtrapGenerator (const HistAxis axisNue, const HistAxis axisNumuForNue, const Cut cutNueFD, const Cut cutNueND, const Cut cutNumuForNueND, Var kMCWeight, std::map< TString, IPredictionGenerator * > &gens)
 
void AddNuePropExtrapGenerator (const HistAxis axisNue, const HistAxis axisNumuForNue, const Cut cutNueFD, const Cut cutNueND, const Cut cutNumuForNueND, Var kMCWeight, std::map< TString, IPredictionGenerator * > &gens)
 
void AddNueNoExtrapGenerator (const HistAxis axisNue, const Cut cutNueFD, Var kMCWeight, std::map< TString, IPredictionGenerator * > &gens)
 

Variables

const Cut cutNumuND = kNumuCutND2018
 
const Cut cutNumuFD = kNumuCutFD2018
 
const Cut cutNumuForNueND = kNumuCutND2018
 
const Cut cutNueND = kNue2018NDCVNSsb
 
const Cut cutNueFD = kNue2018FDAllSamples
 
const HistAxis axisNumu = kNumuCCOptimisedAxis
 
const HistAxis axisHadEFrac = kHadEFracAxis
 
const HistAxis axisNue = kNue2018Axis
 
const HistAxis axisNumuForNue = kNumuCCOptimisedAxis
 
Var kMCWeight = kPPFXFluxCVWgt * kXSecCVWgt2018RPAFix
 
std::vector< SystGroupDefsysts
 
std::vector< Loaders * > loaders
 
std::map< TString, IPredictionGenerator * > gens
 

Typedef Documentation

typedef std::map<TString, std::map<TString, SystShifts> > Group

Definition at line 40 of file syst_header.h.

Function Documentation

void AddNueComboExtrapGenerator ( const HistAxis  axisNue,
const HistAxis  axisNumuForNue,
const Cut  cutNueFD,
const Cut  cutNueND,
const Cut  cutNumuForNueND,
Var  kMCWeight,
std::map< TString, IPredictionGenerator * > &  gens 
)

Definition at line 315 of file syst_header.h.

References ana::kNoShift.

322 {
323  gens.insert({"Nue_ComboExtrap",
324  new NueComboExtrapGenerator(axisNue,
325  axisNumuForNue,
326  cutNueFD,
327  cutNueND,
328  cutNumuForNueND,
329  kNoShift, kMCWeight)
330  });
331 
332 }
std::map< TString, IPredictionGenerator * > gens
Definition: syst_header.h:387
const SystShifts kNoShift
Definition: SystShifts.cxx:21
Generates extrapolated Nue predictions using Michel+BEN decomposition.
void AddNueNoExtrapGenerator ( const HistAxis  axisNue,
const Cut  cutNueFD,
Var  kMCWeight,
std::map< TString, IPredictionGenerator * > &  gens 
)

Definition at line 353 of file syst_header.h.

357 {
358  gens.insert({"Nue_NoExtrap",
359  new NoExtrapGenerator(axisNue, cutNueFD, kMCWeight)});
360 
361 }
std::map< TString, IPredictionGenerator * > gens
Definition: syst_header.h:387
Generates FD-only predictions (no extrapolation)
void AddNuePropExtrapGenerator ( const HistAxis  axisNue,
const HistAxis  axisNumuForNue,
const Cut  cutNueFD,
const Cut  cutNueND,
const Cut  cutNumuForNueND,
Var  kMCWeight,
std::map< TString, IPredictionGenerator * > &  gens 
)

Definition at line 334 of file syst_header.h.

References ana::kNoShift.

341 {
342  gens.insert({"Nue_PropExtrap",
343  new NuePropExtrapGenerator(axisNue,
344  axisNumuForNue,
345  cutNueFD,
346  cutNueND,
347  cutNumuForNueND,
348  kNoShift, kMCWeight)
349  });
350 
351 }
std::map< TString, IPredictionGenerator * > gens
Definition: syst_header.h:387
Generates extrapolated Nue predictions using ProportionalDecomp.
const SystShifts kNoShift
Definition: SystShifts.cxx:21
void AddNumuExtrapGenerator ( std::vector< Cut HadEFracQuantCuts,
const HistAxis  axisNumu,
const Cut  cutNumuFD,
const Cut  cutNumuND,
Var  kMCWeight,
std::map< TString, IPredictionGenerator * > &  gens 
)

Definition at line 280 of file syst_header.h.

References MECModelEnuComparisons::i, makeTrainCVSamples::int, and ana::kNoShift.

286 {
287  gens.insert({"Numu_Extrap_Quant0",
288  new NumuExtrapGenerator(axisNumu, cutNumuFD, cutNumuND, kNoShift, kMCWeight)
289  });
290 
291  for(int i = 1; i <= (int)HadEFracQuantCuts.size(); i++)
292  gens.insert({TString("Numu_Extrap_Quant"+std::to_string(i)),
293  new NumuExtrapGenerator(axisNumu,
294  cutNumuFD && HadEFracQuantCuts[i-1],
295  cutNumuND && HadEFracQuantCuts[i-1],
296  kNoShift, kMCWeight)
297  });
298 
299 }
std::map< TString, IPredictionGenerator * > gens
Definition: syst_header.h:387
Generates extrapolated Numu predictions.
const SystShifts kNoShift
Definition: SystShifts.cxx:21
void AddNumuNoExtrapGenerator ( std::vector< Cut HadEFracQuantCuts,
const HistAxis  axisNumu,
const Cut  cutNumuFD,
Var  kMCWeight,
std::map< TString, IPredictionGenerator * > &  gens 
)

Definition at line 301 of file syst_header.h.

References MECModelEnuComparisons::i, and makeTrainCVSamples::int.

306 {
307  gens.insert({"Numu_NoExtrap_Quant0",
308  new NoExtrapGenerator(axisNumu, cutNumuFD, kMCWeight) });
309  for(int i = 1; i <= (int)HadEFracQuantCuts.size(); i++)
310  gens.insert({TString("Numu_NoExtrap_Quant"+std::to_string(i)),
311  new NoExtrapGenerator(axisNumu, cutNumuFD && HadEFracQuantCuts[i-1], kMCWeight) });
312 
313 }
std::map< TString, IPredictionGenerator * > gens
Definition: syst_header.h:387
Generates FD-only predictions (no extrapolation)
void AddSystGroup ( Loaders loader,
TString  syst_group_name,
Group  group_shifts,
std::vector< SystGroupDef > &  syst_group 
)

Definition at line 153 of file syst_header.h.

References demo0::loader.

157 {
158  syst_group.push_back({loader, syst_group_name, group_shifts});
159 }
loader
Definition: demo0.py:10
Group GetCalibDownGroupShifts ( )

Definition at line 197 of file syst_header.h.

References ana::kAnaCalibrationSyst.

197 {return SystGroupHelper({&kAnaCalibrationSyst}, {-1}, true).GetShifts();}
const DummyAnaSyst kAnaCalibrationSyst("Calibration","AbsCalib")
Group GetCalibShapeGroupShifts ( )

Definition at line 200 of file syst_header.h.

References ana::kAnaCalibShapeSyst.

200 {return SystGroupHelper({&kAnaCalibShapeSyst}, {+1}, true).GetShifts();}
const DummyAnaSyst kAnaCalibShapeSyst("CalibShape","CalibShape")
Group GetCalibUpGroupShifts ( )

Definition at line 196 of file syst_header.h.

References ana::kAnaCalibrationSyst.

196 {return SystGroupHelper({&kAnaCalibrationSyst}, {+1}, true).GetShifts();}
const DummyAnaSyst kAnaCalibrationSyst("Calibration","AbsCalib")
Group GetCherenkovGroupShifts ( )

Definition at line 205 of file syst_header.h.

References ana::kAnaCherenkovSyst.

205 {return SystGroupHelper({&kAnaCherenkovSyst}, {+1}, true).GetShifts();}
const DummyAnaSyst kAnaCherenkovSyst("Cherenkov","Cherenkov")
Group GetFluxGroupShifts ( )

Definition at line 208 of file syst_header.h.

References ana::GetFluxPrincipals2018(), SystGroupHelper::GetShifts(), and MECModelEnuComparisons::i.

208  {
209  std::vector<const ISyst*> flux_systs;
210  for(int i = 0; i < 5; i++)
211  flux_systs.push_back(GetFluxPrincipals2018(i));
212  return SystGroupHelper(flux_systs).GetShifts();
213 }
BeamSyst * GetFluxPrincipals2018(int PCIdx)
Definition: BeamSysts.cxx:80
Group GetShifts()
Definition: syst_header.h:171
Group GetGeniePCAGroupShifts ( )

Definition at line 215 of file syst_header.h.

References ana::GetGeniePrincipals2018Small(), SystGroupHelper::GetShifts(), and MECModelEnuComparisons::i.

215  {
216  std::vector<const ISyst*> geniepca_systs;
217  for(int i = 0; i < 5; i++)
218  geniepca_systs.push_back(GetGeniePrincipals2018Small(i));
219  return SystGroupHelper(geniepca_systs).GetShifts();
220 }
GeniePCASyst * GetGeniePrincipals2018Small(int PCIdx)
Group GetShifts()
Definition: syst_header.h:171
Group GetJointSmallGroupShifts ( )

Definition at line 255 of file syst_header.h.

References ana::getAna2018SummedSmallXsecSysts(), and ana::kJointAna2018.

const SummedSyst * getAna2018SummedSmallXsecSysts(const EAnaType2018 ana)
Group GetLightDownGroupShifts ( )

Definition at line 203 of file syst_header.h.

References ana::kAnaLightlevelSyst.

203 {return SystGroupHelper({&kAnaLightlevelSyst}, {-1}, true).GetShifts();}
const DummyAnaSyst kAnaLightlevelSyst("Lightlevel","Lightlevel")
Group GetLightNomGroupShifts ( )

Definition at line 204 of file syst_header.h.

References ana::kAnaLightlevelSyst.

204 {return SystGroupHelper({&kAnaLightlevelSyst}, {0}, true).GetShifts();}
const DummyAnaSyst kAnaLightlevelSyst("Lightlevel","Lightlevel")
Group GetLightUpGroupShifts ( )

Definition at line 202 of file syst_header.h.

References ana::kAnaLightlevelSyst.

202 {return SystGroupHelper({&kAnaLightlevelSyst}, {+1}, true).GetShifts();}
const DummyAnaSyst kAnaLightlevelSyst("Lightlevel","Lightlevel")
Loaders* GetLoaders2018 ( const TString  option,
const TString  period = "full" 
)

Definition at line 49 of file syst_header.h.

References om::cerr, om::cout, ana::Loaders::DisableLoader(), allTimeWatchdog::endl, flux, ana::Loaders::GetLoaderPath(), ana::kBeam, ana::Loaders::kData, caf::kFARDET, ana::Loaders::kFHC, ana::kFullCAF, ana::Loaders::kMC, caf::kNEARDET, ana::Loaders::kNonSwap, ana::kNueConcat, ana::kNumuConcat, ana::Loaders::kRHC, ana::Loaders::kTauSwap, loaders, DCS_db_parser::period, ana::Loaders::SetLoaderPath(), and canMan::sign().

51 {
52  Loaders * loaders = new Loaders();
53 
54  // Define CAF type
55  auto caftype = ana::ECAFType::kFullCAF;
56  if (option.Contains("nue2018_concat")) caftype = ana::ECAFType::kNueConcat;
57  if (option.Contains("numu2018_concat")) caftype = ana::ECAFType::kNumuConcat;
58 
59  // Get flux (FHC or RHC) from option
60  if (!(option.Contains("FHC") || option.Contains("RHC")))
61  {
62  std:: cerr << "Please mention FHC or RHC in option" << std::endl;
63  abort(); // unable to determine if FHC or RHC
64  }
65  auto flux = option.Contains("RHC") ? Loaders::kRHC : Loaders::kFHC;
66 
67  if(option.Contains("CalibUp"))
68  loaders = new Prod4AbsCalibLoaders(caftype, flux, +1,
69  period.Data(), period.Data());
70  else if(option.Contains("CalibDown"))
71  loaders = new Prod4AbsCalibLoaders(caftype, flux, -1,
72  period.Data(), period.Data());
73  else if(option.Contains("CalibShape"))
74  loaders = new Prod4CalibShapeLoaders(caftype, flux,
75  period.Data(), period.Data());
76  else if(option.Contains("Cherenkov"))
77  loaders = new Prod4CherenkovLoaders(caftype, flux,
78  period.Data(), period.Data());
79  else if(option.Contains("LightUp"))
80  loaders = new Prod4LightLevelLoaders(caftype, flux, +1,
81  period.Data(), period.Data());
82  else if(option.Contains("LightDown"))
83  loaders = new Prod4LightLevelLoaders(caftype, flux, -1,
84  period.Data(), period.Data());
85  else if(option.Contains("LightNom")) // FD ONLY
86  {
87  loaders = new Prod4LightLevelLoaders(caftype, flux, 0,
88  period.Data(), period.Data());
89 
90  auto temploaders = new Prod4NomLoaders(caftype, flux,
91  period.Data(), "full");
92  auto nominalNDMC = temploaders->GetLoaderPath(
93  caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap);
94  delete temploaders;
95 
96  std::cout << "LightNom ONLY for FD" << std::endl
97  << " --> adding loader path for standard ND nominal\n\n";
98 
99  loaders->SetLoaderPath(
100  nominalNDMC, caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap);
101 
102  std::cout << "Now: " << loaders->GetLoaderPath(
103  caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap)
104  << std::endl << std::endl;
105  }
106  else if(option.Contains("RelCalib"))
107  {
108  int sign = (option.Contains("Up") ? +1:-1);
109  loaders = new Prod4AbsCalibLoaders(caftype, flux, sign,
110  period.Data(), period.Data());
111  auto temploaders = new Prod4AbsCalibLoaders(
112  caftype, flux, - sign, period.Data(), period.Data());
113  auto oppositeNDMC = temploaders->GetLoaderPath(
114  caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap);
115  delete temploaders;
116 
117  loaders->SetLoaderPath(oppositeNDMC, caf::kNEARDET,
118  Loaders::kData, ana::kBeam, Loaders::kNonSwap);
119 
120  std::cout << "Swapped calibration loader" << oppositeNDMC << std::endl;
121  }
122  else if(option.Contains("Normal"))
123  loaders = new Prod4NomLoaders(caftype, flux,
124  period.Data(), period.Data());
125 
126  // TODO: Do we still need this?
127  if (option.Contains("NoTau"))
128  {
131  }
132  if(option.Contains("FakeData"))
133  {
134  auto temploaders = new Prod4NomLoaders (caftype, flux, period.Data(), "full");
135  auto nominalNDMC = temploaders->GetLoaderPath(
136  caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap);
137  delete temploaders;
138 
139  std::cout << "\n\nSwapping ND Data for fake data \n\n";
140  std::cout << "Before " << loaders->GetLoaderPath(
141  caf::kNEARDET, Loaders::kData, ana::kBeam, Loaders::kNonSwap) << "\n";
142 
143  loaders->SetLoaderPath(
144  nominalNDMC, caf::kNEARDET, Loaders::kData, ana::kBeam, Loaders::kNonSwap);
145 
146  std::cout << "After " << loaders->GetLoaderPath(
147  caf::kNEARDET, Loaders::kData, ana::kBeam, Loaders::kNonSwap)
148  << std::endl << std::endl;
149  }
150  return loaders;
151 }
Near Detector underground.
Definition: SREnums.h:10
Far Detector at Ash River.
Definition: SREnums.h:11
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:23
const Color_t kMC
OStream cerr
Definition: OStream.cxx:7
void DisableLoader(caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap)
Definition: Loaders.cxx:65
Loaders for Cherenkov paths/definitions.
Definition: Prod4Loaders.h:172
Loaders::FluxType flux
Loaders for calibration shape paths/definitions.
Definition: Prod4Loaders.h:196
std::string GetLoaderPath(caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap) const
Definition: Loaders.cxx:89
Loaders for absolute calibration paths/definitions.
Definition: Prod4Loaders.h:119
Loaders for light level paths/definitions.
Definition: Prod4Loaders.h:145
OStream cout
Definition: OStream.cxx:6
std::vector< Loaders * > loaders
Definition: syst_header.h:386
For nominal spectra and reweighting systs (xsec/flux)
Definition: Prod4Loaders.h:96
void SetLoaderPath(const std::string &path, caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap)
Configure loader via wildcard path.
Definition: Loaders.cxx:25
def sign(x)
Definition: canMan.py:197
Group GetMuEnergyJointGroupShifts ( )

Definition at line 241 of file syst_header.h.

References ana::kMuEScaleSyst2017.

241 {return SystGroupHelper({&kMuEScaleSyst2017}).GetShifts();}
const MuEScaleSyst2017 kMuEScaleSyst2017(0.0074, 0.0012)
Group GetMuEnergyNumuGroupShifts ( )

Definition at line 242 of file syst_header.h.

References ana::kDirectHadEScaleSyst2017, ana::kDirectRelHadEScaleSyst2017, and ana::kRelMuEScaleSyst2017.

242  {
244  }).GetShifts();
245 }
const RelMuEScaleSyst2017 kRelMuEScaleSyst2017(0.0045, 10.5)
const DirectHadEScaleSyst2017 kDirectHadEScaleSyst2017(0.05)
const DirectRelHadEScaleSyst2017 kDirectRelHadEScaleSyst2017(0.05)
Group GetNeutronGroupShifts ( )

Definition at line 247 of file syst_header.h.

References ana::kNeutronVisEScalePrimariesSyst2018.

247 {return SystGroupHelper({&kNeutronVisEScalePrimariesSyst2018}).GetShifts();}
const NeutronVisEScaleSyst2018 kNeutronVisEScalePrimariesSyst2018(false)
Group GetNueAcceptanceGroupShifts ( )

Definition at line 249 of file syst_header.h.

References ana::kNueAcceptSystBkg2018FHC, ana::kNueAcceptSystBkg2018RHC, ana::kNueAcceptSystSignalKin2018FHC, and ana::kNueAcceptSystSignalKin2018RHC.

249  {
252  }).GetShifts();
253 }
const NueAcceptSystSignalKin2018RHC kNueAcceptSystSignalKin2018RHC
const NueAcceptSystBkg2018RHC kNueAcceptSystBkg2018RHC
RHC.
const NueAcceptSystSignalKin2018FHC kNueAcceptSystSignalKin2018FHC
const NueAcceptSystBkg2018FHC kNueAcceptSystBkg2018FHC
FHC.
Group GetNueMichelGroupShifts ( )

Definition at line 258 of file syst_header.h.

References ana::kMichelTaggingSyst2018.

258 {return SystGroupHelper({&kMichelTaggingSyst2018}).GetShifts();}
const MichelTaggingSyst2018 kMichelTaggingSyst2018
Group GetNumuSmallGroupShifts ( )

Definition at line 256 of file syst_header.h.

References ana::getAna2018SummedSmallXsecSysts(), and ana::kNumuAna2018.

const SummedSyst * getAna2018SummedSmallXsecSysts(const EAnaType2018 ana)
std::vector<Cut> GetQuantileCuts ( std::string  f_quantile,
const HistAxis  axisNumu,
const HistAxis  axisHadEFrac 
)

Definition at line 261 of file syst_header.h.

References om::cout, allTimeWatchdog::endl, inFile, and ana::QuantileCutsFromTH2().

264 {
265  // TFile* inFile = TFile::Open( pnfs2xrootd(f_quantile).c_str() );
266  TFile* inFile = TFile::Open( f_quantile.c_str() );
267  // Check that the file is valid.
268  if (inFile->IsZombie()) {
269  std::cout << "Problem with file " << f_quantile << std::endl;
270  abort();
271  }
272  TH2 *FDSpec2D = (TH2*)inFile->FindObjectAny("FDSpec2D");
273  const unsigned int nquantiles = 4;
274  std::vector<Cut> HadEFracQuantCuts = QuantileCutsFromTH2( FDSpec2D, axisNumu, axisHadEFrac, nquantiles );
275  return HadEFracQuantCuts;
276 }
ifstream inFile
Definition: AnaPlotMaker.h:34
OStream cout
Definition: OStream.cxx:6
std::vector< Cut > QuantileCutsFromTH2(TH2 *quantileHist, const HistAxis &independentAxis, const HistAxis &quantileAxis, const unsigned int &numQuantiles, const bool verbose)
: Do the same as the QuantileCuts function but taking in the TH2 instead of making it...
Group GetRelCalibDownGroupShifts ( )

Definition at line 199 of file syst_header.h.

References ana::kAnaRelativeCalibSyst.

199 {return SystGroupHelper({&kAnaRelativeCalibSyst}, {-2}, true).GetShifts();}
const DummyAnaSyst kAnaRelativeCalibSyst("RelativeCalib","RelCalib")
Group GetRelCalibUpGroupShifts ( )

Definition at line 198 of file syst_header.h.

References ana::kAnaRelativeCalibSyst.

198 {return SystGroupHelper({&kAnaRelativeCalibSyst}, {+2}, true).GetShifts();}
const DummyAnaSyst kAnaRelativeCalibSyst("RelativeCalib","RelCalib")
Group GetXSec1GroupShifts ( )

Definition at line 233 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

233 {return SystGroupHelper(XSecSystListHelper(0, 14)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSec2GroupShifts ( )

Definition at line 234 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

234 {return SystGroupHelper(XSecSystListHelper(14, 28)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSec3GroupShifts ( )

Definition at line 235 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

235 {return SystGroupHelper(XSecSystListHelper(28, 42)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSec4GroupShifts ( )

Definition at line 236 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

236 {return SystGroupHelper(XSecSystListHelper(42, 56)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSec5GroupShifts ( )

Definition at line 237 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

237 {return SystGroupHelper(XSecSystListHelper(56, 70)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSec6GroupShifts ( )

Definition at line 238 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

238 {return SystGroupHelper(XSecSystListHelper(70, -1)).GetShifts();}
Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
Group GetXSecAllGroupShifts ( )

Definition at line 231 of file syst_header.h.

References SystGroupHelper::GetShifts(), and XSecSystListHelper().

Group GetShifts()
Definition: syst_header.h:171
std::vector< const ISyst * > XSecSystListHelper(int minsyst=0, int maxsyst=-1)
Definition: syst_header.h:222
std::vector<const ISyst*> XSecSystListHelper ( int  minsyst = 0,
int  maxsyst = -1 
)

Definition at line 222 of file syst_header.h.

References ana::getAllXsecSysts_2018_RPAFix(), and ana::kTauScaleSyst.

Referenced by GetXSec1GroupShifts(), GetXSec2GroupShifts(), GetXSec3GroupShifts(), GetXSec4GroupShifts(), GetXSec5GroupShifts(), GetXSec6GroupShifts(), and GetXSecAllGroupShifts().

223 {
224  std::vector<const ISyst*> geniesysts = getAllXsecSysts_2018_RPAFix();
225  geniesysts.push_back(&kTauScaleSyst);
226  int lastsyst = maxsyst;
227  if(maxsyst < 0) lastsyst = geniesysts.size();
228  return std::vector<const ISyst*>(geniesysts.begin() + minsyst, geniesysts.begin() + lastsyst);
229 }
const NuTruthSystComponentScale kTauScaleSyst("NuTauScale","#nu_{#tau} Scale", kIsTau_NT &&!kIsNC_NT, 0.6, NuTruthSystComponentScale::kLinear)
100% uncertainty scale on taus
Definition: Systs.h:176
std::vector< const ISyst * > getAllXsecSysts_2018_RPAFix()

Variable Documentation

const HistAxis axisHadEFrac = kHadEFracAxis

Definition at line 375 of file syst_header.h.

const HistAxis axisNue = kNue2018Axis
const HistAxis axisNumu = kNumuCCOptimisedAxis

Definition at line 374 of file syst_header.h.

const HistAxis axisNumuForNue = kNumuCCOptimisedAxis

Definition at line 379 of file syst_header.h.

const Cut cutNueFD = kNue2018FDAllSamples

Definition at line 370 of file syst_header.h.

const Cut cutNueND = kNue2018NDCVNSsb

Definition at line 369 of file syst_header.h.

const Cut cutNumuFD = kNumuCutFD2018

Definition at line 365 of file syst_header.h.

const Cut cutNumuForNueND = kNumuCutND2018

Definition at line 368 of file syst_header.h.

const Cut cutNumuND = kNumuCutND2018

Definition at line 364 of file syst_header.h.

std::map<TString, IPredictionGenerator*> gens
Var kMCWeight = kPPFXFluxCVWgt * kXSecCVWgt2018RPAFix

Definition at line 382 of file syst_header.h.

Referenced by ppfx_make_systs().

std::vector<Loaders*> loaders

Definition at line 386 of file syst_header.h.

Referenced by FDPredictionHandler::AddLoaders(), PredictionHandler::AddLoaders(), Analyse_Data2DataComp(), Analyse_Data2DataComp_HigherEnergyCuts(), Analyse_Data2DataComp_kNumu2020ND(), BlessedPlotsLoad(), cc(), containment_optimization(), CosmicPred(), CutTableLoad(), datamc(), DataMCLoad(), DataMCNDLoad_nus17(), demo_cut_optimization(), demo_flat(), demo_trivial_xsec_analysis(), demoSysts(), efficiency(), efficiencySA(), EHadVisMECpairs(), FD_plots(), fiducial_optimization(), ana::NumuExtrapGenerator::Generate(), ana::NoExtrapGenerator::Generate(), ana::NuePropExtrapGenerator::Generate(), ana::NuePropExtrapRHCGenerator::Generate(), ana::NueComboExtrapGenerator::Generate(), ana::NueSignalExtrapGenerator::Generate(), ana::NueBkgdComboExtrapGenerator::Generate(), ana::NueBkgdPropExtrapGenerator::Generate(), generate_fd_fake_events(), GenFile(), get_fdmc_spectra(), get_numi_data_histogram(), get_spectra_2dplots(), getCrossSectionAnalysis_Spectra(), getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), GetLoaders2017(), GetLoaders2017FakeData(), GetLoaders2018(), GetLoaders2020(), getPredictions(), getPredictions_updatedAna(), load_files(), make_extrap_figure_hists(), make_nue_xsec_pred(), make_nueFDprediction_kinematics(), make_nueFDprediction_kinematics_FHC(), make_nueFDprediction_kinematics_FHC_pTExtrap(), make_nueFDprediction_kinematics_FHC_REW(), make_nueFDprediction_kinematics_FHC_REW_pTExtrap(), make_nueFDprediction_kinematics_REW(), make_nueFDprediction_kinematics_RHC(), make_nueFDprediction_kinematics_RHC_pTExtrap(), make_nueFDprediction_kinematics_RHC_REW(), make_nueFDprediction_kinematics_RHC_REW_pTExtrap(), make_prediction(), make_prediction_extrap(), make_prediction_noextrap(), make_prediction_rhc(), make_predictions_systs(), make_predictions_systs_fakedata(), make_rockpred(), MakeCovarSim(), MakeNus17PredictionSysts(), MakeNus18CovarSim(), MakeNus18ExtrapPred(), makePIDCutTuning(), MakePPFXRatios(), makePred(), makePrediction(), MakePrediction(), MakePredictionNoOsc_FHC_FD(), MakePredictionNoOsc_FHC_ND(), MakePredictionNoOsc_RHC_FD(), MakePredictionNoOsc_RHC_ND(), MakeSystRatios(), mec_tuning(), mec_tuning_preds_2020(), muonid_opt(), muonid_optimization(), nuCrystalBall(), NueExtrap(), NumuCosmic(), NumuExtrap(), Nus18SystsBeamTranspLoad(), Nus18SystsGENIELoad(), Nus18SystsKaonLoad(), Nus18SystsNeutronLoad(), Nus18SystsPPFXLoad(), Nus18SystsTauLoad(), Nus18SystsXSecOnOffLoad(), ana::PredictionInterp::PredictionInterp(), prod4_pid(), prongcvn_optimization(), resolution2018(), savePrediction_addExpt(), savePrediction_complete(), savePrediction_extrap(), savePrediction_simple(), savePrediction_systs(), ana::SystMaker::SetNominalLoaders(), ana::SystematicsMaker::SetNominalLoaders(), ana::SpectrumHandler::SpectrumHandler(), sterile_demo(), syst_test(), SystsAcceptanceLoad17(), SystsBeamLoad(), SystsBeamTranspLoad17(), SystsDecompLoad(), SystsDecompLoad17(), SystsFidContLoad(), SystsGENIELoad(), SystsGENIELoad17(), SystsMCStatsLoad(), SystsNDRockLoad(), template_GENIE_systs(), template_nonGENIE_systs(), test_ana(), test_micheldecomp(), test_numu_summed_genie_systs(), test_prediction_interp(), test_saloaders(), test_stanfit_statsonly(), TrueNCSpectrum(), TrueSpectrumFromKaons(), uncertainty1png(), uncertainty2png(), vertex_optimize(), wrong_sign_uncertainty(), xsec_extrap_plots(), jw::NDPredGenerator::~NDPredGenerator(), and ana::NDPredGenerator::~NDPredGenerator().

std::vector<SystGroupDef> systs

Definition at line 385 of file syst_header.h.

Referenced by FDPredictionHandler::AddSystematics(), PredictionHandler::AddSystematics(), NDPredictionHandler::AddSystematics(), AnalyzeNus18Systs(), ana::FitInAnaBinsBkgdEstimator::Background(), ana::NumuCC2p2hBkgdEstimator::Background(), CAF_makeCAFSensitivities_for_FNEX(), CalcRWithSysts(), CalcRWithSystsNus17(), check_predinterp(), check_predinterp_numu(), ana::CountingExperimentErrorBarChart(), ana::GenieMultiverseSpectra::CreateUniverse(), ana::GenieMultiverseNormalizedSpectra::CreateUniverse(), demo_nueNumuSysts(), demo_trivial_xsec_analysis(), demoBarChart(), demoFitContours(), demoFitSlices(), demoPlotSystBands(), demoStarPlots(), DrawCovMx(), drawSystsShiftingNDdata(), drawSystsShiftingNDdata_updatedAna(), fake_future_data(), FCContour(), FDDataMCSystBandAna(), FDDataMCSystBandLoad(), cmf::EventListManipulator::FillEventList(), fit_3flavor_withsysts(), GenerateCovMx(), genie_preds_make(), ana::GenieMultiverseParameters::GenieMultiverseParameters(), ana::GenieMultiverseSpectra::GenieMultiverseSpectra(), ana::get3FlavorAna2020SummedSmallXsecSysts(), ana::getAllDirectNumuSysts2017(), ana::getAllDirectNumuSysts2018(), ana::getAllNusSysts(), ana::getAllXsecNuTruthSysts_2018(), ana::getAllXsecNuTruthSysts_2018_RPAFix(), ana::getAllXsecNuTruthSysts_2020(), ana::getAllXsecSysts_2018_RPAFix(), ana::getAna2017SummedSmallXsecSysts(), ana::getAna2018SummedSmallXsecSysts(), getContProf(), getContProf_Sensitivity(), ana::GetGenieKnobSyst(), GetMinChiSqSlc(), ana::GetNus18BaseSysts(), ana::GetNus18FHCFDSysts(), ana::GetNus18FHCNDSysts(), ana::GetNus18RHCExtrapSysts(), ana::GetNus18RHCFDSysts(), ana::GetNus18RHCNDSysts(), ana::GetNus18Systs(), getPredictions(), getPredictions_updatedAna(), getSensitivity(), GetShiftNames2017(), ana::GetShiftNames2018(), GetShifts2017(), ana::GetShifts2018(), ana::GetShifts2020(), getSpectra_ForFitting(), mcmc_ana::GetSystList(), GetSystsFromFile(), goodness_of_fit(), hadEFrac_nd_data_mc_systs(), joint_fit_2017_contours(), joint_fit_2017_make_fc_slice(), joint_fit_2017_make_fc_surf(), joint_fit_2017_slices(), joint_fit_2018_contours(), joint_fit_2018_slices(), joint_fit_2019_bestfit(), joint_fit_2019_contours(), joint_fit_2019_slices(), joint_fit_future_bestfit_univ(), joint_fit_future_contour_univ(), jointsensitivity(), load_libs_muonid(), ana::TrivialCrossSectionAnalysis::LoadFrom(), ana::MCMCSamples::LoadFrom(), LoadISysts(), LoadSystsFromFile(), make_fc_mass_and_oct_nersc_2018(), make_fc_mass_and_oct_nersc_2019(), make_fc_mh_nersc_2018(), make_fc_mh_nersc_2019(), make_fc_nus_surfs_nersc_2018(), make_fc_nus_surfs_nersc_2019(), make_fc_oct_nersc_2018(), make_fc_oct_nersc_2019(), make_fc_slices_nersc_2018(), make_fc_slices_nersc_2018_stats(), make_fc_slices_nersc_2019(), make_fc_surfaces_2020(), make_fc_surfaces_2020_validation(), make_fc_surfaces_nersc_2018(), make_fc_surfaces_nersc_2018_stats(), make_fc_surfaces_nersc_2019(), make_mass_and_oct_fc_input_2019(), make_mockdata_syst_contours(), make_nue_xsec_pred(), make_prediction_extrap(), make_prediction_noextrap(), make_prediction_tables(), make_predictions_systs(), make_quantile_cuts_predictions(), make_starplots(), make_surfprof(), make_surfprof_sensitivity(), MakeCAFSensitivities_for_FNEX(), MakeCovarSim(), MakeCovMx(), MakeExtrapSurface(), MakeFakeData(), MakeFileSystMatrix(), MakeISysts(), ana::SystematicsMaker::MakeISysts(), MakeLegend(), makeMatrixElementSurface(), MakeNumuCovMx(), MakeNus17PredictionSysts(), MakeNus18CovarSim(), MakeNus18ExtrapPred(), MakeNusPredictionSystsAna01(), MakePlot(), MakePlots(), makePred(), MakePrediction(), MakePredictionNoOsc_FHC_FD(), MakePredictionNoOsc_FHC_ND(), MakePredictionNoOsc_RHC_FD(), MakePredictionNoOsc_RHC_ND(), makePredTables(), MakeSystRatios(), MakeSystsPDF(), makeSystTable(), makeSystTable_reduced(), MatrixValidation(), mec_tuning_fitter_2020(), mec_tuning_preds_2020(), ND_DataMC(), ND_DataMC_Comp_Systs(), NDDataMCSystBandAna(), NDDataMCSystBandLoad(), nuebar_signif(), ana::MCMCSamples::Hyperparameters::operator=(), ana::CutOptimization::OptimizedSigmaOverSigma(), pion_multiverse(), Plot1DSlices(), plot_3flavor_withsysts(), plot_datapredictions(), plot_joint_fit_2020_slices(), plot_nue_xsec_pred(), plot_prediction_systs(), plot_predictions(), plot_rationoosc(), plot_recoE_numu(), plot_shifts(), plot_syst_contours(), plotDataPred(), plotDataPred_SplitCanvas(), PlotNus17PredSystsData(), PlotNusSensAna01(), PlotSystShifts(), ana::PlotSystShifts(), Plotting_DataAndPrediction(), ppfx_make_systs(), pred_debug(), pred_err(), ana::PredictionSystNue2017::PredictionSystNue2017(), ana::PredictionSystNumu2017::PredictionSystNumu2017(), run_joint_fit_2020_bestfit(), run_joint_fit_2020_contours(), run_joint_fit_2020_slices(), RunFitter(), ana::MCMCSamples::SampleValue(), saveContours_complete(), savePrediction_complete(), saveSpectraForUnf(), sensitivity2018(), sensitivity2020(), SetEverything(), SetPrediction(), syst_test(), systematics_extrap_comp_from_pred_interp(), systematics_summary_from_pred_interp(), systematics_table_from_pred_interp(), SystsGENIEAna17(), test_numu_summed_genie_systs(), test_numupred2017(), test_predInterp_debug(), test_stanfit_statsonly(), test_stanfit_systpulls(), test_stanfit_withsysts(), test_systmultiverse(), TestCovMxNew(), TestMatrix(), TestPred(), ThrowFakeData(), ana::TrivialCrossSectionAnalysis::TotalErrors(), Tutorial2019Fit(), Tutorial2019FitContours(), Tutorial2019FitSlices(), and ana::covmx::CovarianceMatrix::~CovarianceMatrix().