1 #ifndef GARANA_GENTREE_H 2 #define GARANA_GENTREE_H 15 virtual const UInt_t
NGen()
const = 0;
16 virtual const UInt_t
NFSParticles(
const UInt_t& igen )
const = 0;
17 virtual const Bool_t
IsGenie(
const UInt_t& igen )
const = 0;
18 virtual const Float_t
FSTotEnergy(
const UInt_t& igen)
const = 0;
19 virtual const Float_t
FSEnergy(
const UInt_t& igen,
const UInt_t& ifsp)
const = 0;
20 virtual const Float_t
FSPDG(
const UInt_t& igen,
const UInt_t& ifsp)
const = 0;
21 virtual const Int_t
FSTrackId(
const UInt_t& igen,
const UInt_t& ifsp)
const = 0;
25 virtual const int NuRegion(
const UInt_t& igen )
const = 0;
26 virtual const Int_t
NuPDG(
const UInt_t& igen )
const = 0;
27 virtual const TLorentzVector*
NuP(
const UInt_t& igen) = 0;
28 virtual const TLorentzVector*
NuVertex(
const UInt_t& igen) = 0;
29 virtual const Bool_t
IsCC(
const UInt_t& igen )
const = 0;
30 virtual const int ScatterCode(
const UInt_t& igen)
const = 0;
31 virtual const int InteractCode(
const UInt_t& igen)
const = 0;
34 virtual const Int_t
TgtPDG(
const UInt_t& igen )
const = 0;
35 virtual const TLorentzVector*
TgtP4(
const UInt_t& igen)
const = 0;
36 virtual const int TgtZ(
const UInt_t& igen )
const = 0;
37 virtual const int TgtA(
const UInt_t& igen )
const = 0;
38 virtual const int HitNucPDG(
const UInt_t& igen )
const = 0;
39 virtual const TLorentzVector*
HitNucP4(
const UInt_t& igen )
const = 0;
42 virtual const double Q2(
const UInt_t& igen )
const = 0;
43 virtual const double q2(
const UInt_t& igen )
const = 0;
44 virtual const double W(
const UInt_t& igen )
const = 0;
45 virtual const double T(
const UInt_t& igen )
const = 0;
46 virtual const double X(
const UInt_t& igen )
const = 0;
47 virtual const double Y(
const UInt_t& igen )
const = 0;
48 virtual const TLorentzVector*
FSLeptonP4(
const UInt_t& igen )
const = 0;
49 virtual const TLorentzVector*
FSHadSystP4(
const UInt_t& igen )
const = 0;
52 virtual const int NumNuProton(
const UInt_t& igen)
const = 0;
53 virtual const int NumNuNeutron(
const UInt_t& igen)
const = 0;
54 virtual const int NumNuPi0(
const UInt_t& igen)
const = 0;
55 virtual const int NumNuPiPlus(
const UInt_t& igen)
const = 0;
56 virtual const int NumNuPiMinus(
const UInt_t& igen)
const = 0;
58 const std::vector<Int_t>*
GetGIndex()
const;
60 bool NuInAV(
const UInt_t& igen)
const;
61 bool NuInIV(
const UInt_t& igen)
const;
62 bool NuInCalo(
const UInt_t& igen)
const;
66 const std::vector<Int_t>*
fGIndex =
nullptr;
virtual const double X(const UInt_t &igen) const =0
const std::vector< Int_t > * GetGIndex() const
whether or not subentry is GENIE interaction, index of GENIE interaction
virtual const int NumNuPiMinus(const UInt_t &igen) const =0
number of pi minuses after reaction, before FSI
virtual const int HitNucPDG(const UInt_t &igen) const =0
hit nucleon PDG code
virtual const int ScatterCode(const UInt_t &igen) const =0
GENIE neutrino scattering code.
virtual const Float_t FSEnergy(const UInt_t &igen, const UInt_t &ifsp) const =0
virtual const TLorentzVector * FSHadSystP4(const UInt_t &igen) const =0
final state hadronic system 4-momentum(LAB frame)
virtual const Int_t TgtPDG(const UInt_t &igen) const =0
PDG of Target Nucleus, nucleon only if free.
virtual const UInt_t NGen() const =0
virtual const double Q2(const UInt_t &igen) const =0
virtual const int NumNuPi0(const UInt_t &igen) const =0
number of pi0 after reaction, before FSI
virtual const double T(const UInt_t &igen) const =0
bool NuInIV(const UInt_t &igen) const
virtual const UInt_t NFSParticles(const UInt_t &igen) const =0
virtual const int NumNuNeutron(const UInt_t &igen) const =0
number of neutrons after reaction, before FSI
virtual const int TgtA(const UInt_t &igen) const =0
target A
virtual const TLorentzVector * NuVertex(const UInt_t &igen)=0
4-position of neutrino vertex
virtual const TLorentzVector * HitNucP4(const UInt_t &igen) const =0
hit nucleon (initial) 4-momentum
virtual const int InteractCode(const UInt_t &igen) const =0
GENIE interaction code.
virtual const TLorentzVector * NuP(const UInt_t &igen)=0
initial neutrino 4-momentum
virtual const Bool_t IsCC(const UInt_t &igen) const =0
whether interaction is CC or not
virtual const double q2(const UInt_t &igen) const =0
bool NuInAV(const UInt_t &igen) const
bool NuInCalo(const UInt_t &igen) const
virtual const Int_t NuPDG(const UInt_t &igen) const =0
neutrino PDG code
virtual const double Y(const UInt_t &igen) const =0
virtual const TLorentzVector * FSLeptonP4(const UInt_t &igen) const =0
final state primary lepton 4-momentum (LAB frame)
virtual const int TgtZ(const UInt_t &igen) const =0
target Z
virtual const Int_t FSTrackId(const UInt_t &igen, const UInt_t &ifsp) const =0
virtual const Float_t FSTotEnergy(const UInt_t &igen) const =0
virtual const int NumNuPiPlus(const UInt_t &igen) const =0
number of pi pluses after reaction, before FSI
virtual const int NuRegion(const UInt_t &igen) const =0
region code where the vertex is located
virtual const int NumNuProton(const UInt_t &igen) const =0
number of protons after reaction, before FSI
const std::vector< Int_t > * fGIndex
virtual const Float_t FSPDG(const UInt_t &igen, const UInt_t &ifsp) const =0
virtual const TLorentzVector * TgtP4(const UInt_t &igen) const =0
target 4-momentum
virtual const double W(const UInt_t &igen) const =0
virtual const Bool_t IsGenie(const UInt_t &igen) const =0