FSParticle.h
Go to the documentation of this file.
1 #ifndef GARANA_DATAPRODUCTS_FSPARTICLE_H
2 #define GARANA_DATAPRODUCTS_FSPARTICLE_H
3 
4 #include <TLorentzVector.h>
5 #include <climits>
6 //#include <TROOT.h>
7 
8 namespace garana {
9  class FSParticle { //: public TObject {
10 
11  public:
12 
13  //constructors
15 
16  #ifndef __GCCXML__
17  FSParticle(const int& trackid, const int& pdg, const float& x, const float& y, const float& z, const float& t,
18  const float& px, const float& py, const float& pz, const float& e);
19  FSParticle(const int& trackid, const int& pdg, const TLorentzVector& r, const TLorentzVector& p);
20 
21 
22  int const& TrackId() const;
23  int const& PDG() const;
24  const TLorentzVector& Pos4() const;
25  const TLorentzVector& Mom4() const;
26  float X() const; ///< return position x-component [GeV/c]
27  float Y() const; ///< return position y-component [GeV/c]
28  float Z() const; ///< return position z-component [GeV/c]
29  float T() const; ///< return time [ns]
30  float Px() const; ///< return momentum x-component [GeV/c]
31  float Py() const; ///< return momentum y-component [GeV/c]
32  float Pz() const; ///< return momentum z-component [GeV/c]
33  float P() const; ///< return magnitude of particle momentum [GeV/c]
34  float E() const; ///< return total energy [GeV]
35  float KE() const;
36 
37  #endif
38 
39  protected:
40 
41  //member data
42  int fTrackId = INT_MAX; ///< generator track ID
43  int fPdg = INT_MAX; ///< particle PDG code
44  TLorentzVector fR; ///< final particle 4-position in lab frame [cm,ns]
45  TLorentzVector fP; ///< final particle 4-momentum in lab frame [GeV/c,GeV]
46 
47 
48  //ClassDef(FSParticle,2)
49 
50  };//class
51 }//namespace
52 
53 #endif //GARANA_DATAPRODUCTS_FSPARTICLE_H
float KE() const
Definition: FSParticle.cxx:42
int fPdg
particle PDG code
Definition: FSParticle.h:43
float Py() const
return momentum y-component [GeV/c]
Definition: FSParticle.cxx:38
int const & TrackId() const
Definition: FSParticle.cxx:29
float X() const
return position x-component [GeV/c]
Definition: FSParticle.cxx:33
float Px() const
return momentum x-component [GeV/c]
Definition: FSParticle.cxx:37
TLorentzVector fR
final particle 4-position in lab frame [cm,ns]
Definition: FSParticle.h:44
int const & PDG() const
Definition: FSParticle.cxx:30
const double e
const TLorentzVector & Pos4() const
Definition: FSParticle.cxx:31
float E() const
return total energy [GeV]
Definition: FSParticle.cxx:41
p
Definition: test.py:223
float Y() const
return position y-component [GeV/c]
Definition: FSParticle.cxx:34
TLorentzVector fP
final particle 4-momentum in lab frame [GeV/c,GeV]
Definition: FSParticle.h:45
float P() const
return magnitude of particle momentum [GeV/c]
Definition: FSParticle.cxx:40
const TLorentzVector & Mom4() const
Definition: FSParticle.cxx:32
float Pz() const
return momentum z-component [GeV/c]
Definition: FSParticle.cxx:39
int fTrackId
generator track ID
Definition: FSParticle.h:42
float Z() const
return position z-component [GeV/c]
Definition: FSParticle.cxx:35
list x
Definition: train.py:276
float T() const
return time [ns]
Definition: FSParticle.cxx:36