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
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
20 class AliOADBCentrality : public TNamed {
\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
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
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
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
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
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
56 TH1F* TPChist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultTRK_percentile")));}
\r
57 TH1F* CNDhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCND_percentile")));}
\r
58 TH1F* SPDhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCL1_percentile")));}
\r
59 TH1F* NPAhist() const {return ((TH1F*) (Hists1D()->FindObject("fHOutMultNPA_percentile")));}
\r
60 TH1F* ZNAhist() const {return ((TH1F*) (Hists1D()->FindObject("hZNA")));}
\r
61 TH2F* ZEMvsZDChist() const {return ((TH2F*) (Hists2D()->FindObject("fHOutMultZEMvsZDC")));}
\r
62 TList* Hists1D() const {return f1DHistos;}
\r
63 TList* Hists2D() const {return f2DHistos;}
\r
65 void SetScaleFactors(Float_t v0m, Float_t spd, Float_t tpc, Float_t v0mMC)
\r
66 {fV0MScaleFactor = v0m; fSPDScaleFactor = spd; fTPCScaleFactor = tpc; fV0MScaleFactorMC = v0mMC;}
\r
68 void SetOutlierV0MSPDFactors(Float_t a1, Float_t a2, Float_t a3, Float_t a4, Float_t a5)
\r
69 {fV0MSPDOutlierPar0=a1;fV0MSPDOutlierPar1=a2;fV0MSPDSigmaOutlierPar0=a3;fV0MSPDSigmaOutlierPar1=a4;fV0MSPDSigmaOutlierPar2=a5;}
\r
71 void SetOutlierV0MTPCFactors(Float_t a1, Float_t a2, Float_t a3, Float_t a4, Float_t a5)
\r
72 {fV0MTPCOutlierPar0=a1;fV0MTPCOutlierPar1=a2;fV0MTPCSigmaOutlierPar0=a3;fV0MTPCSigmaOutlierPar1=a4;fV0MTPCSigmaOutlierPar2=a5;}
\r
74 void SetOutlierV0MZDCFactors(Float_t a1, Float_t a2)
\r
75 {fV0MZDCOutlierPar0=a1;fV0MZDCOutlierPar1=a2;}
\r
77 void SetOutlierV0MZDCEcalFactors(Float_t a1, Float_t a2)
\r
78 {fV0MZDCEcalOutlierPar0=a1;fV0MZDCEcalOutlierPar1=a2;}
\r
80 void SetHistReferences(TList* l1, TList* l2)
\r
81 {f1DHistos = l1; f2DHistos = l2;}
\r
83 void SetZVCut(Float_t z)
\r
86 void SetOutliersCut(Float_t o)
\r
89 void SetUseScaling(Bool_t x)
\r
92 void SetUseCleaning(Bool_t x)
\r
97 AliOADBCentrality(const AliOADBCentrality& cont);
\r
98 AliOADBCentrality& operator=(const AliOADBCentrality& cont);
\r
101 Float_t fV0MScaleFactor; // V0 scale factor
\r
102 Float_t fSPDScaleFactor; // SPD scale factor
\r
103 Float_t fTPCScaleFactor; // TPC scale factor
\r
104 Float_t fV0MScaleFactorMC; // V0 scale factor for MC
\r
106 Float_t fV0MSPDOutlierPar0; // V0-SPD outlier parameterisation Par0
\r
107 Float_t fV0MSPDOutlierPar1; // Par1
\r
108 Float_t fV0MTPCOutlierPar0; // Par2
\r
109 Float_t fV0MTPCOutlierPar1; // Par3
\r
111 Float_t fV0MSPDSigmaOutlierPar0; // V0-SPD Sigma outlier parameterisation Par0
\r
112 Float_t fV0MSPDSigmaOutlierPar1; // Par1
\r
113 Float_t fV0MSPDSigmaOutlierPar2; // Par2
\r
114 Float_t fV0MTPCSigmaOutlierPar0; // Par3
\r
115 Float_t fV0MTPCSigmaOutlierPar1; // Par4
\r
116 Float_t fV0MTPCSigmaOutlierPar2; // Par5
\r
118 Float_t fV0MZDCOutlierPar0; // V0-ZDC outlier parameterisation Par0
\r
119 Float_t fV0MZDCOutlierPar1; // Par1
\r
120 Float_t fV0MZDCEcalOutlierPar0; // Par2
\r
121 Float_t fV0MZDCEcalOutlierPar1; // Par3
\r
123 Float_t fZVCut; // zV-cut
\r
124 Float_t fOutliersCut; // outlier cuts
\r
125 Bool_t fUseScaling; // Flag for scaling
\r
126 Bool_t fUseCleaning; // Flag for cleaning
\r
128 TList* f1DHistos; // Reference to list of 1D Centrality histos
\r
129 TList* f2DHistos; // Reference to list of 2D Centrality histos
\r
130 ClassDef(AliOADBCentrality, 3);
\r