]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TPC/AliTPCPerformanceSummary.h
adding skeleton for a generic TTree data collection component
[u/mrichter/AliRoot.git] / PWG1 / 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 // Author: M.Knichel 2010-05-21
9 //------------------------------------------------------------------------------
10
11 class TTree;
12
13 class TTreeSRedirector;
14 class AliPerformanceTPC;
15 class AliPerformanceDEdx;
16 class AliPerformanceDCA;
17
18 class AliTPCPerformanceSummary
19 {
20     public:
21     AliTPCPerformanceSummary() {} // default contructor 
22     virtual ~AliTPCPerformanceSummary() {} // destructor
23     
24     static Int_t WriteToTTreeSRedirector(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* pcstream, Int_t run); // called by WriteToFile
25     
26     static Int_t WriteToFile(const AliPerformanceTPC* pTPC, const AliPerformanceDEdx* pTPCgain, const Char_t* outfile, Int_t run); // calles by MakeReport
27     
28     // the two key functions
29     static Int_t MakeReport(const Char_t* infile, const Char_t* outfile, Int_t run);    
30     static Int_t ProduceTrends(const Char_t* infilelist, const Char_t* outfile);
31   
32     private:    
33     // save graphs to current directory
34     static Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition);
35     
36     // helper functions to extract parameter and write to TTreeSRedirector
37     static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
38     static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
39     static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
40     static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
41     static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
42     static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
43     static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
44     static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* pcstream);
45     static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
46       
47     AliTPCPerformanceSummary(const AliTPCPerformanceSummary&); // copy contructor (not implemented)
48     AliTPCPerformanceSummary& operator=(const AliTPCPerformanceSummary&); // assignment operator (not implemented)
49       
50     ClassDef(AliTPCPerformanceSummary, 1);
51 };
52
53 #endif