FairRoot/PandaRoot
PndLmdQATask.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 //
3 // Description:
4 // Task to generate and store some useful histograms
5 //
6 // Author List:
7 // Anastasia Karavdina
8 // Mathias Michel
9 //
10 //-----------------------------------------------------------
11 
12 #ifndef PNDLMDQATASK_H
13 #define PNDLMDQATASK_H
14 
15 // Base Class Headers ----------------
16 #include "FairTask.h"
17 
18 // Collaborating Class Headers -------
19 #include <map>
20 #include "TString.h"
21 #include "TH2.h"
22 #include "TH1.h"
23 
24 // Collaborating Class Declarations --
25 class TClonesArray;
26 class TGeoManager;
27 
28 class PndLmdQATask :public FairTask{
29 
30 public:
31 
32  // Constructors/Destructors ---------
33  PndLmdQATask(TString mcHitBranch="LMDPoint", TString mcTrkBranch="MCTrack", TString clusterBranch="LMDPixelClusterCand", TString digiBrunch="LMDPixelDigis", TString hitBranch="LmdHits", TString TrkCandBranch="LMDTrackCand", TString trackBranch="LMDTrack", TString geaneBranch="GeaneTrackFinal", TString outFile="tmpOutput/QA.root");
34 #ifndef __CINT__
35  PndLmdQATask(const PndLmdQATask& ) = delete;
36  PndLmdQATask& operator=(const PndLmdQATask& ) = delete;
37 #endif
38  virtual ~PndLmdQATask();
40  void WriteHists();
41  virtual InitStatus Init();
42 
43  virtual void FinishTask();
44 
45  virtual void Exec(Option_t* opt);
46 
47 protected:
49  // double fPlab;
50  // Input Data------------
51  TClonesArray* fmcHitArray;
52  TClonesArray* fmcTrkArray;
53  TClonesArray* fHitArray;
54  TClonesArray* fClusterArray;
55  TClonesArray* fDigiArray;
56  TClonesArray* fTrkCandArray;
57  TClonesArray* fTrkArray;
58  TClonesArray* fGeaneArray;
59 
68 
69  //storage / output
72  int tot;
74  Int_t fEvent;
75 
76  // Analysis Functions
77  void ResoAndPulls();
78  bool HitReco();
79  // void Acceptance(); TODO
80 
81  //histos ResoAndPulls
82  //Near IP
83  TH1 *hResMom;
84  TH1 *hErrMom;
85  TH1 *hPullMom;
86  TH1 *hResTheta;
87  TH2 *hResTheta_th; //resolution vs. theta
88  TH2 *hResTheta_ph; //resolution vs. phi
89  TH1 *hErrTheta;
90  TH1 *hPullTheta;
91  TH1 *hResPhi;
92  TH1 *hErrPhi;
93  TH1 *hPullPhi;
97 
101 
105 
112 
113 /* //QA candidates */
114 /* TH1 *hPullLikePointX; */
115 /* TH1 *hPullLikePointY; */
116 /* TH1 *hPullLikePointZ; */
117 /* TH2 *hPullLikeX_Zmc; */
118 /* TH2 *hPullLikeY_Zmc; */
119 /* TH2 *hPullLikeZ_Zmc; */
120 /* TH2 *hPullLikeTh_Zmc; */
121 /* TH2 *hPullLikePh_Zmc; */
122 /* TH2 *hPullLikeP_Zmc; */
123 /* TH2 *hXrecZmc; */
124 /* TH2 *hYrecZmc; */
125 /* TH2 *hZrecZmc; */
126 /* TH2 *hThrecZmc; */
127 /* TH2 *hPhrecZmc; */
128 /* TH2 *hPrecZmc; */
129 /* TH2 *hResXrecZmc; */
130 /* TH2 *hResYrecZmc; */
131 /* TH2 *hResZrecZmc; */
132 /* TH2 *hResThrecZmc; */
133 /* TH2 *hResPhrecZmc; */
134 /* TH2 *hResPrecZmc; */
135 /* TH2 *herrXrecZmc; */
136 /* TH2 *herrYrecZmc; */
137 /* TH2 *herrZrecZmc; */
138 /* TH2 *herrThrecZmc; */
139 /* TH2 *herrPhrecZmc; */
140 /* TH2 *herrPrecZmc; */
141 
142 /* TH2 *hPullLikeX_Xmc; */
143 /* TH2 *hPullLikeY_Xmc; */
144 /* TH2 *hPullLikeZ_Xmc; */
145 /* TH2 *hPullLikeTh_Xmc; */
146 /* TH2 *hPullLikePh_Xmc; */
147 /* TH2 *hPullLikeP_Xmc; */
148 /* TH2 *hXrecXmc; */
149 /* TH2 *hYrecXmc; */
150 /* TH2 *hZrecXmc; */
151 /* TH2 *hThrecXmc; */
152 /* TH2 *hPhrecXmc; */
153 /* TH2 *hPrecXmc; */
154 /* TH2 *hResXrecXmc; */
155 /* TH2 *hResYrecXmc; */
156 /* TH2 *hResZrecXmc; */
157 /* TH2 *hResThrecXmc; */
158 /* TH2 *hResPhrecXmc; */
159 /* TH2 *hResPrecXmc; */
160 /* TH2 *herrXrecXmc; */
161 /* TH2 *herrYrecXmc; */
162 /* TH2 *herrZrecXmc; */
163 /* TH2 *herrThrecXmc; */
164 /* TH2 *herrPhrecXmc; */
165 /* TH2 *herrPrecXmc; */
166 
167 /* TH2 *hPullLikeX_Ymc; */
168 /* TH2 *hPullLikeY_Ymc; */
169 /* TH2 *hPullLikeZ_Ymc; */
170 /* TH2 *hPullLikeTh_Ymc; */
171 /* TH2 *hPullLikePh_Ymc; */
172 /* TH2 *hPullLikeP_Ymc; */
173 /* TH2 *hXrecYmc; */
174 /* TH2 *hYrecYmc; */
175 /* TH2 *hZrecYmc; */
176 /* TH2 *hThrecYmc; */
177 /* TH2 *hPhrecYmc; */
178 /* TH2 *hPrecYmc; */
179 /* TH2 *hResXrecYmc; */
180 /* TH2 *hResYrecYmc; */
181 /* TH2 *hResZrecYmc; */
182 /* TH2 *hResThrecYmc; */
183 /* TH2 *hResPhrecYmc; */
184 /* TH2 *hResPrecYmc; */
185 /* TH2 *herrXrecYmc; */
186 /* TH2 *herrYrecYmc; */
187 /* TH2 *herrZrecYmc; */
188 /* TH2 *herrThrecYmc; */
189 /* TH2 *herrPhrecYmc; */
190 /* TH2 *herrPrecYmc; */
191 
192  //Near 1st LMD plane
193  TH1 *hResHitX;
194  TH1 *hResHitY;
195  TH1 *hResHitZ;
196  TH1 *hhits;
197  TH1 *hchi2;
207 
211 
218 
222 
228 
229 
230  //TFile *fouthists;
232 
233 };
234 
235 #endif
236 
TH1 * hResLumiTrkPointPzErr
Definition: PndLmdQATask.h:217
TH1 * hResLumiTrkPointPyErr
Definition: PndLmdQATask.h:216
TH1 * hResLumiTrkPointPx
Definition: PndLmdQATask.h:208
TH1 * hResLumiTrkPointXErr
Definition: PndLmdQATask.h:212
TH2 * hMCLumiTrkTheta2D
Definition: PndLmdQATask.h:202
TString fmcHitName
Definition: PndLmdQATask.h:60
TString fTrkCandName
Definition: PndLmdQATask.h:65
TString outFile
Definition: hit_dirc.C:17
void ResoAndPulls()
#define verbose
TH1 * hResLumiTrkPointPyPull
Definition: PndLmdQATask.h:224
TString fmcTrkName
Definition: PndLmdQATask.h:61
TClonesArray * fmcHitArray
Definition: PndLmdQATask.h:51
TH1 * hResLumiTrkPointPz
Definition: PndLmdQATask.h:210
TH1 * hResLumiTrkPhiPull
Definition: PndLmdQATask.h:227
TH1 * hResPointPx
Definition: PndLmdQATask.h:94
TH1 * hResLumiTrkMom
Definition: PndLmdQATask.h:198
TH1 * hResPointPy
Definition: PndLmdQATask.h:98
TH1 * hResPointX
Definition: PndLmdQATask.h:106
TH1 * hResLumiTrkPointPxPull
Definition: PndLmdQATask.h:223
TH1 * hResLumiTrkPointXPull
Definition: PndLmdQATask.h:219
TString fGeaneName
Definition: PndLmdQATask.h:67
TString fTrkName
Definition: PndLmdQATask.h:66
TH1 * hPullPointPy
Definition: PndLmdQATask.h:100
TClonesArray * fTrkCandArray
Definition: PndLmdQATask.h:56
TH1 * hResLumiTrkThetaPull
Definition: PndLmdQATask.h:226
TH2 * hResLumiTrkTheta2D
Definition: PndLmdQATask.h:201
TH1 * hResTheta
Definition: PndLmdQATask.h:86
TH1 * hResLumiTrkPointYPull
Definition: PndLmdQATask.h:220
TH1 * hResLumiTrkPointPzPull
Definition: PndLmdQATask.h:225
TH1 * hErrPointPz
Definition: PndLmdQATask.h:103
TH1 * hPullPointPx
Definition: PndLmdQATask.h:96
TH1 * hResLumiTrkPointZ
Definition: PndLmdQATask.h:206
TClonesArray * fClusterArray
Definition: PndLmdQATask.h:54
TH1 * hErrPointPx
Definition: PndLmdQATask.h:95
TH1 * hResLumiTrkPointPy
Definition: PndLmdQATask.h:209
TH1 * hResPointY
Definition: PndLmdQATask.h:108
Double_t
TH1 * hResPointZ
Definition: PndLmdQATask.h:110
TH1 * hResLumiTrkTheta
Definition: PndLmdQATask.h:199
virtual void Exec(Option_t *opt)
TH1 * hPullPointX
Definition: PndLmdQATask.h:107
TH1 * hPullPointPz
Definition: PndLmdQATask.h:104
TH1 * hResLumiTrkPointX
Definition: PndLmdQATask.h:204
TH1 * hPullPhi
Definition: PndLmdQATask.h:93
TH1 * hPullMom
Definition: PndLmdQATask.h:85
TH1 * hResLumiTrkPhi
Definition: PndLmdQATask.h:200
PndLmdQATask(TString mcHitBranch="LMDPoint", TString mcTrkBranch="MCTrack", TString clusterBranch="LMDPixelClusterCand", TString digiBrunch="LMDPixelDigis", TString hitBranch="LmdHits", TString TrkCandBranch="LMDTrackCand", TString trackBranch="LMDTrack", TString geaneBranch="GeaneTrackFinal", TString outFile="tmpOutput/QA.root")
TH1 * hResLumiTrkPointPxErr
Definition: PndLmdQATask.h:215
TClonesArray * fTrkArray
Definition: PndLmdQATask.h:57
TH1 * hErrPointPy
Definition: PndLmdQATask.h:99
TH1 * hPullPointZ
Definition: PndLmdQATask.h:111
TH1 * hPullPointY
Definition: PndLmdQATask.h:109
TString fClusterName
Definition: PndLmdQATask.h:64
TString fHitName
Definition: PndLmdQATask.h:62
void SetVerboseLevel(int verbose)
Definition: PndLmdQATask.h:39
TH1 * hResLumiTrkPointYErr
Definition: PndLmdQATask.h:213
TH1 * hResLumiTrkPointZPull
Definition: PndLmdQATask.h:221
TH2 * hRecLumiTrkTheta2D
Definition: PndLmdQATask.h:203
ClassDef(PndLmdQATask, 1)
TH2 * hResTheta_ph
Definition: PndLmdQATask.h:88
virtual InitStatus Init()
TH1 * hErrTheta
Definition: PndLmdQATask.h:89
TH1 * hResLumiTrkPointZErr
Definition: PndLmdQATask.h:214
TString foutFile
Definition: PndLmdQATask.h:70
TH1 * hResLumiTrkPointY
Definition: PndLmdQATask.h:205
PndLmdQATask & operator=(const PndLmdQATask &)=delete
TClonesArray * fHitArray
Definition: PndLmdQATask.h:53
Double_t trkpar[4]
Definition: PndLmdQATask.h:71
virtual void FinishTask()
virtual ~PndLmdQATask()
TClonesArray * fmcTrkArray
Definition: PndLmdQATask.h:52
TH1 * hResPointPz
Definition: PndLmdQATask.h:102
TH2 * hResTheta_th
Definition: PndLmdQATask.h:87
TClonesArray * fGeaneArray
Definition: PndLmdQATask.h:58
TClonesArray * fDigiArray
Definition: PndLmdQATask.h:55
TString fDigiName
Definition: PndLmdQATask.h:63
TH1 * hPullTheta
Definition: PndLmdQATask.h:90