]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/charmFlow/AliEventPlaneResolutionHandler.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / charmFlow / AliEventPlaneResolutionHandler.h
1 #ifndef ALIEVENTPLANERESOLUTIONHANDLER_H
2 #define ALIEVENTPLANERESOLUTIONHANDLER_H
3
4
5 /* $Id$ */
6
7 ///////////////////////////////////////////////////////////////////
8 //                                                               //
9 // Class to compute event plane resolution starting from root    //
10 // file with event plane correlation histos                      //
11 // Origin: F.Prino, Torino, prino@to.infn.it                     //
12 //                                                               //
13 ///////////////////////////////////////////////////////////////////
14
15 #include "TObject.h"
16
17 class TFile;
18 class TH1F;
19
20 class AliEventPlaneResolutionHandler : public TObject{
21  public:
22   AliEventPlaneResolutionHandler();
23   AliEventPlaneResolutionHandler(TString filename);
24   virtual ~AliEventPlaneResolutionHandler(){};
25
26   void SetCentralityRange(Double_t minC, Double_t maxC){
27     fMinCent=minC;
28     fMaxCent=maxC;
29   }
30   void SetUseNoWeights(){fWeight=0;}
31   void SetUseNcollWeights(){fWeight=1;}
32   void SetUseLowPtDYieldWeights(){fWeight=2;}
33   void SetUseMidPtDYieldWeights(){fWeight=3;}
34   void SetUseHighPtDYieldWeights(){fWeight=4;}
35   void SetEventPlane(Int_t ep){fEventPlane=ep;}
36   void SetTPCFullEtaEventPlane(){fEventPlane=kTPCFullEta;}
37   void SetTPCPositiveEtaEventPlane(){fEventPlane=kTPCPosEta;}
38   void SetVZEROFullEventPlane(){fEventPlane=kVZERO;}
39   void SetVZEROAEventPlane(){fEventPlane=kVZEROA;}
40   void SetVZEROCEventPlane(){fEventPlane=kVZEROC;}
41
42   void SetResolutionOption(Int_t res){fResolOption=res;}
43   void SetResolutionFromTwoRandomSubevents(){fResolOption=kTwoRandSub;}
44   void SetResolutionFromTwoChargeSubevents(){fResolOption=kTwoChargeSub;}
45   void SetResolutionFromTwoEtaSubevents(){fResolOption=kTwoEtaSub;}
46   void SetResolutionFromThreeSubevents(){fResolOption=kThreeSub;}
47   void SetResolutionFromThreeSubeventsTPCGap(){fResolOption=kThreeSubTPCGap;}
48
49   Double_t GetEventPlaneResolution(){
50     return GetEventPlaneResolution(fMinCent,fMaxCent);
51   }
52   Double_t GetEventPlaneResolution(Double_t minCent, Double_t maxCent);
53
54   TH1F* GetSubEvABCorrelHisto() const{
55     return fHistoAB;
56   }
57   TH1F* GetSubEvBCCorrelHisto() const{
58     return fHistoBC;
59   }
60   TH1F* GetSubEvACCorrelHisto() const{
61     return fHistoAC;
62   }
63
64
65   enum EEventPlane {kTPCFullEta, kTPCPosEta,kVZERO,kVZEROA,kVZEROC};
66   enum EResolOption {kTwoRandSub,kTwoChargeSub,kTwoEtaSub,kThreeSub,kThreeSubTPCGap};
67
68  private:
69   Bool_t SetHistoNames();
70   void InitializeWeights();
71   AliEventPlaneResolutionHandler(const AliEventPlaneResolutionHandler &source);
72   AliEventPlaneResolutionHandler& operator=(const AliEventPlaneResolutionHandler& source); 
73  
74
75
76   Int_t    fEventPlane;      // event plane determination (see enum)
77   Int_t    fResolOption;     // option to get the resolution (see enum)
78   Double_t fMinCent;         // minimum centrality
79   Double_t fMaxCent;         // maximum centrality
80   TString  fCorrHistoName1;  // name of 1st histogram
81   TString  fCorrHistoName2;  // name of 2nd histogram
82   TString  fCorrHistoName3;  // name of 3rd histogram
83   Int_t    fNsubevents;      // number of subevents to be used
84   Bool_t   fExtrapToFull;    // flag for extrapolating to full event
85   Int_t    fWeight; // flag use/not use Ncoll to weight centrality sub-ranges
86   Double_t fNcoll[20];       // values of Ncoll in the subranges
87   Double_t fYield24[20];     // values of D0 yield 2<pt<4 in the subranges
88   Double_t fYield46[20];     // values of D0 yield 4<pt<6 in the subranges
89   Double_t fYield612[20];    // values of D0 yield 6<pt<12 in the subranges
90   TH1F*    fHistoAB;         // histo of subevents A-B   
91   TH1F*    fHistoBC;         // histo of subevents B-C   
92   TH1F*    fHistoAC;         // histo of subevents A-C   
93   TString  fRootFileName;    // file with histos of correlations
94
95   ClassDef(AliEventPlaneResolutionHandler,0) 
96 };
97 #endif