]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TPC/AliTPCPerformanceSummary.h
reduce memory consumption (Michael Knichel)
[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-09-24
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     static Bool_t getForceTHnSparse() { return fgForceTHnSparse; }
33     static void setForceTHnSparse(Bool_t forceSparse = kTRUE) { fgForceTHnSparse = forceSparse; }      
34   
35     private:
36     
37     static Bool_t fgForceTHnSparse;    
38     // save graphs to current directory
39     
40     static Int_t SaveGraph(TTree* tree, const Char_t* y, const Char_t* x, const Char_t* condition);
41     
42     // helper functions to extract parameter and write to TTreeSRedirector
43     static Int_t AnalyzeDCARPhi(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
44     static Int_t AnalyzeDCARPhiPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
45     static Int_t AnalyzeDCARPhiNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
46     static Int_t AnalyzeNCL(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
47     static Int_t AnalyzeDrift(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
48     static Int_t AnalyzeDriftPos(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
49     static Int_t AnalyzeDriftNeg(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
50     static Int_t AnalyzeGain(const AliPerformanceDEdx* pTPCgain, TTreeSRedirector* pcstream);
51     static Int_t AnalyzeEvent(const AliPerformanceTPC* pTPC, TTreeSRedirector* pcstream);
52     
53       
54     AliTPCPerformanceSummary(const AliTPCPerformanceSummary&); // copy contructor (not implemented)
55     AliTPCPerformanceSummary& operator=(const AliTPCPerformanceSummary&); // assignment operator (not implemented)
56       
57     ClassDef(AliTPCPerformanceSummary, 2);
58 };
59
60 #endif