BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EmcBhabha.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// Environment:
3// This software was developed for the BESIII collaboration. If you
4// use all or part of it, please give an appropriate acknowledgement.
5//
6// Author List:
7// ChunXiu Liu IHEP
8//
9//------------------------------------------------------------------------
10
11#ifndef EMCBHABHA_H
12#define EMCBHABHA_H
13#include "EmcShDigi.h"
14#include "EmcShower.h"
15#include <iostream>
16using namespace std;
17
18// ---------------------
19// -- Class Interface --
20// ---------------------
21
22/**
23 * This class holds the information of one Bhabha particle like.
24 * the energy, the shower ...
25 * It is filled in SelectBhabha and read out in CollectBhabha
26 * to fill the calibration matrix and vector.
27 */
28
29class EmcBhabha {
30public:
31 // Constructors
32 EmcBhabha();
33
34 // copy
35 EmcBhabha( const EmcBhabha& otherBhabha );
36
37 // Destructor
38 ~EmcBhabha();
39
40 // Was the particle found in event ?
41 const bool& found() { return m_found; }
42
43 // the energy to calibrate on
44 const double& calibEnergy() const { return m_calibEnergy; }
45
46 // the error on the energy to calibrate on
47 const double& errorOnCalibEnergy() const { return m_errCalibEnergy; }
48
49 // error on the measured shower energy
50 double errorOnShowerEnergy() const;
51
52 // the cluster of this bhabha
53 EmcShower shower() const { return m_shower; }
54
55 // its theta
56
57 const double& theta() const {
58 if ( m_theta < 0 )
59 {
60 cout << "warning: "
61 << " EmcBhabha::theta not yet set !" << endl;
62 }
63 return m_theta;
64 }
65
66 const double& phi() const { return m_phi; }
67
68 const unsigned int& thetaIndex() const { return m_thetaIndex; }
69
70 const unsigned int& phiIndex() const { return m_phiIndex; }
71
72 void print();
73
74 // this is the error on the Bhabha (measurement error +
75 // error on the energy to calibrate on)
76 double sigma2() const;
77
78 void setFound( bool what ) { m_found = what; }
79 void setCalibEnergy( double energy ) { m_calibEnergy = energy; }
80 void setErrorOnCalibEnergy( double error ) { m_errCalibEnergy = error; }
81 void setShower( EmcShower aShower ) { m_shower = aShower; }
82 void setTheta( double theta ) { m_theta = theta; }
83 void setPhi( double phi ) { m_phi = phi; }
84 void setThetaIndex( unsigned int thetaIndex ) { m_thetaIndex = thetaIndex; }
85 void setPhiIndex( unsigned int phiIndex ) { m_phiIndex = phiIndex; }
86
87private:
88 // the energy to calibrate on (either the true or the deposited cluster energy
89 double m_calibEnergy;
90
91 // error of the energy to calibrate on
92 double m_errCalibEnergy;
93
94 // shower of bhabha particle
95 EmcShower m_shower;
96
97 // theta of Bhabha
98 double m_theta;
99
100 double m_phi;
101
102 // was Bhabha found in event ?
103 bool m_found;
104
105 // the theta index of the shower
106 // from east endcap(0-5) ,barrel(6-49) to west endcap (50-55)
107 unsigned int m_thetaIndex;
108
109 // the phi index of the shower
110 unsigned int m_phiIndex;
111};
112
113#endif // EMCBHABHA_H
************Class m_ypar INTEGER m_KeyWgt INTEGER m_KeyIHVP INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
Definition KK2f.h:50
const double & theta() const
Definition EmcBhabha.h:57
void setPhiIndex(unsigned int phiIndex)
Definition EmcBhabha.h:85
void print()
Definition EmcBhabha.cxx:87
void setCalibEnergy(double energy)
Definition EmcBhabha.h:79
double sigma2() const
Definition EmcBhabha.cxx:72
void setPhi(double phi)
Definition EmcBhabha.h:83
const double & calibEnergy() const
Definition EmcBhabha.h:44
double errorOnShowerEnergy() const
Definition EmcBhabha.cxx:55
EmcShower shower() const
Definition EmcBhabha.h:53
const bool & found()
Definition EmcBhabha.h:41
const double & errorOnCalibEnergy() const
Definition EmcBhabha.h:47
void setErrorOnCalibEnergy(double error)
Definition EmcBhabha.h:80
void setShower(EmcShower aShower)
Definition EmcBhabha.h:81
void setTheta(double theta)
Definition EmcBhabha.h:82
void setFound(bool what)
Definition EmcBhabha.h:78
const double & phi() const
Definition EmcBhabha.h:66
const unsigned int & thetaIndex() const
Definition EmcBhabha.h:68
const unsigned int & phiIndex() const
Definition EmcBhabha.h:70
void setThetaIndex(unsigned int thetaIndex)
Definition EmcBhabha.h:84