CGEM BOSS 6.6.5.h
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 18 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{
5 m_energyThreshold_e = 0.05;
6 m_energyThreshold_b = 0.025;
7 m_costheta_b = 0.82;
8 m_costheta_e1 = 0.85;
9 m_costheta_e2 = 0.92;
10}

◆ ~DQAPi0Info()

DQAPi0Info::~DQAPi0Info ( )

Definition at line 12 of file DQAPi0Info.cxx.

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

Member Function Documentation

◆ calculate()

bool DQAPi0Info::calculate ( )
inline

Definition at line 61 of file DQAPi0Info.h.

62{
63 if (m_shower0 == 0 || m_shower1 == 0 ) return false;
64 RecEmcShower* photon1= m_shower0->emcShower();
65 RecEmcShower* photon2= m_shower1->emcShower();
66 double eraw1 = photon1->energy();
67 double phiemc1 = photon1->phi();
68 double theta1 = photon1->theta();
69 double eraw2 = photon2->energy();
70 double phiemc2 = photon2->phi();
71 double theta2 = photon2->theta();
72 double costheta1 = fabs(cos(theta1));
73 double costheta2 = fabs(cos(theta2));
74 if (!((costheta1 < m_costheta_b && eraw1 > m_energyThreshold_b ) ||
75 (costheta1 > m_costheta_e1 && costheta1 < m_costheta_e2 && eraw1 > m_energyThreshold_e )))
76 return false;
77 if (!((costheta2 < m_costheta_b && eraw2 > m_energyThreshold_b ) ||
78 (costheta2 > m_costheta_e1 && costheta2 < m_costheta_e2 && eraw2 > m_energyThreshold_e )))
79 return false;
80
81 HepLorentzVector pemc1;
82 pemc1.setPx(eraw1*sin(theta1)*cos(phiemc1));
83 pemc1.setPy(eraw1*sin(theta1)*sin(phiemc1));
84 pemc1.setPz(eraw1*cos(theta1));
85 pemc1.setE(eraw1);
86
87 HepLorentzVector pemc2;
88 pemc2.setPx(eraw2*sin(theta2)*cos(phiemc2));
89 pemc2.setPy(eraw2*sin(theta2)*sin(phiemc2));
90 pemc2.setPz(eraw2*cos(theta2));
91 pemc2.setE(eraw2);
92
93 HepLorentzVector ppi0=pemc1+pemc2;
94 m_p4 = ppi0;
95 m_mpi0 = ppi0.m();
96 return true;
97}
double sin(const BesAngle a)
Definition BesAngle.h:210
double cos(const BesAngle a)
Definition BesAngle.h:213
@ theta2
Definition TrkKalDeriv.h:24
@ theta1
Definition TrkKalDeriv.h:24
double theta() const
double phi() const
double energy() const
RecEmcShower * emcShower()
Definition EvtRecTrack.h:70

Referenced by DQADtag::execute().

◆ getchild()

EvtRecTrack * DQAPi0Info::getchild ( int n)
inline

Definition at line 35 of file DQAPi0Info.h.

36{
37 if (n==0)
38 return m_shower0;
39 else if (n==1)
40 return m_shower1;
41}
const Int_t n

◆ m()

double DQAPi0Info::m ( )
inline

Definition at line 42 of file DQAPi0Info.h.

43{
44 return m_mpi0;
45}

Referenced by DQADtag::execute().

◆ p4()

HepLorentzVector DQAPi0Info::p4 ( )
inline

Definition at line 46 of file DQAPi0Info.h.

47{
48 return m_p4;
49}

◆ setchild()

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

Definition at line 23 of file DQAPi0Info.h.

24{
25 if (n==0)
26 m_shower0 = shower;
27 else if (n==1)
28 m_shower1 = shower;
29}

◆ setchilds()

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

Definition at line 30 of file DQAPi0Info.h.

31{
32 m_shower0 = shower0;
33 m_shower1 = shower1;
34}

Referenced by DQADtag::execute().

◆ setCosTheta()

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

Definition at line 55 of file DQAPi0Info.h.

56{
57 m_costheta_b = costheta_b;
58 m_costheta_e1 = costheta_e1;
59 m_costheta_e2 = costheta_e2;
60}

◆ setEnergyThreshold()

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

Definition at line 50 of file DQAPi0Info.h.

51{
52 m_energyThreshold_b = energyThreshold_b;
53 m_energyThreshold_e = energyThreshold_e;
54}

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