PredictionAddRock.h
Go to the documentation of this file.
1 #pragma once
2 
4 
6 #include "CAFAna/Core/ISyst.h"
7 
8 namespace ana
9 {
10  class PredictionNoExtrap;
11 
13  {
14  public:
15  /// Takes ownership of \a predCore and \a predNoExtrap
17  PredictionNoExtrap *predRock);
18  virtual ~PredictionAddRock();
19 
20  virtual Spectrum Predict(osc::IOscCalc* calc) const override;
21  virtual Spectrum Predict(osc::IOscCalcStan* calc) const override;
22  virtual Spectrum PredictSyst(osc::IOscCalc* calc,
23  const SystShifts& syst) const override;
25  const SystShifts& syst) const override;
26 
28  Flavors::Flavors_t flav,
30  Sign::Sign_t sign) const override;
32  Flavors::Flavors_t flav,
33  Current::Current_t curr,
34  Sign::Sign_t sign) const override;
36  const SystShifts& syst,
37  Flavors::Flavors_t flav,
38  Current::Current_t curr,
39  Sign::Sign_t sign) const override;
41  const SystShifts& syst,
42  Flavors::Flavors_t flav,
43  Current::Current_t curr,
44  Sign::Sign_t sign) const override;
45 
46  OscillatableSpectrum ComponentCC(int from, int to) const override;
47  //nc
48  Spectrum ComponentNCTotal() const override;
49  Spectrum ComponentNC() const override;
50  Spectrum ComponentNCAnti() const override;
51  //end nc
52 
53  const IPrediction* GetFiducialPred() const { return fPredFid; }
54  const PredictionNoExtrap* GetRockPred() const { return fPredRock; }
55 
56  virtual void SaveTo(TDirectory* dir, const std::string& name) const override;
57  static std::unique_ptr<PredictionAddRock> LoadFrom(TDirectory* dir, const std::string& name);
58 
59  PredictionAddRock() = delete;
60 
61  protected:
62  template <typename T>
64  const SystShifts& syst,
65  Flavors::Flavors_t flav,
66  Current::Current_t curr,
67  Sign::Sign_t sign) const;
68 
69 
70  template <typename T>
72  Flavors::Flavors_t flav,
73  Current::Current_t curr,
74  Sign::Sign_t sign) const;
75 
78 
79  };
80 
81 }
const XML_Char * name
Definition: expat.h:151
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
Spectrum _PredictComponentSyst(osc::_IOscCalc< T > *calc, const SystShifts &syst, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const
Spectrum ComponentNCTotal() const override
virtual Spectrum PredictSyst(osc::IOscCalc *calc, const SystShifts &syst) const override
const IPrediction * GetFiducialPred() const
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:20
Spectrum RockComponent(osc::_IOscCalc< T > *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 override
virtual void SaveTo(TDirectory *dir, const std::string &name) const override
static std::unique_ptr< PredictionAddRock > LoadFrom(TDirectory *dir, const std::string &name)
osc::OscCalcDumb calc
Representation of a spectrum in any variable, with associated POT.
Definition: Spectrum.h:39
Spectrum ComponentNCAnti() const override
OscillatableSpectrum ComponentCC(int from, int to) const override
const PredictionNoExtrap * GetRockPred() const
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const override
PredictionNoExtrap * fPredRock
TDirectory * dir
Definition: macro.C:5
Standard interface to all prediction techniques.
Definition: IPrediction.h:57
Prediction that just uses FD MC, with no extrapolation.
Spectrum with true energy information, allowing it to be oscillated
virtual Spectrum Predict(osc::IOscCalc *calc) const override
Spectrum ComponentNC() const override
def sign(x)
Definition: canMan.py:197
enum BeamMode string