9 #include "CAFAna/Core/Binning.h" 19 #include "CAFAna/Systs/EnergySysts2018.h" 54 mukebins_fine.
NBins()*
58 mukebins_fine.
NBins()*
62 mukebins_fine.
NBins()*
65 mukebins_fine.
NBins()*
85 "True Muon Kinematics",
86 angvsmukevseavailbins_fine,
87 kTrueMuKEVsCosVsEavail_FineST
91 "True Muon Kinematics",
97 "True Neutrino Energy (GeV)",
109 {
"ppfx", wgt_ppfxST},
119 map<string, map<string, Spectrum* > > specmap;
123 map<string, Spectrum*>
specs;
137 TDirectory * predDir = outFile->mkdir(
"geniePrediction");
138 for(pair<
string, map<string, Spectrum* > > weightSpecs : specmap)
140 TDirectory * weightDir = predDir->mkdir(weightSpecs.first.c_str());
141 for(pair<string, Spectrum*> spec : weightSpecs.second)
142 spec.second->SaveTo(weightDir->mkdir(spec.first.c_str()));
void mcTruthPredictions(string filename="mcPredictions.root")
const Binning enubins_fine
const NuTruthCut kIsTrueSigST
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
const NuTruthVar kTrueMuCosthetaST([](const caf::SRNeutrinoProxy *nu){if(abs(nu->pdg)!=14||!nu->iscc) return-5.0;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==13){TVector3 mudir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return mudir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthCut kIsTrueSig1DST
const Binning q2bins_fine
_Var< T > Var2D(const _Var< T > &a, const Binning &binsa, const _Var< T > &b, const Binning &binsb)
Variable formed from two input variables.
const NuTruthVar kTrueMuKEST([](const caf::SRNeutrinoProxy *nu){float ke=-5;if(abs(nu->pdg)!=14||!nu->iscc) return ke;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.T();ke=E-MuonMass();}}return ke;})
const NuTruthVar wgt_xsST
_Var< T > Var3D(const _Var< T > &a, const Binning &binsa, const _Var< T > &b, const Binning &binsb, const _Var< T > &c, const Binning &binsc)
This is just like a Var2D, but useful for 3D Spectra.
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu){return nu->E;})
const NuTruthVar wgt_ppfxST
const NuTruthVar kTrueMuKEVsCos_FineST
const Binning angvsmukevseavailbins_fine
virtual void Go() override
Load all the registered spectra.
map< string, NuTruthVar > weights
const NuTruthVar kXSecCVWgt2018_smallerDISScale_NT
std::vector< float > Spectrum
const SystShifts kNoShift
const NuTruthHistAxis kTrueMuKEVsCos_FineStandardAxisST("True Muon Kinematics", angvsmukebins_fine, kTrueMuKEVsCos_FineST)
Collaborates with Spectrum and OscillatableSpectrum to fill spectra from CAF files.
const NuTruthVar kNuTruthUnweighted
const NuTruthHistAxis kTrueE_FineStandardAxisST("True Neutrino Energy (GeV)", enubins_fine, kTrueEST)
const NuTruthHistAxis kTrueQ2_FineStandardAxisST("True Q2 (GeV)", q2bins_fine, kTrueQ2_NT)
const NuTruthVar kTrueMuKEVsCosVsEavail_FineST
const NuTruthVar kTrueEavailST
Template for Var and SpillVar.
const Binning angbinsCustom
const Binning angvsmukebins_fine
static Binning Simple(int n, double lo, double hi, const std::vector< std::string > &labels={})
const NuTruthHistAxis kTrueMuKEVsCosVsEavail_FineStandardAxisST("True Muon Kinematics", angvsmukevseavailbins_fine, kTrueMuKEVsCosVsEavail_FineST)
const NuTruthVar kPPFXFluxCVWgtST([](const caf::SRNeutrinoProxy *nu){ if(nu->rwgt.ppfx.cv!=nu->rwgt.ppfx.cv){return 1.f;}if(nu->rwgt.ppfx.cv >90){return 1.f;}return float(nu->rwgt.ppfx.cv);})
weight events with the flux PPFX Central value correction.
const NuTruthVar kTrueQ2_NT([](const caf::SRNeutrinoProxy *nu){return nu->q2;})
True square of four-momentum transfer.
const Binning mukebins_fine