NtupleReader/NtupleReader/MyTruthParticle.h

00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00002 // 06.12.2006, AUTHOR: MANFRED GROH
00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00004 
00005 #ifndef MyTruthParticleH
00006 #define MyTruthParticleH
00007 
00008 //:::::::::::::::::::::::::::
00009 //:: CLASS MyTruthParticle ::
00010 //:::::::::::::::::::::::::::
00011 
00020 
00021 //::::::::::::::::::
00022 //:: HEADER FILES ::
00023 //::::::::::::::::::
00024 
00025 // standard C++ //
00026 #include <iostream>
00027 
00028 // ROOT //
00029 #include "TLorentzVector.h"
00030 
00031 // MyParticle base class //
00032 #include "MyParticle.h"
00033 
00034 class MyTruthParticle : public MyParticle {
00035 
00036 public:
00037 // Constructors //
00038         MyTruthParticle(void) {
00039                 init(TLorentzVector(0.0, 0.0, 0.0, 0.0), 0.0, 0, 0, 0, 0, 0, 0, 0, 0);
00040                 }
00042         MyTruthParticle(const TLorentzVector & p,
00043                         const double & charge,
00044                         const int & pdgId,
00045                         const int & barcode,
00046                         const int & status,
00047                         const int & nParents,
00048                         const int & nDaughters,
00049                         const int & mother0_barcode,
00050                         const int & mother0_pdgId,
00051                         const int & index
00052                         ) {
00053                 init(p, charge, pdgId, barcode, status, nParents,
00054                      nDaughters, mother0_barcode, mother0_pdgId, index);
00055                 }
00057 
00058 
00059 // Methods //
00060 // get methods //
00061         inline int barcode(void) const;
00063         //inline int pdgId(void) const;
00065         inline int status(void) const;
00067         inline int nParents(void) const;
00070         inline int nDaughters(void) const;
00073         inline int mother0_barcode(void) const;
00076         inline int mother0_pdgId(void) const;
00079                                         
00080         inline double Et_in_cone(const int & delta_R_index) const;
00087                                        
00088    
00089         inline void set_Et_in_cone(const double Et_cone[8]);
00091                                        
00092 
00093 
00094 // set methods //
00095         // nothing yet
00096 
00097         inline void PrintParticle(std::string option = "");
00099 
00100 private:
00101 // TruthParticle data //
00102     //int       m_pdgId;                // PDG-ID of the particle
00103         int     m_barcode;              // individual barcode of the particle
00104         int     m_status;               // staus of the particle
00105                                         // !!! generator dependant!!!
00106         int     m_nParents;             // number of particles this particle was
00107                                         // made from
00108         int     m_nDaughters;           // number of daughters of the particle
00109         int     m_mother0_barcode;      // barcode of the first mother this
00110                                         // particle was made from
00111         int     m_mother0_pdgId;        // PDG-ID of the first mother this
00112                                         // particle was made from
00113         
00114     double m_Et_cone[5];                //Et in cone 
00115 
00116 
00117 // private methods //
00118         inline void init(const TLorentzVector & p,
00119                          const double & charge,
00120                          const int & pdgId,
00121                          const int & barcode,
00122                          const int & status,
00123                          const int & nParents,
00124                          const int & nDaughters,
00125                          const int & mother0_barcode,
00126                          const int & mother0_pdgId,
00127                          const int & index
00128                          );
00129                                         // initialization method,
00130                                         // set the fourmomentum of the TruthParticle
00131                                         // to p;
00132                                         // charge: charge of the particle
00133 
00134                                         
00135 
00136 };
00137 
00138 //::::::::::::::::::::::::::::::::::::::
00139 //:: IMPLEMENTATION OF INLINE METHODS ::
00140 //::::::::::::::::::::::::::::::::::::::
00141 
00142 #include "MyTruthParticle.ixx"
00143 
00144 #endif

Generated on Tue Oct 21 11:50:45 2008 for NtupleAnalysis by  doxygen 1.5.1