PandaRoot
PndFTSParticlePerformanceBase.h
Go to the documentation of this file.
1 //-*- Mode: C++ -*-
2 // $Id: PndFTSParticlePerformanceBase.h,v 1.10 2010/09/01 10:38:27 ikulakov Exp $
3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project *
5 // ALICE Experiment at CERN, All rights reserved. *
6 // See cxx source for full Copyright notice *
7 // *
8 //*************************************************************************
9 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
10 
11 #ifndef PNDFTSParticlePERFORMANCEBASE_H
12 #define PNDFTSParticlePERFORMANCEBASE_H
13 
14 #include "PndFTSCounters.h"
15 
16 #include "PndFTSPerformanceBase.h"
17 
18 #include "PndFTSCADef.h"
19 #include "PndFTSArray.h"
20 #include "PndFTSCAMCTrack.h"
21 #include "PndFTSCAMCPoint.h"
22 #include <fstream>
23 #include <cstdio>
24 #include <map>
25 
26 #include "KFPartEfficiencies.h"
27 
28 #include <string>
29 using std::string;
30 
31 #include <iostream>
32 using std::istream;
33 using std::ostream;
34 
35 class TObject;
36 class TParticle;
37 class PndFTSCAMCPoint;
38 class PndFTSCAGBTracker;
39 class TDirectory;
40 class TH1;
41 class TH1F;
42 class TH2F;
43 class TFile;
44 
45 class KFParticle;
46 
50 class PndFTSParticlePerformanceBase : public PndFTSPerformanceBase {
51  public:
52  PndFTSParticlePerformanceBase();
53  virtual ~PndFTSParticlePerformanceBase(){};
54 
56  virtual void CreateHistos(string histoDir = "", TFile *outFile = 0);
57 
58  protected:
59  virtual void FillHistos();
60 
62  enum { NTrackPulls = 12, NTrackPullsAtProdVertex = 12, NVertexPulls = 6 };
63 
64  // for KFParticleFinder
65 
66  vector<KFParticle> *fParticles;
67  KFParticle *fPV;
68  // Arrays of points, tracks, etc
69 
70  // Names of files
71  TString outfileName;
72  TDirectory *histodir;
73 
74  // efficiencies
75  KFPartEfficiencies fParteff;
76  int fNEvents;
77 
78  // histos
79  static const int nFitQA = 16;
80  TH1F *hFitDaughtersQA[KFPartEfficiencies::nParticles][nFitQA];
81  TH1F *hFitQA[KFPartEfficiencies::nParticles][nFitQA];
82 
83  static const int nHistoPartParam = 12;
84  TH1F *hPartParam[KFPartEfficiencies::nParticles][nHistoPartParam]; // mass, p, pt, Y, decay length, c*tau, chi/ndf, prob, theta, phi, z
85  TH1F *hPartParamBG[KFPartEfficiencies::nParticles][nHistoPartParam];
86  TH1F *hPartParamGhost[KFPartEfficiencies::nParticles][nHistoPartParam];
87  // TH1F *hPartParamCorrBG[KFPartEfficiencies::nParticles][nHistoPartParam];
88  TH1F *hPartParamSignal[KFPartEfficiencies::nParticles][nHistoPartParam];
89  static const int nHistoPartParamQA = 3;
90  TH1F *hPartParamQA[KFPartEfficiencies::nParticles][nHistoPartParamQA * 2]; // residuals and pulls of these parameters
91 
92  static const int nHistoPartParam2D = 1;
93  TH2F *hPartParam2D[KFPartEfficiencies::nParticles][nHistoPartParam2D]; // y-pt,
94  TH2F *hPartParam2DBG[KFPartEfficiencies::nParticles][nHistoPartParam2D];
95  TH2F *hPartParam2DGhost[KFPartEfficiencies::nParticles][nHistoPartParam2D];
96  // TH2F *hPartParam2DCorrBG[KFPartEfficiencies::nParticles][nHistoPartParam2D];
97  TH2F *hPartParam2DSignal[KFPartEfficiencies::nParticles][nHistoPartParam2D];
98 
99  static const int nHistosPV = 6;
100  TH1F *hPVFitQa[nHistosPV];
101 
102  static const int nHistosTP = KFPartEfficiencies::nParticles + 1;
103  TH1F *hTrackParameters[nHistosTP];
104 };
105 
106 #endif
107 #endif // DO_TPCCATRACKER_EFF_PERFORMANCE
basic_istream< char, char_traits< char > > istream
basic_ostream< char, char_traits< char > > ostream
static const int nParticles