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