8 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE 10 #ifndef PNDFTSPERFORMANCEBASE_H 11 #define PNDFTSPERFORMANCEBASE_H 44 class PndFTSPerformanceBase {
46 struct PndFTSCAHitLabel {
48 friend ostream &
operator<<(ostream &out,
const PndFTSCAHitLabel &hl) {
return out << hl.fLab[0] <<
" " << hl.fLab[1] <<
" " << hl.fLab[2] <<
" " << std::endl; }
49 friend istream &
operator>>(istream &in, PndFTSCAHitLabel &hl) {
return in >> hl.fLab[0] >> hl.fLab[1] >> hl.fLab[2]; }
52 PndFTSPerformanceBase();
53 virtual ~PndFTSPerformanceBase();
59 virtual void CreateHistos(
string histoDir =
"", TFile *outFile = 0) { UNUSED_PARAM2(histoDir, outFile); };
62 virtual void Exec(
bool print =
false);
64 virtual void PrintEfficiencyStatistic()
69 virtual void PrintEfficiency()
75 virtual void Draw(){};
81 bool IsHistoCreated() {
return fIsHistoCreated; }
82 void SetHistoCreated(
bool v = 1) { fIsHistoCreated =
v; }
88 vector<PndFTSCAPerformanceMCTrackData> &GetMCData() {
return mcData; };
89 vector<PndFTSCAPerformanceRecoTrackData> &GetRecoData() {
return recoData; };
92 virtual void FillHistos(){};
93 TH1 *GetHisto(
const char *name);
96 virtual void CheckMCTracks(){};
98 virtual void MatchTracks(){};
100 virtual void EfficiencyPerformance();
113 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_ =
"",
114 TString YAxisName_ =
"")
115 : name(name_), title(title_), nx(nx_), left(left_), right(right_), ny(ny_), low(low_), up(up_), XAxisName(XAxisName_), YAxisName(YAxisName_){};
120 Double_t left, right;
123 TString XAxisName, YAxisName;
126 THistoInfo *fHistosInfo;
129 vector<PndFTSCAPerformanceMCTrackData> mcData;
130 vector<PndFTSCAPerformanceRecoTrackData> recoData;
140 int nRecoTracks, nMCTracks;
142 TDirectory *fHistoDir;
143 bool fIsHistoCreated;
147 #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