]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliHistogramsUE.h
Changes to QA TPC, extra task for cosmics, Added utility classes for UE analysis
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliHistogramsUE.h
1 #ifndef ALIHISTOGRAMSUE_H
2 #define ALIHISTOGRAMSUE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////
8 //--------------------------------------------- 
9 // Class  to handle histograms for UE analysis
10 //---------------------------------------------
11 ////////////////////////////////////////////////
12
13 class TH1F;
14 class TH2F;
15 class TH1I;
16 class TObjArray;
17 class TProfile;
18 class TTree;
19 class TVector3;
20
21 class  AliHistogramsUE : public TObject
22   {
23   public:
24     AliHistogramsUE();
25     AliHistogramsUE(TList * list);
26     virtual           ~AliHistogramsUE() { }
27     AliHistogramsUE(const  AliHistogramsUE &det);
28     AliHistogramsUE&   operator=(const  AliHistogramsUE &det);
29     
30     TObjArray*     CreateCanvas(const Int_t ncanv);
31     TObjArray*     GetHistosForPlotting(TString file, TString branches);
32     TList*         CreateHistos(Int_t bins, Double_t min, Double_t max, Double_t etacut);
33     void           DrawUE(Int_t debug);  //to draw final plots (normalized)
34     void           FillHistogram(const char* name,Double_t fillX); //One dimensional
35     void           FillHistogram(const char* name,Int_t fillX); //One dimensional
36     void           FillHistogram(const char* name,Double_t fillX, Double_t fillY); //Two dimensional
37     void           FillHistogram(const char* name,Double_t fillX, Double_t fillY, Double_t weight); //Two dimensional
38     void           FillHistogram(const char* name,Double_t fillX, Int_t fillY, Double_t weight); //Two dimensional
39     TList*         GetListOfHistos();
40     TH1F*            GetTrials()       {return fh1Trials;}
41     TProfile*        GetXsec()         {return fh1Xsec;}
42     void           PlotBranchesUE(TString file, TString branches, Double_t minJetProjection);  //TO BE CALLED BY EXTERNAL MACRO !!!              
43     void           SetStyle(); 
44   protected:
45
46   private:
47     
48     Int_t          fBinsPtInHist;    // Number of pT bins in histograms
49     Double_t       fMinJetPtInHist;  // Minimum jet pT in histograms
50     Double_t       fMaxJetPtInHist;  // Maximum jet pT in histograms
51     Double_t       fTrackEtaCut;     // Track eta cut  
52     TList*         fListOfHistos;    //  Output list of histograms
53     
54    
55     // Histograms
56     TH1F*  fhNJets;                  //!
57     TH1F*  fhEleadingPt;             //!
58     
59     TH1F*  fhMinRegPtDist;           //!
60     TH1F*  fhRegionMultMin;          //!
61     TH1F*  fhMinRegAvePt;            //!
62     TH1F*  fhMinRegSumPt;            //!
63     TH1F*  fhMinRegMaxPtPart;        //!
64     TH1F*  fhMinRegSumPtvsMult;      //!
65     
66     TH2F*  fhdNdEtaPhiDist;          //!
67     TH2F*  fhFullRegPartPtDistVsEt;  //!
68     TH2F*  fhTransRegPartPtDistVsEt; //!
69     
70     TH1F*  fhRegionSumPtMaxVsEt;     //!
71     TH1I*  fhRegionMultMax;          //!
72     TH1F*  fhRegionMultMaxVsEt;      //!
73     TH1F*  fhRegionSumPtMinVsEt;     //!
74     TH1F*  fhRegionMultMinVsEt;      //!
75     TH1F*  fhRegionAveSumPtVsEt;     //!
76     TH1F*  fhRegionDiffSumPtVsEt;    //!
77     
78     TH1F*  fhRegionAvePartPtMaxVsEt; //!
79     TH1F*  fhRegionAvePartPtMinVsEt; //!
80     TH1F*  fhRegionMaxPartPtMaxVsEt; //!
81     
82     TH2F*  fhRegForwardMult;         //!
83     TH2F*  fhRegForwardSumPtvsMult;  //!
84     TH2F*  fhRegBackwardMult;        //!
85     TH2F*  fhRegBackwardSumPtvsMult; //!
86     TH2F*  fhRegForwardPartPtDistVsEt; //!
87     TH2F*  fhRegBackwardPartPtDistVsEt; //!
88     TH2F*  fhRegTransMult;         //!
89     TH2F*  fhRegTransSumPtVsMult;    //!
90     TH2F*  fhMinRegSumPtJetPtBin;    //!
91     TH2F*  fhMaxRegSumPtJetPtBin;    //!
92     TH1F*  fhVertexMult;             //!
93  
94     TProfile*  fh1Xsec;             //!         
95     TH1F*  fh1Trials;               //!
96
97     ClassDef( AliHistogramsUE, 1 ); // Class to manage histograms in UE analysis
98   };
99
100 #endif
101
102