CbmRoot
Loading...
Searching...
No Matches
CbmLitFitQa.h
Go to the documentation of this file.
1/* Copyright (C) 2011-2017 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
12#ifndef CBMLITFITQA_H_
13#define CBMLITFITQA_H_
14
15#include "CbmDefs.h"
16#include "CbmStsKFTrackFitter.h"
17#include "FairTask.h"
19
20#include <string>
21
22class CbmHistManager;
23class CbmVertex;
24class FairTrackParam;
25class CbmLitMCPoint;
27class CbmMCDataArray;
28class CbmEvent;
29
30using std::string;
31
43class CbmLitFitQa : public FairTask {
44 public:
49
53 virtual ~CbmLitFitQa();
54
58 virtual InitStatus Init();
59
63 virtual void Exec(Option_t* opt);
64
68 virtual void Finish();
69
70 /* Setters */
71 void SetMvdMinNofHits(Int_t minNofHits) { fMvdMinNofHits = minNofHits; }
72 void SetStsMinNofHits(Int_t minNofHits) { fStsMinNofHits = minNofHits; }
73 void SetTrdMinNofHits(Int_t minNofHits) { fTrdMinNofHits = minNofHits; }
74 void SetMuchMinNofHits(Int_t minNofHits) { fMuchMinNofHits = minNofHits; }
75 void SetOutputDir(const string& dir) { fOutputDir = dir; }
76 void SetFixedBounds(Bool_t isFixedBounds) { fIsFixedBounds = isFixedBounds; }
77
78 void SetPRange(Int_t bins, Int_t min, Int_t max)
79 {
80 fPRangeBins = bins;
83 }
84
85 private:
89 void ReadDataBranches();
90
92
93 void ProcessStsTrack(Int_t trackId);
94
95 void ProcessTrdTrack(Int_t trackId);
96
97 void ProcessMuchTrack(Int_t trackId);
98
99 void FillResidualsAndPulls(const FairTrackParam* par, const CbmLitMCPoint* mcPoint, const string& histName,
100 Float_t wrongPar, ECbmModuleId detId);
101
102 void FillTrackParamHistogramm(const string& histName, const FairTrackParam* par);
103
106
108
109 void CreateHistograms();
110
111 void CreateResidualAndPullHistograms(ECbmModuleId detId, const string& detName);
112
113 void CreateTrackParamHistograms(ECbmModuleId detId, const string& detName);
114
115 Bool_t fIsFixedBounds; // if true than fixed bounds are used for histograms
116
117 Int_t fMvdMinNofHits; // Cut on minimum number of hits in track in MVD
118 Int_t fStsMinNofHits; // Cut on minimum number of hits in track in STS
119 Int_t fTrdMinNofHits; // Cut on minimum number of hits in track in TRD
120 Int_t fMuchMinNofHits; // Cut on minimum number of hits in track in MUCH
121
122 string fOutputDir; // Output directory for images
123
124 Double_t fPRangeMin; // Min momentum
125 Double_t fPRangeMax; // Max momentum
126 Int_t fPRangeBins; // Number of bins
127
128 CbmHistManager* fHM; // Histogram manager
129
130 // Data branches
131 TClonesArray* fGlobalTracks; // CbmGlobalTrack array
132 TClonesArray* fStsTracks; // CbmStsTrack array
133 TClonesArray* fStsTrackMatches; // CbmTrackMatchNew array
134 TClonesArray* fStsHits; // CbmStsHit
135 TClonesArray* fMvdHits; // CbmMvdHit
136 TClonesArray* fTrdTracks; // CbmTrdTrack array
137 TClonesArray* fTrdTrackMatches; // CbmTrackMatchNew array
138 TClonesArray* fTrdHits; // CbmTrdHit array
139 TClonesArray* fMuchTracks; // CbmStsTrack array
140 TClonesArray* fMuchTrackMatches; // CbmTrackMatchNew array
141 TClonesArray* fMuchPixelHits; // CbmMuchPixelHit array
142 TClonesArray* fMuchStripHits; // CbmMuchStripHit array
143 CbmMCDataArray* fMCTracks; // CbmMCTrack array
144 TClonesArray* fEvents;
145
146 Double_t fQuota; // percent of correctly attached hits
147
148 CbmVertex* fPrimVertex; // Pointer to the primary vertex
149 CbmStsKFTrackFitter fKFFitter; // Pointer to the Kalman Filter Fitter algorithm
150
151 CbmLitMCTrackCreator* fMCTrackCreator; // MC track creator tool
152
153 CbmLitDetectorSetup fDet; // For detector setup determination
154
157
158 ClassDef(CbmLitFitQa, 1)
159};
160
161#endif /* CBMLITFITQA_H_ */
ECbmModuleId
Definition CbmDefs.h:39
Helper class to access detector presence.
friend fscal max(fscal x, fscal y)
friend fscal min(fscal x, fscal y)
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
Histogram manager.
Helper class to access detector presence.
Track fit QA for track reconstruction.
Definition CbmLitFitQa.h:43
void SetStsMinNofHits(Int_t minNofHits)
Definition CbmLitFitQa.h:72
TClonesArray * fGlobalTracks
Int_t fTrdMinNofHits
CbmMCDataArray * fMCTracks
CbmVertex * fPrimVertex
TClonesArray * fStsTrackMatches
virtual ~CbmLitFitQa()
Destructor.
CbmLitFitQa(const CbmLitFitQa &)
void ProcessTrackMomentumAtVertex()
void CreateHistograms()
TClonesArray * fTrdTrackMatches
CbmStsKFTrackFitter fKFFitter
Int_t fPRangeBins
TClonesArray * fMuchPixelHits
TClonesArray * fEvents
TClonesArray * fTrdTracks
Double_t fPRangeMax
Bool_t fIsFixedBounds
TClonesArray * fTrdHits
void SetTrdMinNofHits(Int_t minNofHits)
Definition CbmLitFitQa.h:73
Double_t fPRangeMin
void ProcessTrackParamsAtVertex()
void ProcessStsTrack(Int_t trackId)
void ReadDataBranches()
Reads data branches.
TClonesArray * fMvdHits
void FillTrackParamHistogramm(const string &histName, const FairTrackParam *par)
void SetPRange(Int_t bins, Int_t min, Int_t max)
Definition CbmLitFitQa.h:78
CbmLitFitQa & operator=(const CbmLitFitQa &)
TClonesArray * fStsTracks
Int_t fMvdMinNofHits
CbmLitDetectorSetup fDet
virtual InitStatus Init()
Inherited from FairTask.
void FillResidualsAndPulls(const FairTrackParam *par, const CbmLitMCPoint *mcPoint, const string &histName, Float_t wrongPar, ECbmModuleId detId)
virtual void Finish()
Inherited from FairTask.
Double_t fQuota
void CreateTrackParamHistograms(ECbmModuleId detId, const string &detName)
Int_t fMuchMinNofHits
TClonesArray * fMuchTrackMatches
CbmLitFitQa()
Constructor.
void ProcessGlobalTracks()
TClonesArray * fStsHits
Int_t fStsMinNofHits
string fOutputDir
CbmLitMCTrackCreator * fMCTrackCreator
void SetOutputDir(const string &dir)
Definition CbmLitFitQa.h:75
TClonesArray * fMuchTracks
void SetMvdMinNofHits(Int_t minNofHits)
Definition CbmLitFitQa.h:71
void CreateResidualAndPullHistograms(ECbmModuleId detId, const string &detName)
CbmHistManager * fHM
virtual void Exec(Option_t *opt)
Inherited from FairTask.
void SetMuchMinNofHits(Int_t minNofHits)
Definition CbmLitFitQa.h:74
void ProcessMuchTrack(Int_t trackId)
void SetFixedBounds(Bool_t isFixedBounds)
Definition CbmLitFitQa.h:76
TClonesArray * fMuchStripHits
void ProcessTrdTrack(Int_t trackId)
Monte-Carlo point.
Creates CbmLitMCTrack objects.
Access to a MC data branch for time-based analysis.