PredictionGeneratorNuX.cxx
Go to the documentation of this file.
2 
11 
12 namespace ana
13 {
14 
16  const HistAxis axis,
17  const HistAxis axisNDNumu,
18  const Cut cutFD,
19  const Cut cutNDNC,
20  const Cut cutNDNumu,
21  const SystShifts shiftDataND,
22  const Var wei
23  ) : fAxis(axis), fAxisNDNumu(axisNDNumu), fCutFD(cutFD), fCutNDNC(cutNDNC),
24  fCutNDNumu(cutNDNumu), fShiftDataND(shiftDataND), fWei(wei) {}
25 
26  std::unique_ptr<IPrediction> SterileGenerator::Generate(
28  const SystShifts& shiftMC
29  ) const {
30  ProportionalDecomp* decompNumu = new ProportionalDecomp(
31  loaders, fAxisNDNumu, fCutNDNumu, shiftMC, fShiftDataND, fWei );
32  ProportionalDecomp* decompNC = new ProportionalDecomp(
33  loaders, fAxis, fCutNDNC, shiftMC, fShiftDataND, fWei );
34  auto extrap = std::make_unique<ModularExtrapSterile>(ModularExtrapSterile::NCDisappearance(
35  loaders, *decompNC, *decompNumu, fAxis, fAxisNDNumu,
36  fCutFD, fCutNDNC, fCutNDNumu, shiftMC, fWei ));
37  return std::make_unique<PredictionSterile>( std::move(extrap) );
38  }
39 
40  std::unique_ptr<IPrediction> SterileGenerator::Generate(
41  Loaders& loaders_nd,
42  Loaders& loaders_fd,
43  const SystShifts& shiftMC
44  ) const {
45  ProportionalDecomp* decompNumu = new ProportionalDecomp(
46  loaders_nd, fAxisNDNumu, fCutNDNumu, shiftMC, fShiftDataND, fWei );
47  ProportionalDecomp* decompNC = new ProportionalDecomp(
48  loaders_nd, fAxis, fCutNDNC, shiftMC, fShiftDataND, fWei );
49  auto extrap = std::make_unique<ModularExtrapSterile>(ModularExtrapSterile::NCDisappearance(
54  *decompNC, *decompNumu, fAxis, fAxisNDNumu,
55  fCutFD, fCutNDNC, fCutNDNumu, shiftMC, fWei));
56  return std::make_unique<PredictionSterile>( std::move(extrap) );
57  }
58 
59  //..........................................................................
61  const HistAxis axis,
62  const Cut cutND,
63  const SystShifts shiftND,
64  const Var wei
65  //const std::string anaLabel
66  ) : fAxis(axis), fCutND(cutND),
67  fShiftND(shiftND), fWei(wei) {}
68 
69  std::unique_ptr<IPrediction> NDPredictionGenerator::Generate(
71  const SystShifts& shiftMC ) const
72  {
74  loaders, fAxis, fCutND, shiftMC, fWei));
75  return std::make_unique<NDPredictionSterile>(extrap);
76  }
77 
78  //............................................................................
80  const HistAxis axis,
81  const Cut cutFD,
82  const SystShifts shiftFD,
83  const Var wei
84  ) : fAxis(axis), fCutFD(cutFD),
85  fShiftFD(shiftFD), fWei(wei) {}
86 
87  std::unique_ptr<IPrediction> FDPredictionGenerator::Generate(
89  const SystShifts& shiftMC ) const
90  {
92  loaders, fAxis, fCutFD, shiftMC, fWei));
93  return std::make_unique<FDPredictionSterile>(extrap);
94  }
95 
96 }
Near Detector underground.
Definition: SREnums.h:10
Far Detector at Ash River.
Definition: SREnums.h:11
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
SterileGenerator(const HistAxis axis, const HistAxis axisNDNumu, const Cut cutFD, const Cut cutNDNC, const Cut cutNDNumu, const SystShifts shiftDataND=kNoShift, const Var wei=kUnweighted)
std::unique_ptr< IPrediction > Generate(Loaders &loaders, const SystShifts &shiftMC=kNoShift) const override
std::unique_ptr< IPrediction > Generate(Loaders &loaders, const SystShifts &shiftMC=kNoShift) const override
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:20
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:23
FDPredictionGenerator(const HistAxis axis, const Cut cutFD, const SystShifts shiftFD=kNoShift, const Var wei=kUnweighted)
static NDExtrap NDExtrap_c(Loaders &loaders, const HistAxis &axis, const Cut &selection, const SystShifts &shiftMC=kNoShift, const Var &weight=kUnweighted)
Definition: NDExtrap.cxx:25
SpectrumLoaderBase & GetLoader(caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap)
Retrieve a specific loader.
Definition: Loaders.cxx:129
Splits Data proportionally according to MC.
std::vector< Loaders * > loaders
Definition: syst_header.h:386
std::unique_ptr< IPrediction > Generate(Loaders &loaders, const SystShifts &shiftMC=kNoShift) const override
static ModularExtrapSterile NCDisappearance(Loaders &loaders, const IDecomp &NCSurvDecomp, const IDecomp &NumuOscDecomp, const HistAxis &axis, const HistAxis &axisNumuND, const Cut &fdcut, const Cut &NCNDcut, const Cut &NumuNDcut, const SystShifts &shiftMC=kNoShift, const Var &weight=kUnweighted)
Creates a NC disappearance extrapolation.
NDPredictionGenerator(const HistAxis axis, const Cut cutND, const SystShifts shiftND=kNoShift, const Var wei=kUnweighted)
static FDExtrap FDExtrap_c(Loaders &loaders, const HistAxis &axis, const Cut &selection, const SystShifts &shiftMC=kNoShift, const Var &weight=kUnweighted)
Definition: FDExtrap.cxx:23