]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliHFSystErr.h
Updates in Lc->V0bachelor analysis (Annalisa)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliHFSystErr.h
CommitLineData
1cad7456 1#ifndef ALIHFSYSTERR_H
2#define ALIHFSYSTERR_H
3/* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
27de2dfb 6/* $Id$ */
7
1cad7456 8//***********************************************************
9// Class AliRDHFSystErr
10// to handle systematic errors for charm hadrons
11// Author: A.Dainese, andrea.dainese@pd.infn.it
12//***********************************************************
13
14#include <TNamed.h>
aebba8df 15#include <TString.h>
1cad7456 16#include <TH1F.h>
5541b811 17#include "AliLog.h"
8998180c 18#include "TGraphAsymmErrors.h"
1cad7456 19
20
21class AliHFSystErr : public TNamed
22{
23 public:
24
25 AliHFSystErr(const Char_t* name="HFSystErr", const Char_t* title="");
1cad7456 26
27 virtual ~AliHFSystErr();
28
8998180c 29 void DrawErrors(TGraphAsymmErrors *grErrFeeddown=0) const;
1cad7456 30
31 Double_t GetNormErr() const {return (fNorm ? fNorm->GetBinContent(0) : 0.);}
32 Double_t GetBRErr() const {return (fBR ? fBR->GetBinContent(0) : 0.);}
33 Double_t GetCutsEffErr(Double_t pt) const;
34 Double_t GetMCPtShapeErr(Double_t pt) const;
35 Double_t GetSeleEffErr(Double_t pt) const;
36 Double_t GetPartAntipartErr(Double_t pt) const;
37 Double_t GetPIDEffErr(Double_t pt) const;
38 Double_t GetRawYieldErr(Double_t pt) const;
39 Double_t GetTrackingEffErr(Double_t pt) const;
40 Double_t GetTotalSystErr(Double_t pt,Double_t feeddownErr=0) const;
41
5541b811 42 // Setting the run number
43 // set the two last numbers of the year (is 10 for 2010)
44 void SetRunNumber(Int_t number) {
45 fRunNumber = number;
46 AliInfo(Form(" Settings for run year 20%2d",fRunNumber));
47 }
48 // Setting the collision type
49 // 0 is pp, 1 is PbPb
50 void SetCollisionType(Int_t type) {
51 fCollisionType = type;
52 if (fCollisionType==0) { AliInfo(" Settings for p-p collisions"); }
53 else if(fCollisionType==1) { AliInfo(" Settings for Pb-Pb collisions"); }
54 }
55 // Setting for the centrality class
56 // 0100 for MB, 020 (4080) for 0-20 (40-80) CC and so on
aebba8df 57 void SetCentrality(TString centrality) {
5541b811 58 fCentralityClass = centrality;
aebba8df 59 AliInfo(Form(" Settings for centrality class %s",fCentralityClass.Data()));
5541b811 60 }
a8c3295d 61 void SetIsLowEnergy(Bool_t flag) {
62 fIsLowEnergy = flag;
63 AliInfo(" Settings for the low energy run");
64 }
cede55f5 65 void SetIsPbPb2010EnergyScan(Bool_t flag) {
66 fIsCentScan = flag;
67 AliInfo(" Settings for the PbPb 2010 energy scan");
68 }
5541b811 69
70 // Function to initialize the variables/histograms
71 void Init(Int_t decay);
1cad7456 72
414bc6a5 73 void InitD0toKpi2010PbPb010CentScan();
74 void InitD0toKpi2010PbPb1020CentScan();
75 void InitD0toKpi2010PbPb2040CentScan();
76 void InitD0toKpi2010PbPb4060CentScan();
77 void InitD0toKpi2010PbPb6080CentScan();
78
93da8165 79 void InitD0toKpi2011PbPb3050InPlane();
80 void InitD0toKpi2011PbPb3050OutOfPlane();
81
414bc6a5 82 void InitDplustoKpipi2010PbPb010CentScan();
83 void InitDplustoKpipi2010PbPb1020CentScan();
84 void InitDplustoKpipi2010PbPb2040CentScan();
85 void InitDplustoKpipi2010PbPb4060CentScan();
86 void InitDplustoKpipi2010PbPb6080CentScan();
87
88 void InitDstartoD0pi2010PbPb010CentScan();
89 void InitDstartoD0pi2010PbPb1020CentScan();
90 void InitDstartoD0pi2010PbPb2040CentScan();
91 void InitDstartoD0pi2010PbPb4060CentScan();
92 void InitDstartoD0pi2010PbPb6080CentScan();
9ca30701 93
414bc6a5 94
1cad7456 95 private:
96
97 AliHFSystErr(const AliHFSystErr& source);
98 AliHFSystErr& operator=(const AliHFSystErr& source);
99
5541b811 100 void InitD0toKpi2010pp();
9ca30701 101 void InitD0toKpi2010ppLowEn();
9a8b5080 102 void InitD0toKpi2011PbPb07half();
9ca30701 103 void InitD0toKpi2010PbPb020();
5541b811 104 void InitD0toKpi2010PbPb4080();
9ca30701 105
106 void InitDplustoKpipi2010pp();
107 void InitDplustoKpipi2010ppLowEn();
108 void InitDplustoKpipi2011PbPb07half();
109 void InitDplustoKpipi2010PbPb020();
5541b811 110 void InitDplustoKpipi2010PbPb4080();
9ca30701 111
112 void InitDstartoD0pi2010pp();
113 void InitDstartoD0pi2010ppLowEn();
114 void InitDstartoD0pi2011PbPb07half();
115 void InitDstartoD0pi2010PbPb020();
116 void InitDstartoD0pi2010PbPb2040();
5541b811 117 void InitDstartoD0pi2010PbPb4080();
1cad7456 118
9ca30701 119 void InitDstoKKpi2010pp();
120 void InitDstoKKpi2011PbPb07half();
414bc6a5 121
9ca30701 122 void InitLctopKpi2010pp();
a8c3295d 123
1cad7456 124
f968ef30 125 TH1F* ReflectHisto(TH1F *hin) const;
126
1cad7456 127 TH1F *fNorm; // normalization
128 TH1F *fRawYield; // raw yield
129 TH1F *fTrackingEff; // tracking efficiency
130 TH1F *fBR; // branching ratio
131 TH1F *fCutsEff; // cuts efficiency
132 TH1F *fPIDEff; // PID efficiency
133 TH1F *fMCPtShape; // MC dNdpt
134 TH1F *fPartAntipart; // particle=antiparticle
135
5541b811 136 Int_t fRunNumber; // Run Number (year)
137 Int_t fCollisionType; // Collision type: pp=0, PbPb=1
aebba8df 138 TString fCentralityClass; // Centrality class
5541b811 139 // MB:0100, 0-10:010, 0-20:020 ...40-80:4080...
a8c3295d 140 Bool_t fIsLowEnergy; // flag for the low energy (2.76TeV) run
cede55f5 141 Bool_t fIsCentScan; // flag fot the PbPb centrality scan
5541b811 142
cede55f5 143 ClassDef(AliHFSystErr,4); // class for systematic errors of charm hadrons
1cad7456 144};
145
146#endif
147