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