34 const GTruth* ptr =
nullptr;
64 return fGIndex->at(index) != -1;
67 std::cout <<
"ERROR: StructuredGenTree::IsGenie -> " 68 <<
" sizeof(GIndex) != sizeof(FSParticles)" 78 return fGTruth->at(igen).fGint == 2;
88 return fGTruth->at(igen).fVertexRegion;
98 return fGTruth->at(igen).fProbePDG;
108 return &(
fGTruth->at(igen).fProbeP4);
118 return &(
fGTruth->at(igen).fVertex);
232 if(igen < fFSParticles->
size())
235 std::cout <<
"ERROR: StructuredGenTree -> " 236 <<
"passed index to FSParticle is out of range (" 238 <<
" Returning first element." const Float_t FSTotEnergy(const UInt_t &igen) const override
const GTruth * GetGTruth(const UInt_t &igen) const
const TLorentzVector * FSLeptonP4(const UInt_t &igen) const override
final state primary lepton 4-momentum (LAB frame)
const Bool_t CheckFSRange(const UInt_t &igen) const
const Float_t FSPDG(const UInt_t &igen, const UInt_t &ifsp) const override
const TLorentzVector * HitNucP4(const UInt_t &igen) const override
hit nucleon (initial) 4-momentum
int fNumPiMinus
number of pi minuses after reaction, before FSI
const int NumNuPiPlus(const UInt_t &igen) const override
number of pi pluses after reaction, before FSI
const int InteractCode(const UInt_t &igen) const override
GENIE interaction code.
int fNumProton
number of protons after reaction, before FSI
const double W(const UInt_t &igen) const override
TTree * fTreeIn
pointer to the analyzed TTree or TChain
int fGscatter
neutrino scattering code
const TLorentzVector * NuVertex(const UInt_t &igen) override
4-position of neutrino vertex
TLorentzVector fFSleptonP4
generated final state primary lepton (LAB frame) // added version 13
int fNumNeutron
number of neutrons after reaction, before FSI
const int NumNuPi0(const UInt_t &igen) const override
number of pi0 after reaction, before FSI
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
const Int_t FSTrackId(const UInt_t &igen, const UInt_t &ifsp) const override
const Int_t NuPDG(const UInt_t &igen) const override
neutrino PDG code
const TLorentzVector * NuP(const UInt_t &igen) override
initial neutrino 4-momentum
const vector< FSParticle > * GetParticles(const UInt_t &igen) const
const int TgtZ(const UInt_t &igen) const override
target Z
const double X(const UInt_t &igen) const override
const double q2(const UInt_t &igen) const override
int ftgtPDG
PDG of Target Nucleus, nucleon only if free.
int fNumPi0
number of pi0 after reaction, before FSI
const double Y(const UInt_t &igen) const override
const int TgtA(const UInt_t &igen) const override
target A
const int NumNuPiMinus(const UInt_t &igen) const override
number of pi minuses after reaction, before FSI
const double Q2(const UInt_t &igen) const override
vector< vector< FSParticle > > * fFSParticles
const Bool_t IsGenie(const UInt_t &igen) const override
const int NumNuProton(const UInt_t &igen) const override
number of protons after reaction, before FSI
const TLorentzVector * FSHadSystP4(const UInt_t &igen) const override
final state hadronic system 4-momentum(LAB frame)
const double T(const UInt_t &igen) const override
const int NuRegion(const UInt_t &igen) const override
region code where the vertex is located
const Bool_t IsCC(const UInt_t &igen) const override
whether interaction is CC or not
const TLorentzVector * TgtP4(const UInt_t &igen) const override
target 4-momentum
const int NumNuNeutron(const UInt_t &igen) const override
number of neutrons after reaction, before FSI
void SetupRead(TTree *tree)
int fNumPiPlus
number of pi pluses after reaction, before FSI
const int ScatterCode(const UInt_t &igen) const override
GENIE neutrino scattering code.
int fHitNucPDG
hit nucleon PDG code
const Float_t FSEnergy(const UInt_t &igen, const UInt_t &ifsp) const override
bool SetBranchAddresses() override
< inherited from TreeReader
int fGint
interaction code
const int HitNucPDG(const UInt_t &igen) const override
hit nucleon PDG code
const std::vector< Int_t > * fGIndex
Int_t fEvent
event number for tree entry
TLorentzVector fFShadSystP4
generated final state hadronic system (LAB frame)
const Int_t TgtPDG(const UInt_t &igen) const override
PDG of Target Nucleus, nucleon only if free.
double fgQ2
< these are for the internal (on shell) genie kinematics
vector< GTruth > * fGTruth
QTextStream & endl(QTextStream &s)
const UInt_t NGen() const override
const UInt_t NFSParticles(const UInt_t &igen) const override