]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaPi0.h
Changes for report #69974: Virtual class for calorimeter analysis objects
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaPi0.h
CommitLineData
1c5acb87 1#ifndef ALIANAPI0_H
2#define ALIANAPI0_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5/* $Id: $ */
6
7//_________________________________________________________________________
8// Class to fill two-photon invariant mass hisograms
9// to be used to extract pi0 raw yield.
10//
11//-- Author: Dmitri Peressounko (RRC "KI")
12//-- Adapted to PartCorr frame by Lamia Benhabib (SUBATECH)
13//-- and Gustavo Conesa (INFN-Frascati)
14
15//Root
16class TList;
17class TH3D ;
50f39b97 18class TH2D ;
0c1383b5 19class TObjString;
1c5acb87 20
21//Analysis
22class AliAODEvent ;
23class AliESDEvent ;
c8fe2783 24class AliAODPWG4Particle ;
1c5acb87 25#include "AliAnaPartCorrBaseClass.h"
26
1c5acb87 27class AliAnaPi0 : public AliAnaPartCorrBaseClass {
6639984f 28
78219bac 29 public:
6639984f 30 AliAnaPi0() ; // default ctor
6639984f 31 virtual ~AliAnaPi0() ;//virtual dtor
78219bac 32 private:
33 AliAnaPi0(const AliAnaPi0 & g) ; // cpy ctor
614701c6 34 AliAnaPi0 & operator = (const AliAnaPi0 & api0) ;//cpy assignment
6639984f 35
78219bac 36 public:
37
0c1383b5 38 TObjString * GetAnalysisCuts();
39 TList * GetCreateOutputObjects();
6639984f 40
41 void Print(const Option_t * opt) const;
42
5a2dbc3c 43 //void Init();
6639984f 44 void InitParameters();
45
46 //void MakeAnalysisFillAOD() {;} //Not needed
47 void MakeAnalysisFillHistograms();
48
49 // void SetBadRunsList(){;} ; //Set list of runs which can be used for this analysis
50 //To be defined in future.
5a2dbc3c 51
52 //void SetEtalonHisto(TH3D * h);//Provide etalon of binning for histograms
6639984f 53
54 //Setters for parameters of event buffers
b05a14a3 55 void SetNCentrBin(Int_t n=5) {fNCentrBin=n ;} //number of bins in centrality
56 void SetNZvertBin(Int_t n=5) {fNZvertBin=n ;} //number of bins for vertex position
57 void SetNRPBin(Int_t n=6) {fNrpBin=n ;} //number of bins in reaction plain
58 void SetNMaxEvMix(Int_t n=20){fNmaxMixEv=n ;} //Maximal number of events for mixing
6639984f 59
60 //Setters for event selection
61 void SetZvertexCut(Float_t zcut=40.){fZvtxCut=zcut ;} //cut on vertex position
62
63 TString GetCalorimeter() const {return fCalorimeter ; }
64 void SetCalorimeter(TString det) {fCalorimeter = det ; }
afabc52f 65
a5cc4f03 66 void Terminate(TList* outputList);
67 void ReadHistograms(TList * outputList); //Fill histograms with histograms in ouput list, needed in Terminate.
68
6921fa00 69 void SetNumberOfModules(Int_t nmod) {fNModules = nmod;}
70
b05a14a3 71 Int_t GetNPID() const {return fNPID ; }
72 void SetNPID(Int_t n) {fNPID = n ; }
8d5beeb8 73
50f39b97 74 void SwitchOnAngleSelection() {fUseAngleCut = kTRUE ; }
75 void SwitchOffAngleSelection() {fUseAngleCut = kFALSE ; }
c8fe2783 76
77 virtual Int_t GetEventIndex(AliAODPWG4Particle * part, Double_t * vert) ;
78
79
50f39b97 80
6639984f 81 private:
82 Bool_t IsBadRun(Int_t /*iRun*/) const {return kFALSE;} //Tests if this run bad according to private list
83
84 private:
50f39b97 85 Int_t fNCentrBin ; // Number of bins in event container for centrality
86 Int_t fNZvertBin ; // Number of bins in event container for vertex position
87 Int_t fNrpBin ; // Number of bins in event container for reaction plain
88 Int_t fNPID ; // Number of possible PID combinations
89 Int_t fNmaxMixEv ; // Maximal number of events stored in buffer for mixing
90 Float_t fZvtxCut ; // Cut on vertex position
91 TString fCalorimeter ; // Select Calorimeter for IM
92 Int_t fNModules ; // Number of EMCAL/PHOS modules, set as many histogras as modules
93 Bool_t fUseAngleCut ; // Select pairs depending on their opening angle
94 TList ** fEventsList ; //! Containers for photons in stored events
6639984f 95
96 //Histograms
97
5a2dbc3c 98 //TH3D * fhEtalon ; //Etalon histo, all distributions will have same binning as this one
6639984f 99
6921fa00 100 TH3D ** fhReMod ; //!REAL two-photon invariant mass distribution for different calorimeter modules.
101
6639984f 102 TH3D ** fhRe1 ; //!REAL two-photon invariant mass distribution for different centralities and PID
103 TH3D ** fhMi1 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
104 TH3D ** fhRe2 ; //!REAL two-photon invariant mass distribution for different centralities and PID
105 TH3D ** fhMi2 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
106 TH3D ** fhRe3 ; //!REAL two-photon invariant mass distribution for different centralities and PID
107 TH3D ** fhMi3 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
50f39b97 108 TH3D * fhEvents; //!Number of events per centrality, RP, zbin
109
110 TH2D * fhRealOpeningAngle ; //! Opening angle of pair versus pair energy
111 TH2D * fhRealCosOpeningAngle ; //! Cosinus of opening angle of pair version pair energy
6921fa00 112
6639984f 113 //Acceptance
114 TH1D * fhPrimPt ; //! Spectrum of Primary
115 TH1D * fhPrimAccPt ; //! Spectrum of primary with accepted daughters
116 TH1D * fhPrimY ; //! Rapidity distribution of primary particles
117 TH1D * fhPrimAccY ; //! Rapidity distribution of primary with accepted daughters
118 TH1D * fhPrimPhi ; //! Azimutal distribution of primary particles
119 TH1D * fhPrimAccPhi; //! Azimutal distribution of primary with accepted daughters
50f39b97 120 TH2D * fhPrimOpeningAngle ; //! Opening angle of pair versus pair energy, primaries
121 TH2D * fhPrimCosOpeningAngle ; //! Cosinus of opening angle of pair version pair energy, primaries
122
123 ClassDef(AliAnaPi0,8)
1c5acb87 124} ;
125
126
127#endif //ALIANAPI0_H
128
129
130