#ifndef ALI_TPC_PERFORMANCE_SUMMARY_H
#define ALI_TPC_PERFORMANCE_SUMMARY_H
class TTree;
class TTreeSRedirector;
class AliPerformanceTPC;
class AliPerformanceDEdx;
class AliPerformanceDCA;
class AliPerformanceMatch;
class AliTPCPerformanceSummary
{
public:
AliTPCPerformanceSummary() {}
virtual ~AliTPCPerformanceSummary() {}
static void WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pTPCMatch, const AliPerformanceMatch* pTPCPull, const AliPerformanceMatch* pConstrain, TTreeSRedirector* const pcstream, Int_t run = -1);
static void WriteToFile(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const AliPerformanceMatch* pMatch,const AliPerformanceMatch* pPull, const AliPerformanceMatch* pConstrain, const Char_t* outfile, Int_t run = -1);
static Int_t MakeReport(const Char_t* infile, const Char_t* outfile, Int_t run);
static Int_t ProduceTrends(const Char_t* infilelist, const Char_t* outfile);
static Bool_t GetForceTHnSparse() { return fgForceTHnSparse; }
static void SetForceTHnSparse(Bool_t forceSparse = kTRUE) { fgForceTHnSparse = forceSparse; }
private:
static Bool_t fgForceTHnSparse;
static Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition);
static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* const pcstream);
static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* const pcstream);
static Int_t AnalyzePull(const AliPerformanceMatch* pPull, TTreeSRedirector* const pcstream);
static Int_t AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
static Int_t AnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
static Int_t AnalyzeConstrain(const AliPerformanceMatch* pConstrain, TTreeSRedirector* pcstream);
static Int_t AnalyzeQAPosNegDpT(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeQADCAFitParameter(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
static Int_t AnalyzeOcc(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
AliTPCPerformanceSummary(const AliTPCPerformanceSummary&);
AliTPCPerformanceSummary& operator=(const AliTPCPerformanceSummary&);
ClassDef(AliTPCPerformanceSummary, 3);
};
#endif
AliTPCPerformanceSummary.h:1 AliTPCPerformanceSummary.h:2 AliTPCPerformanceSummary.h:3 AliTPCPerformanceSummary.h:4 AliTPCPerformanceSummary.h:5 AliTPCPerformanceSummary.h:6 AliTPCPerformanceSummary.h:7 AliTPCPerformanceSummary.h:8 AliTPCPerformanceSummary.h:9 AliTPCPerformanceSummary.h:10 AliTPCPerformanceSummary.h:11 AliTPCPerformanceSummary.h:12 AliTPCPerformanceSummary.h:13 AliTPCPerformanceSummary.h:14 AliTPCPerformanceSummary.h:15 AliTPCPerformanceSummary.h:16 AliTPCPerformanceSummary.h:17 AliTPCPerformanceSummary.h:18 AliTPCPerformanceSummary.h:19 AliTPCPerformanceSummary.h:20 AliTPCPerformanceSummary.h:21 AliTPCPerformanceSummary.h:22 AliTPCPerformanceSummary.h:23 AliTPCPerformanceSummary.h:24 AliTPCPerformanceSummary.h:25 AliTPCPerformanceSummary.h:26 AliTPCPerformanceSummary.h:27 AliTPCPerformanceSummary.h:28 AliTPCPerformanceSummary.h:29 AliTPCPerformanceSummary.h:30 AliTPCPerformanceSummary.h:31 AliTPCPerformanceSummary.h:32 AliTPCPerformanceSummary.h:33 AliTPCPerformanceSummary.h:34 AliTPCPerformanceSummary.h:35 AliTPCPerformanceSummary.h:36 AliTPCPerformanceSummary.h:37 AliTPCPerformanceSummary.h:38 AliTPCPerformanceSummary.h:39 AliTPCPerformanceSummary.h:40 AliTPCPerformanceSummary.h:41 AliTPCPerformanceSummary.h:42 AliTPCPerformanceSummary.h:43 AliTPCPerformanceSummary.h:44 AliTPCPerformanceSummary.h:45 AliTPCPerformanceSummary.h:46 AliTPCPerformanceSummary.h:47 AliTPCPerformanceSummary.h:48 AliTPCPerformanceSummary.h:49 AliTPCPerformanceSummary.h:50 AliTPCPerformanceSummary.h:51 AliTPCPerformanceSummary.h:52 AliTPCPerformanceSummary.h:53 AliTPCPerformanceSummary.h:54 AliTPCPerformanceSummary.h:55 AliTPCPerformanceSummary.h:56 AliTPCPerformanceSummary.h:57 AliTPCPerformanceSummary.h:58 AliTPCPerformanceSummary.h:59 AliTPCPerformanceSummary.h:60 AliTPCPerformanceSummary.h:61 AliTPCPerformanceSummary.h:62 AliTPCPerformanceSummary.h:63 AliTPCPerformanceSummary.h:64 AliTPCPerformanceSummary.h:65 AliTPCPerformanceSummary.h:66 AliTPCPerformanceSummary.h:67 AliTPCPerformanceSummary.h:68