PandaRoot
PndGemFindHitsQA.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGemFindHitsQA header file -----
3 // ----- Created 02.06.2009 by R. Karabowicz -----
4 // -------------------------------------------------------------------------
5 
14 #ifndef PNDGEMFINDHITSQA_H
15 #define PNDGEMFINDHITSQA_H
16 
17 #include "TH1F.h"
18 #include "TH2F.h"
19 #include "TH3F.h"
20 
21 #include "FairTask.h"
22 #include "FairRootFileSink.h"
23 
24 #include "PndGemHit.h"
25 #include "PndGemDigiPar.h"
26 
27 #include <vector>
28 
29 class PndGemFindHitsQA : public FairTask {
30 
31  public:
34 
36  PndGemFindHitsQA(Int_t iVerbose);
37 
39  virtual ~PndGemFindHitsQA();
40 
42  virtual void Exec(Option_t *opt);
43 
45  void SetVerbose(const Int_t &verbose) { fVerbose = verbose; };
46 
47  void SetPointEffDist(Double_t dn) { fPointEffDist = dn; };
48 
49  private:
50  PndGemDigiPar *fDigiPar;
51 
53  TClonesArray *fMCPointArray;
54 
56  TClonesArray *fGemHitArray;
57 
59  TClonesArray *fGemData[10];
60  Int_t fGemDataPointer[1000];
61  Int_t fGemPointNumber;
62 
64  Int_t fNofEvents;
65 
66  TList *fHistoList;
67 
68  Int_t fHistPlaneDivs;
69  Double_t fHistWidth[4][2];
70 
71  Double_t fPointEffDist;
72 
73  // XY distance from point to hit
74  // vs station(up to 4),sensor(2 per station),position(divide into 4x4 regions)
75  TH2F *fhPointToHit[4][2][4][4];
76  // distance of point to the closest hit
77  // TH3F* fhPointClosest [4][2];
78  TH2F *fhPointNof[4][2];
79  TH2F *fhPointReco[4][2];
80  TH2F *fhPointRecoEff[4][2];
81  TH1F *fhPointRadNof[4][2];
82  TH1F *fhPointRadReco[4][2];
83  TH1F *fhPointRadRecoEff[4][2];
84 
85  TH2F *fhPointMatch[4][2];
86  TH2F *fhPointMatchEff[4][2];
87  TH1F *fhPointRadMatch[4][2];
88  TH1F *fhPointRadMatchEff[4][2];
89 
90  TH2F *fhHitNof[4][2];
91  TH2F *fhHitFake[4][2];
92  TH2F *fhHitFakeProb[4][2];
93  TH1F *fhHitRadNof[4][2];
94  TH1F *fhHitRadFake[4][2];
95  TH1F *fhHitRadFakeProb[4][2];
96 
97  TH2F *fhHitMultipleRate[4][2];
98 
99  TH1F *fhCloseHits[4][2];
100 
101  TH2F *fhTrueMatchDiXYPerSt[4][2];
102  TH1F *fhTrueMatchDistPerSt[4][2];
103 
104  TH2F *fhTrueMatchDiXY;
105  TH1F *fhTrueMatchDist;
106  TH1F *fhTrueMatchValue;
107  TH2F *fhTrueMatchDistValue;
108 
109  TH1F *fhTrueMatchNofPerHit;
110  TH1F *fhTrueMatchNofPerPoint;
111 
112  void CreateHistos();
113  void DivideHistos(TH1 *hist1, TH1 *hist2, TH1 *hist3);
114 
115  Int_t GetPointVector(Int_t arrayId, Int_t entryId, std::vector<Int_t> &pointVector, Bool_t printInfo = kFALSE);
116 
118  virtual void SetParContainers();
119 
121  virtual void Finish();
122 
124  virtual InitStatus Init();
125 
127  virtual InitStatus ReInit();
128 
129  ClassDef(PndGemFindHitsQA, 1);
130 };
131 
132 #endif
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:30
void SetVerbose(const Int_t &verbose)
virtual ~PndGemFindHitsQA()
void SetPointEffDist(Double_t dn)
track finding quality assesment task
virtual void Exec(Option_t *opt)