]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/TPC/AliTPCPerformanceSummary.h
trigger class added (M.Ivanov)
[u/mrichter/AliRoot.git] / PWGPP / TPC / AliTPCPerformanceSummary.h
1 #ifndef ALI_TPC_PERFORMANCE_SUMMARY_H
2 #define ALI_TPC_PERFORMANCE_SUMMARY_H
3
4 //------------------------------------------------------------------------------
5 // Class to extract some TPC Performance parameters from AliPerformanceTPC and
6 // AliPerformanceDEdx objects and produce trend graphs.  
7 // 
8 // by M.Knichel 15/10/2010 
9 //------------------------------------------------------------------------------
10
11 class TTree;
12
13 class TTreeSRedirector;
14 class AliPerformanceTPC;
15 class AliPerformanceDEdx;
16 class AliPerformanceDCA;
17 class AliPerformanceMatch;
18
19 class AliTPCPerformanceSummary
20 {
21     public:
22     AliTPCPerformanceSummary() {} // default contructor 
23     virtual ~AliTPCPerformanceSummary() {} // destructor
24     
25     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); // called by WriteToFile
26     
27     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); // calles by MakeReport
28     
29     // the two key functions
30     static Int_t MakeReport(const Char_t* infile, const Char_t* outfile, Int_t run);
31     static Int_t ProduceTrends(const Char_t* infilelist, const Char_t* outfile);
32     
33     static Bool_t GetForceTHnSparse() { return fgForceTHnSparse; }
34     static void SetForceTHnSparse(Bool_t forceSparse = kTRUE) { fgForceTHnSparse = forceSparse; }      
35   
36     private:
37     
38     static Bool_t fgForceTHnSparse;   // force to use THnSparse 
39     // save graphs to current directory
40     
41     static Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition);
42     
43     // helper functions to extract parameter and write to TTreeSRedirector
44     static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
45     static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
46     static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
47     static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
48     static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
49     static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
50     static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
51     static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* const pcstream);
52     static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
53     static Int_t AnalyzeMatch(const AliPerformanceMatch* pMatch, TTreeSRedirector* const pcstream);
54     
55     static Int_t AnalyzePull(const AliPerformanceMatch* pPull, TTreeSRedirector* const pcstream);
56     
57     static Int_t AnalyzePt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
58
59     static Int_t AnalyzeChargeOverPt(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
60
61     static Int_t AnalyzeConstrain(const AliPerformanceMatch* pConstrain, TTreeSRedirector* pcstream);
62
63     static Int_t AnalyzeQAPosNegDpT(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
64     
65     static Int_t AnalyzeQADCAFitParameter(const AliPerformanceTPC* pTPC, TTreeSRedirector* const pcstream);
66     
67     AliTPCPerformanceSummary(const AliTPCPerformanceSummary&); // copy contructor (not implemented)
68     AliTPCPerformanceSummary& operator=(const AliTPCPerformanceSummary&); // assignment operator (not implemented)
69       
70     ClassDef(AliTPCPerformanceSummary, 3);
71 };
72
73 #endif