1 //Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
2 //University of Tennessee at Knoxville
3 // This is a container class for the correction factors for the hadronic
4 // component of transverse energy
5 // It is filled by the output of AliAnalysisTaskHadEt from spinning over Monte
6 // Carlo data (using AliAnalysisHadEtMonteCarlo)
7 //It is used by AliAnalysisTaskHadEt while spinning over reconstructed data
8 // (using AliAnalysisHadEtReconstructed)
9 //Please see https://twiki.cern.ch/twiki/bin/view/ALICE/ETCaloAnalysis
10 #include "AliAnalysisHadEtCorrections.h"
18 ClassImp(AliAnalysisHadEtCorrections);
21 AliAnalysisHadEtCorrections::AliAnalysisHadEtCorrections() : TNamed(),
23 ,fAcceptanceCorrectionFull(0)
24 ,fAcceptanceCorrectionEMCAL(0)
25 ,fAcceptanceCorrectionPHOS(0)
26 ,fNeutralCorrection(0)
27 ,fNotHadronicCorrection(0)
28 ,fpTcutCorrectionTPC(0)
29 ,fpTcutCorrectionITS(0)
30 ,fNeutralCorrectionLow(0)
31 ,fNotHadronicCorrectionLow(0)
32 ,ffpTcutCorrectionTPCLow(0)
33 ,ffpTcutCorrectionITSLow(0)
34 ,fNeutralCorrectionHigh(0)
35 ,fNotHadronicCorrectionHigh(0)
36 ,ffpTcutCorrectionTPCHigh(0)
37 ,ffpTcutCorrectionITSHigh(0)
41 ,fEfficiencyPionTPC(0)
42 ,fEfficiencyKaonTPC(0)
43 ,fEfficiencyProtonTPC(0)
44 ,fEfficiencyHadronTPC(0)
45 ,fEfficiencyPionITS(0)
46 ,fEfficiencyKaonITS(0)
47 ,fEfficiencyProtonITS(0)
48 ,fEfficiencyHadronITS(0)
51 {//default constructor
52 //This seems to solve a compiler error
53 cout<<"Creating new AliAnalysisHadEtCorrections"<<endl;
56 AliAnalysisHadEtCorrections::~AliAnalysisHadEtCorrections()
62 delete fEfficiencyPionTPC;
63 delete fEfficiencyKaonTPC;
64 delete fEfficiencyProtonTPC;
65 delete fEfficiencyHadronTPC;
66 delete fEfficiencyPionITS;
67 delete fEfficiencyKaonITS;
68 delete fEfficiencyProtonITS;
69 delete fEfficiencyHadronITS;
70 delete fBackgroundTPC;
71 delete fBackgroundITS;
72 // fnotIDTPC->Clear();
73 // fnotIDITS->Clear();
74 // fnotIDNoID->Clear();
75 // fEfficiencyPionTPC->Clear();
76 // fEfficiencyKaonTPC->Clear();
77 // fEfficiencyProtonTPC->Clear();
78 // fEfficiencyHadronTPC->Clear();
79 // fEfficiencyPionITS->Clear();
80 // fEfficiencyKaonITS->Clear();
81 // fEfficiencyProtonITS->Clear();
82 // fEfficiencyHadronITS->Clear();
83 // fBackgroundTPC->Clear();
84 // fBackgroundITS->Clear();
86 AliAnalysisHadEtCorrections::AliAnalysisHadEtCorrections(const AliAnalysisHadEtCorrections *g): TNamed(),
88 ,fAcceptanceCorrectionFull(g->fAcceptanceCorrectionFull)
89 ,fAcceptanceCorrectionEMCAL(g->fAcceptanceCorrectionEMCAL)
90 ,fAcceptanceCorrectionPHOS(g->fAcceptanceCorrectionPHOS)
91 ,fNeutralCorrection(g->fNeutralCorrection)
92 ,fNotHadronicCorrection(g->fNotHadronicCorrection)
93 ,fpTcutCorrectionTPC(g->fpTcutCorrectionTPC)
94 ,fpTcutCorrectionITS(g->fpTcutCorrectionITS)
95 ,fNeutralCorrectionLow(g->fNeutralCorrectionLow)
96 ,fNotHadronicCorrectionLow(g->fNotHadronicCorrectionLow)
97 ,ffpTcutCorrectionTPCLow(g->ffpTcutCorrectionTPCLow)
98 ,ffpTcutCorrectionITSLow(g->ffpTcutCorrectionITSLow)
99 ,fNeutralCorrectionHigh(g->fNeutralCorrectionHigh)
100 ,fNotHadronicCorrectionHigh(g->fNotHadronicCorrectionHigh)
101 ,ffpTcutCorrectionTPCHigh(g->ffpTcutCorrectionTPCHigh)
102 ,ffpTcutCorrectionITSHigh(g->ffpTcutCorrectionITSHigh)
106 ,fEfficiencyPionTPC(0)
107 ,fEfficiencyKaonTPC(0)
108 ,fEfficiencyProtonTPC(0)
109 ,fEfficiencyHadronTPC(0)
110 ,fEfficiencyPionITS(0)
111 ,fEfficiencyKaonITS(0)
112 ,fEfficiencyProtonITS(0)
113 ,fEfficiencyHadronITS(0)
117 //SetName(g->GetName());
118 fnotIDTPC = new TH1D(*(g->fnotIDTPC));
119 fnotIDITS = new TH1D(*(g->fnotIDITS));
120 fnotIDNoID = new TH1D(*(g->fnotIDNoID));
121 fEfficiencyPionTPC = new TH1D(*(g->fEfficiencyPionTPC));
122 fEfficiencyKaonTPC = new TH1D(*(g->fEfficiencyKaonTPC));
123 fEfficiencyProtonTPC = new TH1D(*(g->fEfficiencyProtonTPC));
124 fEfficiencyHadronTPC = new TH1D(*(g->fEfficiencyHadronTPC));
125 fEfficiencyPionITS = new TH1D(*(g->fEfficiencyPionITS));
126 fEfficiencyKaonITS = new TH1D(*(g->fEfficiencyKaonITS));
127 fEfficiencyProtonITS = new TH1D(*(g->fEfficiencyProtonITS));
128 fEfficiencyHadronITS = new TH1D(*(g->fEfficiencyHadronITS));
129 fBackgroundTPC = new TH1D(*(g->fBackgroundTPC));
130 fBackgroundITS = new TH1D(*(g->fBackgroundITS));
133 // AliAnalysisHadEtCorrections & operator = (const AliAnalysisHadEtCorrections & g) {
135 // fEtaCut=g->fEtaCut;
136 // fAcceptanceCorrectionFull=g->fAcceptanceCorrectionFull;
137 // fAcceptanceCorrectionEMCAL=g->fAcceptanceCorrectionEMCAL;
138 // fAcceptanceCorrectionPHOS=g->fAcceptanceCorrectionPHOS;
139 // fNeutralCorrection=g->fNeutralCorrection;
140 // fNotHadronicCorrection=g->fNotHadronicCorrection;
141 // fpTcutCorrectionTPC=g->fpTcutCorrectionTPC;
142 // fpTcutCorrectionITS=g->fpTcutCorrectionITS;
143 // fNeutralCorrectionLow=g->fNeutralCorrectionLow;
144 // fNotHadronicCorrectionLow=g->fNotHadronicCorrectionLow;
145 // ffpTcutCorrectionTPCLow=g->ffpTcutCorrectionTPCLow;
146 // ffpTcutCorrectionITSLow=g->ffpTcutCorrectionITSLow;
147 // fNeutralCorrectionHigh=g->fNeutralCorrectionHigh;
148 // fNotHadronicCorrectionHigh=g->fNotHadronicCorrectionHigh;
149 // ffpTcutCorrectionTPCHigh=g->ffpTcutCorrectionTPCHigh;
150 // ffpTcutCorrectionITSHigh=g->ffpTcutCorrectionITSHigh;
152 // fnotIDTPC = g->fnotIDTPC;
153 // fnotIDITS = g->fnotIDITS;
154 // fnotIDNoID = g->fnotIDNoID;
155 // fEfficiencyPionTPC = g->fEfficiencyPionTPC;
156 // fEfficiencyKaonTPC = g->fEfficiencyKaonTPC;
157 // fEfficiencyProtonTPC = g->fEfficiencyProtonTPC;
158 // fEfficiencyHadronTPC = g->fEfficiencyHadronTPC;
159 // fEfficiencyPionITS = g->fEfficiencyPionITS;
160 // fEfficiencyKaonITS = g->fEfficiencyKaonITS;
161 // fEfficiencyProtonITS = g->fEfficiencyProtonITS;
162 // fEfficiencyHadronITS = g->fEfficiencyHadronITS;
163 // fBackgroundTPC = g->fBackgroundTPC;
164 // fBackgroundITS = g->fBackgroundITS;