NueFluxExtrap.cxx
Go to the documentation of this file.
2 
3 #include "CAFAna/Core/Loaders.h"
10 
11 namespace ana
12 {
13  //---------------------------------------------------------------------------
14 
16  SpectrumLoaderBase& farMCswap,
17  SpectrumLoaderBase& farMCnonswap,
18  SpectrumLoaderBase& farMCtauswap,
19  const FluxDecomp& nueDecomp,
20  const IDecomp& numuDecomp,
21  const HistAxis& axis,
22  const HistAxis& axisNumuND,
23  const Cut& fdcut,
24  const Cut& nueNDcut,
25  const Cut& numuNDcut,
26  const SystShifts& shiftMC,
27  const Var& weight)
28  : NueRHCExtrap(nearMC,
29  farMCswap,
30  farMCnonswap,
31  farMCtauswap,
32  nueDecomp,
33  numuDecomp,
34  axis,
35  axisNumuND,
36  fdcut,
37  nueNDcut,
38  numuNDcut,
39  shiftMC,
40  weight)
41  {
42  fEEAntiextrap = std::unique_ptr<ModularExtrapComponent>(
43  new FluxReweight(
44  nearMC, axis, fdcut, shiftMC, weight,
45  "ebar -> ebar", "#bar{#nu}_{e} #rightarrow #bar{#nu}_{e}",
46  nueNDcut, nueDecomp, // nue selection in ND
47  farMCnonswap, kIsBeamNue && kIsAntiNu // e->e in FD
48  )
49  );
50 
51  }
52 
53  //---------------------------------------------------------------------------
54 
56  const FluxDecomp& nueDecomp,
57  const IDecomp& numuDecomp,
58  const HistAxis& axis,
59  const HistAxis& axisNumuND,
60  const Cut& fdcut,
61  const Cut& nueNDcut,
62  const Cut& numuNDcut,
63  const SystShifts& shiftMC,
64  const Var& weight)
65  : NueFluxExtrap(loaders.GetLoader(caf::kNEARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap),
66  loaders.GetLoader(caf::kFARDET, Loaders::kMC, ana::kBeam, Loaders::kFluxSwap),
67  loaders.GetLoader(caf::kFARDET, Loaders::kMC, ana::kBeam, Loaders::kNonSwap),
68  loaders.GetLoader(caf::kFARDET, Loaders::kMC, ana::kBeam, Loaders::kTauSwap),
69  nueDecomp,
70  numuDecomp,
71  axis,
72  axisNumuND,
73  fdcut,
74  nueNDcut,
75  numuNDcut,
76  shiftMC,
77  weight)
78  {}
79 
80 }
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var weight
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:20
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:23
const Color_t kMC
const Cut kIsAntiNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return sr->mc.nu[0].pdg< 0;})
Is this truly an antineutrino?
Definition: TruthCuts.h:53
const Cut kIsBeamNue(CCFlavSel(12, 12))
Select CC .
std::unique_ptr< ModularExtrapComponent > fEEAntiextrap
Definition: ModularExtrap.h:91
Base class for the various types of spectrum loader.
Creates a nue-like extrapolation for RHC mode.
Definition: NueRHCExtrap.h:16
std::vector< Loaders * > loaders
Definition: syst_header.h:386
NueFluxExtrap(SpectrumLoaderBase &nearMCLoader, SpectrumLoaderBase &farMCswapLoader, SpectrumLoaderBase &farMCnonswapLoader, SpectrumLoaderBase &farMCtauswapLoader, const FluxDecomp &nueDecomp, const IDecomp &numuDecomp, const HistAxis &axis, const HistAxis &axisNumuND, const Cut &fdcut, const Cut &nueNDcut, const Cut &numuNDcut, const SystShifts &shiftMC=kNoShift, const Var &weight=kUnweighted)
Standard interface to all decomposition techniques.
Definition: IDecomp.h:13
This module creates Common Analysis Files.
Definition: FileReducer.h:10
Extrapolation for flux true space reweight.
Definition: FluxReweight.h:16