CbmRoot
CbmStsFitPerformanceTask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmStsFitPerformanceTask header file -----
3 // ----- Created 27/01/05 by E. Kryshen -----
4 // -------------------------------------------------------------------------
5 
6 
15 #ifndef CBMSTSFITPERFORMANCE_H
16 #define CBMSTSFITPERFORMANCE_H
17 
18 #include "CbmStsKFTrackFitter.h"
19 
20 #include "CbmMCTrack.h"
21 #include "CbmMvdPoint.h"
22 #include "CbmStsPoint.h"
23 #include "CbmStsTrack.h"
24 #include "CbmVertex.h"
25 #include "FairTask.h"
26 #include "FairTrackParam.h"
27 
28 #include "TClonesArray.h"
29 
30 #include "TH1D.h"
31 #include "TH2D.h"
32 
33 class CbmStsFitPerformanceTask : public FairTask {
34 
35 public:
37  CbmStsFitPerformanceTask(const char* name = "CbmStsFitPerformanceTask",
38  Int_t iVerbose = 1);
39 
40 
43 
44 
46  InitStatus Init();
47 
49  InitStatus ReInit();
50 
51 
53  void Exec(Option_t* option);
54 
55 
57  void Finish();
58 
66  void FillMCStateVectors(CbmStsPoint* point, Double_t mc[], Bool_t out = 0);
67  void FillMCStateVectors(CbmMvdPoint* point, Double_t mc[], Bool_t out = 0);
68 
70  void FillTrackHisto(const Double_t mc[6], CbmStsTrack* track, TH1D* hist[10]);
71 
73  void FillVertexHisto(TVector3& mc, CbmVertex* V, TH1D* hist[8]);
74 
76  Bool_t IsLong(CbmStsTrack* track);
77 
78  void DoTrackAnalysis(const bool ok = 1) { fTrackAnalysis = ok; }
79  void DoVertexAnalysis(const bool ok = 1) { fVertexAnalysis = ok; }
80  void DoD0Analysis(const bool ok = 1) { fD0Analysis = ok; }
81 
82  Double_t GetCharge(CbmMCTrack* mcTrack);
83 
84 protected:
85  void CreateTrackHisto(TH1D* hist[10], const char* name, const char* title);
86  void CreateVertexHisto(TH1D* hist[9], const char* name, const char* title);
87  void CreateD0Histo(TH1D* hist[14], const char* name, const char* title);
88 
89  Int_t fEvent;
91 
92  TClonesArray* fMCTrackArray;
93  TClonesArray* fStsPointArray;
94  TClonesArray* fMvdPointArray;
95  TClonesArray* fRecStsTrackArray;
96  TClonesArray* fStsHitArray;
97  TClonesArray* fMvdHitArray;
99  TClonesArray* fSTSTrackMatch;
100 
101  TH1D* fhChi2; // x=chi2; y=entries for all
102  TH1D* fhProb; // x=Prob function; y=entries for all
103  TH1D* fhDP;
104  TH2D* fhDP2;
105  TH1D* fhDsP;
106  TH2D* fhDsP2;
107 
108  TH1D *fhZMCf, *fhZMCl; // z first/last of MC track
109  TH1D *fhZRecof, *fhZRecol; // z first/last of Reco track
110 
111  TH2D *fhRes_vs_Mom_f, *fhRes_vs_Mom_l; // resolution vs momentum
112  TH2D*
113  fhExtraTracks2ndMVD; // extra tracks not detected in the second mvd chamber
114 
115  TH1D* fhFrst[10];
116  TH1D* fhMid[10];
117  TH1D* fhLast[10];
118  TH1D* fhImp[10];
119  TH1D* fhImpPi[10];
120  TH1D* fhVfit[10];
121  TH1D* fhVtx[9];
122  TH1D* fhV[13][9];
123  TH2D* fhPq;
124  TH1D* fhD0[4][14];
125 
126  TH1D* fhHitDensity[10];
127  TH1D* fhTrackDensity[8];
129 
130  TDirectory* histodir;
132 
134 
135 private:
138 };
139 
140 #endif
CbmStsFitPerformanceTask::Init
InitStatus Init()
Definition: CbmStsFitPerformanceTask.cxx:227
CbmStsFitPerformanceTask::CreateVertexHisto
void CreateVertexHisto(TH1D *hist[9], const char *name, const char *title)
Definition: CbmStsFitPerformanceTask.cxx:90
CbmStsFitPerformanceTask::fFitter
CbmStsKFTrackFitter fFitter
Definition: CbmStsFitPerformanceTask.h:131
CbmVertex.h
CbmStsFitPerformanceTask::~CbmStsFitPerformanceTask
~CbmStsFitPerformanceTask()
Definition: CbmStsFitPerformanceTask.cxx:224
CbmStsFitPerformanceTask::fhZMCf
TH1D * fhZMCf
Definition: CbmStsFitPerformanceTask.h:108
CbmStsFitPerformanceTask::fMCTrackArray
TClonesArray * fMCTrackArray
MCTracks.
Definition: CbmStsFitPerformanceTask.h:92
CbmStsFitPerformanceTask::fhChi2
TH1D * fhChi2
Definition: CbmStsFitPerformanceTask.h:101
CbmStsFitPerformanceTask::Exec
void Exec(Option_t *option)
Definition: CbmStsFitPerformanceTask.cxx:426
CbmStsFitPerformanceTask::FillTrackHisto
void FillTrackHisto(const Double_t mc[6], CbmStsTrack *track, TH1D *hist[10])
Definition: CbmStsFitPerformanceTask.cxx:894
CbmStsFitPerformanceTask::IsLong
Bool_t IsLong(CbmStsTrack *track)
Definition: CbmStsFitPerformanceTask.cxx:1029
CbmStsFitPerformanceTask::fMvdPointArray
TClonesArray * fMvdPointArray
StsPoints.
Definition: CbmStsFitPerformanceTask.h:94
CbmStsFitPerformanceTask::operator=
void operator=(const CbmStsFitPerformanceTask &)
CbmStsFitPerformanceTask::fhVfit
TH1D * fhVfit[10]
Definition: CbmStsFitPerformanceTask.h:120
CbmStsFitPerformanceTask::ReInit
InitStatus ReInit()
Definition: CbmStsFitPerformanceTask.cxx:388
CbmStsFitPerformanceTask::fEvent
Int_t fEvent
Definition: CbmStsFitPerformanceTask.h:89
CbmStsFitPerformanceTask::fStsHitArray
TClonesArray * fStsHitArray
Sts hits.
Definition: CbmStsFitPerformanceTask.h:96
CbmStsFitPerformanceTask::CreateD0Histo
void CreateD0Histo(TH1D *hist[14], const char *name, const char *title)
Definition: CbmStsFitPerformanceTask.cxx:118
CbmStsFitPerformanceTask::fSTSTrackMatch
TClonesArray * fSTSTrackMatch
Related MC tracks.
Definition: CbmStsFitPerformanceTask.h:99
CbmStsPoint
Definition: CbmStsPoint.h:27
CbmStsFitPerformanceTask::DoTrackAnalysis
void DoTrackAnalysis(const bool ok=1)
Definition: CbmStsFitPerformanceTask.h:78
CbmStsFitPerformanceTask::ClassDef
ClassDef(CbmStsFitPerformanceTask, 1)
CbmStsFitPerformanceTask::FillMCStateVectors
void FillMCStateVectors(CbmStsPoint *point, Double_t mc[], Bool_t out=0)
Definition: CbmStsFitPerformanceTask.cxx:958
CbmStsFitPerformanceTask::fhHitDensity
TH1D * fhHitDensity[10]
Definition: CbmStsFitPerformanceTask.h:126
CbmStsFitPerformanceTask::fhD0
TH1D * fhD0[4][14]
Definition: CbmStsFitPerformanceTask.h:124
CbmStsFitPerformanceTask::fhImpPi
TH1D * fhImpPi[10]
Definition: CbmStsFitPerformanceTask.h:119
CbmStsFitPerformanceTask::FillVertexHisto
void FillVertexHisto(TVector3 &mc, CbmVertex *V, TH1D *hist[8])
Definition: CbmStsFitPerformanceTask.cxx:936
CbmStsFitPerformanceTask::fhDsP
TH1D * fhDsP
Definition: CbmStsFitPerformanceTask.h:105
CbmMvdPoint.h
CbmStsTrack.h
Data class for STS tracks.
CbmMvdPoint
Definition: CbmMvdPoint.h:28
CbmStsFitPerformanceTask::DoD0Analysis
void DoD0Analysis(const bool ok=1)
Definition: CbmStsFitPerformanceTask.h:80
CbmStsFitPerformanceTask::fhImp
TH1D * fhImp[10]
Definition: CbmStsFitPerformanceTask.h:118
CbmStsKFTrackFitter
Definition: CbmStsKFTrackFitter.h:14
CbmStsFitPerformanceTask::fhZRecol
TH1D * fhZRecol
Definition: CbmStsFitPerformanceTask.h:109
CbmStsFitPerformanceTask::fPrimaryVertex
CbmVertex * fPrimaryVertex
Primary vertex.
Definition: CbmStsFitPerformanceTask.h:98
CbmStsFitPerformanceTask::fStsPointArray
TClonesArray * fStsPointArray
StsPoints.
Definition: CbmStsFitPerformanceTask.h:93
CbmStsFitPerformanceTask::Finish
void Finish()
Definition: CbmStsFitPerformanceTask.cxx:889
CbmStsFitPerformanceTask::fhPq
TH2D * fhPq
Definition: CbmStsFitPerformanceTask.h:123
CbmVertex
Definition: CbmVertex.h:26
CbmStsFitPerformanceTask::fhProb
TH1D * fhProb
Definition: CbmStsFitPerformanceTask.h:102
CbmStsFitPerformanceTask::CbmStsFitPerformanceTask
CbmStsFitPerformanceTask(const char *name="CbmStsFitPerformanceTask", Int_t iVerbose=1)
Definition: CbmStsFitPerformanceTask.cxx:152
CbmStsFitPerformanceTask::histodir
TDirectory * histodir
Definition: CbmStsFitPerformanceTask.h:130
CbmStsFitPerformanceTask::fhV
TH1D * fhV[13][9]
Definition: CbmStsFitPerformanceTask.h:122
CbmStsFitPerformanceTask::fhDP2
TH2D * fhDP2
Definition: CbmStsFitPerformanceTask.h:104
CbmStsFitPerformanceTask::fhVtx
TH1D * fhVtx[9]
Definition: CbmStsFitPerformanceTask.h:121
CbmStsFitPerformanceTask::fhDsP2
TH2D * fhDsP2
Definition: CbmStsFitPerformanceTask.h:106
CbmStsFitPerformanceTask::CbmStsFitPerformanceTask
CbmStsFitPerformanceTask(const CbmStsFitPerformanceTask &)
CbmStsFitPerformanceTask::fhZMCl
TH1D * fhZMCl
Definition: CbmStsFitPerformanceTask.h:108
CbmStsFitPerformanceTask::fhExtraTracks2ndMVD
TH2D * fhExtraTracks2ndMVD
Definition: CbmStsFitPerformanceTask.h:113
CbmStsFitPerformanceTask::fMvdHitArray
TClonesArray * fMvdHitArray
Sts hits.
Definition: CbmStsFitPerformanceTask.h:97
CbmStsFitPerformanceTask::fTrackAnalysis
Bool_t fTrackAnalysis
Definition: CbmStsFitPerformanceTask.h:90
CbmStsFitPerformanceTask::CreateTrackHisto
void CreateTrackHisto(TH1D *hist[10], const char *name, const char *title)
Definition: CbmStsFitPerformanceTask.cxx:62
CbmStsPoint.h
CbmMCTrack.h
CbmStsFitPerformanceTask
Definition: CbmStsFitPerformanceTask.h:33
CbmStsFitPerformanceTask::fhLast
TH1D * fhLast[10]
Definition: CbmStsFitPerformanceTask.h:117
CbmStsFitPerformanceTask::fhTrackDensity0L
TH1D * fhTrackDensity0L
Definition: CbmStsFitPerformanceTask.h:128
CbmStsFitPerformanceTask::fhRes_vs_Mom_l
TH2D * fhRes_vs_Mom_l
Definition: CbmStsFitPerformanceTask.h:111
CbmMCTrack
Definition: CbmMCTrack.h:34
CbmStsFitPerformanceTask::fD0Analysis
Bool_t fD0Analysis
Definition: CbmStsFitPerformanceTask.h:90
CbmStsFitPerformanceTask::GetCharge
Double_t GetCharge(CbmMCTrack *mcTrack)
Definition: CbmStsFitPerformanceTask.cxx:1016
CbmStsFitPerformanceTask::fhZRecof
TH1D * fhZRecof
Definition: CbmStsFitPerformanceTask.h:109
CbmStsFitPerformanceTask::fhFrst
TH1D * fhFrst[10]
Definition: CbmStsFitPerformanceTask.h:115
CbmStsFitPerformanceTask::fRecStsTrackArray
TClonesArray * fRecStsTrackArray
Reconstructed StsTracks.
Definition: CbmStsFitPerformanceTask.h:95
CbmStsFitPerformanceTask::fhRes_vs_Mom_f
TH2D * fhRes_vs_Mom_f
Definition: CbmStsFitPerformanceTask.h:111
CbmStsFitPerformanceTask::fhMid
TH1D * fhMid[10]
Definition: CbmStsFitPerformanceTask.h:116
CbmStsFitPerformanceTask::fhDP
TH1D * fhDP
Definition: CbmStsFitPerformanceTask.h:103
CbmStsTrack
Definition: CbmStsTrack.h:37
CbmStsFitPerformanceTask::DoVertexAnalysis
void DoVertexAnalysis(const bool ok=1)
Definition: CbmStsFitPerformanceTask.h:79
CbmStsFitPerformanceTask::fhTrackDensity
TH1D * fhTrackDensity[8]
Definition: CbmStsFitPerformanceTask.h:127
CbmStsFitPerformanceTask::fVertexAnalysis
Bool_t fVertexAnalysis
Definition: CbmStsFitPerformanceTask.h:90
CbmStsKFTrackFitter.h