8 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
10 #ifndef PNDCAPERFORMANCEBASE_H
11 #define PNDCAPERFORMANCEBASE_H
43 class PndCAPerformanceBase
47 struct PndCAHitLabel {
50 {
return out << hl.fLab[0] <<
" " << hl.fLab[1] <<
" "<< hl.fLab[2] <<
" " << std::endl;}
52 {
return in >> hl.fLab[0] >> hl.fLab[1] >> hl.fLab[2];}
55 PndCAPerformanceBase();
56 virtual ~PndCAPerformanceBase();
59 vector<PndCAHitLabel> *hitLabels,
60 vector<PndCAMCTrack> *mcTracks,
61 vector<PndCALocalMCPoint> *localMCPoints);
64 virtual void CreateHistos(
string histoDir =
"", TFile*
outFile = 0){ UNUSED_PARAM2(histoDir,
outFile); };
67 virtual void Exec(
bool print =
false);
69 virtual void PrintEfficiencyStatistic(){ fEffStat.CalcEff(); fEffStat.Print(); };
70 virtual void PrintEfficiency() { fEff.CalcEff(); fEff.Print(); };
72 virtual void Draw(){};
78 bool IsHistoCreated() {
return fIsHistoCreated; }
79 void SetHistoCreated(
bool v = 1) { fIsHistoCreated =
v; }
81 vector<PndCAPerformanceMCTrackData> &GetMCData() {
return mcData; };
82 vector<PndCAPerformanceRecoTrackData> &GetRecoData(){
return recoData; };
86 virtual void FillHistos(){};
87 TH1 *GetHisto(
const char*
name);
90 virtual void CheckMCTracks(){};
92 virtual void MatchTracks(){};
94 virtual void EfficiencyPerformance();
109 THistoInfo(
const char *name_,
const char *title_, Int_t nx_,
Double_t left_,
Double_t right_,
111 :
name(name_),title(title_),nx(nx_),left(left_),right(right_),ny(ny_),
low(low_),up(up_),XAxisName(XAxisName_),YAxisName(YAxisName_){};
122 THistoInfo *fHistosInfo;
125 vector<PndCAPerformanceMCTrackData> mcData;
126 vector<PndCAPerformanceRecoTrackData> recoData;
132 vector<PndCAHitLabel> *fHitLabels;
133 vector<PndCAMCTrack> *fMCTracks;
134 vector<PndCALocalMCPoint> *fLocalMCPoints;
136 int nRecoTracks, nMCTracks;
138 TDirectory *fHistoDir;
139 bool fIsHistoCreated;
143 #endif //DO_TPCCATRACKER_EFF_PERFORMANCE
std::ostream & operator<<(std::ostream &o, const PndEventInfo &a)
tree Draw("fELoss:TMath::Sqrt(fPx_out*fPx_out+ fPy_out*fPy_out+ fPz_out*fPz_out)", ppos &&"fELoss < 0.04")
basic_ostream< char, char_traits< char > > ostream
basic_istream< char, char_traits< char > > istream
TBuffer & operator>>(TBuffer &buf, PndAnaPidSelector *&obj)