]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaOmegaToPi0Gamma.h
reduce binning of histograms
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaOmegaToPi0Gamma.h
1 #ifndef ALIANAOMEGATOPI0GAMMA_H
2 #define ALIANAOMEGATOPI0GAMMA_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 // class to extract omega(782)->pi0+gamma->3gamma
9 //
10 //-- Author: Renzhuo Wan (IOPP-Wuhan, China)
11 //_________________________________________________________________________
12
13 //Root
14 class TList;
15 class TH2F ;
16 class TLorentzVector;
17
18 //Analysis
19 #include "AliAnaCaloTrackCorrBaseClass.h"
20 class TParticle;
21
22 class AliAnaOmegaToPi0Gamma : public AliAnaCaloTrackCorrBaseClass {
23   
24   public: 
25   
26   AliAnaOmegaToPi0Gamma() ; // default ctor
27   AliAnaOmegaToPi0Gamma(const char *name) ; // default ctor
28   virtual ~AliAnaOmegaToPi0Gamma() ;//virtual dtor
29   
30   TList * GetCreateOutputObjects(); 
31   void Print(const Option_t * opt) const;
32   
33   void InitParameters();
34   void MakeAnalysisFillHistograms();
35   void Terminate(TList * outList);
36
37   TString GetInputAODPhotonName()  const { return fInputAODGammaName;}
38   void    SetInputAODPhotonName(TString & name) { fInputAODGammaName = name; }
39   Bool_t  IsBadRun(Int_t /*iRun*/) const { return kFALSE;} //Tests if this run bad according to private list
40
41   void SetNCentBin(Int_t nbin){fNCentBin = nbin;}
42   void SetNPID(Int_t pid) {fNpid=pid;} //N pid cut 
43   void SetNVtxZ(Int_t vtx){fNVtxZBin=vtx;} //N vertex Z cut
44   void SetNDistToBadChannel(Int_t ndist){fNBadChDistBin = ndist;}
45   void SetPi0MassPeakWidthCut(Double_t win){fPi0MassWindow=win;} 
46
47   void SetPi0OverOmegaPtCut(Double_t cut){fPi0OverOmegaPtCut=cut;}
48   void SetGammaOverOmegaPtCut(Double_t cut){fGammaOverOmegaPtCut=cut;}
49   void SetEOverlapCluster(Double_t e){fEOverlapCluster=e;}
50   void ReadHistograms(TList * outputList);
51
52   private:
53
54   TClonesArray * fInputAODPi0;   //Input AOD pi0 array
55   TString fInputAODGammaName;    //Input AOD gamma name
56   TList ** fEventsList;          //event list for mixing 
57  
58   Int_t fNVtxZBin;               //Number of vertex z cut
59   Int_t fNCentBin;               //Number of centrality cut
60   Int_t fNRpBin;                 //Number of reaction plane cut
61   Int_t fNBadChDistBin;          //Number of bad channel dist cut
62   Int_t fNpid;                   //Number of PID cut
63
64   Double_t *fVtxZCut;            //![fNVtxZBin] vtertx z cut
65   Double_t *fCent;               //![fNCentBin] centrality cut
66   Double_t *fRp;                 //![fNRpBin] reaction plane cut
67   
68   Double_t fPi0Mass;             //nominal pi0 mass
69   Double_t fPi0MassWindow;       //pi0 mass windows
70   Double_t fPi0OverOmegaPtCut;   //pi0 Pt over omega pt cut
71   Double_t fGammaOverOmegaPtCut; //gamma pt over omega pt cut
72   Double_t fEOverlapCluster;     //the pt when the two photons overlapped
73
74   TH2F * fhEtalon;               //an etalon of 3D histograms
75   TH2F **fRealOmega0;            //real omega IVM(asy, pt, m), with Asy_pi0<1 
76   TH2F **fMixAOmega0;            //mixA omega IVM(asy, pt, m) 
77   TH2F **fMixBOmega0;            //mixB omega IVM(asy, pt, m) 
78   TH2F **fMixCOmega0;            //mixC omega IVM(asy, pt, m) 
79   TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
80   TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
81   TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
82   TH2F **fMixCOmega1;            //mixC omega IVM(asy, pt, m)
83   TH2F **fRealOmega2;            //real omega IVM(asy, pt, m), with Asy_pi0<0.8
84   TH2F **fMixAOmega2;            //mixA omega IVM(asy, pt, m)
85   TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
86   TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
87
88   TH2F **fhFakeOmega;            //high pt clusters assumed as pi0 + another gamma 
89
90   TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
91   
92   AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & ex) ;              // cpy ctor
93   AliAnaOmegaToPi0Gamma & operator = (const AliAnaOmegaToPi0Gamma & ex) ;// cpy assignment
94   
95   ClassDef(AliAnaOmegaToPi0Gamma,2)
96
97 } ;
98
99 #endif 
100
101
102