BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
DQA_MUC.h
Go to the documentation of this file.
1#ifndef Physics_Analysis_DQA_MUC_H
2#define Physics_Analysis_DQA_MUC_H
3
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7
8#include "TH1F.h"
9#include "TF1.h"
10
12#include "MucCalibAlg/MucMark.h"
14
15class ITHistSvc;
16const int TAGN = 2; // 0-all; 1-dimu
17const int LVLN = 3; // 0-layer; 1-box; 2-strip
18const char ENAME[TAGN][10] = {"All","Dimu"};
19const char HTYPE[2][10] = {"Num","Den"};
20const char LNAME[LVLN][10] = {"Layer","Box","Strip"};
21
22class DQA_MUC : public Algorithm {
23
24public:
25 DQA_MUC(const std::string& name, ISvcLocator* pSvcLocator);
26 StatusCode initialize();
27 StatusCode execute();
28 StatusCode finalize();
29
30private:
31 StatusCode FillHistograms( bool isDimu );
32
33private:
34 // Interface
35 ITHistSvc* m_thsvc;
36 long m_run, m_event;
37 bool m_dstFileOnly;
38 int m_effWindow;
39 // Muc variables
40 // Digi and hit container for total events
41 // 0-digi number, 1-rec track number, 2-efficiency hit number,
42 // 3-incidental and noise hit number, 4-rec/fit hit number
43 long m_recordAll[PART_MAX][SEGMENT_MAX][LAYER_MAX][STRIP_INBOX_MAX][5];
44 long m_recordDimu[PART_MAX][SEGMENT_MAX][LAYER_MAX][STRIP_INBOX_MAX][5];
45
46 // Digi or hit mark collection for one event
47 MucMark* m_ptrMucMark;
48 mark_col m_digiCol; // container of digis in an event
49 mark_col m_expHitCol; // container of fitting hits in all rec tracks in an event
50 mark_col m_effHitCol; // container of fired hits in all rec tracks in an event
51 mark_col m_nosHitCol; // container of noise hits in all rec tracks in an event
52
53 mark_col m_segDigiCol[PART_MAX][SEGMENT_MAX]; // container of digis in segment of part
54 vector< mark_col > m_clusterCol; // container of clusters in all digits of an event
55 vector<float> m_lineResCol; // container of residual by line fit
56
57 // Muc id transformer
58 MucIdTransform* m_ptrIdTr;
59
60 // Spacial resolution
61 TH1F* m_hBrResDist[B_LAY_NUM][TAGN]; // barrel spacial resolution
62 TH1F* m_hEcResDist[E_LAY_NUM][TAGN]; // endcap spacial resolution
63// TH1F* m_hBrRes[TAGN]; // barrel spacial resolution vs layer
64// TH1F* m_hEcRes[TAGN]; // endcap spacial resolution vs layer
65
66 // Efficiency and noise ratio
67 TH1F* m_hEff[LVLN][TAGN][2];
68 TH1F* m_hNosRatio[TAGN][2];
69
70 // Costheta and phi of MUC track position on 1st layer
71 TH1F* m_hCostheta[TAGN];
72 TH1F* m_hPhi[TAGN];
73
74};
75
76
77#endif
const char ENAME[TAGN][10]
Definition DQA_MUC.h:18
const char HTYPE[2][10]
Definition DQA_MUC.h:19
const char LNAME[LVLN][10]
Definition DQA_MUC.h:20
const int TAGN
Definition DQA_MUC.h:16
const int LVLN
Definition DQA_MUC.h:17
vector< MucMark * > mark_col
Definition MucMark.h:17
StatusCode execute()
Definition DQA_MUC.cxx:228
StatusCode initialize()
Definition DQA_MUC.cxx:45
StatusCode finalize()
Definition DQA_MUC.cxx:603
DQA_MUC(const std::string &name, ISvcLocator *pSvcLocator)
Definition DQA_MUC.cxx:36