FairRoot/PandaRoot
PndFTSTopoPerformance.h
Go to the documentation of this file.
1 //-*- Mode: C++ -*-
2 // ************************************************************************
3 // This file is property of and copyright by the ALICE HLT Project *
4 // ALICE Experiment at CERN, All rights reserved. *
5 // See cxx source for full Copyright notice *
6 // *
7 //*************************************************************************
8 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
9 
10 #ifndef PNDFTSTOPOPERFORMANCE_H
11 #define PNDFTSTOPOPERFORMANCE_H
12 
13 
15 
16 #include "PndFTSCADef.h"
17 #include "PndFTSArray.h"
18 
19 #include "PndFTSCAMCTrack.h"
20 #include "PndFTSCAMCPoint.h"
21 #include "PndFTSCAMCVertex.h"
22 #include <fstream>
23 #include <cstdio>
24 #include <map>
25 
26 #include "KFPartMatch.h"
27 #include "KFMCParticle.h"
28 
29 class TObject;
30 class TParticle;
31 class PndFTSCAMCPoint;
32 class PndFTSCAGBTracker;
34 class TDirectory;
35 class TH1D;
36 class TH2D;
37 class TProfile;
38 
39 class TFile;
40 class PndFTSCATracker;
41 
45 class PndFTSTopoPerformance: public PndFTSParticlePerformanceBase
46 {
47  public:
48 
49  PndFTSTopoPerformance();
50  virtual ~PndFTSTopoPerformance(){};
51 
52  virtual void SetNewEvent(
53  const PndFTSCAGBTracker * const Tracker,
57 
58  void SetNewEvent2( const PndFTSTopoReconstructor * const TopoReconstructor ); // use together with SetNewEvent !!!
59 
61  // Check if MC track is reconstructable. Calculate set of MC track. Etc.
62  virtual void CheckMCTracks(); // fill mcData.
63  // Find reco-MCTracks correspondence
64  virtual void MatchTracks(); // fill recoData.
65  // Calculate efficiencies
66  virtual void EfficiencyPerformance(){}; // current don't use eff
67 
68  virtual void PrintEfficiencyStatistic(){}; // current don't use eff
69  virtual void PrintEfficiency() {};
70 
72  // virtual void CreateHistos(string histoDir);
73  virtual void FillHistos();
74 
75  private:
76 
77  void GetMCParticles();
78  void MatchParticles();
79  void CalculateEfficiency();
80  void FindReconstructableMCParticles();
81  void CheckMCParticleIsReconstructable(KFMCParticle &part);
82 
83  const PndFTSTopoReconstructor *fTopoReconstructor;
84 
85  vector<PndFTSCAMCVertex> fPrimVertices; // primary vertex positions (currently only one vertex is implemented)
86 
87  vector<KFMCParticle> vMCParticles; // MC particles
88 
89  vector<KFPartMatch> MCtoRParticleId; // array for match MC and reco particles
90  vector<KFPartMatch> RtoMCParticleId;
91 
92  //defines the mode of an efficiency calculation
93  //1 - efficiency is normalized on the all MCParticles
94  //2 - efficiency is normalized on the MCParticles, which has all daughters reconstructable
95  //3 - efficiency is normalized on the MCParticles, which has all daughters reconstructed by the track finder
96  const int fFindParticlesMode;
97 };
98 
99 #endif
100 #endif //DO_TPCCATRACKER_EFF_PERFORMANCE