NtupleReader/NtupleReader/MyPhoton.h

00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00002 // 23.10.2006, AUTHOR: OLIVER KORTNER
00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00004 
00005 #ifndef MyPhotonH
00006 #define MyPhotonH
00007 
00008 //::::::::::::::::::::::
00009 //:: CLASS MyPhoton ::
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 MyPhoton : public MyParticle {
00035 
00036 public:
00037     // Constructors //
00038     MyPhoton(void) {
00039         init( TLorentzVector(0.0, 0.0, 0.0, 0.0), 
00040               0.0, false, 0.0, 0.0, 0, 0);
00041     }
00043     MyPhoton(const TLorentzVector & p,
00044                const double & echarge,
00045                const bool & egamma_flag,
00046                const double & isem,
00047                const double & neuralnet,
00048                const int & index,
00049                const double et_cone[4]) {
00050     
00051         init(p, echarge, egamma_flag,  
00052              isem, neuralnet, index, et_cone);
00053     }
00062 
00063     // Methods //
00064     // get methods //
00065     inline bool e_gamma_flag(void) const;
00069     inline int is_em(void) const;
00071     inline double NeuralNet(void) const;
00073     inline double Et_in_cone(const int & delta_R_index) const;
00080 
00081     // set methods //
00082     inline void set_e_gamma_flag(const bool & flag);
00086     inline void set_Et_in_cone(const double et_in_cone[4]);
00093 
00094     inline void PrintParticle(std::string option = "");
00096 
00097     private:
00098     // photon data //
00099     bool m_egamma_flag; // m_egamma_flag = true, if author==1, a track is 
00100     // associated with the photon, a neural-network 
00101     // output>0.1, and isEM%16==0
00102     int m_isEM;         // isEM variable
00103     double m_NeuralNet;         // NeuralNet variable (up to 11.x.x this was epiNN)
00104     double m_Et_in_cone[4]; // transverse energy in a cone around the 
00105     // photon;
00106     // m_Et_in_cone[0]: a cone of 0.20,
00107     // m_Et_in_cone[1]: a cone of 0.30,
00108     // m_Et_in_cone[2]: a cone of 0.40,
00109     // m_Et_in_cone[3]: a cone of 0.45
00110 
00111     // private methods //
00112     inline void init(const TLorentzVector & p,
00113                      const double & echarge,
00114                      const bool & egamma_flag,
00115                      const double & isem,
00116                      const double & neuralnet,
00117                      const int & index,
00118                      const double et_cone[4]);
00119     // initialization method,
00120     // set the fourmomentum of the photon
00121     // to p;
00122     // echarge: charge of the particle
00123     // egamma_flag = true, if the e-gamma
00124     // algorithm identified the particle as
00125     // photon;
00126     // et_cone[0]: Et in a cone of 0.20,
00127     // et_cone[1]: Et in a cone of 0.30,
00128     // et_cone[2]: Et in a cone of 0.40,
00129     // et_cone[3]: Et in a cone of 0.45
00130 };
00131 
00132 //::::::::::::::::::::::::::::::::::::::
00133 //:: IMPLEMENTATION OF INLINE METHODS ::
00134 //::::::::::::::::::::::::::::::::::::::
00135 
00136 #include "MyPhoton.ixx"
00137 
00138 #endif

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