39 {
40 if ( m_shower0 == 0 || m_shower1 == 0 ) return false;
41 RecEmcShower* photon1 = m_shower0->emcShower();
42 RecEmcShower* photon2 = m_shower1->emcShower();
43 double eraw1 = photon1->
energy();
44 double phiemc1 = photon1->
phi();
46 double eraw2 = photon2->
energy();
47 double phiemc2 = photon2->
phi();
51 if ( !( ( costheta1 < m_costheta_b && eraw1 > m_energyThreshold_b ) ||
52 ( costheta1 > m_costheta_e1 && costheta1 < m_costheta_e2 &&
53 eraw1 > m_energyThreshold_e ) ) )
54 return false;
55 if ( !( ( costheta2 < m_costheta_b && eraw2 > m_energyThreshold_b ) ||
56 ( costheta2 > m_costheta_e1 && costheta2 < m_costheta_e2 &&
57 eraw2 > m_energyThreshold_e ) ) )
58 return false;
59
60 HepLorentzVector pemc1;
64 pemc1.setE( eraw1 );
65
66 HepLorentzVector pemc2;
70 pemc2.setE( eraw2 );
71
72 HepLorentzVector ppi0 = pemc1 + pemc2;
73 m_p4 = ppi0;
74 m_mpi0 = ppi0.m();
75 return true;
76 }
double sin(const BesAngle a)
double cos(const BesAngle a)