FairRoot/PandaRoot
PndGemTrackFinderQA.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGemTrackFinderQA header file -----
3 // ----- Created 02.06.2009 by R. Karabowicz -----
4 // -------------------------------------------------------------------------
5 
15 #ifndef PNDGEMTRACKFINDERQA_H
16 #define PNDGEMTRACKFINDERQA_H
17 
18 #include "TH1F.h"
19 #include "TH2F.h"
20 
21 #include "FairMCPoint.h"
22 #include "FairTask.h"
23 #include "PndMCTrack.h"
24 
25 #include "PndGemHit.h"
26 #include "PndGemDigiPar.h"
27 
28 #include <vector>
29 
30 class PndGemTrackFinderQA : public FairTask
31 {
32 
33  public:
34 
37 
40 
42  virtual ~PndGemTrackFinderQA();
43 
45  virtual void Exec(Option_t* opt);
46 
48  void SetVerbose(const Int_t& verbose) { fVerbose = verbose; };
49 
50 
51  private:
52 
54 
56  TClonesArray* fMCTrackArray;
57  TClonesArray* fMCPointArray;
58 
59  TClonesArray* fGemHitArray; //
60  TClonesArray* fGemTrackArray;
61 
63  TClonesArray* fGemData[10];
64  Int_t fGemDataPointer[1000];
66 
68  Int_t fNofEvents;
69 
70  TVector3 fTargetPos;
71  std::vector<Int_t> fMCTrackNofCrossedGemStations;
72  std::vector<Int_t> fMCTrackNofGemPoints;
73  std::vector<Int_t> fRecoTrackMCMatch;
76 
77  Int_t fNofMCAll;
78  Int_t fNofMCAcc;
79  Int_t fNofMCPrim;
80  Int_t fNofMCSec;
81  Int_t fNofMCRef; // primary, mom.mag > 0.5GeV/c
82 
83  Int_t fNofRecoAcc;
84  Int_t fNofRecoPrim;
85  Int_t fNofRecoSec;
86  Int_t fNofRecoRef; // primary, mom.mag > 0.5GeV/c
87 
90 
91  TList* fHistoList;
92  // number of mc tracks, reco tracks, efficiency as function of MOMENTUM
96  // number of mc tracks, reco tracks, efficiency as function of THETA
100  // number of mc tracks, reco tracks, efficiency as function of PHI
104  // number of mc tracks, reco tracks, efficiency as function of NUMBER OF POINTS
108 
109  // MOMENTUM, THETA and (PHI)ANGLE reco tracks distribution
113 
114  // momentum resolution vs MOMENTUM
116  // momentum resolution vs THETA
118  // momentum resolution vs THETA
120 
125 
129 
131 
132  void CreateHistos();
133  void PrepareMCTracks();
134  void MatchRecoTracks();
135 
137  virtual void SetParContainers();
138 
139  void DivideHistos(TH1* hist1, TH1* hist2, TH1* hist3);
140 
141  Int_t GetPointVector(Int_t arrayId, Int_t entryId, std::vector<Int_t>& pointVector, Bool_t printInfo = kFALSE);
142  Int_t FindMatchingPoint(Int_t gemHitIndex);
143 
145  virtual void Finish();
146 
148  virtual InitStatus Init();
149 
150 
152  virtual InitStatus ReInit();
153 
154 
156 
157 };
158 
159 #endif
std::vector< Int_t > fMCTrackNofGemPoints
int fVerbose
Definition: poormantracks.C:24
virtual void SetParContainers()
TClonesArray * fMCPointArray
#define verbose
void DivideHistos(TH1 *hist1, TH1 *hist2, TH1 *hist3)
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:31
PndGemDigiPar * fDigiPar
TH1D * hist3
Definition: hist-t7.C:84
TClonesArray * fGemTrackArray
Output array of PndGemTracks.
std::vector< Int_t > fMCTrackNofCrossedGemStations
Int_t fNofEvents
event counter
void SetVerbose(const Int_t &verbose)
virtual InitStatus ReInit()
Double_t
TClonesArray * fGemHitArray
TH1D * hist2
Definition: hist-t7.C:82
Int_t FindMatchingPoint(Int_t gemHitIndex)
std::vector< Int_t > fRecoTrackMCMatch
virtual void Exec(Option_t *opt)
ClassDef(PndGemTrackFinderQA, 1)
Int_t iVerbose
track finding quality assesment task
TClonesArray * fMCTrackArray
Int_t GetPointVector(Int_t arrayId, Int_t entryId, std::vector< Int_t > &pointVector, Bool_t printInfo=kFALSE)
TClonesArray * fGemData[10]
virtual InitStatus Init()
TH1D * hist1
Definition: hist-t7.C:80