Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
ana::TrivialPrediction Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-12-03/CAFAna/xsec_tuning/Ana2020/tuning/MECTuningUtils.h"

Inheritance diagram for ana::TrivialPrediction:
ana::IPrediction

Public Member Functions

 TrivialPrediction (Loaders &loaders, const HistAxis &axis, const Cut &cut, const SystShifts &shift=kNoShift, const Var &wei=kUnweighted)
 
 TrivialPrediction (const Spectrum &spec)
 
Spectrum Predict (osc::IOscCalc *calc) const override
 
Spectrum PredictComponent (osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const override
 
void SaveTo (TDirectory *dir, const std::string &name) const override
 
virtual Spectrum PredictUnoscillated () const
 
virtual Spectrum Predict (osc::IOscCalcStan *calc) const
 
virtual Spectrum PredictSyst (osc::IOscCalc *calc, const SystShifts &syst) const
 
virtual Spectrum PredictSyst (osc::IOscCalcStan *calc, const SystShifts &syst) const
 
virtual Spectrum PredictComponent (osc::IOscCalcStan *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const
 
virtual Spectrum PredictComponentSyst (osc::IOscCalc *calc, const SystShifts &syst, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const
 
virtual Spectrum PredictComponentSyst (osc::IOscCalcStan *calc, const SystShifts &syst, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const
 
virtual OscillatableSpectrum ComponentCC (int from, int to) const
 
virtual Spectrum ComponentNCTotal () const
 
virtual Spectrum ComponentNC () const
 
virtual Spectrum ComponentNCAnti () const
 

Static Public Member Functions

static std::unique_ptr< TrivialPredictionLoadFrom (TDirectory *dir, const std::string &name)
 

Private Attributes

Spectrum fSpec
 

Detailed Description

Definition at line 43 of file MECTuningUtils.h.

Constructor & Destructor Documentation

ana::TrivialPrediction::TrivialPrediction ( Loaders loaders,
const HistAxis axis,
const Cut cut,
const SystShifts shift = kNoShift,
const Var wei = kUnweighted 
)
inline

Definition at line 46 of file MECTuningUtils.h.

Referenced by ana::NDPredGenerator::Generate().

52  axis, cut, shift, wei)
53  {};
Near Detector underground.
Definition: SREnums.h:10
const Cut cut
Definition: exporter_fd.C:30
std::vector< Loaders * > loaders
Definition: syst_header.h:386
ana::TrivialPrediction::TrivialPrediction ( const Spectrum spec)
inline

Definition at line 55 of file MECTuningUtils.h.

References calc, febshutoff_auto::curr, dir, LoadFrom(), Predict(), PredictComponent(), SaveTo(), canMan::sign(), and string.

56  : fSpec(spec)
57  {};

Member Function Documentation

OscillatableSpectrum ana::IPrediction::ComponentCC ( int  from,
int  to 
) const
virtualinherited

Reimplemented in ana::PredictionExtendToPeripheral, ana::PredictionAddRock, ana::PredictionCombinePeriods, ana::PredictionExtrapSum, and ana::PredictionExtrap.

Definition at line 105 of file IPrediction.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::PredictionCombinePeriods::ComponentCC(), ana::PredictionAddRock::ComponentCC(), and ND_DataMC().

106  {
107  std::cout << "WARNING! ComponentCC is unimplemented in IPrediction" << std::endl; abort();
108  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::IPrediction::ComponentNC ( ) const
virtualinherited

Reimplemented in ana::PredictionExtendToPeripheral, ana::PredictionAddRock, ana::PredictionCombinePeriods, ana::PredictionExtrapSum, and ana::PredictionExtrap.

Definition at line 115 of file IPrediction.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::PredictionAddRock::ComponentNC().

116  {
117  std::cout << "WARNING! ComponentNC is unimplemented in IPrediction" << std::endl; abort();
118  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::IPrediction::ComponentNCAnti ( ) const
virtualinherited

Reimplemented in ana::PredictionExtendToPeripheral, ana::PredictionAddRock, ana::PredictionCombinePeriods, ana::PredictionExtrapSum, and ana::PredictionExtrap.

Definition at line 120 of file IPrediction.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::PredictionAddRock::ComponentNCAnti().

121  {
122  std::cout << "WARNING! ComponentNCAnti is unimplemented in IPrediction" << std::endl; abort();
123  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::IPrediction::ComponentNCTotal ( ) const
virtualinherited

Reimplemented in ana::PredictionExtendToPeripheral, ana::PredictionAddRock, ana::PredictionCombinePeriods, ana::PredictionExtrapSum, and ana::PredictionExtrap.

Definition at line 110 of file IPrediction.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::PredictionAddRock::ComponentNCTotal(), and ND_DataMC().

111  {
112  std::cout << "WARNING! ComponentNCTotal is unimplemented in IPrediction" << std::endl; abort();
113  }
OStream cout
Definition: OStream.cxx:6
std::unique_ptr< TrivialPrediction > ana::TrivialPrediction::LoadFrom ( TDirectory *  dir,
const std::string name 
)
static

Definition at line 109 of file MECTuningUtils.h.

References ana::assert(), and ana::Spectrum::LoadFrom().

Referenced by TrivialPrediction().

110  {
111  dir = dir->GetDirectory(name.c_str()); // switch to subdir
112  assert(dir);
113 
114  return std::make_unique<TrivialPrediction>(*Spectrum::LoadFrom(dir, "spec"));
115  }
const XML_Char * name
Definition: expat.h:151
static std::unique_ptr< Spectrum > LoadFrom(TDirectory *dir, const std::string &name)
Definition: Spectrum.cxx:535
TDirectory * dir
Definition: macro.C:5
assert(nhit_max >=nhit_nbins)
Spectrum ana::TrivialPrediction::Predict ( osc::IOscCalc calc) const
overridevirtual

Implements ana::IPrediction.

Definition at line 73 of file MECTuningUtils.h.

References fSpec.

Referenced by TrivialPrediction().

74  {
75  return fSpec;
76  }
Spectrum ana::IPrediction::Predict ( osc::IOscCalcStan calc) const
virtualinherited

Reimplemented in ana::PredictionInterp, ana::PredictionExtendToPeripheral, ana::PredictionNoOsc, ana::PredictionExtrapSum, ana::PredictionExtrap, and ana::PredictionAddRock.

Definition at line 43 of file IPrediction.cxx.

References ana::assert().

44  {
45  assert(0 && "This Prediction hasn't implemented a Stan-aware Predict()!");
46  }
assert(nhit_max >=nhit_nbins)
Spectrum ana::TrivialPrediction::PredictComponent ( osc::IOscCalc calc,
Flavors::Flavors_t  flav,
Current::Current_t  curr,
Sign::Sign_t  sign 
) const
overridevirtual

Implements ana::IPrediction.

Definition at line 77 of file MECTuningUtils.h.

References fSpec, ana::Sign::kBoth, ana::Current::kCC, and ana::Flavors::kNuMuToNuMu.

Referenced by TrivialPrediction().

81  {
82  // basically the whole prediction is regarded as being one component
83  if (flav == Flavors::kNuMuToNuMu && curr == Current::kCC && sign == Sign::kBoth)
84  {
85  return fSpec;
86  }
87  else
88  {
89  auto spec = Spectrum(fSpec);
90  spec.Clear();
91  return std::move(spec);
92  }
93  }
Charged-current interactions.
Definition: IPrediction.h:39
std::vector< float > Spectrum
Definition: Constants.h:610
(&#39; survival&#39;)
Definition: IPrediction.h:19
Both neutrinos and antineutrinos.
Definition: IPrediction.h:52
def sign(x)
Definition: canMan.py:197
Spectrum ana::IPrediction::PredictComponent ( osc::IOscCalcStan calc,
Flavors::Flavors_t  flav,
Current::Current_t  curr,
Sign::Sign_t  sign 
) const
virtualinherited

Reimplemented in ana::PredictionInterp, ana::PredictionNoOsc, ana::PredictionExtendToPeripheral, ana::PredictionExtrapSum, ana::PredictionAddRock, and ana::PredictionExtrap.

Definition at line 70 of file IPrediction.cxx.

References ana::assert().

74  {
75  assert(0 && "This Prediction hasn't implemented a Stan-aware PredictComponent()!");
76  }
assert(nhit_max >=nhit_nbins)
Spectrum ana::IPrediction::PredictComponentSyst ( osc::IOscCalc calc,
const SystShifts syst,
Flavors::Flavors_t  flav,
Current::Current_t  curr,
Sign::Sign_t  sign 
) const
virtualinherited

Reimplemented in ana::PredictionInterp, ana::PredictionCombinePeriods, and ana::PredictionAddRock.

Definition at line 79 of file IPrediction.cxx.

References ana::assert(), ana::SystShifts::IsNominal(), and ana::IPrediction::PredictComponent().

Referenced by ana::PredictionAddRock::_PredictComponentSyst(), ana::CovMxManager::AddSystematic(), ana::GetBFSystBands(), ana::GetSystBands(), PlotSysts(), ana::PredictionCombinePeriods::PredictComponentSyst(), systematics_extrap_comp_from_pred_interp(), systematics_summary_from_pred_interp(), and systematics_table_from_pred_interp().

84  {
85  assert(syst.IsNominal() && "This Prediction doesn't support PredictSyst(). Did you just mean Predict()?");
86 
87  // Default implementation: no treatment of systematics
88  return PredictComponent(calc, flav, curr, sign);
89  }
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const =0
assert(nhit_max >=nhit_nbins)
def sign(x)
Definition: canMan.py:197
Spectrum ana::IPrediction::PredictComponentSyst ( osc::IOscCalcStan calc,
const SystShifts syst,
Flavors::Flavors_t  flav,
Current::Current_t  curr,
Sign::Sign_t  sign 
) const
virtualinherited

Reimplemented in ana::PredictionInterp, and ana::PredictionAddRock.

Definition at line 93 of file IPrediction.cxx.

References ana::assert(), ana::SystShifts::IsNominal(), and ana::IPrediction::PredictComponent().

98  {
99  assert(syst.IsNominal() && "This Prediction doesn't support PredictSyst(). Did you just mean Predict()?");
100 
101  // Default implementation: no treatment of systematics
102  return PredictComponent(calc, flav, curr, sign);
103  }
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const =0
assert(nhit_max >=nhit_nbins)
def sign(x)
Definition: canMan.py:197
Spectrum ana::IPrediction::PredictSyst ( osc::IOscCalc calc,
const SystShifts syst 
) const
virtualinherited

Reimplemented in ana::PredictionInterp, ana::PredictionScaleComp, ana::PredictionCombinePeriods, and ana::PredictionAddRock.

Definition at line 49 of file IPrediction.cxx.

References ana::assert(), ana::SystShifts::IsNominal(), and ana::IPrediction::Predict().

Referenced by BicountEllipse_dCP(), ana::CountingExperiment::ChiSq(), ana::DataMCComparison(), demo_nueNumuSysts(), DrawBins(), DrawPulls(), fill_col(), joint_fit_2017_make_fc_slice(), joint_fit_2017_make_fc_surf(), MakeFakeData(), ana::PlotWithAreaSystErrorBand(), ana::PlotWithSystErrorBand(), ana::PlotWithSystErrorBand_Quant(), ana::SingleSampleExperiment::PredHistIncCosmics(), and ana::PredictionScaleComp::~PredictionScaleComp().

51  {
52  assert(syst.IsNominal() && "This Prediction doesn't support PredictSyst(). Did you just mean Predict()?");
53 
54  // Default implementation: no treatment of systematics
55  return Predict(calc);
56  }
virtual Spectrum Predict(osc::IOscCalc *calc) const =0
assert(nhit_max >=nhit_nbins)
Spectrum ana::IPrediction::PredictSyst ( osc::IOscCalcStan calc,
const SystShifts syst 
) const
virtualinherited

Reimplemented in ana::PredictionInterp, and ana::PredictionAddRock.

Definition at line 59 of file IPrediction.cxx.

References ana::assert(), ana::SystShifts::IsNominal(), and ana::IPrediction::Predict().

61  {
62  assert(syst.IsNominal() && "This Prediction doesn't support PredictSyst(). Did you just mean Predict()?");
63 
64  // Default implementation: no treatment of systematics
65  return Predict(calc);
66  }
virtual Spectrum Predict(osc::IOscCalc *calc) const =0
assert(nhit_max >=nhit_nbins)
Spectrum ana::IPrediction::PredictUnoscillated ( ) const
virtualinherited

Reimplemented in ana::PredictionSterile.

Definition at line 33 of file IPrediction.cxx.

References noosc, and ana::IPrediction::Predict().

Referenced by cc(), demo5(), demo::DrawUpDownRatioCanvas(), efficiency(), efficiencySA(), plot_nd_data_mc(), template_basic(), and test_ana().

34  {
35  // Default implementation
37  return Predict(&noosc);
38  }
Pass neutrinos through unchanged.
Definition: IOscCalc.h:45
virtual Spectrum Predict(osc::IOscCalc *calc) const =0
osc::NoOscillations noosc
Definition: NueSystFuncs.h:44
void ana::TrivialPrediction::SaveTo ( TDirectory *  dir,
const std::string name 
) const
overridevirtual

Reimplemented from ana::IPrediction.

Definition at line 94 of file MECTuningUtils.h.

References dir, fSpec, ana::Spectrum::SaveTo(), and tmp.

Referenced by TrivialPrediction().

95  {
96  TDirectory* tmp = gDirectory;
97 
98  dir = dir->mkdir(name.c_str()); // switch to subdir
99  dir->cd();
100 
101  TObjString("TrivialPrediction").Write("type", TObject::kOverwrite);
102  fSpec.SaveTo(dir, "spec");
103 
104  dir->Write();
105  delete dir;
106 
107  tmp->cd();
108  }
const XML_Char * name
Definition: expat.h:151
Float_t tmp
Definition: plot.C:36
void SaveTo(TDirectory *dir, const std::string &name) const
Definition: Spectrum.cxx:506
TDirectory * dir
Definition: macro.C:5

Member Data Documentation

Spectrum ana::TrivialPrediction::fSpec
private

Definition at line 71 of file MECTuningUtils.h.

Referenced by Predict(), PredictComponent(), and SaveTo().


The documentation for this class was generated from the following file: