CbmRoot
Loading...
Searching...
No Matches
CbmMvdQa.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2017 Institut fuer Kernphysik, Goethe-Universitaet Frankfurt, Frankfurt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Philipp Sitzmann [committer] */
4
5// -------------------------------------------------------------------------
6// ----- CbmMvdQa header file -----
7// ----- Created 12/01/15 by P. Sitzmann -----
8// -------------------------------------------------------------------------
9
10
19#ifndef CBMMVDQA_H
20#define CBMMVDQA_H 1
21
22#include "FairTask.h" // for FairTask, InitStatus
23
24#include <Rtypes.h> // for ClassDef
25#include <RtypesCore.h> // for Int_t, Bool_t, kTRUE, Float_t, Option_t
26
27class CbmMvdDetector;
28class CbmStsTrack;
29class CbmVertex;
30class TBuffer;
31class TClass;
32class TClonesArray;
33class TFile;
34class TH1F;
35class TH2F;
36class TMemberInspector;
37
38class CbmMvdQa : public FairTask {
39public:
40 CbmMvdQa();
41
42 CbmMvdQa(const char* name, Int_t iMode = 0, Int_t iVerbose = 0);
43
44 CbmMvdQa(const CbmMvdQa&) = delete;
45 CbmMvdQa& operator=(const CbmMvdQa&) = delete;
46
47 ~CbmMvdQa();
48
49 void SetMinHitReq(Int_t nrOfHits) { fminHitReq = nrOfHits; };
50 void SetMatches(Int_t MCtrackID, CbmStsTrack* stsTrack);
51 void Exec(Option_t* opt);
52
53 InitStatus Init();
54
55 void Finish();
56
57 void SetUseMcQa() { useMcQa = kTRUE; };
58 void SetUseDigiQa() { useDigiQa = kTRUE; };
59 void SetUseHitQa() { useHitQa = kTRUE; };
60 void SetUseTrackQa() { useTrackQa = kTRUE; };
61
62 void SetOutFile(TFile* outFile) { foutFile = outFile; };
63 void SetDrawOutput() { fdraw = kTRUE; };
64
65private:
66 TFile* foutFile;
67
72 Int_t fBadTrack;
75
77
78
81 Int_t flow;
82 Int_t fmid;
83 Int_t fhigh;
84
85 TClonesArray* fStsTrackArray;
86 TClonesArray* fStsTrackArrayP;
87 TClonesArray* fStsTrackArrayN;
88 TClonesArray* fStsTrackMatches;
89 TClonesArray* fGlobalTrackArray;
90
91
92 TClonesArray* fListMCTracks;
93 TClonesArray* fMCTrackArrayP;
94 TClonesArray* fMCTrackArrayN;
95
96 TClonesArray* fMcPoints;
97 TClonesArray* fMvdDigis;
98 TClonesArray* fMvdCluster;
99 TClonesArray* fMvdHits;
100 TClonesArray* fMvdHitMatchArray;
101 TClonesArray* fMvdDigiMatchArray;
102 TClonesArray* fBadTracks;
103
104 TClonesArray* fInfoArray;
105
106 static const Int_t f1FSize = 34;
107 static const Int_t f2FSize = 12;
108
109 TH1F* fMC1F[30];
110 TH2F* fMC2F[30];
111
112 TH1F* fDigi1F[30];
113 TH2F* fDigi2F[30];
114
115 TH1F* fHits1F[30];
116 TH2F* fHits2F[30];
117
120
123
125
126 Bool_t useMcQa;
127 Bool_t useDigiQa;
128 Bool_t useHitQa;
130
131 Int_t fMode;
132
133 Bool_t fdraw;
134
135 // Double_t GetImpactParameterRadius(CbmLitTrackParam etrack);
136 // Double_t GetImpactParameterX(CbmLitTrackParam etrack);
137 // Double_t GetImpactParameterY(CbmLitTrackParam etrack);
138
139 // Double_t GetTransverseMomentum(CbmLitTrackParam etrack);
140 // Double_t GetMomentum(CbmLitTrackParam etrack);
141 // Double_t GetMomentumZ(CbmLitTrackParam etrack);
142 // Double_t GetAngle(CbmLitTrackParam etrack);
143
144 void SetupHistograms();
145 void SetupMCHistograms();
146 void SetupDigiHistograms();
147 void SetupHitHistograms();
149
150 void ExecDigiQa();
151 void ExecHitQa();
152 void ExecMCQa();
153 void ExecTrackQa();
154
155 void FinishMCQa();
156 void FinishDigiQa();
157 void FinishHitQa();
158 void FinishTrackQa();
159
160 Bool_t HasHitFirstMvd(CbmStsTrack* stsTrack);
161 Bool_t HasHitFirstTrue(Int_t MCtrackID, CbmStsTrack* stsTrack);
162
163 void GetFirstMCPos(CbmStsTrack* stsTrack, Float_t* pos);
164 void GetFirstMvdHitPos(CbmStsTrack* stsTrack, Float_t* hitPos);
165
166
168};
169
170
171#endif
void SetMatches(Int_t MCtrackID, CbmStsTrack *stsTrack)
Definition CbmMvdQa.cxx:928
Bool_t useTrackQa
Definition CbmMvdQa.h:129
static const Int_t f2FSize
Definition CbmMvdQa.h:107
TH1F * fHits1F[30]
Definition CbmMvdQa.h:115
TClonesArray * fMvdDigis
Definition CbmMvdQa.h:97
void FinishDigiQa()
Definition CbmMvdQa.cxx:999
Bool_t fdraw
Definition CbmMvdQa.h:133
void SetUseDigiQa()
Definition CbmMvdQa.h:58
Int_t fFirstMvdPos
Definition CbmMvdQa.h:76
TClonesArray * fMcPoints
Definition CbmMvdQa.h:96
void SetupMCHistograms()
Definition CbmMvdQa.cxx:189
void Exec(Option_t *opt)
Definition CbmMvdQa.cxx:539
Bool_t useDigiQa
Definition CbmMvdQa.h:127
TH1F * fMC1F[30]
Definition CbmMvdQa.h:109
void SetOutFile(TFile *outFile)
Definition CbmMvdQa.h:62
Int_t fnrTrackslowP
Definition CbmMvdQa.h:79
void ExecDigiQa()
Definition CbmMvdQa.cxx:566
void FinishHitQa()
TClonesArray * fInfoArray
Definition CbmMvdQa.h:104
TClonesArray * fBadTracks
Definition CbmMvdQa.h:102
TH1F * fDigi1F[30]
Definition CbmMvdQa.h:112
CbmVertex * fSecVtx
Definition CbmMvdQa.h:122
Bool_t useHitQa
Definition CbmMvdQa.h:128
void ExecHitQa()
Definition CbmMvdQa.cxx:614
void ExecTrackQa()
Definition CbmMvdQa.cxx:651
Int_t fnrTracksHighP
Definition CbmMvdQa.h:80
Int_t fhigh
Definition CbmMvdQa.h:83
void SetupDigiHistograms()
Definition CbmMvdQa.cxx:210
CbmMvdQa & operator=(const CbmMvdQa &)=delete
TClonesArray * fStsTrackMatches
Definition CbmMvdQa.h:88
void SetMinHitReq(Int_t nrOfHits)
Definition CbmMvdQa.h:49
TClonesArray * fMvdCluster
Definition CbmMvdQa.h:98
void SetUseHitQa()
Definition CbmMvdQa.h:59
Int_t fEventNumber
Definition CbmMvdQa.h:69
Int_t fUsedTracks
Definition CbmMvdQa.h:73
TClonesArray * fStsTrackArrayP
Definition CbmMvdQa.h:86
TClonesArray * fListMCTracks
Definition CbmMvdQa.h:92
TH2F * fDigi2F[30]
Definition CbmMvdQa.h:113
void SetUseMcQa()
Definition CbmMvdQa.h:57
Int_t fminHitReq
Definition CbmMvdQa.h:70
TClonesArray * fMCTrackArrayN
Definition CbmMvdQa.h:94
void FinishMCQa()
Definition CbmMvdQa.cxx:986
Int_t fMode
Definition CbmMvdQa.h:131
Int_t fBadTrack
Definition CbmMvdQa.h:72
TClonesArray * fMvdHitMatchArray
Definition CbmMvdQa.h:100
TClonesArray * fMvdDigiMatchArray
Definition CbmMvdQa.h:101
ClassDef(CbmMvdQa, 1)
TClonesArray * fStsTrackArrayN
Definition CbmMvdQa.h:87
Int_t flow
Definition CbmMvdQa.h:81
void Finish()
Definition CbmMvdQa.cxx:971
void GetFirstMvdHitPos(CbmStsTrack *stsTrack, Float_t *hitPos)
Definition CbmMvdQa.cxx:837
void SetupHistograms()
Definition CbmMvdQa.cxx:179
void SetUseTrackQa()
Definition CbmMvdQa.h:60
void GetFirstMCPos(CbmStsTrack *stsTrack, Float_t *pos)
Definition CbmMvdQa.cxx:896
CbmMvdQa(const CbmMvdQa &)=delete
TH1F * fTracks1F[f1FSize]
Definition CbmMvdQa.h:118
CbmMvdDetector * fDetector
Definition CbmMvdQa.h:124
Bool_t HasHitFirstMvd(CbmStsTrack *stsTrack)
Definition CbmMvdQa.cxx:850
TClonesArray * fStsTrackArray
Definition CbmMvdQa.h:85
TFile * foutFile
Definition CbmMvdQa.h:66
Bool_t useMcQa
Definition CbmMvdQa.h:126
Int_t fnrOfMergedHits
Definition CbmMvdQa.h:74
void SetupHitHistograms()
Definition CbmMvdQa.cxx:252
TH2F * fTracks2F[f2FSize]
Definition CbmMvdQa.h:119
InitStatus Init()
Definition CbmMvdQa.cxx:110
void FinishTrackQa()
void ExecMCQa()
Definition CbmMvdQa.cxx:552
TClonesArray * fMvdHits
Definition CbmMvdQa.h:99
TClonesArray * fGlobalTrackArray
Definition CbmMvdQa.h:89
CbmVertex * fPrimVtx
Definition CbmMvdQa.h:121
Int_t fmid
Definition CbmMvdQa.h:82
TClonesArray * fMCTrackArrayP
Definition CbmMvdQa.h:93
TH2F * fHits2F[30]
Definition CbmMvdQa.h:116
Int_t fNHitsOfLongTracks
Definition CbmMvdQa.h:68
Bool_t HasHitFirstTrue(Int_t MCtrackID, CbmStsTrack *stsTrack)
Definition CbmMvdQa.cxx:863
void SetupTrackHistograms()
Definition CbmMvdQa.cxx:295
void SetDrawOutput()
Definition CbmMvdQa.h:63
static const Int_t f1FSize
Definition CbmMvdQa.h:106
TH2F * fMC2F[30]
Definition CbmMvdQa.h:110
Float_t fMvdRecoRatio
Definition CbmMvdQa.h:71