CbmRoot
CbmMvdQa.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmMvdQa header file -----
3 // ----- Created 12/01/15 by P. Sitzmann -----
4 // -------------------------------------------------------------------------
5 
6 
15 #ifndef CBMMVDQA_H
16 #define CBMMVDQA_H 1
17 
18 #include "FairTask.h"
19 
20 
21 class TClonesArray;
22 class TH1F;
23 class TH2F;
24 
25 class FairTrackParam;
26 
27 class CbmMvdDetector;
28 //class CbmLitTrackParam;
29 class CbmVertex;
30 class CbmStsTrack;
31 
32 
33 class CbmMvdQa : public FairTask {
34 public:
35  CbmMvdQa();
36 
37  CbmMvdQa(const char* name, Int_t iMode = 0, Int_t iVerbose = 0);
38 
39  CbmMvdQa(const CbmMvdQa&) = delete;
40  CbmMvdQa& operator=(const CbmMvdQa&) = delete;
41 
42  ~CbmMvdQa();
43 
44  void SetMinHitReq(Int_t nrOfHits) { fminHitReq = nrOfHits; };
45  void SetMatches(Int_t MCtrackID, CbmStsTrack* stsTrack);
46  void Exec(Option_t* opt);
47 
48  InitStatus Init();
49 
50  void Finish();
51 
52  void SetUseMcQa() { useMcQa = kTRUE; };
53  void SetUseDigiQa() { useDigiQa = kTRUE; };
54  void SetUseHitQa() { useHitQa = kTRUE; };
55  void SetUseTrackQa() { useTrackQa = kTRUE; };
56 
57  void SetOutFile(TFile* outFile) { foutFile = outFile; };
58  void SetDrawOutput() { fdraw = kTRUE; };
59 
60 private:
61  TFile* foutFile;
62 
64  Int_t fEventNumber;
65  Int_t fminHitReq;
66  Float_t fMvdRecoRatio;
67  Int_t fBadTrack;
68  Int_t fUsedTracks;
70 
71  Int_t fFirstMvdPos;
72 
73 
76  Int_t flow;
77  Int_t fmid;
78  Int_t fhigh;
79 
80  TClonesArray* fStsTrackArray;
81  TClonesArray* fStsTrackArrayP;
82  TClonesArray* fStsTrackArrayN;
83  TClonesArray* fStsTrackMatches;
84  TClonesArray* fGlobalTrackArray;
85 
86 
87  TClonesArray* fListMCTracks;
88  TClonesArray* fMCTrackArrayP;
89  TClonesArray* fMCTrackArrayN;
90 
91  TClonesArray* fMcPoints;
92  TClonesArray* fMvdDigis;
93  TClonesArray* fMvdCluster;
94  TClonesArray* fMvdHits;
95  TClonesArray* fMvdHitMatchArray;
96  TClonesArray* fMvdDigiMatchArray;
97  TClonesArray* fBadTracks;
98 
99  TClonesArray* fInfoArray;
100 
101  static const Int_t f1FSize = 34;
102  static const Int_t f2FSize = 12;
103 
104  TH1F* fMC1F[30];
105  TH2F* fMC2F[30];
106 
107  TH1F* fDigi1F[30];
108  TH2F* fDigi2F[30];
109 
110  TH1F* fHits1F[30];
111  TH2F* fHits2F[30];
112 
115 
118 
120 
121  Bool_t useMcQa;
122  Bool_t useDigiQa;
123  Bool_t useHitQa;
124  Bool_t useTrackQa;
125 
126  Int_t fMode;
127 
128  Bool_t fdraw;
129 
130  // Double_t GetImpactParameterRadius(CbmLitTrackParam etrack);
131  // Double_t GetImpactParameterX(CbmLitTrackParam etrack);
132  // Double_t GetImpactParameterY(CbmLitTrackParam etrack);
133 
134  // Double_t GetTransverseMomentum(CbmLitTrackParam etrack);
135  // Double_t GetMomentum(CbmLitTrackParam etrack);
136  // Double_t GetMomentumZ(CbmLitTrackParam etrack);
137  // Double_t GetAngle(CbmLitTrackParam etrack);
138 
139  void SetupHistograms();
140  void SetupMCHistograms();
141  void SetupDigiHistograms();
142  void SetupHitHistograms();
143  void SetupTrackHistograms();
144 
145  void ExecDigiQa();
146  void ExecHitQa();
147  void ExecMCQa();
148  void ExecTrackQa();
149 
150  void FinishMCQa();
151  void FinishDigiQa();
152  void FinishHitQa();
153  void FinishTrackQa();
154 
155  Bool_t HasHitFirstMvd(CbmStsTrack* stsTrack);
156  Bool_t HasHitFirstTrue(Int_t MCtrackID, CbmStsTrack* stsTrack);
157 
158  void GetFirstMCPos(CbmStsTrack* stsTrack, Float_t* pos);
159  void GetFirstMvdHitPos(CbmStsTrack* stsTrack, Float_t* hitPos);
160 
161 
163 };
164 
165 
166 #endif
CbmMvdQa::useDigiQa
Bool_t useDigiQa
Definition: CbmMvdQa.h:122
CbmMvdQa::useMcQa
Bool_t useMcQa
Definition: CbmMvdQa.h:121
CbmMvdQa::ExecHitQa
void ExecHitQa()
Definition: CbmMvdQa.cxx:854
CbmMvdQa::useTrackQa
Bool_t useTrackQa
Definition: CbmMvdQa.h:124
CbmMvdQa::fnrOfMergedHits
Int_t fnrOfMergedHits
Definition: CbmMvdQa.h:69
CbmMvdQa::SetMinHitReq
void SetMinHitReq(Int_t nrOfHits)
Definition: CbmMvdQa.h:44
CbmMvdQa::~CbmMvdQa
~CbmMvdQa()
Definition: CbmMvdQa.cxx:109
CbmMvdQa::ExecDigiQa
void ExecDigiQa()
Definition: CbmMvdQa.cxx:807
CbmMvdQa::flow
Int_t flow
Definition: CbmMvdQa.h:76
CbmMvdQa::foutFile
TFile * foutFile
Definition: CbmMvdQa.h:58
CbmMvdQa::fPrimVtx
CbmVertex * fPrimVtx
Definition: CbmMvdQa.h:116
CbmMvdQa::fStsTrackMatches
TClonesArray * fStsTrackMatches
Definition: CbmMvdQa.h:83
CbmMvdQa::fEventNumber
Int_t fEventNumber
Definition: CbmMvdQa.h:64
CbmMvdQa::fmid
Int_t fmid
Definition: CbmMvdQa.h:77
CbmMvdQa::fTracks1F
TH1F * fTracks1F[f1FSize]
Definition: CbmMvdQa.h:113
CbmMvdQa::fBadTrack
Int_t fBadTrack
Definition: CbmMvdQa.h:67
CbmMvdQa::GetFirstMCPos
void GetFirstMCPos(CbmStsTrack *stsTrack, Float_t *pos)
Definition: CbmMvdQa.cxx:1133
CbmMvdQa::fMCTrackArrayN
TClonesArray * fMCTrackArrayN
Definition: CbmMvdQa.h:89
CbmMvdQa::fUsedTracks
Int_t fUsedTracks
Definition: CbmMvdQa.h:68
CbmMvdQa::SetupTrackHistograms
void SetupTrackHistograms()
Definition: CbmMvdQa.cxx:359
CbmMvdQa::SetUseDigiQa
void SetUseDigiQa()
Definition: CbmMvdQa.h:53
CbmMvdQa::fMode
Int_t fMode
Definition: CbmMvdQa.h:126
CbmMvdQa::fDigi2F
TH2F * fDigi2F[30]
Definition: CbmMvdQa.h:108
CbmMvdQa::fSecVtx
CbmVertex * fSecVtx
Definition: CbmMvdQa.h:117
CbmMvdQa::fMvdDigiMatchArray
TClonesArray * fMvdDigiMatchArray
Definition: CbmMvdQa.h:96
CbmMvdQa::HasHitFirstMvd
Bool_t HasHitFirstMvd(CbmStsTrack *stsTrack)
Definition: CbmMvdQa.cxx:1088
CbmMvdQa::FinishMCQa
void FinishMCQa()
Definition: CbmMvdQa.cxx:1217
CbmMvdQa::fDetector
CbmMvdDetector * fDetector
Definition: CbmMvdQa.h:119
CbmMvdQa::SetOutFile
void SetOutFile(TFile *outFile)
Definition: CbmMvdQa.h:57
CbmMvdQa::fStsTrackArrayP
TClonesArray * fStsTrackArrayP
Definition: CbmMvdQa.h:81
CbmMvdQa::f1FSize
static const Int_t f1FSize
Definition: CbmMvdQa.h:101
CbmMvdQa::fBadTracks
TClonesArray * fBadTracks
Definition: CbmMvdQa.h:97
CbmMvdQa::fminHitReq
Int_t fminHitReq
Definition: CbmMvdQa.h:65
CbmMvdQa::ExecTrackQa
void ExecTrackQa()
Definition: CbmMvdQa.cxx:893
CbmMvdQa::Finish
void Finish()
Definition: CbmMvdQa.cxx:1204
CbmMvdQa::fMvdRecoRatio
Float_t fMvdRecoRatio
Definition: CbmMvdQa.h:66
CbmMvdQa::fnrTracksHighP
Int_t fnrTracksHighP
Definition: CbmMvdQa.h:75
CbmMvdQa::HasHitFirstTrue
Bool_t HasHitFirstTrue(Int_t MCtrackID, CbmStsTrack *stsTrack)
Definition: CbmMvdQa.cxx:1101
CbmMvdQa::useHitQa
Bool_t useHitQa
Definition: CbmMvdQa.h:123
CbmMvdQa::fGlobalTrackArray
TClonesArray * fGlobalTrackArray
Definition: CbmMvdQa.h:84
CbmVertex
Definition: CbmVertex.h:26
CbmMvdQa::SetDrawOutput
void SetDrawOutput()
Definition: CbmMvdQa.h:58
CbmMvdQa::fMvdHits
TClonesArray * fMvdHits
Definition: CbmMvdQa.h:94
CbmMvdQa::GetFirstMvdHitPos
void GetFirstMvdHitPos(CbmStsTrack *stsTrack, Float_t *hitPos)
Definition: CbmMvdQa.cxx:1075
CbmMvdQa::fMvdHitMatchArray
TClonesArray * fMvdHitMatchArray
Definition: CbmMvdQa.h:95
CbmMvdQa::SetupHitHistograms
void SetupHitHistograms()
Definition: CbmMvdQa.cxx:306
CbmMvdQa::FinishHitQa
void FinishHitQa()
Definition: CbmMvdQa.cxx:1246
CbmMvdQa::CbmMvdQa
CbmMvdQa(const CbmMvdQa &)=delete
CbmMvdDetector
Definition: CbmMvdDetector.h:39
CbmMvdQa::ExecMCQa
void ExecMCQa()
Definition: CbmMvdQa.cxx:794
CbmMvdQa::SetupMCHistograms
void SetupMCHistograms()
Definition: CbmMvdQa.cxx:206
CbmMvdQa::fHits1F
TH1F * fHits1F[30]
Definition: CbmMvdQa.h:110
CbmMvdQa::fMvdDigis
TClonesArray * fMvdDigis
Definition: CbmMvdQa.h:92
CbmMvdQa::SetUseMcQa
void SetUseMcQa()
Definition: CbmMvdQa.h:52
CbmMvdQa::fMC1F
TH1F * fMC1F[30]
Definition: CbmMvdQa.h:104
CbmMvdQa::fHits2F
TH2F * fHits2F[30]
Definition: CbmMvdQa.h:111
CbmMvdQa::fStsTrackArrayN
TClonesArray * fStsTrackArrayN
Definition: CbmMvdQa.h:82
CbmMvdQa::fMcPoints
TClonesArray * fMcPoints
Definition: CbmMvdQa.h:91
CbmMvdQa::Exec
void Exec(Option_t *opt)
Definition: CbmMvdQa.cxx:781
CbmMvdQa::fListMCTracks
TClonesArray * fListMCTracks
Definition: CbmMvdQa.h:87
CbmMvdQa::fTracks2F
TH2F * fTracks2F[f2FSize]
Definition: CbmMvdQa.h:114
CbmMvdQa::fMC2F
TH2F * fMC2F[30]
Definition: CbmMvdQa.h:105
CbmMvdQa
Definition: CbmMvdQa.h:33
CbmMvdQa::SetupHistograms
void SetupHistograms()
Definition: CbmMvdQa.cxx:197
pos
TVector3 pos
Definition: CbmMvdSensorDigiToHitTask.cxx:60
CbmMvdQa::fhigh
Int_t fhigh
Definition: CbmMvdQa.h:78
CbmMvdQa::fInfoArray
TClonesArray * fInfoArray
Definition: CbmMvdQa.h:99
CbmMvdQa::fdraw
Bool_t fdraw
Definition: CbmMvdQa.h:128
CbmMvdQa::operator=
CbmMvdQa & operator=(const CbmMvdQa &)=delete
CbmMvdQa::fMvdCluster
TClonesArray * fMvdCluster
Definition: CbmMvdQa.h:93
CbmMvdQa::Init
InitStatus Init()
Definition: CbmMvdQa.cxx:113
CbmMvdQa::FinishDigiQa
void FinishDigiQa()
Definition: CbmMvdQa.cxx:1229
CbmMvdQa::SetupDigiHistograms
void SetupDigiHistograms()
Definition: CbmMvdQa.cxx:228
CbmMvdQa::ClassDef
ClassDef(CbmMvdQa, 1)
CbmStsTrack
Definition: CbmStsTrack.h:37
CbmMvdQa::fMCTrackArrayP
TClonesArray * fMCTrackArrayP
Definition: CbmMvdQa.h:88
CbmMvdQa::SetMatches
void SetMatches(Int_t MCtrackID, CbmStsTrack *stsTrack)
Definition: CbmMvdQa.cxx:1164
CbmMvdQa::FinishTrackQa
void FinishTrackQa()
Definition: CbmMvdQa.cxx:1287
CbmMvdQa::SetUseHitQa
void SetUseHitQa()
Definition: CbmMvdQa.h:54
CbmMvdQa::fDigi1F
TH1F * fDigi1F[30]
Definition: CbmMvdQa.h:107
CbmMvdQa::fStsTrackArray
TClonesArray * fStsTrackArray
Definition: CbmMvdQa.h:80
CbmMvdQa::CbmMvdQa
CbmMvdQa()
Definition: CbmMvdQa.cxx:51
CbmMvdQa::fnrTrackslowP
Int_t fnrTrackslowP
Definition: CbmMvdQa.h:74
CbmMvdQa::SetUseTrackQa
void SetUseTrackQa()
Definition: CbmMvdQa.h:55
CbmMvdQa::f2FSize
static const Int_t f2FSize
Definition: CbmMvdQa.h:102
CbmMvdQa::fFirstMvdPos
Int_t fFirstMvdPos
Definition: CbmMvdQa.h:71
CbmMvdQa::fNHitsOfLongTracks
Int_t fNHitsOfLongTracks
Definition: CbmMvdQa.h:63