BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcCalibAlg/share/distcalib/src/include/CalibBase.h
Go to the documentation of this file.
1#ifndef CALIBBASE_H
2#define CALIBBASE_H
3
4#include <cstring>
5#include <fstream>
6#include <iomanip>
7#include <iostream>
8
9#include "MdcCalibConst.h"
10#include "MdcCosGeom.h"
11#include "fun.h"
12
13#include "TFile.h"
14#include "TFolder.h"
15#include "TGraph.h"
16#include "TH1F.h"
17#include "TObjArray.h"
18
19using namespace std;
20
21class CalibBase {
22
23public:
24 CalibBase();
25 virtual ~CalibBase();
26 virtual void init( TObjArray* hlist, MdcCosGeom* pGeom ) = 0;
27 virtual void mergeHist( TFile* fhist ) = 0;
28 virtual void calib( MdcCalibConst* calconst, TObjArray* newXtList, TObjArray* r2tList ) = 0;
29
30private:
31 void renameHist();
32
33 static const int NPhiBin = 20;
34 static const int NThetaBin = 9;
35
36 TFolder* m_fdcom;
37 TH1F* m_effNtrk;
38 TH1F* m_effNtrkRecHit;
39
40 TH1F* m_hresAllInc;
41 TH1F* m_hresAllExc;
42 TH1F* m_hresAllAve;
43
44 TH1F* m_hresInnInc;
45 TH1F* m_hresInnExc;
46
47 TH1F* m_hresStpInc;
48 TH1F* m_hresStpExc;
49
50 TH1F* m_hresOutInc;
51 TH1F* m_hresOutExc;
52
53 TFolder* m_fdResQ;
54 TH1F* m_hresAveAllQ[14];
55 TH1F* m_hresAveOutQ[14];
56 TH1F* m_hresAveLayQ[43][14];
57
58 TH1F* m_hratio;
59
60 /* TH1F* m_hTes[10]; */
61 TH1F* m_hbbTrkFlg;
62 TH1F* m_hTesAll;
63 TH1F* m_hTesGood;
64 TH1F* m_hTesAllFlag;
65 TH1F* m_hTesRec;
66 TH1F* m_hTesCalFlag;
67 TH1F* m_hTesCalUse;
68
69 TH1F* m_hnRawHit;
70
71 TH1F* m_hpt;
72 TH1F* m_hpMax;
73 TH1F* m_hpMaxCms;
74 TH1F* m_hptPos;
75 TH1F* m_hptNeg;
76
77 TH1F* m_hp;
78 TH1F* m_hp_cms;
79 TH1F* m_hpPos;
80 TH1F* m_hpNeg;
81 TH1F* m_hpPoscms;
82 TH1F* m_hpNegcms;
83
84 // results after four momentum cut
85 TH1F* m_hp_cut;
86
87 TH1F* m_hnTrk;
88 TH1F* m_hnTrkCal;
89 TH1F* m_hnhitsRec;
90 TH1F* m_hnhitsRecInn;
91 TH1F* m_hnhitsRecStp;
92 TH1F* m_hnhitsRecOut;
93 TH1F* m_hnhitsCal;
94 TH1F* m_hnhitsCalInn;
95 TH1F* m_hnhitsCalStp;
96 TH1F* m_hnhitsCalOut;
97 TH1F* m_wirehitmap;
98 TH1F* m_layerhitmap;
99 TH1F* m_hchisq;
100
101 // histogram for distribution of noise
102 TH1F* m_hnoisephi;
103 TH1F* m_hnoiselay;
104 TH1F* m_hnoisenhits;
105
106 TH1F* m_hdr;
107 TH1F* m_hphi0;
108 TH1F* m_hkap;
109 TH1F* m_hdz;
110 TH1F* m_htanl;
111 TH1F* m_hcosthe;
112 TH1F* m_hcostheNeg;
113 TH1F* m_hcosthePos;
114
115 TH1F* m_hx0;
116 TH1F* m_hy0;
117 TH1F* m_hdelZ0;
118
119 TGraph* m_grX0Y0;
120 int m_nGrPoint;
121
122 TH1F* m_hitEffAll;
123 TH1F* m_hitEffRaw;
124 TH1F* m_hitEffRec;
125
126 /* histograms drift time */
127 TFolder* m_fdTime;
128 TH1F* m_htraw[NLAYER];
129 TH1F* m_htdr[NLAYER];
130 TH1F* m_htdrlr[NLAYER][2];
131
132 /* histograms for spatial resolution */
133 TFolder* m_fdres;
134 TH1F* m_hresInc[NLAYER];
135 TH1F* m_hreslrInc[NLAYER][2];
136 TH1F* m_hresExc[NLAYER];
137 TH1F* m_hreslrExc[NLAYER][2];
138
139 TFolder* m_fdmomPhi;
140 // in experimental reference frame
141 TH1F* m_ppPhi[NPhiBin];
142 TH1F* m_pnPhi[NPhiBin];
143 TH1F* m_ppThe[NThetaBin];
144 TH1F* m_pnThe[NThetaBin];
145 TH1F* m_ppThePhi[NThetaBin][NPhiBin];
146 TH1F* m_pnThePhi[NThetaBin][NPhiBin];
147
148 // in CMS
149 TH1F* m_ppPhiCms[NPhiBin];
150 TH1F* m_pnPhiCms[NPhiBin];
151 TH1F* m_ppTheCms[NThetaBin];
152 TH1F* m_pnTheCms[NThetaBin];
153 TH1F* m_ppThePhiCms[NThetaBin][NPhiBin];
154 TH1F* m_pnThePhiCms[NThetaBin][NPhiBin];
155
156 TFolder* m_fdr2d;
157 TH1F* m_hr2dInc[43][2][2][NSDBIN];
158 TH1F* m_hr2dExc[43][2][2][NSDBIN];
159
160 TFolder* m_fdr2t;
161 TH1F* m_hr2t[43][18][2][45];
162};
163
164#endif /* CALIBBASE_H */
virtual void init(TObjArray *hlist, MdcCosGeom *pGeom)=0
Definition CalibBase.cpp:12
virtual void mergeHist(TFile *fhist)=0
virtual ~CalibBase()
Definition CalibBase.cpp:10
virtual void calib(MdcCalibConst *calconst, TObjArray *newXtList, TObjArray *r2tList)=0