15 fNuP.SetPxPyPzE(0.,0.,0.,0.);
24 std::cout <<
"constructed FlatGenTree object in read-only mode" <<
std::endl;
26 fNuP.SetPxPyPzE(0.,0.,0.,0.);
31 std::cout <<
"constructed FlatGenTree object in write mode" <<
std::endl;
47 std::cout <<
"FlatGenTree SetBranchAddresses()" <<
std::endl;
236 return fNFS->at(igen);
250 return fGint->at(igen) == 2;
289 return fGint->at(igen);
293 const TLorentzVector* v =
new TLorentzVector(
fTgtPx->at(igen),
fTgtPy->at(igen),
299 return fTgtZ->at(igen);
303 return fTgtA->at(igen);
321 return fGQ2->at(igen);
325 return fGq2->at(igen);
329 return fGW->at(igen);
333 return fGT->at(igen);
337 return fGX->at(igen);
341 return fGY->at(igen);
400 return {UINT_MAX,UINT_MAX};
410 std::cout <<
"FindFSLimits called" <<
std::endl;
413 std::cerr <<
"FlatGenTree::FindFSLimits: fGenToFSLimits has already been filled" 422 std::cout <<
"In FindFSLimits, about to loop over " <<
fNGen <<
" igen" <<
std::endl;
425 std::cerr <<
"FlatGenTree::FindFSLimits: bad NGen (" 430 for(UInt_t igen=1; igen<(UInt_t)
fNGen+1; igen++){
432 end =
fNFS->at(igen-1) - 1 + beg;
433 std::cout <<
"igen = " << igen <<
", beg = " << beg
434 <<
", end = " << end <<
", NFS = " 436 std::pair<fsBegin,fsEnd>
limits = {beg,end};
439 if(igen<(UInt_t)
fNGen)
440 beg =
fNFS->at(igen);
443 std::cout <<
"done with FSLimits." <<
std::endl;
vector< double > fFShadSystEObj
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
vector< double > fTgtEObj
vector< double > * fFShadSystPz
vector< double > fTgtPyObj
vector< double > * fHitNucPy
vector< double > fFShadSystPyObj
const double X(const UInt_t &igen) const override
const int NumNuNeutron(const UInt_t &igen) const override
number of neutrons after reaction, before FSI
vector< int > fNumPiMinusObj
vector< Float_t > fFSPosYObj
y-coordinate [cm]
vector< int > * fNumPiPlus
vector< Float_t > fFSPosXObj
x-coordinate [cm]
vector< double > fProbePzObj
vector< double > fFSleptonPxObj
const double Q2(const UInt_t &igen) const override
vector< double > fHitNucPyObj
vector< Float_t > fFSMomXObj
momentum, x-component [GeV/c]
const Int_t FSTrackId(const UInt_t &igen, const UInt_t &ifsp) const override
vector< double > fFShadSystPxObj
vector< double > * fFSleptonPz
vector< Float_t > fFSMomZObj
momentum, z-component [GeV/c]
vector< Float_t > fFSTObj
time [ns]
const int NumNuPiPlus(const UInt_t &igen) const override
number of pi pluses after reaction, before FSI
vector< double > fHitNucPosObj
const int HitNucPDG(const UInt_t &igen) const override
hit nucleon PDG code
const Float_t FSPDG(const UInt_t &igen, const UInt_t &ifsp) const override
const vector< Int_t > * fGIndex
vector< int > fHitNucPDGObj
vector< double > fWeightObj
vector< int > fGscatterObj
const int NumNuPiMinus(const UInt_t &igen) const override
number of pi minuses after reaction, before FSI
vector< double > fFShadSystPzObj
vector< UInt_t > fFSIndexObj
vector< double > fHitNucEObj
const Float_t FSEnergy(const UInt_t &igen, const UInt_t &ifsp) const override
vector< double > * fFSleptonPx
vector< Float_t > * fFSPosY
y-coordinate [cm]
vector< double > * fTgtPx
const UInt_t NGen() const override
vector< int > fNumNeutronObj
vector< int > fCharmHadronPDGObj
vector< double > * fProbability
const Float_t FSTotEnergy(const UInt_t &igen) const override
vector< double > * fHitNucPx
TTree * fTreeIn
pointer to the analyzed TTree or TChain
vector< double > fDiffXsecObj
const TLorentzVector * HitNucP4(const UInt_t &igen) const override
hit nucleon (initial) 4-momentum
vector< int > fStrangeHadronPDGObj
vector< bool > * fIsStrange
const int ScatterCode(const UInt_t &igen) const override
GENIE neutrino scattering code.
vector< int > fHitQrkPDGObj
vector< double > fTgtPzObj
vector< double > * fFSleptonE
vector< Float_t > * fFST
time [ns]
vector< double > * fFShadSystE
vector< double > fProbabilityObj
vector< double > fTgtPxObj
vector< Float_t > fFSPosZObj
z-coordinate [cm]
vector< double > * fProbePz
vector< double > fHitNucPzObj
const TLorentzVector * FSLeptonP4(const UInt_t &igen) const override
final state primary lepton 4-momentum (LAB frame)
vector< double > * fTgtPy
vector< Float_t > * fFSMomZ
momentum, z-component [GeV/c]
vector< double > * fDiffXsec
vector< double > fFSleptonPzObj
vector< int > * fDecayMode
vector< double > fProbePyObj
vector< UInt_t > fFSPdgObj
particle PDG code
const int TgtZ(const UInt_t &igen) const override
target Z
vector< int > * fGscatter
vector< double > fHitNucPxObj
const double q2(const UInt_t &igen) const override
const Bool_t IsGenie(const UInt_t &igen) const override
vector< Float_t > * fFSMomY
momentum, y-component [GeV/c]
const int InteractCode(const UInt_t &igen) const override
GENIE interaction code.
std::pair< UInt_t, UInt_t > FSParticlesFromGTruth(size_t igen) const
vector< int > * fGPhaseSpace
vector< double > fNuXObj
GTruth (one or more per genTree entry) //.
vector< int > fNumProtonObj
const TLorentzVector * FSHadSystP4(const UInt_t &igen) const override
final state hadronic system 4-momentum(LAB frame)
vector< UInt_t > * fNFS
number of FSParticles for igen^th GTruth len=NGen
vector< double > fXsecObj
const int NumNuPi0(const UInt_t &igen) const override
number of pi0 after reaction, before FSI
vector< int > fGPhaseSpaceObj
vector< bool > * fIsCharm
vector< Float_t > * fFSMomX
momentum, x-component [GeV/c]
vector< std::pair< fsBegin, fsEnd > > fGenToFSLimits
const Int_t NuPDG(const UInt_t &igen) const override
neutrino PDG code
vector< double > * fFSleptonPy
vector< Float_t > fFSEObj
total energy [GeV]
vector< bool > fIsStrangeObj
const int TgtA(const UInt_t &igen) const override
target A
const double W(const UInt_t &igen) const override
vector< int > * fNuRegion
TBranch * b_StrangeHadronPDG
void GetEntry(const UInt_t &ientry) override
vector< double > * fNuX
GTruth (one or more per genTree entry) //.
const TLorentzVector * TgtP4(const UInt_t &igen) const override
target 4-momentum
const Bool_t IsCC(const UInt_t &igen) const override
whether interaction is CC or not
vector< int > * fHitQrkPDG
vector< Float_t > fFSMomYObj
momentum, y-component [GeV/c]
const double T(const UInt_t &igen) const override
vector< UInt_t > * fFSIndex
const UInt_t NFSParticles(const UInt_t &igen) const override
vector< int > * fHitNucPDG
vector< Float_t > * fFSPosX
x-coordinate [cm]
vector< bool > fIsSeaQuarkObj
vector< double > * fTgtPz
vector< int > * fStrangeHadronPDG
vector< UInt_t > * fFSTrackId
particle generator track ID
vector< double > fFSleptonPyObj
const TLorentzVector * NuP(const UInt_t &igen) override
initial neutrino 4-momentum
void SetupRead(TTree *tree)
vector< double > * fFShadSystPx
vector< int > * fNumProton
vector< int > * fNumPiMinus
bool SetBranchAddresses() override
vector< double > fProbePxObj
const double Y(const UInt_t &igen) const override
vector< bool > * fIsSeaQuark
vector< double > fProbeEObj
vector< double > * fProbePx
vector< int > fProbePDGObj
vector< int > * fProbePDG
TBranch * b_CharmHadronPDG
vector< bool > fIsCharmObj
const TLorentzVector * NuVertex(const UInt_t &igen) override
4-position of neutrino vertex
vector< int > fDecayModeObj
vector< UInt_t > * fFSPdg
particle PDG code
vector< int > * fNumNeutron
vector< double > * fProbePy
vector< Float_t > * fFSPosZ
z-coordinate [cm]
Int_t fEvent
event number for tree entry
vector< Float_t > * fFSE
total energy [GeV]
vector< double > fFSleptonEObj
vector< int > fNumPiPlusObj
vector< double > * fHitNucPos
const int NuRegion(const UInt_t &igen) const override
region code where the vertex is located
const int NumNuProton(const UInt_t &igen) const override
number of protons after reaction, before FSI
vector< double > * fFShadSystPy
vector< double > * fWeight
const Int_t TgtPDG(const UInt_t &igen) const override
PDG of Target Nucleus, nucleon only if free.
vector< double > * fHitNucE
QTextStream & endl(QTextStream &s)
vector< double > * fHitNucPz
vector< double > * fProbeE
vector< int > * fCharmHadronPDG
vector< UInt_t > fNFSObj
number of FSParticles for igen^th GTruth len=NGen