22 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
24 #ifndef KFParticlePERFORMANCEBASE_H
25 #define KFParticlePERFORMANCEBASE_H
28 #include "AliHLTTPCCounters.h"
30 #include "AliHLTTPCPerformanceBase.h"
32 #include "AliHLTTPCCADef.h"
33 #include "AliHLTArray.h"
34 #include "AliHLTTPCCAMCTrack.h"
35 #include "AliHLTTPCCAMCPoint.h"
68 class KFParticlePerformanceBase
70 :
public AliHLTTPCPerformanceBase
75 KFParticlePerformanceBase();
76 virtual ~KFParticlePerformanceBase(){};
79 virtual void CreateHistos(
std::string histoDir =
"", TDirectory* outFile = 0, std::map<int,bool> decays = std::map<int,bool>());
80 TDirectory* GetHistosDirectory() {
return fHistoDir; }
84 void DoNotStoreMCHistograms() { fStoreMCHistograms = 0; }
87 void DoNotStorePrimSecHistograms() { fStorePrimSecHistograms = 0; }
90 void DoNotStoreZRHistograms() { fStoreZRHistograms = 0; }
93 const TH1F* GetDecayResidual(
const int iDecay,
const int iParameter)
const {
return hFitQA[iDecay][iParameter]; }
95 const TH1F* GetDecayPull(
const int iDecay,
const int iParameter)
const {
return hFitQA[iDecay][iParameter+nFitQA/2]; }
104 TDirectory* histodir;
107 bool fStoreMCHistograms;
108 bool fStorePrimSecHistograms;
109 bool fStoreZRHistograms;
112 static const int nFitQA = 16;
120 static const int nDSToParticleQA = 7;
125 static const int nHistoPartParam = 18;
128 static const int nParametersSet = 7;
137 static const int nHistoPartParam2D = 4;
146 static const int nHistoPartParam3D = 6;
149 static const int nPartEfficiency = 9;
151 static const int nPartEfficiency2D = 2;
154 static const int nHistosPV = 7;
155 TH1F *hPVFitQa[2][nHistosPV];
156 TH2F *hPVFitQa2D[2][2][nHistosPV-1];
160 static const int nHistosPVParam = 15;
161 TH1F *hPVParam[nHistosPVParam];
162 TH1F *hPVParamGhost[nHistosPVParam];
163 TH1F *hPVParamSignal[nHistosPVParam];
164 TH1F *hPVParamPileup[nHistosPVParam];
165 TH1F *hPVParamBG[nHistosPVParam];
166 static const int nHistosPVParam2D = 1;
167 TH2F *hPVParam2D[nHistosPVParam2D];
169 static const int nFitPVTracksQA = 12;
170 TH1F *hFitPVTracksQA[nFitPVTracksQA];
175 TH1F *hTrackParameters[nHistosTP];
177 static const int nPVefficiency = 6;
178 TProfile* hPVefficiency[4][nPVefficiency];
180 TDirectory *fHistoDir;
182 bool IsCollectZRHistogram(
int iParticle)
const;
183 bool IsCollect3DHistogram(
int iParticle)
const;
184 bool IsCollectArmenteros(
int iParticle)
const;
187 const KFParticlePerformanceBase&
operator = (
const KFParticlePerformanceBase&);
188 KFParticlePerformanceBase(
const KFParticlePerformanceBase&);
190 void CreateFitHistograms(TH1F* histo[nFitQA],
int iPart);
191 void CreateEfficiencyHistograms(TProfile* histo[3][nPartEfficiency], TProfile2D* histo2[3][nPartEfficiency2D]);
195 int iPart,
bool drawZR = 0);
196 void CreateParameterSubfolder(TString folderName,
201 TString GetDirectoryPath();
205 #endif //DO_TPCCATRACKER_EFF_PERFORMANCE