#include <DQAPi0Info.h>
Public Member Functions | |
bool | calculate () |
bool | calculate () |
DQAPi0Info () | |
DQAPi0Info () | |
EvtRecTrack * | getchild (int n) |
EvtRecTrack * | getchild (int n) |
double | m () |
double | m () |
HepLorentzVector | p4 () |
HepLorentzVector | p4 () |
void | setchild (int n, EvtRecTrack *shower) |
void | setchild (int n, EvtRecTrack *shower) |
void | setchilds (EvtRecTrack *shower0, EvtRecTrack *shower1) |
void | setchilds (EvtRecTrack *shower0, EvtRecTrack *shower1) |
void | setCosTheta (double costheta_b, double costheta_e1, double costheta_e2) |
void | setCosTheta (double costheta_b, double costheta_e1, double costheta_e2) |
void | setEnergyThreshold (double energyThreshold_b, double energyThreshold_e) |
void | setEnergyThreshold (double energyThreshold_b, double energyThreshold_e) |
~DQAPi0Info () | |
~DQAPi0Info () | |
Private Attributes | |
double | m_costheta_b |
double | m_costheta_e1 |
double | m_costheta_e2 |
double | m_energyThreshold_b |
double | m_energyThreshold_e |
double | m_mpi0 |
HepLorentzVector | m_p4 |
EvtRecTrack * | m_shower0 |
EvtRecTrack * | m_shower0 |
EvtRecTrack * | m_shower1 |
EvtRecTrack * | m_shower1 |
|
00003 : m_shower0(0),m_shower1(0),m_p4(0),m_mpi0(0) 00004 { 00005 m_energyThreshold_e = 0.025; 00006 m_energyThreshold_b = 0.05; 00007 m_costheta_b = 0.82; 00008 m_costheta_e1 = 0.85; 00009 m_costheta_e2 = 0.92; 00010 }
|
|
00013 { 00014 m_shower0 = 0; 00015 m_shower1 = 0; 00016 m_p4 = HepLorentzVector(0,0,0,0); 00017 m_mpi0 = 0; 00018 }
|
|
|
|
|
|
00062 { 00063 if (m_shower0 == 0 || m_shower1 == 0 ) return false; 00064 RecEmcShower* photon1= m_shower0->emcShower(); 00065 RecEmcShower* photon2= m_shower1->emcShower(); 00066 double eraw1 = photon1->energy(); 00067 double phiemc1 = photon1->phi(); 00068 double theta1 = photon1->theta(); 00069 double eraw2 = photon2->energy(); 00070 double phiemc2 = photon2->phi(); 00071 double theta2 = photon2->theta(); 00072 double costheta1 = fabs(cos(theta1)); 00073 double costheta2 = fabs(cos(theta2)); 00074 if (!((costheta1 < m_costheta_b && eraw1 > m_energyThreshold_b ) || 00075 (costheta1 > m_costheta_e1 && costheta1 < m_costheta_e2 && eraw1 > m_energyThreshold_e ))) 00076 return false; 00077 if (!((costheta2 < m_costheta_b && eraw2 > m_energyThreshold_b ) || 00078 (costheta2 > m_costheta_e1 && costheta2 < m_costheta_e2 && eraw2 > m_energyThreshold_e ))) 00079 return false; 00080 00081 HepLorentzVector pemc1; 00082 pemc1.setPx(eraw1*sin(theta1)*cos(phiemc1)); 00083 pemc1.setPy(eraw1*sin(theta1)*sin(phiemc1)); 00084 pemc1.setPz(eraw1*cos(theta1)); 00085 pemc1.setE(eraw1); 00086 00087 HepLorentzVector pemc2; 00088 pemc2.setPx(eraw2*sin(theta2)*cos(phiemc2)); 00089 pemc2.setPy(eraw2*sin(theta2)*sin(phiemc2)); 00090 pemc2.setPz(eraw2*cos(theta2)); 00091 pemc2.setE(eraw2); 00092 00093 HepLorentzVector ppi0=pemc1+pemc2; 00094 m_p4 = ppi0; 00095 m_mpi0 = ppi0.m(); 00096 return true; 00097 }
|
|
00062 { 00063 if (m_shower0 == 0 || m_shower1 == 0 ) return false; 00064 RecEmcShower* photon1= m_shower0->emcShower(); 00065 RecEmcShower* photon2= m_shower1->emcShower(); 00066 double eraw1 = photon1->energy(); 00067 double phiemc1 = photon1->phi(); 00068 double theta1 = photon1->theta(); 00069 double eraw2 = photon2->energy(); 00070 double phiemc2 = photon2->phi(); 00071 double theta2 = photon2->theta(); 00072 double costheta1 = fabs(cos(theta1)); 00073 double costheta2 = fabs(cos(theta2)); 00074 if (!((costheta1 < m_costheta_b && eraw1 > m_energyThreshold_b ) || 00075 (costheta1 > m_costheta_e1 && costheta1 < m_costheta_e2 && eraw1 > m_energyThreshold_e ))) 00076 return false; 00077 if (!((costheta2 < m_costheta_b && eraw2 > m_energyThreshold_b ) || 00078 (costheta2 > m_costheta_e1 && costheta2 < m_costheta_e2 && eraw2 > m_energyThreshold_e ))) 00079 return false; 00080 00081 HepLorentzVector pemc1; 00082 pemc1.setPx(eraw1*sin(theta1)*cos(phiemc1)); 00083 pemc1.setPy(eraw1*sin(theta1)*sin(phiemc1)); 00084 pemc1.setPz(eraw1*cos(theta1)); 00085 pemc1.setE(eraw1); 00086 00087 HepLorentzVector pemc2; 00088 pemc2.setPx(eraw2*sin(theta2)*cos(phiemc2)); 00089 pemc2.setPy(eraw2*sin(theta2)*sin(phiemc2)); 00090 pemc2.setPz(eraw2*cos(theta2)); 00091 pemc2.setE(eraw2); 00092 00093 HepLorentzVector ppi0=pemc1+pemc2; 00094 m_p4 = ppi0; 00095 m_mpi0 = ppi0.m(); 00096 return true; 00097 }
|
|
00036 { 00037 if (n==0) 00038 return m_shower0; 00039 else if (n==1) 00040 return m_shower1; 00041 }
|
|
00036 { 00037 if (n==0) 00038 return m_shower0; 00039 else if (n==1) 00040 return m_shower1; 00041 }
|
|
00043 {
00044 return m_mpi0;
00045 }
|
|
00043 {
00044 return m_mpi0;
00045 }
|
|
00047 {
00048 return m_p4;
00049 }
|
|
00047 {
00048 return m_p4;
00049 }
|
|
00024 { 00025 if (n==0) 00026 m_shower0 = shower; 00027 else if (n==1) 00028 m_shower1 = shower; 00029 }
|
|
00024 { 00025 if (n==0) 00026 m_shower0 = shower; 00027 else if (n==1) 00028 m_shower1 = shower; 00029 }
|
|
|
|
|
|
00056 { 00057 m_costheta_b = costheta_b; 00058 m_costheta_e1 = costheta_e1; 00059 m_costheta_e2 = costheta_e2; 00060 }
|
|
00056 { 00057 m_costheta_b = costheta_b; 00058 m_costheta_e1 = costheta_e1; 00059 m_costheta_e2 = costheta_e2; 00060 }
|
|
00051 { 00052 m_energyThreshold_b = energyThreshold_b; 00053 m_energyThreshold_e = energyThreshold_e; 00054 }
|
|
00051 { 00052 m_energyThreshold_b = energyThreshold_b; 00053 m_energyThreshold_e = energyThreshold_e; 00054 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|