]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.h
Add a setter to the number of PID options
[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 SetNPtBinsMinMax(Int_t bins, Double_t min, Double_t max) {fNbinsPt=bins; fPtBegin=min; fPtEnd=max; } //set pt bins, min and max   
42   void SetNMassBinsMinMas(Int_t bins, Double_t min, Double_t max) {fNbinsM=bins; fMinM=min; fMaxM=max; } //set mass pt bins, min and max   
43   void SetNEventsMixed(Int_t nevents) { fNmaxMixEv=nevents;} //events to be mixed 
44   void SetNPID(Int_t pid) {fNpid=pid;} 
45   void SetPi0MassPeakWidthCut(Double_t win){fPi0MassWindow=win;} 
46
47   void ReadHistograms(TList * outputList);
48
49   private:
50
51   TClonesArray * fInputAODGamma; //Input AOD gamma array 
52   TClonesArray * fInputAODPi0;   //Input AOD pi0 array
53   TString fInputAODGammaName;    //Input AOD gamma name
54   TList ** fEventsList;          //event list for mixing 
55
56   Double_t *fVtxZCut;            //vtertx z cut
57   Double_t *fCent;               //centrality cut
58   Double_t *fRp;                 //reaction plane cut
59   Int_t *fBadChDist;             //bad channel dist
60
61   Int_t fNVtxZBin;               //Number of vertex z cut
62   Int_t fNCentBin;               //Number of centrality cut
63   Int_t fNRpBin;                 //Number of reaction plane cut
64  
65   Int_t fNBadChDistBin;          //Number of bad channel dist cut
66   Int_t fNpid;                   //Number of PID cut
67
68   Int_t fNmaxMixEv;              //buffer size events to be mixed
69   Double_t fPi0Mass;             //nominal pi0 mass
70   Double_t fPi0MassWindow;       //pi0 mass windows
71
72   Int_t fNbinsPt;                //Pt bin number, min and max
73   Double_t fPtBegin;             //pt minmum
74   Double_t fPtEnd;               //pt maxium
75   Int_t fNbinsM;                 //mass bin number, min and max  
76   Double_t fMinM;                //mass minmum
77   Double_t fMaxM;                //mass maxium
78
79   TH2F * fhEtalon;               //an etalon of 3D histograms
80
81   TH2F **fRealOmega;             //real omega IVM(asy, pt, m), with Asy_pi0<1 
82   TH2F **fMixAOmega;             //mixA omega IVM(asy, pt, m) 
83   TH2F **fMixBOmega;             //mixB omega IVM(asy, pt, m) 
84   TH2F **fMixCOmega;             //mixC omega IVM(asy, pt, m) 
85
86   TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
87   TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
88   TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
89   TH2F **fMixCOmega1;            //mixC omega IVM(asy, pt, m)
90
91   TH2F **fRealOmega2;            //real omega IVM(asy, pt, m), with Asy_pi0<0.8
92   TH2F **fMixAOmega2;            //mixA omega IVM(asy, pt, m)
93   TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
94   TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
95
96   TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
97   ClassDef(AliAnaOmegaToPi0Gamma,1)
98 } ;
99
100 #endif 
101
102
103