BmnRoot
Loading...
Searching...
No Matches
CbmKFTrackFitQA.h
Go to the documentation of this file.
1/*
2 *====================================================================
3 *
4 * CBM KF Track Quality
5 *
6 * Authors: M.Zyzak
7 *
8 * e-mail :
9 *
10 *====================================================================
11 *
12 * KF Fit performance
13 *
14 *====================================================================
15 */
16
17#ifndef _CbmKFTrackFitQA_h_
18#define _CbmKFTrackFitQA_h_
19
20#include "FairTask.h"
21
22#include "CbmKFTrack.h"
23#include "CbmMCTrack.h"
24#include "CbmStsPoint.h"
25#include "CbmMvdPoint.h"
26#include "CbmTrackMatch.h"
27#include "CbmStsTrack.h"
28#include "CbmStsHit.h"
29#include "CbmStsCluster.h"
30#include "CbmStsDigi.h"
31#include "CbmMvdHit.h"
32#include "CbmMvdHitMatch.h"
33
34#include "CbmKFTrErrMCPoints.h"
35
36#include "TClonesArray.h"
37#include "TH1.h"
38#include "TProfile.h"
39
40#include <iostream>
41#include <vector>
42
43class CbmKFTrackFitQA :public FairTask
44{
45 public:
46
49
50 void StsHitMatch();
51 void FillHitHistos();
52 void FillHistoAtParticleVertex(CbmMCTrack *track_mc, CbmKFTrack *track_kf);
53 void FillHistoAtFirstPoint(CbmKFTrErrMCPoints *mc_points, CbmMCTrack *track_mc, CbmKFTrack *track_kf);
54 void Write();
55 void FindBackTracks(CbmKFTrErrMCPoints *mc_points, CbmMCTrack *track_mc, CbmKFTrack *track_kf, int iEvent);
56 void FindBackTracks();
57 void Save();
58
59 void SetOutFile(TString outname) {outfileName = outname;}
60
61 virtual InitStatus ReInit();
62 virtual InitStatus Init();
63 void Exec(Option_t * option);
64 void Finish();
65
66 private:
67// Arrays of points, tracks, etc
68
69 TClonesArray *listStsPts;
70 TClonesArray *listMvdPts;
71 TClonesArray *listMCTracks;
72 TClonesArray *listStsTracksMatch;
73 TClonesArray *listStsTracks;
74 TClonesArray *listStsHits;
75 TClonesArray *listMvdHits;
76 TClonesArray *listMvdHitMatches;
77 TClonesArray *listStsClusters;
78 TClonesArray *listStsDigi;
79
80
81// Names of files
82 TString outfileName;
83
84 vector<int> vStsHitMatch;
85
86// histograms
87
88 //hit parameters
89 TH1F *res_STShit_x;
90 TH1F *res_STShit_y;
91 TH1F *pull_STShit_x;
92 TH1F *pull_STShit_y;
93
94 TH1F *res_MVDhit_x;
95 TH1F *res_MVDhit_y;
96 TH1F *pull_MVDhit_x;
97 TH1F *pull_MVDhit_y;
98
99
100 //track parameters at the particle vertex
101 TH1F *res_AtPV_x;
102 TH1F *res_AtPV_y;
103 TH1F *res_AtPV_tx;
104 TH1F *res_AtPV_ty;
105 TH1F *res_AtPV_qp;
106
107 TH1F *pull_AtPV_x;
108 TH1F *pull_AtPV_y;
109 TH1F *pull_AtPV_tx;
110 TH1F *pull_AtPV_ty;
111 TH1F *pull_AtPV_qp;
112
113 //track parameters at the first MC point of the track
114 TH1F *res_AtFP_x;
115 TH1F *res_AtFP_y;
116 TH1F *res_AtFP_tx;
117 TH1F *res_AtFP_ty;
118 TH1F *res_AtFP_qp;
119
120 TH1F *pull_AtFP_x;
121 TH1F *pull_AtFP_y;
122 TH1F *pull_AtFP_tx;
123 TH1F *pull_AtFP_ty;
124 TH1F *pull_AtFP_qp;
125
126 //Q detertmination quality
127 TProfile *q_QA;
128 TProfile *dp_p;
129
130 TH1F *ggg;
131
132 int Nback;
133 //FILE *fBack;
134
135 ClassDef(CbmKFTrackFitQA,1);
136 private:
138 void operator=(const CbmKFTrackFitQA&);
139};
140
141#endif // _CbmKFTrackFitQA_h_
virtual InitStatus ReInit()
void SetOutFile(TString outname)
void FillHistoAtParticleVertex(CbmMCTrack *track_mc, CbmKFTrack *track_kf)
void FillHistoAtFirstPoint(CbmKFTrErrMCPoints *mc_points, CbmMCTrack *track_mc, CbmKFTrack *track_kf)
void Exec(Option_t *option)
virtual InitStatus Init()