partially port of current dielectron package, containing bug fixes
[u/mrichter/AliRoot.git] / OADB / AliOADBCentrality.h
CommitLineData
8432b617 1#ifndef AliOADBCentrality_H\r
2#define AliOADBCentrality_H\r
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *\r
4 * See cxx source for full Copyright notice */\r
5\r
6/* $Id$ */\r
7\r
8//-------------------------------------------------------------------------\r
9// OADB class for run dependent centrality scaling factors and \r
10// data for centrality determination\r
11// Author: Andreas Morsch, CERN\r
12//-------------------------------------------------------------------------\r
13\r
14#include <TNamed.h>\r
15#include <TList.h>\r
16#include <TH1F.h>\r
17#include <TH2F.h>\r
18\r
19\r
20class AliOADBCentrality : public TNamed {\r
21\r
22 public :\r
23 AliOADBCentrality();\r
24 AliOADBCentrality(char* name);\r
25 virtual ~AliOADBCentrality();\r
26 Float_t V0MScaleFactor() const {return fV0MScaleFactor;}\r
27 Float_t SPDScaleFactor() const {return fSPDScaleFactor;}\r
28 Float_t TPCScaleFactor() const {return fTPCScaleFactor;}\r
29 Float_t V0MScaleFactorMC() const {return fV0MScaleFactorMC;}\r
30\r
31 Float_t V0MSPDOutlierPar0() const {return fV0MSPDOutlierPar0 ;}\r
32 Float_t V0MSPDOutlierPar1() const {return fV0MSPDOutlierPar1 ;}\r
33 Float_t V0MTPCOutlierPar0() const {return fV0MTPCOutlierPar0 ;}\r
34 Float_t V0MTPCOutlierPar1() const {return fV0MTPCOutlierPar1 ;}\r
35\r
36 Float_t V0MSPDSigmaOutlierPar0() const {return fV0MSPDSigmaOutlierPar0 ;}\r
37 Float_t V0MSPDSigmaOutlierPar1() const {return fV0MSPDSigmaOutlierPar1 ;}\r
38 Float_t V0MSPDSigmaOutlierPar2() const {return fV0MSPDSigmaOutlierPar2 ;}\r
39 Float_t V0MTPCSigmaOutlierPar0() const {return fV0MTPCSigmaOutlierPar0 ;}\r
40 Float_t V0MTPCSigmaOutlierPar1() const {return fV0MTPCSigmaOutlierPar1 ;}\r
41 Float_t V0MTPCSigmaOutlierPar2() const {return fV0MTPCSigmaOutlierPar2 ;}\r
42\r
43 Float_t V0MZDCOutlierPar0() const {return fV0MZDCOutlierPar0 ;}\r
44 Float_t V0MZDCOutlierPar1() const {return fV0MZDCOutlierPar1 ;}\r
45 Float_t V0MZDCEcalOutlierPar0() const {return fV0MZDCEcalOutlierPar0 ;}\r
46 Float_t V0MZDCEcalOutlierPar1() const {return fV0MZDCEcalOutlierPar1 ;}\r
47\r
48 Float_t ZVCut() const {return fZVCut;}\r
49 Float_t OutliersCut() const {return fOutliersCut;}\r
50 Bool_t UseScaling() const {return fUseScaling;}\r
51 Bool_t UseCleaning() const {return fUseCleaning;}\r
52\r
53 TH1F* V0hist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0M_percentile")));}\r
54 TH1F* V0Ahist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0A_percentile")));}\r
55 TH1F* V0Chist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0C_percentile")));}\r
9828ee52 56 TH1F* V0Eqhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0MEq_percentile")));}\r
57 TH1F* V0AEqhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0AEq_percentile")));}\r
58 TH1F* V0CEqhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0CEq_percentile")));}\r
8432b617 59 TH1F* TPChist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultTRK_percentile")));}\r
60 TH1F* CNDhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCND_percentile")));}\r
61 TH1F* SPDhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCL1_percentile")));}\r
39a3e400 62 TH1F* FMDhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultFMD_percentile")));}\r
8156afd0 63 TH1F* ZNAhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNA_percentile")));}\r
9828ee52 64 TH1F* ZNChist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNC_percentile")));}\r
8432b617 65 TH2F* ZEMvsZDChist() const {return ((TH2F*) (Hists2D()->FindObject("fHOutMultZEMvsZDC")));}\r
39a3e400 66\r
67 TH1F* NPAhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultNPA_percentile")));}\r
68 TH1F* NPAhistDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultNPADPM_percentile")));}\r
69\r
70 TH1F* V0histtrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0Mtrue_percentile")));}\r
71 TH1F* V0Ahisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0Atrue_percentile")));}\r
72 TH1F* V0Chisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0Ctrue_percentile")));}\r
9828ee52 73 TH1F* V0Eqhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0MEqtrue_percentile")));}\r
74 TH1F* V0AEqhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0AEqtrue_percentile")));}\r
75 TH1F* V0CEqhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0CEqtrue_percentile")));}\r
39a3e400 76 TH1F* TPChisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultTRKtrue_percentile")));}\r
77 TH1F* CNDhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCNDtrue_percentile")));}\r
78 TH1F* SPDhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCL1true_percentile")));}\r
79 TH1F* FMDhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultFMDtrue_percentile")));}\r
8156afd0 80 TH1F* ZNAhisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNAtrue_percentile")));}\r
9828ee52 81 TH1F* ZNChisttrue() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNCtrue_percentile")));}\r
39a3e400 82\r
83 TH1F* V0histtrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0MtrueDPM_percentile")));}\r
84 TH1F* V0AhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0AtrueDPM_percentile")));}\r
85 TH1F* V0ChisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0CtrueDPM_percentile")));}\r
9828ee52 86 TH1F* V0EqhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0MEqtrueDPM_percentile")));}\r
87 TH1F* V0AEqhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0AEqtrueDPM_percentile")));}\r
88 TH1F* V0CEqhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0CEqtrueDPM_percentile")));}\r
39a3e400 89 TH1F* TPChisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultTRKtrueDPM_percentile")));}\r
90 TH1F* CNDhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCNDtrueDPM_percentile")));}\r
91 TH1F* SPDhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCL1trueDPM_percentile")));}\r
92 TH1F* FMDhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultFMDtrueDPM_percentile")));}\r
8156afd0 93 TH1F* ZNAhisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNAtrueDPM_percentile")));}\r
9828ee52 94 TH1F* ZNChisttrueDPM() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultZNCtrueDPM_percentile")));}\r
39a3e400 95\r
8432b617 96 TList* Hists1D() const {return f1DHistos;}\r
97 TList* Hists2D() const {return f2DHistos;}\r
98\r
99 void SetScaleFactors(Float_t v0m, Float_t spd, Float_t tpc, Float_t v0mMC)\r
100 {fV0MScaleFactor = v0m; fSPDScaleFactor = spd; fTPCScaleFactor = tpc; fV0MScaleFactorMC = v0mMC;}\r
101 \r
102 void SetOutlierV0MSPDFactors(Float_t a1, Float_t a2, Float_t a3, Float_t a4, Float_t a5)\r
103 {fV0MSPDOutlierPar0=a1;fV0MSPDOutlierPar1=a2;fV0MSPDSigmaOutlierPar0=a3;fV0MSPDSigmaOutlierPar1=a4;fV0MSPDSigmaOutlierPar2=a5;}\r
104 \r
105 void SetOutlierV0MTPCFactors(Float_t a1, Float_t a2, Float_t a3, Float_t a4, Float_t a5)\r
106 {fV0MTPCOutlierPar0=a1;fV0MTPCOutlierPar1=a2;fV0MTPCSigmaOutlierPar0=a3;fV0MTPCSigmaOutlierPar1=a4;fV0MTPCSigmaOutlierPar2=a5;}\r
107\r
108 void SetOutlierV0MZDCFactors(Float_t a1, Float_t a2)\r
109 {fV0MZDCOutlierPar0=a1;fV0MZDCOutlierPar1=a2;}\r
110 \r
111 void SetOutlierV0MZDCEcalFactors(Float_t a1, Float_t a2)\r
112 {fV0MZDCEcalOutlierPar0=a1;fV0MZDCEcalOutlierPar1=a2;}\r
113 \r
114 void SetHistReferences(TList* l1, TList* l2)\r
115 {f1DHistos = l1; f2DHistos = l2;}\r
116\r
117 void SetZVCut(Float_t z)\r
118 {fZVCut=z;}\r
119\r
120 void SetOutliersCut(Float_t o)\r
121 {fOutliersCut=o;}\r
122\r
123 void SetUseScaling(Bool_t x)\r
124 {fUseScaling=x;}\r
125\r
126 void SetUseCleaning(Bool_t x)\r
127 {fUseCleaning=x;}\r
128\r
129\r
130 private:\r
131 AliOADBCentrality(const AliOADBCentrality& cont); \r
132 AliOADBCentrality& operator=(const AliOADBCentrality& cont);\r
133\r
134 private:\r
135 Float_t fV0MScaleFactor; // V0 scale factor\r
136 Float_t fSPDScaleFactor; // SPD scale factor\r
137 Float_t fTPCScaleFactor; // TPC scale factor\r
138 Float_t fV0MScaleFactorMC; // V0 scale factor for MC\r
139\r
140 Float_t fV0MSPDOutlierPar0; // V0-SPD outlier parameterisation Par0\r
141 Float_t fV0MSPDOutlierPar1; // Par1\r
142 Float_t fV0MTPCOutlierPar0; // Par2\r
143 Float_t fV0MTPCOutlierPar1; // Par3\r
144\r
145 Float_t fV0MSPDSigmaOutlierPar0; // V0-SPD Sigma outlier parameterisation Par0\r
146 Float_t fV0MSPDSigmaOutlierPar1; // Par1\r
147 Float_t fV0MSPDSigmaOutlierPar2; // Par2\r
148 Float_t fV0MTPCSigmaOutlierPar0; // Par3\r
149 Float_t fV0MTPCSigmaOutlierPar1; // Par4\r
150 Float_t fV0MTPCSigmaOutlierPar2; // Par5\r
151\r
152 Float_t fV0MZDCOutlierPar0; // V0-ZDC outlier parameterisation Par0\r
153 Float_t fV0MZDCOutlierPar1; // Par1\r
154 Float_t fV0MZDCEcalOutlierPar0; // Par2\r
155 Float_t fV0MZDCEcalOutlierPar1; // Par3\r
156\r
157 Float_t fZVCut; // zV-cut\r
158 Float_t fOutliersCut; // outlier cuts\r
159 Bool_t fUseScaling; // Flag for scaling\r
160 Bool_t fUseCleaning; // Flag for cleaning\r
161\r
162 TList* f1DHistos; // Reference to list of 1D Centrality histos \r
163 TList* f2DHistos; // Reference to list of 2D Centrality histos\r
164 ClassDef(AliOADBCentrality, 3);\r
165};\r
166\r
167#endif\r