BmnRoot
Loading...
Searching...
No Matches
BmnLambdaEmbeddingDrawHistos.h
Go to the documentation of this file.
1#ifndef BMNEMBDRAW_H
2#define BMNEMBDRAW_H 1
3
4#include <TNamed.h>
5#include <TCanvas.h>
6#include <TClonesArray.h>
7#include <TH1.h>
8#include <TH2.h>
9#include <TStyle.h>
10#include <TProfile2D.h>
11#include <TLegend.h>
12
14
15using namespace std;
16
17class HistoPlacement : public TNamed
18{
19 public:
21 : fPad(-1),
22 fSubPad(-1),
23 fDet(""),
24 fName(""),
25 fType(-1),
26 fStat(-1),
27 fMod(-1)
28 {}
29
30 HistoPlacement(TString canvName, Int_t pad, Int_t subPad, TString det, Int_t type, Int_t stat, Int_t mod) {
31 fPad = pad;
32 fSubPad = subPad;
33 fDet = det;
34 fType = type;
35 fStat = stat;
36 fMod = mod;
37 fName = canvName;
38 }
39
40 HistoPlacement(TString canvName, Int_t pad, TString det, Int_t stat)
41 : fSubPad(-1),
42 fType(-1),
43 fMod(-1)
44 {
45 fPad = pad;
46 fDet = det;
47 fStat = stat;
48 fName = canvName;
49 }
50
51 virtual ~HistoPlacement() {
52
53 }
54
55 TString GetCanvasName() {
56 return fName;
57 }
58
59 TString GetDetectorName() {
60 return fDet;
61 }
62
63 Int_t GetPad() {
64 return fPad;
65 }
66
67 Int_t GetSubpad() {
68 return fSubPad;
69 }
70
71 Int_t GetAnalType() {
72 return fType;
73 }
74
75 Int_t GetStat() {
76 return fStat;
77 }
78
79 Int_t GetMod() {
80 return fMod;
81 }
82
83 Int_t GetZone() {
84 if (fSubPad == -1 && fType == -1 && fMod == -1)
85 return fStat;
86 else
87 return -1;
88 }
89
90
91private:
92 Int_t fPad;
93 Int_t fSubPad;
94 TString fDet;
95 TString fName;
96 Int_t fType;
97 Int_t fStat;
98 Int_t fMod;
99};
100
101class BmnLambdaEmbeddingDrawHistos : public TNamed {
102public:
103
105
107
108 }
109
110 void ProcessHistos();
111
112 // Useful setters ...
113 // See explanations below when introducing isActive data member ...
114 void SetActive(Int_t currentAnal) {
115 isActive[currentAnal] = kTRUE;
116 }
117
118 TH1F***** GetGemStripInfo() {
119 return hGemStripInfo;
120 }
121
123 return hSiliconStripInfo;
124 }
125
126 TProfile2D* GetSilHitEff() {
127 return pEmbSilHitEff;
128 }
129
130 TProfile2D** GetGemHitEff() {
131 return pEmbGemHitEff;
132 }
133
134 TProfile2D** GetSilHitEff2D() {
135 return pEffSilStatXY;
136 }
137
138 TProfile2D** GetGemHitEff2D() {
139 return pEffGemStatXY;
140 }
141
142 TH1F*** GetEtaLambda() {
143 return hEtaLambda;
144 }
145
147 return hNhitsEmbReco;
148 }
149
150private:
152
153 TH1F***** hGemStripInfo; // [pureMc or afterEmbedding][stat][mod][lay] --> strip number
154 TH1F***** hSiliconStripInfo; // [pureMc or afterEmbedding][stat][mod][lay] --> strip number
155
156 TProfile2D* pEmbSilHitEff;
157 TProfile2D** pEmbGemHitEff;
158
159 TProfile2D** pEffGemStatXY;
160 TProfile2D** pEffSilStatXY;
161
162 TH1F*** hEtaLambda;
163
164 TH2F** hNhitsEmbReco;
165
166
167
168 // List of active anals.
169 /*
170 * 0 - BmnLambdaEmbeddingQa::DoDigiAnalysis()
171 * 1 - BmnLambdaEmbeddingQa::DoEffAnalysis()
172 */
173 Bool_t isActive[2];
174
176};
177
178#endif
HistoPlacement(TString canvName, Int_t pad, Int_t subPad, TString det, Int_t type, Int_t stat, Int_t mod)
HistoPlacement(TString canvName, Int_t pad, TString det, Int_t stat)
STL namespace.