34 const vector<pair<TLorentzVector,TLorentzVector>>& positions,
35 const vector<pair<TLorentzVector,TLorentzVector>>& momenta,
const vector<int>& regions,
36 const vector<size_t>& nptsPerRegion) {
42 positions, momenta, regions, nptsPerRegion
54 std::vector<TVector3> vecs;
55 for(
int i=0; i<3; i++){
56 TVector3 eig( eigs[i], eigs[i+1], eigs[i+2] );
70 std::vector<TLorentzVector> vecs;
71 for(
int i=0; i<3; i++) {
99 {
"muMinusCaptureAtRest" , 9 },
100 {
"neutronInelastic" , 10},
104 {
"CoulombScat" , 14},
108 {
"PhotonInelastic" , 18},
110 {
"protonInelastic" , 20},
111 {
"pi+Inelastic" , 21},
112 {
"CHIPSNuclearCaptureAtRest" , 22},
113 {
"pi-Inelastic" , 23},
114 {
"hBertiniCaptureAtRest" , 24},
115 {
"photonNuclear" , 25},
116 {
"muonNuclear" , 26},
117 {
"kaon-Inelastic" , 27},
118 {
"kaon+Inelastic" , 28},
119 {
"Transportation" , 29},
124 {
"kaon0LInelastic" , 34},
125 {
"electronNuclear" , 35},
127 {
"kaon0SInelastic" , 37},
128 {
"sigma+Inelastic" , 38},
129 {
"lambdaInelastic" , 39},
130 {
"anti_protonInelastic" , 40},
131 {
"alphaInelastic" , 41}
140 std::cout <<
"WARNING(AnaUtils::ProcessNameToCode): " 141 <<
"unknown process name, '" << p <<
"'" <<
std::endl;
203 const vector<pair<int,float>>& pidb,
float ionf,
float ionb,
204 const vector<pair<UInt_t,TLorentzVector>>& posBeg,
205 const vector<pair<UInt_t,TLorentzVector>>& posEnd,
206 const vector<pair<UInt_t,TLorentzVector>>& momBeg,
207 const vector<pair<UInt_t,TLorentzVector>>& momEnd,
208 const vector<pair<int,float>>& edeps)
212 TLorentzVector vtx(tmp[0], tmp[1], tmp[2], trk.
Time());
215 TLorentzVector
end(tmp[0], tmp[1], tmp[2], trk.
Time());
218 TVector3 vtxDir(tmp[0], tmp[1], tmp[2]);
221 TVector3 endDir(tmp[0], tmp[1], tmp[2]);
int fGint
interaction code
bool fIsCharm
did the interaction produce a charmed hadron?
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
float const & Momentum_beg() const
unsigned int NumberTrajectoryPoints() const
const TLorentzVector & Position(const int i=0) const
int fVertexRegion
region code where vertex is located
const float * TrackParBeg() const
int fNumPiMinus
number of pi minuses after reaction, before FSI
int ProcessNameToCode(std::string const &p)
int fGPhaseSpace
phase space system of DiffXSec
const float * VertexCov() const
double fweight
event interaction weight (genie internal)
garana::FSParticle MakeFSParticle(const simb::MCParticle &mcp)
int fNumNeutron
number of neutrons after reaction, before FSI
int fNumProton
number of protons after reaction, before FSI
double fXsec
cross section of interaction
int fNumPiPlus
number of pi pluses after reaction, before FSI
int fNumPiMinus
number of pi minuses after reaction, before FSI
int fGscatter
neutrino scattering code
float const & LengthBackward() const
std::unordered_map< std::string, int > processMap
const float * Position() const
std::string Process() const
TLorentzVector fFSleptonP4
generated final state primary lepton (LAB frame) // added version 13
float TimeDiffFirstLast() const
garana::Vee MakeAnaVee(const rec::Vee &vee)
bool fIsStrange
strange production // added version 13
int fNumNeutron
number of neutrons after reaction, before FSI
float const & ChisqBackward() const
const float * VtxDir() const
int fResNum
resonance number
garana::CaloCluster MakeAnaCalCluster(const rec::Cluster &clust, const int ®ion, const std::vector< std::pair< int, float >> &edeps)
double const & Time() const
int fResNum
resonance number
int fNumProton
number of protons after reaction, before FSI
double fprobability
interaction probability
double fprobability
interaction probability
float const & LengthForward() const
const float * Vertex() const
std::string EndProcess() const
TLorentzVector fFSleptonP4
generated final state primary lepton (LAB frame) // added version 13
int ftgtPDG
PDG of Target Nucleus, nucleon only if free.
int fGscatter
neutrino scattering code
double fXsec
cross section of interaction
void FillGTruth(const simb::GTruth >, garana::GTruth &outtruth)
garana::Vertex MakeAnaVtx(const rec::Vertex &vtx)
garana::G4Particle MakeG4Particle(const simb::MCParticle &mcp, int parentPdg, int progenitorPdg, int progenitorTrackId, const vector< pair< TLorentzVector, TLorentzVector >> &positions, const vector< pair< TLorentzVector, TLorentzVector >> &momenta, const vector< int > ®ions, const vector< size_t > &nptsPerRegion)
int fNumPi0
number of pi0 after reaction, before FSI
const TLorentzVector & FourMomentum(const size_t i) const
int fHitQrkPDG
hit quark PDG code // added version 13
int fNumPi0
number of pi0 after reaction, before FSI
bool fIsCharm
did the interaction produce a charmed hadron?
const float * TrackParEnd() const
double fweight
event interaction weight (genie internal)
const float * EigenVectors() const
float const & ChisqForward() const
int fGPhaseSpace
phase space system of DiffXSec
const float * End() const
double fDiffXsec
differential cross section of interaction
const float * Position() const
const float * Position() const
const float * CovMat() const
General GArSoft Utilities.
int fNumPiPlus
number of pi pluses after reaction, before FSI
garana::GTruth MakeAnaGTruth(const simb::GTruth >, const int &vtxregion)
int fHitNucPDG
hit nucleon PDG code
int ftgtPDG
PDG of Target Nucleus, nucleon only if free.
const TLorentzVector & Momentum(const int i=0) const
TLorentzVector fFShadSystP4
generated final state hadronic system (LAB frame)
int fGint
interaction code
int fHitNucPDG
hit nucleon PDG code // added version 13
float const & Momentum_end() const
size_t const & NHits() const
int fHitQrkPDG
hit quark PDG code
bool fIsStrange
strange production // added version 13
const float * CovMatEndPacked() const
const float * CovMatBegPacked() const
TLorentzVector fFShadSystP4
generated final state hadronic system (LAB frame)
const float * Shape() const
double fgY
a common running variable to be recorded
double fgQ2
< these are for the internal (on shell) genie kinematics
double fDiffXsec
differential cross section of interaction
const garana::Track MakeAnaTrack(const rec::Track &trk, const vector< pair< int, float >> &pidf, const vector< pair< int, float >> &pidb, float ionf, float ionb, const vector< pair< UInt_t, TLorentzVector >> &posBeg, const vector< pair< UInt_t, TLorentzVector >> &posEnd, const vector< pair< UInt_t, TLorentzVector >> &momBeg, const vector< pair< UInt_t, TLorentzVector >> &momEnd, const vector< pair< int, float >> &edeps)
QTextStream & endl(QTextStream &s)
float EnergyError() const
const float * EndDir() const