BmnRoot
Loading...
Searching...
No Matches
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 "FairTrackParam.h"
21#include "CbmStsPoint.h"
22#include "CbmMvdPoint.h"
23#include "CbmStsTrack.h"
24#include "FairTask.h"
25#include "CbmMCTrack.h"
26#include "CbmVertex.h"
27
28#include "TClonesArray.h"
29
30#include "TH1D.h"
31#include "TH2D.h"
32
33class CbmStsFitPerformanceTask : public FairTask
34{
35
36public:
37
39 CbmStsFitPerformanceTask(const char *name="CbmStsFitPerformanceTask", Int_t iVerbose = 1);
40
41
44
45
47 InitStatus Init();
48
50 InitStatus ReInit();
51
52
54 void Exec(Option_t* option);
55
56
58 void Finish();
59
67 void FillMCStateVectors(CbmStsPoint* point, Double_t mc[], Bool_t out = 0);
68 void FillMCStateVectors(CbmMvdPoint* point, Double_t mc[], Bool_t out = 0);
69
71 void FillTrackHisto(const Double_t mc[6], CbmStsTrack *track, TH1D* hist[10]);
72
74 void FillVertexHisto(TVector3 &mc, CbmVertex *V, TH1D* hist[8] );
75
77 Bool_t IsLong(CbmStsTrack* track);
78
79 void DoTrackAnalysis(const bool ok=1 ) {fTrackAnalysis=ok;}
80 void DoVertexAnalysis(const bool ok=1 ) {fVertexAnalysis=ok;}
81 void DoD0Analysis(const bool ok=1 ) {fD0Analysis=ok;}
82
83 Double_t GetCharge(CbmMCTrack* mcTrack);
84
85 protected:
86
87 void CreateTrackHisto(TH1D* hist[10], const char* name, const char* title );
88 void CreateVertexHisto(TH1D* hist[9], const char* name, const char* title );
89 void CreateD0Histo(TH1D* hist[14], const char* name, const char* title );
90
91 Int_t fEvent;
93
94 TClonesArray* fMCTrackArray;
95 TClonesArray* fStsPointArray;
96 TClonesArray* fMvdPointArray;
97 TClonesArray* fRecStsTrackArray;
98 TClonesArray* fStsHitArray;
99 TClonesArray* fMvdHitArray;
101 TClonesArray* fSTSTrackMatch;
102
103 TH1D* fhChi2; // x=chi2; y=entries for all
104 TH1D* fhProb; // x=Prob function; y=entries for all
105 TH1D* fhDP;
106 TH2D* fhDP2;
107 TH1D* fhDsP;
108 TH2D* fhDsP2;
109
110 TH1D *fhZMCf, *fhZMCl; // z first/last of MC track
111 TH1D *fhZRecof, *fhZRecol; // z first/last of Reco track
112
113 TH2D *fhRes_vs_Mom_f, *fhRes_vs_Mom_l; // resolution vs momentum
114 TH2D *fhExtraTracks2ndMVD; // extra tracks not detected in the second mvd chamber
115
116 TH1D* fhFrst[10];
117 TH1D* fhMid[10];
118 TH1D* fhLast[10];
119 TH1D* fhImp[10];
120 TH1D* fhImpPi[10];
121 TH1D* fhVfit[10];
122 TH1D* fhVtx[9];
123 TH1D* fhV[13][9];
124 TH2D* fhPq;
125 TH1D *fhD0[4][14];
126
127 TH1D *fhHitDensity[10];
130
131 TDirectory *histodir;
133
135 private:
137 void operator=(const CbmStsFitPerformanceTask&);
138};
139
140#endif
TClonesArray * fMCTrackArray
MCTracks.
void FillMCStateVectors(CbmStsPoint *point, Double_t mc[], Bool_t out=0)
Bool_t IsLong(CbmStsTrack *track)
TClonesArray * fMvdHitArray
Sts hits.
TClonesArray * fStsHitArray
Sts hits.
CbmVertex * fPrimaryVertex
Primary vertex.
void DoTrackAnalysis(const bool ok=1)
TClonesArray * fSTSTrackMatch
Related MC tracks.
TClonesArray * fMvdPointArray
StsPoints.
Double_t GetCharge(CbmMCTrack *mcTrack)
TClonesArray * fRecStsTrackArray
Reconstructed StsTracks.
void CreateTrackHisto(TH1D *hist[10], const char *name, const char *title)
void FillVertexHisto(TVector3 &mc, CbmVertex *V, TH1D *hist[8])
void FillTrackHisto(const Double_t mc[6], CbmStsTrack *track, TH1D *hist[10])
void CreateD0Histo(TH1D *hist[14], const char *name, const char *title)
void DoVertexAnalysis(const bool ok=1)
TClonesArray * fStsPointArray
StsPoints.
ClassDef(CbmStsFitPerformanceTask, 1)
void DoD0Analysis(const bool ok=1)
void CreateVertexHisto(TH1D *hist[9], const char *name, const char *title)