22 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
24 #ifndef KFTOPOPERFORMANCE_H
25 #define KFTOPOPERFORMANCE_H
38 class AliHLTTPCCAGBTracker;
58 class KFTopoPerformance:
public KFParticlePerformanceBase
63 virtual ~KFTopoPerformance();
65 virtual void SetNewEvent(
66 const AliHLTTPCCAGBTracker *
const Tracker,
67 AliHLTResizableArray<AliHLTTPCCAHitLabel> *hitLabels,
68 AliHLTResizableArray<AliHLTTPCCAMCTrack> *mcTracks,
69 AliHLTResizableArray<AliHLTTPCCALocalMCPoint> *localMCPoints);
75 virtual void CheckMCTracks();
77 virtual void MatchTracks();
87 void SetTrackMatch(
const std::vector<int>& trackMatch) { fTrackMatch = trackMatch;}
88 void SetMCTracks(
const std::vector<KFMCTrack>& mcTracks) { vMCTracks = mcTracks; }
91 void SetPrintEffFrequency(
int n) { fPrintEffFrequency =
n;}
93 const std::vector<KFMCVertex> GetPrimVertices() {
return fPrimVertices; }
94 const std::vector<KFMCParticle>& MCParticles() {
return vMCParticles; }
95 const std::vector<KFPartMatch>& ParticlesMatch() {
return RtoMCParticleId; }
96 const std::vector<KFPartMatch>& GetMCtoRPVId() {
return MCtoRPVId; }
97 const std::vector<KFPartMatch>& GetRtoMCPVId() {
return RtoMCPVId; }
98 const KFMCTrack& GetMCTrack(
const int iRecoTrack)
102 if(RtoMCParticleId[iRecoTrack].
IsMatched())
103 iMCTrack = RtoMCParticleId[iRecoTrack].GetBestMatch();
104 return vMCTracks[iMCTrack];
107 void SetCentralityBin(
const int iBin) { fCentralityBin = iBin; }
108 void SetCentralityWeight(
const float weight) { fCentralityWeight = weight; }
112 const KFTopoPerformance&
operator = (
const KFTopoPerformance&);
113 KFTopoPerformance(
const KFTopoPerformance&);
115 void GetMCParticles();
116 void MatchParticles();
118 void CalculateEfficiency();
119 void CalculatePVEfficiency();
120 void FindReconstructableMCParticles();
121 void CheckMCParticleIsReconstructable(
KFMCParticle &part);
122 void FindReconstructableMCVertices();
123 void FillParticleParameters(
KFParticle& TempPart,
133 std::vector<int>* multiplicities = 0);
137 std::vector<KFMCVertex> fPrimVertices;
138 std::vector<int> fMCTrackToMCPVMatch;
139 std::vector<double> fPVPurity;
140 std::vector<double> fPVTracksRate[4];
141 std::vector<int> fNCorrectPVTracks;
143 std::vector<int> fTrackMatch;
144 std::vector<KFMCTrack> vMCTracks;
145 std::vector<KFMCParticle> vMCParticles;
146 std::vector<int> fNeutralIndex;
150 std::vector<KFPartMatch> MCtoRParticleId;
153 std::vector<KFPartMatch> RtoMCParticleId;
157 std::vector<KFPartMatch> MCtoRPVId;
160 std::vector<KFPartMatch> RtoMCPVId;
162 int fPrintEffFrequency;
165 float fCentralityWeight;
169 #endif //DO_TPCCATRACKER_EFF_PERFORMANCE