BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Emc/EmcCalib/EmcBhaCalib/EmcBhaCalib-00-00-34/EmcBhaCalib/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 "EmcBhaCalib/EmcShDigi.h"
14#include "EmcBhaCalib/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
30{
31 public:
32
33 // Constructors
34 EmcBhabha();
35
36 // copy
37 EmcBhabha(const EmcBhabha& otherBhabha);
38
39 // Destructor
40 ~EmcBhabha( );
41
42 // Was the particle found in event ?
43 const bool& found() {return m_found;}
44
45 // the energy to calibrate on
46 const double& calibEnergy() const {return m_calibEnergy;}
47
48 // the error on the energy to calibrate on
49 const double& errorOnCalibEnergy() const {return m_errCalibEnergy;}
50
51 //error on the measured shower energy
52 double errorOnShowerEnergy() const;
53
54 //the cluster of this bhabha
55 EmcShower shower() const {return m_shower;}
56
57 // its theta
58
59 const double& theta() const
60 {
61 if ( m_theta < 0 )
62 {
63 cout<<"warning: " << " EmcBhabha::theta not yet set !" << endl;
64 }
65 return m_theta;
66 }
67
68 const double& phi() const
69 {
70 return m_phi;
71 }
72
73 const unsigned int & thetaIndex() const
74 {
75 return m_thetaIndex;
76 }
77
78 const unsigned int& phiIndex() const
79 {
80 return m_phiIndex;
81 }
82
83 void print();
84
85 //this is the error on the Bhabha (measurement error +
86 // error on the energy to calibrate on)
87 double sigma2() const;
88
89 void setFound(bool what) {m_found=what;}
90 void setCalibEnergy(double energy) {m_calibEnergy=energy;}
91 void setErrorOnCalibEnergy(double error) { m_errCalibEnergy = error;}
92 void setShower(EmcShower aShower){ m_shower=aShower;}
93 void setTheta(double theta) {m_theta=theta;}
94 void setPhi(double phi) {m_phi=phi;}
95 void setThetaIndex(unsigned int thetaIndex) {m_thetaIndex=thetaIndex;}
96 void setPhiIndex(unsigned int phiIndex) {m_phiIndex=phiIndex;}
97
98private:
99
100 // the energy to calibrate on (either the true or the deposited cluster energy
101 double m_calibEnergy;
102
103 // error of the energy to calibrate on
104 double m_errCalibEnergy;
105
106 // shower of bhabha particle
107 EmcShower m_shower;
108
109 // theta of Bhabha
110 double m_theta;
111
112 double m_phi;
113
114 // was Bhabha found in event ?
115 bool m_found;
116
117 // the theta index of the shower
118 // from east endcap(0-5) ,barrel(6-49) to west endcap (50-55)
119 unsigned int m_thetaIndex;
120
121 // the phi index of the shower
122 unsigned int m_phiIndex;
123};
124
125#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
void print()
Definition: EmcBhabha.cxx:95
double sigma2() const
Definition: EmcBhabha.cxx:79
double errorOnShowerEnergy() const
Definition: EmcBhabha.cxx:61