]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaPi0.h
Introduce smaller AliTRDCalDCSFEEv2 object (Frederick)
[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
5025c139 22#include "AliAnaPartCorrBaseClass.h"
1c5acb87 23class AliAODEvent ;
24class AliESDEvent ;
c8fe2783 25class AliAODPWG4Particle ;
1c5acb87 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
5ae09196 46 void FillAcceptanceHistograms();
6639984f 47 //void MakeAnalysisFillAOD() {;} //Not needed
48 void MakeAnalysisFillHistograms();
49
50 // void SetBadRunsList(){;} ; //Set list of runs which can be used for this analysis
51 //To be defined in future.
5ae09196 52
6639984f 53 //Setters for parameters of event buffers
b05a14a3 54 void SetNCentrBin(Int_t n=5) {fNCentrBin=n ;} //number of bins in centrality
5025c139 55// void SetNZvertBin(Int_t n=5) {fNZvertBin=n ;} //number of bins for vertex position
56// void SetNRPBin(Int_t n=6) {fNrpBin=n ;} //number of bins in reaction plain
b05a14a3 57 void SetNMaxEvMix(Int_t n=20){fNmaxMixEv=n ;} //Maximal number of events for mixing
6639984f 58
59 //Setters for event selection
5025c139 60 // void SetZvertexCut(Float_t zcut=40.){fZvtxCut=zcut ;} //cut on vertex position
6639984f 61
62 TString GetCalorimeter() const {return fCalorimeter ; }
63 void SetCalorimeter(TString det) {fCalorimeter = det ; }
afabc52f 64
a5cc4f03 65 void Terminate(TList* outputList);
66 void ReadHistograms(TList * outputList); //Fill histograms with histograms in ouput list, needed in Terminate.
67
6921fa00 68 void SetNumberOfModules(Int_t nmod) {fNModules = nmod;}
69
b05a14a3 70 Int_t GetNPID() const {return fNPID ; }
71 void SetNPID(Int_t n) {fNPID = n ; }
8d5beeb8 72
50f39b97 73 void SwitchOnAngleSelection() {fUseAngleCut = kTRUE ; }
74 void SwitchOffAngleSelection() {fUseAngleCut = kFALSE ; }
c8fe2783 75
76 virtual Int_t GetEventIndex(AliAODPWG4Particle * part, Double_t * vert) ;
77
7e7694bb 78 void SwitchOnOwnMix() {fDoOwnMix = kTRUE ; }
79 void SwitchOffOwnMix() {fDoOwnMix = kFALSE ; }
80
5ae09196 81 //Cuts for multiple analysis
82 void SwitchOnMultipleCutAnalysis() {fMultiCutAna = kTRUE;}
83 void SwitchOffMultipleCutAnalysis() {fMultiCutAna = kFALSE;}
84
d7c10d78 85 void SetNPtCuts (Int_t size) {if(size <= 5)fNPtCuts = size; }
86 void SetNAsymCuts (Int_t size) {if(size <= 5)fNAsymCuts = size; }
87 void SetNNCellCuts(Int_t size) {if(size <= 5)fNCellNCuts = size; }
88 void SetNPIDBits (Int_t size) {if(size <= 5)fNPIDBits = size; }
5ae09196 89
d7c10d78 90 void SetPtCutsAt (Int_t pos,Float_t val) {if(pos < 5)fPtCuts[pos] = val;}
91 void SetAsymCutsAt (Int_t pos,Float_t val) {if(pos < 5)fAsymCuts[pos] = val;}
b7c1b1cb 92 void SetNCellCutsAt(Int_t pos,Int_t val) {if(pos < 5)fCellNCuts[pos] = val;}
93 void SetPIDBitsAt (Int_t pos,Int_t val) {if(pos < 5)fPIDBits[pos] = val;}
d7c10d78 94
95
6639984f 96 private:
97 Bool_t IsBadRun(Int_t /*iRun*/) const {return kFALSE;} //Tests if this run bad according to private list
98
99 private:
7e7694bb 100 Bool_t fDoOwnMix; // Do combinatorial background not the one provided by the frame
50f39b97 101 Int_t fNCentrBin ; // Number of bins in event container for centrality
d7c10d78 102 // Int_t fNZvertBin ; // Number of bins in event container for vertex position
103 // Int_t fNrpBin ; // Number of bins in event container for reaction plain
7e7694bb 104 Int_t fNPID ; // Number of possible PID combinations
50f39b97 105 Int_t fNmaxMixEv ; // Maximal number of events stored in buffer for mixing
d7c10d78 106 // Float_t fZvtxCut ; // Cut on vertex position
50f39b97 107 TString fCalorimeter ; // Select Calorimeter for IM
108 Int_t fNModules ; // Number of EMCAL/PHOS modules, set as many histogras as modules
109 Bool_t fUseAngleCut ; // Select pairs depending on their opening angle
110 TList ** fEventsList ; //! Containers for photons in stored events
5ae09196 111 Bool_t fMultiCutAna; // Do analysis with several or fixed cut
112 Int_t fNPtCuts; // number of pt cuts
d7c10d78 113 Float_t fPtCuts[5]; // array with different pt cuts
5ae09196 114 Int_t fNAsymCuts; // number of assymmetry cuts
d7c10d78 115 Float_t fAsymCuts[5]; // array with different assymetry cuts
5ae09196 116 Int_t fNCellNCuts; // number of cuts with number of cells in cluster
d7c10d78 117 Int_t fCellNCuts[5]; // array with different cell number cluster cuts
5ae09196 118 Int_t fNPIDBits; // number of PID bits to check in multi cuts option
d7c10d78 119 Int_t fPIDBits[5]; // array with different pid bits
5ae09196 120
6639984f 121 //Histograms
821c8090 122 TH3D ** fhReMod ; //!REAL two-photon invariant mass distribution for different calorimeter modules.
123 TH3D ** fhReDiffMod ; //!REAL two-photon invariant mass distribution for different clusters in different calorimeter modules.
124
5ae09196 125 TH3D ** fhRe1 ; //!REAL two-photon invariant mass distribution for different centralities and PID
6639984f 126 TH3D ** fhMi1 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
5ae09196 127 TH3D ** fhRe2 ; //!REAL two-photon invariant mass distribution for different centralities and PID
6639984f 128 TH3D ** fhMi2 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
5ae09196 129 TH3D ** fhRe3 ; //!REAL two-photon invariant mass distribution for different centralities and PID
6639984f 130 TH3D ** fhMi3 ; //!MIXED two-photon invariant mass distribution for different centralities and PID
5ae09196 131
132 TH3D ** fhReInvPt1 ; //!REAL two-photon invariant mass distribution for different centralities and PID, inverse pT
133 TH3D ** fhMiInvPt1 ; //!MIXED two-photon invariant mass distribution for different centralities and PID, inverse pT
134 TH3D ** fhReInvPt2 ; //!REAL two-photon invariant mass distribution for different centralities and PID, inverse pT
135 TH3D ** fhMiInvPt2 ; //!MIXED two-photon invariant mass distribution for different centralities and PID, inverse pT
136 TH3D ** fhReInvPt3 ; //!REAL two-photon invariant mass distribution for different centralities and PID, inverse pT
137 TH3D ** fhMiInvPt3 ; //!MIXED two-photon invariant mass distribution for different centralities and PID, inverse pT
138
139 //Multiple cuts
140 TH2D ** fhRePtNCellAsymCuts ; //!REAL two-photon invariant mass distribution for different pt cut, n cell cuts and assymetry
141 TH2D ** fhRePIDBits ; //!REAL two-photon invariant mass distribution for different PID bits
821c8090 142 TH3D * fhRePtMult ; //!REAL two-photon invariant mass distribution for different track multiplicity
143 TH3D * fhRePtMultAsy07 ; //!REAL two-photon invariant mass distribution for different track multiplicity, asymetry < 0.7
144
50f39b97 145 TH3D * fhEvents; //!Number of events per centrality, RP, zbin
146
147 TH2D * fhRealOpeningAngle ; //! Opening angle of pair versus pair energy
148 TH2D * fhRealCosOpeningAngle ; //! Cosinus of opening angle of pair version pair energy
6921fa00 149
6639984f 150 //Acceptance
151 TH1D * fhPrimPt ; //! Spectrum of Primary
152 TH1D * fhPrimAccPt ; //! Spectrum of primary with accepted daughters
153 TH1D * fhPrimY ; //! Rapidity distribution of primary particles
154 TH1D * fhPrimAccY ; //! Rapidity distribution of primary with accepted daughters
155 TH1D * fhPrimPhi ; //! Azimutal distribution of primary particles
156 TH1D * fhPrimAccPhi; //! Azimutal distribution of primary with accepted daughters
50f39b97 157 TH2D * fhPrimOpeningAngle ; //! Opening angle of pair versus pair energy, primaries
158 TH2D * fhPrimCosOpeningAngle ; //! Cosinus of opening angle of pair version pair energy, primaries
159
5ae09196 160 ClassDef(AliAnaPi0,10)
1c5acb87 161} ;
162
163
164#endif //ALIANAPI0_H
165
166
167