20 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE 22 #ifndef PNDFTSPERFORMANCEBASE_H 23 #define PNDFTSPERFORMANCEBASE_H 56 class PndFTSPerformanceBase {
58 struct PndFTSCAHitLabel {
60 friend ostream &
operator<<(ostream &out,
const PndFTSCAHitLabel &hl) {
return out << hl.fLab[0] <<
" " << hl.fLab[1] <<
" " << hl.fLab[2] <<
" " << std::endl; }
61 friend istream &
operator>>(istream &in, PndFTSCAHitLabel &hl) {
return in >> hl.fLab[0] >> hl.fLab[1] >> hl.fLab[2]; }
64 PndFTSPerformanceBase();
65 virtual ~PndFTSPerformanceBase();
71 virtual void CreateHistos(
string histoDir =
"", TFile *outFile = 0) { UNUSED_PARAM2(histoDir, outFile); };
74 virtual void Exec(
bool print =
false);
76 virtual void PrintEfficiencyStatistic()
81 virtual void PrintEfficiency()
87 virtual void Draw(){};
93 bool IsHistoCreated() {
return fIsHistoCreated; }
94 void SetHistoCreated(
bool v = 1) { fIsHistoCreated =
v; }
100 vector<PndFTSCAPerformanceMCTrackData> &GetMCData() {
return mcData; };
101 vector<PndFTSCAPerformanceRecoTrackData> &GetRecoData() {
return recoData; };
104 virtual void FillHistos(){};
105 TH1 *GetHisto(
const char *name);
108 virtual void CheckMCTracks(){};
110 virtual void MatchTracks(){};
112 virtual void EfficiencyPerformance();
125 THistoInfo(
const char *name_,
const char *title_, Int_t nx_, Double_t left_, Double_t right_, Int_t ny_ = 0, Double_t low_ = 0, Double_t up_ = 0, TString XAxisName_ =
"",
126 TString YAxisName_ =
"")
127 : name(name_), title(title_), nx(nx_), left(left_), right(right_), ny(ny_), low(low_), up(up_), XAxisName(XAxisName_), YAxisName(YAxisName_){};
132 Double_t left, right;
135 TString XAxisName, YAxisName;
138 THistoInfo *fHistosInfo;
141 vector<PndFTSCAPerformanceMCTrackData> mcData;
142 vector<PndFTSCAPerformanceRecoTrackData> recoData;
152 int nRecoTracks, nMCTracks;
154 TDirectory *fHistoDir;
155 bool fIsHistoCreated;
159 #endif // DO_TPCCATRACKER_EFF_PERFORMANCE
basic_istream< char, char_traits< char > > istream
std::ostream & operator<<(std::ostream &o, const PndEventInfo &)
std::istream & operator>>(std::istream &stream, RhoVector3Err &verr)
basic_ostream< char, char_traits< char > > ostream