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