ROOT logo
#ifndef ALIANAOMEGATOPI0GAMMA_H
#define ALIANAOMEGATOPI0GAMMA_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice     */

//_________________________________________________________________________
// class to extract omega(782)->pi0+gamma->3gamma
//
//-- Author: Renzhuo Wan (IOPP-Wuhan, China)
//_________________________________________________________________________

//Root
class TList;
class TH2F ;
class TLorentzVector;

//Analysis
#include "AliAnaCaloTrackCorrBaseClass.h"
class TParticle;

class AliAnaOmegaToPi0Gamma : public AliAnaCaloTrackCorrBaseClass {
  
  public: 
  
  AliAnaOmegaToPi0Gamma() ; // default ctor
  AliAnaOmegaToPi0Gamma(const char *name) ; // default ctor
  virtual ~AliAnaOmegaToPi0Gamma() ;//virtual dtor
  
  TList * GetCreateOutputObjects(); 
  void Print(const Option_t * opt) const;
  
  void InitParameters();
  void MakeAnalysisFillHistograms();
  void Terminate(TList * outList);

  TString GetInputAODPhotonName()  const { return fInputAODGammaName;}
  void    SetInputAODPhotonName(TString & name) { fInputAODGammaName = name; }
  Bool_t  IsBadRun(Int_t /*iRun*/) const { return kFALSE;} //Tests if this run bad according to private list

  void SetNCentBin(Int_t nbin){fNCentBin = nbin;}
  void SetNPID(Int_t pid) {fNpid=pid;} //N pid cut 
  void SetNVtxZ(Int_t vtx){fNVtxZBin=vtx;} //N vertex Z cut
  void SetNDistToBadChannel(Int_t ndist){fNBadChDistBin = ndist;}
  void SetPi0MassPeakWidthCut(Double_t win){fPi0MassWindow=win;} 

  void SetPi0OverOmegaPtCut(Double_t cut){fPi0OverOmegaPtCut=cut;}
  void SetGammaOverOmegaPtCut(Double_t cut){fGammaOverOmegaPtCut=cut;}
  void SetEOverlapCluster(Double_t e){fEOverlapCluster=e;}
  void ReadHistograms(TList * outputList);

  private:

  TClonesArray * fInputAODPi0;   //Input AOD pi0 array
  TString fInputAODGammaName;    //Input AOD gamma name
  TList ** fEventsList;          //event list for mixing 
 
  Int_t fNVtxZBin;               //Number of vertex z cut
  Int_t fNCentBin;               //Number of centrality cut
  Int_t fNRpBin;                 //Number of reaction plane cut
  Int_t fNBadChDistBin;          //Number of bad channel dist cut
  Int_t fNpid;                   //Number of PID cut

  Double_t *fVtxZCut;            //![fNVtxZBin] vtertx z cut
  Double_t *fCent;               //![fNCentBin] centrality cut
  Double_t *fRp;                 //![fNRpBin] reaction plane cut
  
  Double_t fPi0Mass;             //nominal pi0 mass
  Double_t fPi0MassWindow;       //pi0 mass windows
  Double_t fPi0OverOmegaPtCut;   //pi0 Pt over omega pt cut
  Double_t fGammaOverOmegaPtCut; //gamma pt over omega pt cut
  Double_t fEOverlapCluster;     //the pt when the two photons overlapped

  TH2F * fhEtalon;               //an etalon of 3D histograms
  TH2F **fRealOmega0;            //real omega IVM(asy, pt, m), with Asy_pi0<1 
  TH2F **fMixAOmega0;            //mixA omega IVM(asy, pt, m) 
  TH2F **fMixBOmega0;            //mixB omega IVM(asy, pt, m) 
  TH2F **fMixCOmega0;            //mixC omega IVM(asy, pt, m) 
  TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
  TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
  TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
  TH2F **fMixCOmega1;            //mixC omega IVM(asy, pt, m)
  TH2F **fRealOmega2;            //real omega IVM(asy, pt, m), with Asy_pi0<0.8
  TH2F **fMixAOmega2;            //mixA omega IVM(asy, pt, m)
  TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
  TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)

  TH2F **fhFakeOmega;            //high pt clusters assumed as pi0 + another gamma 

  TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
  
  AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & ex) ;              // cpy ctor
  AliAnaOmegaToPi0Gamma & operator = (const AliAnaOmegaToPi0Gamma & ex) ;// cpy assignment
  
  ClassDef(AliAnaOmegaToPi0Gamma,2)

} ;

#endif 



 AliAnaOmegaToPi0Gamma.h:1
 AliAnaOmegaToPi0Gamma.h:2
 AliAnaOmegaToPi0Gamma.h:3
 AliAnaOmegaToPi0Gamma.h:4
 AliAnaOmegaToPi0Gamma.h:5
 AliAnaOmegaToPi0Gamma.h:6
 AliAnaOmegaToPi0Gamma.h:7
 AliAnaOmegaToPi0Gamma.h:8
 AliAnaOmegaToPi0Gamma.h:9
 AliAnaOmegaToPi0Gamma.h:10
 AliAnaOmegaToPi0Gamma.h:11
 AliAnaOmegaToPi0Gamma.h:12
 AliAnaOmegaToPi0Gamma.h:13
 AliAnaOmegaToPi0Gamma.h:14
 AliAnaOmegaToPi0Gamma.h:15
 AliAnaOmegaToPi0Gamma.h:16
 AliAnaOmegaToPi0Gamma.h:17
 AliAnaOmegaToPi0Gamma.h:18
 AliAnaOmegaToPi0Gamma.h:19
 AliAnaOmegaToPi0Gamma.h:20
 AliAnaOmegaToPi0Gamma.h:21
 AliAnaOmegaToPi0Gamma.h:22
 AliAnaOmegaToPi0Gamma.h:23
 AliAnaOmegaToPi0Gamma.h:24
 AliAnaOmegaToPi0Gamma.h:25
 AliAnaOmegaToPi0Gamma.h:26
 AliAnaOmegaToPi0Gamma.h:27
 AliAnaOmegaToPi0Gamma.h:28
 AliAnaOmegaToPi0Gamma.h:29
 AliAnaOmegaToPi0Gamma.h:30
 AliAnaOmegaToPi0Gamma.h:31
 AliAnaOmegaToPi0Gamma.h:32
 AliAnaOmegaToPi0Gamma.h:33
 AliAnaOmegaToPi0Gamma.h:34
 AliAnaOmegaToPi0Gamma.h:35
 AliAnaOmegaToPi0Gamma.h:36
 AliAnaOmegaToPi0Gamma.h:37
 AliAnaOmegaToPi0Gamma.h:38
 AliAnaOmegaToPi0Gamma.h:39
 AliAnaOmegaToPi0Gamma.h:40
 AliAnaOmegaToPi0Gamma.h:41
 AliAnaOmegaToPi0Gamma.h:42
 AliAnaOmegaToPi0Gamma.h:43
 AliAnaOmegaToPi0Gamma.h:44
 AliAnaOmegaToPi0Gamma.h:45
 AliAnaOmegaToPi0Gamma.h:46
 AliAnaOmegaToPi0Gamma.h:47
 AliAnaOmegaToPi0Gamma.h:48
 AliAnaOmegaToPi0Gamma.h:49
 AliAnaOmegaToPi0Gamma.h:50
 AliAnaOmegaToPi0Gamma.h:51
 AliAnaOmegaToPi0Gamma.h:52
 AliAnaOmegaToPi0Gamma.h:53
 AliAnaOmegaToPi0Gamma.h:54
 AliAnaOmegaToPi0Gamma.h:55
 AliAnaOmegaToPi0Gamma.h:56
 AliAnaOmegaToPi0Gamma.h:57
 AliAnaOmegaToPi0Gamma.h:58
 AliAnaOmegaToPi0Gamma.h:59
 AliAnaOmegaToPi0Gamma.h:60
 AliAnaOmegaToPi0Gamma.h:61
 AliAnaOmegaToPi0Gamma.h:62
 AliAnaOmegaToPi0Gamma.h:63
 AliAnaOmegaToPi0Gamma.h:64
 AliAnaOmegaToPi0Gamma.h:65
 AliAnaOmegaToPi0Gamma.h:66
 AliAnaOmegaToPi0Gamma.h:67
 AliAnaOmegaToPi0Gamma.h:68
 AliAnaOmegaToPi0Gamma.h:69
 AliAnaOmegaToPi0Gamma.h:70
 AliAnaOmegaToPi0Gamma.h:71
 AliAnaOmegaToPi0Gamma.h:72
 AliAnaOmegaToPi0Gamma.h:73
 AliAnaOmegaToPi0Gamma.h:74
 AliAnaOmegaToPi0Gamma.h:75
 AliAnaOmegaToPi0Gamma.h:76
 AliAnaOmegaToPi0Gamma.h:77
 AliAnaOmegaToPi0Gamma.h:78
 AliAnaOmegaToPi0Gamma.h:79
 AliAnaOmegaToPi0Gamma.h:80
 AliAnaOmegaToPi0Gamma.h:81
 AliAnaOmegaToPi0Gamma.h:82
 AliAnaOmegaToPi0Gamma.h:83
 AliAnaOmegaToPi0Gamma.h:84
 AliAnaOmegaToPi0Gamma.h:85
 AliAnaOmegaToPi0Gamma.h:86
 AliAnaOmegaToPi0Gamma.h:87
 AliAnaOmegaToPi0Gamma.h:88
 AliAnaOmegaToPi0Gamma.h:89
 AliAnaOmegaToPi0Gamma.h:90
 AliAnaOmegaToPi0Gamma.h:91
 AliAnaOmegaToPi0Gamma.h:92
 AliAnaOmegaToPi0Gamma.h:93
 AliAnaOmegaToPi0Gamma.h:94
 AliAnaOmegaToPi0Gamma.h:95
 AliAnaOmegaToPi0Gamma.h:96
 AliAnaOmegaToPi0Gamma.h:97
 AliAnaOmegaToPi0Gamma.h:98
 AliAnaOmegaToPi0Gamma.h:99
 AliAnaOmegaToPi0Gamma.h:100
 AliAnaOmegaToPi0Gamma.h:101
 AliAnaOmegaToPi0Gamma.h:102