9 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
11 #ifndef PNDCAPERFORMANCE_H
12 #define PNDCAPERFORMANCE_H
31 class PndCATopoReconstructor;
46 class PndCAPerformance
50 typedef PndCAPerformanceBase::PndCAHitLabel PndCAHitLabel;
53 virtual ~PndCAPerformance();
56 bool SetNewEvent(
PndCAGBTracker*
const Tracker,
string mcTracksFile,
string mcPointsFile);
57 void InitSubPerformances();
60 static PndCAPerformance &Instance();
63 void ExecPerformance();
67 const PndCAHitLabel &HitLabel(
int i)
const {
return fHitLabels[
i]; }
71 void SetTracker(
PndCAGBTracker*
const tracker ){ fTracker = tracker; };
72 void SetTopoReconstructor( PndCATopoReconstructor*
const tr ){ fTopoReconstructor =
tr; };
73 void SetMCTracks(vector<PndCAMCTrack>& mcTracks);
74 void SetMCPoints(vector<PndCALocalMCPoint>& mcPoints);
75 void SetHitLabels(vector<PndCAHitLabel>& hitLabels);
77 vector<PndCAHitLabel> * GetHitLabels() {
return &fHitLabels; }
78 vector<PndCAMCTrack> * GetMCTracks() {
return &fMCTracks; }
79 vector<PndCALocalMCPoint> * GetMCPoints() {
return &fLocalMCPoints;}
81 PndCAPerformanceBase* GetSubPerformance(
string name);
83 const double* PV()
const {
return fPV; }
86 bool CreateHistos(
string name);
91 void SaveDataInFiles(
string prefix )
const;
92 bool ReadDataFromFiles(
string prefix );
103 void ReadMCEvent( FILE *in );
104 void ReadLocalMCPoints( FILE *in );
106 void WriteMCEvent( FILE *
out )
const;
109 struct TSubPerformance{
110 PndCAPerformanceBase* perf;
115 TSubPerformance(PndCAPerformanceBase* perf_,
string name_,
bool IsGlobalPerf_ = 1){
118 IsGlobalPerf = IsGlobalPerf_;
119 perf->SetHistoCreated(0);
123 PndCAPerformanceBase&
operator*(){
return *perf;}
124 PndCAPerformanceBase* operator->(){
return perf;}
126 vector<TSubPerformance> subPerformances;
130 const PndCATopoReconstructor* fTopoReconstructor;
132 vector<PndCAHitLabel> fHitLabels;
133 vector<PndCAMCTrack> fMCTracks;
134 vector<PndCALocalMCPoint> fLocalMCPoints;
142 TDirectory *fHistoDir;
145 void WriteDir2Current( TObject *obj );
147 PndCAPerformance(
const PndCAPerformance& );
148 PndCAPerformance &operator=(
const PndCAPerformance& );
153 #endif //DO_TPCCATRACKER_EFF_PERFORMANCE
RhoError operator*(Double_t t, const RhoError &m1)
fRun SetOutputFile(outFile)