00001
00002
00003
00004
00005 #ifndef MyPhotonH
00006 #define MyPhotonH
00007
00008
00009
00010
00011
00020
00021
00022
00023
00024
00025
00026 #include <iostream>
00027
00028
00029 #include "TLorentzVector.h"
00030
00031
00032 #include "MyParticle.h"
00033
00034 class MyPhoton : public MyParticle {
00035
00036 public:
00037
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
00064
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
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
00099 bool m_egamma_flag;
00100
00101
00102 int m_isEM;
00103 double m_NeuralNet;
00104 double m_Et_in_cone[4];
00105
00106
00107
00108
00109
00110
00111
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
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130 };
00131
00132
00133
00134
00135
00136 #include "MyPhoton.ixx"
00137
00138 #endif