#include <DQAPi0Info.h>
Public Member Functions | |
DQAPi0Info () | |
~DQAPi0Info () | |
void | setchild (int n, EvtRecTrack *shower) |
void | setchilds (EvtRecTrack *shower0, EvtRecTrack *shower1) |
EvtRecTrack * | getchild (int n) |
double | m () |
HepLorentzVector | p4 () |
void | setEnergyThreshold (double energyThreshold_b, double energyThreshold_e) |
void | setCosTheta (double costheta_b, double costheta_e1, double costheta_e2) |
bool | calculate () |
Private Attributes | |
EvtRecTrack * | m_shower0 |
EvtRecTrack * | m_shower1 |
HepLorentzVector | m_p4 |
double | m_mpi0 |
double | m_energyThreshold_b |
double | m_energyThreshold_e |
double | m_costheta_b |
double | m_costheta_e1 |
double | m_costheta_e2 |
Definition at line 18 of file DQAPi0Info.h.
DQAPi0Info::DQAPi0Info | ( | ) |
Definition at line 3 of file DQAPi0Info.cxx.
References m_costheta_b, m_costheta_e1, m_costheta_e2, m_energyThreshold_b, and m_energyThreshold_e.
00003 : m_shower0(0),m_shower1(0),m_p4(0),m_mpi0(0) 00004 { 00005 m_energyThreshold_e = 0.05; 00006 m_energyThreshold_b = 0.025; 00007 m_costheta_b = 0.82; 00008 m_costheta_e1 = 0.85; 00009 m_costheta_e2 = 0.92; 00010 }
DQAPi0Info::~DQAPi0Info | ( | ) |
bool DQAPi0Info::calculate | ( | ) | [inline] |
Definition at line 61 of file DQAPi0Info.h.
References cos(), EvtRecTrack::emcShower(), DstEmcShower::energy(), m_costheta_e1, m_energyThreshold_b, m_energyThreshold_e, m_mpi0, m_p4, m_shower0, m_shower1, DstEmcShower::phi(), sin(), DstEmcShower::theta(), theta1, and theta2.
Referenced by DQADtag::execute().
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 }
EvtRecTrack* DQAPi0Info::getchild | ( | int | n | ) | [inline] |
double DQAPi0Info::m | ( | ) | [inline] |
Definition at line 42 of file DQAPi0Info.h.
References m_mpi0.
Referenced by DQADtag::execute(), and DQADtag::fillPi0Item().
00043 { 00044 return m_mpi0; 00045 }
HepLorentzVector DQAPi0Info::p4 | ( | ) | [inline] |
void DQAPi0Info::setchild | ( | int | n, | |
EvtRecTrack * | shower | |||
) | [inline] |
void DQAPi0Info::setchilds | ( | EvtRecTrack * | shower0, | |
EvtRecTrack * | shower1 | |||
) | [inline] |
Definition at line 30 of file DQAPi0Info.h.
References m_shower0, and m_shower1.
Referenced by DQADtag::execute().
void DQAPi0Info::setCosTheta | ( | double | costheta_b, | |
double | costheta_e1, | |||
double | costheta_e2 | |||
) | [inline] |
Definition at line 55 of file DQAPi0Info.h.
References m_costheta_b, m_costheta_e1, and m_costheta_e2.
00056 { 00057 m_costheta_b = costheta_b; 00058 m_costheta_e1 = costheta_e1; 00059 m_costheta_e2 = costheta_e2; 00060 }
void DQAPi0Info::setEnergyThreshold | ( | double | energyThreshold_b, | |
double | energyThreshold_e | |||
) | [inline] |
Definition at line 50 of file DQAPi0Info.h.
References m_energyThreshold_b, and m_energyThreshold_e.
00051 { 00052 m_energyThreshold_b = energyThreshold_b; 00053 m_energyThreshold_e = energyThreshold_e; 00054 }
double DQAPi0Info::m_costheta_b [private] |
double DQAPi0Info::m_costheta_e1 [private] |
Definition at line 106 of file DQAPi0Info.h.
Referenced by calculate(), DQAPi0Info(), and setCosTheta().
double DQAPi0Info::m_costheta_e2 [private] |
double DQAPi0Info::m_energyThreshold_b [private] |
Definition at line 103 of file DQAPi0Info.h.
Referenced by calculate(), DQAPi0Info(), and setEnergyThreshold().
double DQAPi0Info::m_energyThreshold_e [private] |
Definition at line 104 of file DQAPi0Info.h.
Referenced by calculate(), DQAPi0Info(), and setEnergyThreshold().
double DQAPi0Info::m_mpi0 [private] |
HepLorentzVector DQAPi0Info::m_p4 [private] |
EvtRecTrack* DQAPi0Info::m_shower0 [private] |
Definition at line 99 of file DQAPi0Info.h.
Referenced by calculate(), getchild(), setchild(), setchilds(), and ~DQAPi0Info().
EvtRecTrack* DQAPi0Info::m_shower1 [private] |
Definition at line 100 of file DQAPi0Info.h.
Referenced by calculate(), getchild(), setchild(), setchilds(), and ~DQAPi0Info().