BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DQAPi0Info Class Reference

#include <DQAPi0Info.h>

Public Member Functions

 DQAPi0Info ()
 ~DQAPi0Info ()
void setchild (int n, EvtRecTrack *shower)
void setchilds (EvtRecTrack *shower0, EvtRecTrack *shower1)
EvtRecTrackgetchild (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 ()

Detailed Description

Definition at line 11 of file DQAPi0Info.h.

Constructor & Destructor Documentation

◆ DQAPi0Info()

DQAPi0Info::DQAPi0Info ( )

Definition at line 3 of file DQAPi0Info.cxx.

3 : m_shower0( 0 ), m_shower1( 0 ), m_p4( 0 ), m_mpi0( 0 ) {
4 m_energyThreshold_e = 0.05;
5 m_energyThreshold_b = 0.025;
6 m_costheta_b = 0.82;
7 m_costheta_e1 = 0.85;
8 m_costheta_e2 = 0.92;
9}

◆ ~DQAPi0Info()

DQAPi0Info::~DQAPi0Info ( )

Definition at line 11 of file DQAPi0Info.cxx.

11 {
12 m_shower0 = 0;
13 m_shower1 = 0;
14 m_p4 = HepLorentzVector( 0, 0, 0, 0 );
15 m_mpi0 = 0;
16}

Member Function Documentation

◆ calculate()

bool DQAPi0Info::calculate ( )
inline

Definition at line 39 of file DQAPi0Info.h.

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();
45 double theta1 = photon1->theta();
46 double eraw2 = photon2->energy();
47 double phiemc2 = photon2->phi();
48 double theta2 = photon2->theta();
49 double costheta1 = fabs( cos( theta1 ) );
50 double costheta2 = fabs( cos( theta2 ) );
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;
61 pemc1.setPx( eraw1 * sin( theta1 ) * cos( phiemc1 ) );
62 pemc1.setPy( eraw1 * sin( theta1 ) * sin( phiemc1 ) );
63 pemc1.setPz( eraw1 * cos( theta1 ) );
64 pemc1.setE( eraw1 );
65
66 HepLorentzVector pemc2;
67 pemc2.setPx( eraw2 * sin( theta2 ) * cos( phiemc2 ) );
68 pemc2.setPy( eraw2 * sin( theta2 ) * sin( phiemc2 ) );
69 pemc2.setPz( eraw2 * cos( theta2 ) );
70 pemc2.setE( eraw2 );
71
72 HepLorentzVector ppi0 = pemc1 + pemc2;
73 m_p4 = ppi0;
74 m_mpi0 = ppi0.m();
75 return true;
76 }

Referenced by DQADtag::execute().

◆ getchild()

EvtRecTrack * DQAPi0Info::getchild ( int n)
inline

Definition at line 24 of file DQAPi0Info.h.

24 {
25 if ( n == 0 ) return m_shower0;
26 else if ( n == 1 ) return m_shower1;
27 }
const Int_t n

◆ m()

double DQAPi0Info::m ( )
inline

Definition at line 28 of file DQAPi0Info.h.

28{ return m_mpi0; }

Referenced by DQADtag::execute().

◆ p4()

HepLorentzVector DQAPi0Info::p4 ( )
inline

Definition at line 29 of file DQAPi0Info.h.

29{ return m_p4; }

◆ setchild()

void DQAPi0Info::setchild ( int n,
EvtRecTrack * shower )
inline

Definition at line 16 of file DQAPi0Info.h.

16 {
17 if ( n == 0 ) m_shower0 = shower;
18 else if ( n == 1 ) m_shower1 = shower;
19 }

◆ setchilds()

void DQAPi0Info::setchilds ( EvtRecTrack * shower0,
EvtRecTrack * shower1 )
inline

Definition at line 20 of file DQAPi0Info.h.

20 {
21 m_shower0 = shower0;
22 m_shower1 = shower1;
23 }

Referenced by DQADtag::execute().

◆ setCosTheta()

void DQAPi0Info::setCosTheta ( double costheta_b,
double costheta_e1,
double costheta_e2 )
inline

Definition at line 34 of file DQAPi0Info.h.

34 {
35 m_costheta_b = costheta_b;
36 m_costheta_e1 = costheta_e1;
37 m_costheta_e2 = costheta_e2;
38 }

◆ setEnergyThreshold()

void DQAPi0Info::setEnergyThreshold ( double energyThreshold_b,
double energyThreshold_e )
inline

Definition at line 30 of file DQAPi0Info.h.

30 {
31 m_energyThreshold_b = energyThreshold_b;
32 m_energyThreshold_e = energyThreshold_e;
33 }

The documentation for this class was generated from the following files: