]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.h
Correct memory leaks.
[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   AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & g) ; // cpy ctor
27   AliAnaOmegaToPi0Gamma & operator = (const AliAnaOmegaToPi0Gamma & api0) ;//cpy assignment
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 SetNEventsMixed(Int_t nevents) { fNmaxMixEv=nevents;} //events to be mixed
42   void SetNPID(Int_t pid) {fNpid=pid;} 
43   void SetNVtxZ(Int_t vtx){fNVtxZBin=vtx;}
44   void SetNBadChDist(Int_t dist){fNBadChDistBin=dist;}
45   void SetPi0MassPeakWidthCut(Double_t win){fPi0MassWindow=win;} 
46   void SetPi0OverOmegaPtCut(Double_t cut){fPi0OverOmegaPtCut=cut;}
47   void SetGammaOverOmegaPtCut(Double_t cut){fGammaOverOmegaPtCut=cut;}
48   void ReadHistograms(TList * outputList);
49
50   private:
51
52   TClonesArray * fInputAODGamma; //Input AOD gamma array 
53   TClonesArray * fInputAODPi0;   //Input AOD pi0 array
54   TString fInputAODGammaName;    //Input AOD gamma name
55   TList ** fEventsList;          //event list for mixing 
56
57   Int_t fNVtxZBin;               //Number of vertex z cut
58   Int_t fNCentBin;               //Number of centrality cut
59   Int_t fNRpBin;                 //Number of reaction plane cut
60   Int_t fNBadChDistBin;          //Number of bad channel dist cut
61   Int_t fNpid;                   //Number of PID cut
62   Int_t fNmaxMixEv;              //buffer size events to be mixed
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   Int_t *fBadChDist;             //[fNBadChDistBin] bad channel dist
68
69   Double_t fPi0Mass;             //nominal pi0 mass
70   Double_t fPi0MassWindow;       //pi0 mass windows
71   Double_t fPi0OverOmegaPtCut;   //pi0 Pt over omega pt cut
72   Double_t fGammaOverOmegaPtCut; //gamma pt over omega pt cut
73
74   TH2F * fhEtalon;               //an etalon of 3D histograms
75
76   TH2F **fRealOmega;             //real omega IVM(asy, pt, m), with Asy_pi0<1 
77   TH2F **fMixAOmega;             //mixA omega IVM(asy, pt, m) 
78   TH2F **fMixBOmega;             //mixB omega IVM(asy, pt, m) 
79   TH2F **fMixCOmega;             //mixC omega IVM(asy, pt, m) 
80
81   TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
82   TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
83   TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
84   TH2F **fMixCOmega1;            //mixC omega IVM(asy, pt, m)
85
86   TH2F **fRealOmega2;            //real omega IVM(asy, pt, m), with Asy_pi0<0.8
87   TH2F **fMixAOmega2;            //mixA omega IVM(asy, pt, m)
88   TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
89   TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
90
91   TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
92   ClassDef(AliAnaOmegaToPi0Gamma,2)
93 } ;
94
95 #endif 
96
97
98