All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PredictionSBNExtrap.h
Go to the documentation of this file.
1 #pragma once
2 
4 
6 
8 
9 namespace ana
10 {
11  /// TODO comment
13  {
14  public:
15  PredictionSBNExtrap(Loaders& loadersND,
16  Loaders& loadersFD,
17  const HistAxis& axis,
18  const SpillCut& spillcut,
19  const Cut& cut,
20  const SystShifts& shift_mc = kNoShift,
21  const Var& wei_mc = kUnweighted,
22  const SystShifts& shift_data = kNoShift,
23  const Var& wei_data = kUnweighted);
24  virtual ~PredictionSBNExtrap();
25 
26  virtual Spectrum Predict(osc::IOscCalc* calc) const override;
27 
29  Flavors::Flavors_t flav,
30  Current::Current_t curr,
31  Sign::Sign_t sign) const override;
32 
33  OscillatableSpectrum ComponentCC(int from, int to) const override;
34  // Spectrum ComponentNC() const override;
35 
36  virtual void SaveTo(TDirectory* dir) const override;
37  static std::unique_ptr<PredictionSBNExtrap> LoadFrom(TDirectory* dir);
38 
39  PredictionSBNExtrap() = delete;
40 
41  protected:
43  const PredictionNoExtrap& pf,
44  const Spectrum& d)
45  : fPredND(pn), fPredFD(pf), fDataND(d)
46  {
47  }
48 
51  };
52 
54  {
55  public:
56  SBNExtrapGenerator(Loaders& loaders_nd,
57  const HistAxis& ax,
58  const SpillCut& spillcut,
59  const Cut& cut,
60  const Var& wei_mc,
61  const SystShifts& shift_data = kNoShift,
62  const Var& wei_data = kUnweighted);
63 
64  std::unique_ptr<IPrediction> Generate(Loaders& loaders_fd,
65  const SystShifts& shiftMC = kNoShift) const override;
66 
67  protected:
75  };
76 }
OscillatableSpectrum ComponentCC(int from, int to) const override
PredictionNoExtrap fPredND
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:16
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:12
static std::unique_ptr< PredictionSBNExtrap > LoadFrom(TDirectory *dir)
virtual Spectrum Predict(osc::IOscCalc *calc) const override
process_name opflashCryoW ana
Representation of a spectrum in any variable, with associated POT.
Definition: Spectrum.h:30
PredictionSBNExtrap(const PredictionNoExtrap &pn, const PredictionNoExtrap &pf, const Spectrum &d)
std::unique_ptr< IPrediction > Generate(Loaders &loaders_fd, const SystShifts &shiftMC=kNoShift) const override
PredictionNoExtrap fPredFD
SBNExtrapGenerator(Loaders &loaders_nd, const HistAxis &ax, const SpillCut &spillcut, const Cut &cut, const Var &wei_mc, const SystShifts &shift_data=kNoShift, const Var &wei_data=kUnweighted)
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const override
const SystShifts kNoShift
Definition: SystShifts.h:61
tuple dir
Definition: dropbox.py:28
int sign(double val)
Definition: UtilFunc.cxx:104
const Var kUnweighted([](const caf::SRSliceProxy *){return 1;})
The simplest possible Var, always 1. Used as a default weight.
Standard interface to all prediction techniques.
Definition: IPrediction.h:58
Prediction that just uses one detector&#39;s MC, with no extrapolation.
Given loaders and an MC shift, Generate() generates an IPrediction.
Spectrum with true energy information, allowing it to be oscillated
virtual void SaveTo(TDirectory *dir) const override