]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/totEt/AliAnalysisHadEtReconstructed.cxx
Modifying code to look at Alexs method for PID systematic errors
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisHadEtReconstructed.cxx
CommitLineData
cf6522d1 1//_________________________________________________________________________
2// Utility Class for transverse energy studies, charged hadrons
3// Base class for ESD analysis
4// - reconstruction output
5// implementation file
6//
7//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
641e1e0c 8//University of Tennessee at Knoxville
cf6522d1 9//_________________________________________________________________________
3ce6b879 10
11#include <TROOT.h>
12#include <TSystem.h>
13#include <TInterpreter.h>
641e1e0c 14#include "AliAnalysisHadEtReconstructed.h"
15#include "AliAnalysisEtCuts.h"
16#include "AliESDtrack.h"
17#include "AliESDCaloCluster.h"
641e1e0c 18#include "AliVEvent.h"
19#include "AliESDEvent.h"
3ce6b879 20#include "AliESDtrackCuts.h"
21#include "AliESDpid.h"
641e1e0c 22#include "AliVParticle.h"
23#include <iostream>
3ce6b879 24#include "AliAnalysisHadEtCorrections.h"
25#include "TFile.h"
26#include "TString.h"
7d2d1773 27#include "AliAnalysisEtCommon.h"
28#include "AliAnalysisHadEt.h"
641e1e0c 29
16abb579 30using namespace std;
31
32ClassImp(AliAnalysisHadEtReconstructed);
33
34
641e1e0c 35AliAnalysisHadEtReconstructed::AliAnalysisHadEtReconstructed() :
36 AliAnalysisHadEt()
464aa50c 37 ,fCorrections(0)
3ce6b879 38 ,fConfigFile("ConfigHadEtAnalysis.C")
964c8159 39 ,fCorrTotEtFullAcceptanceTPC(0)
40 ,fCorrTotEtFullAcceptanceITS(0)
41 ,fCorrHadEtFullAcceptanceTPC(0)
42 ,fCorrHadEtFullAcceptanceITS(0)
43 ,fCorrTotEtEMCALAcceptanceTPC(0)
44 ,fCorrTotEtEMCALAcceptanceITS(0)
45 ,fCorrHadEtEMCALAcceptanceTPC(0)
46 ,fCorrHadEtEMCALAcceptanceITS(0)
47 ,fCorrTotEtPHOSAcceptanceTPC(0)
48 ,fCorrTotEtPHOSAcceptanceITS(0)
49 ,fCorrHadEtPHOSAcceptanceTPC(0)
50 ,fCorrHadEtPHOSAcceptanceITS(0)
51 ,fCorrectedHadEtFullAcceptanceTPCNoPID(0)
52 ,fCorrectedHadEtFullAcceptanceITSNoPID(0)
53 ,fCorrectedHadEtEMCALAcceptanceTPCNoPID(0)
54 ,fCorrectedHadEtEMCALAcceptanceITSNoPID(0)
55 ,fCorrectedHadEtPHOSAcceptanceTPCNoPID(0)
56 ,fCorrectedHadEtPHOSAcceptanceITSNoPID(0)
57 ,fCorrectedHadEtFullAcceptanceTPC(0)
58 ,fCorrectedHadEtFullAcceptanceITS(0)
3d1099f3 59 ,fCorrectedHadEtFullAcceptanceTPCAssumingPion(0)
60 ,fCorrectedHadEtFullAcceptanceITSAssumingPion(0)
61 ,fCorrectedHadEtFullAcceptanceTPCAssumingProton(0)
62 ,fCorrectedHadEtFullAcceptanceITSAssumingProton(0)
63 ,fCorrectedHadEtFullAcceptanceTPCAssumingKaon(0)
64 ,fCorrectedHadEtFullAcceptanceITSAssumingKaon(0)
964c8159 65 ,fCorrectedHadEtEMCALAcceptanceTPC(0)
66 ,fCorrectedHadEtEMCALAcceptanceITS(0)
67 ,fCorrectedHadEtPHOSAcceptanceTPC(0)
68 ,fCorrectedHadEtPHOSAcceptanceITS(0)
69 ,fRawEtFullAcceptanceTPC(0)
70 ,fRawEtFullAcceptanceITS(0)
71 ,fRawEtEMCALAcceptanceTPC(0)
72 ,fRawEtEMCALAcceptanceITS(0)
73 ,fRawEtPHOSAcceptanceTPC(0)
74 ,fRawEtPHOSAcceptanceITS(0)
75 ,fRawEtFullAcceptanceTPCNoPID(0)
76 ,fRawEtFullAcceptanceITSNoPID(0)
77 ,fRawEtEMCALAcceptanceTPCNoPID(0)
78 ,fRawEtEMCALAcceptanceITSNoPID(0)
79 ,fRawEtPHOSAcceptanceTPCNoPID(0)
80 ,fRawEtPHOSAcceptanceITSNoPID(0)
641e1e0c 81{
641e1e0c 82}
83
cf6522d1 84AliAnalysisHadEtReconstructed::~AliAnalysisHadEtReconstructed()
641e1e0c 85{
464aa50c 86 delete fCorrections;
cf6522d1 87}
88
89Int_t AliAnalysisHadEtReconstructed::AnalyseEvent(AliVEvent* ev)
90{ // analyse ESD event
641e1e0c 91 ResetEventValues();
3ce6b879 92
93 AliESDEvent *realEvent = dynamic_cast<AliESDEvent*>(ev);
94 //for PID
95 AliESDpid *pID = new AliESDpid();
96 pID->MakePID(realEvent);
3ce6b879 97 TString *strTPC = new TString("TPC");
98 TString *strITS = new TString("ITS");
99 TString *strTPCITS = new TString("TPCITS");
100 for(Int_t cutset=0;cutset<2;cutset++){
0e866ddc 101 bool isTPC = false;
ea331c5d 102 TString *cutName = NULL;
103 TObjArray* list = NULL;
3ce6b879 104 switch(cutset){
105 case 0:
3ce6b879 106 cutName = strTPCITS;
107 list = fEsdtrackCutsITSTPC->GetAcceptedTracks(realEvent);
f43fc416 108 isTPC = true;
3ce6b879 109 break;
f43fc416 110 case 1:
0f97be4c 111 cutName = strITS;
112 list = fEsdtrackCutsITS->GetAcceptedTracks(realEvent);
113 break;
f43fc416 114 case 2:
115 cutName = strTPC;
116 list = fEsdtrackCutsTPC->GetAcceptedTracks(realEvent);
117 break;
3ce6b879 118 default:
119 cerr<<"Error: cannot fill histograms!"<<endl;
120 return -1;
121 }
122 Int_t nGoodTracks = list->GetEntries();
123 for (Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++)
124 {
641e1e0c 125
641e1e0c 126
3ce6b879 127 AliESDtrack *track = dynamic_cast<AliESDtrack*> (list->At(iTrack));
128 if (!track)
129 {
130 Printf("ERROR: Could not get track %d", iTrack);
131 continue;
132 }
133 else{
464aa50c 134 if(TMath::Abs(track->Eta())>fCorrections->GetEtaCut()) continue;
3ce6b879 135 Float_t nSigmaPion,nSigmaProton,nSigmaKaon,nSigmaElectron;
3ce6b879 136 if(cutset!=1){
137 nSigmaPion = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kPion));
138 nSigmaProton = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kProton));
139 nSigmaKaon = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kKaon));
140 nSigmaElectron = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kElectron));
141 }
142 else{
143 nSigmaPion = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kPion));
144 nSigmaProton = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kProton));
145 nSigmaKaon = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kKaon));
146 nSigmaElectron = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kElectron));
147 }
148 bool isPion = (nSigmaPion<3.0 && nSigmaProton>2.0 && nSigmaKaon>2.0);
149 bool isElectron = (nSigmaElectron<2.0 && nSigmaPion>4.0 && nSigmaProton>3.0 && nSigmaKaon>3.0);
150 bool isKaon = (nSigmaPion>3.0 && nSigmaProton>2.0 && nSigmaKaon<2.0);
151 bool isProton = (nSigmaPion>3.0 && nSigmaProton<2.0 && nSigmaKaon>2.0);
641e1e0c 152
0e866ddc 153 bool unidentified = (!isProton && !isKaon && !isElectron && !isPion);
3ce6b879 154 Float_t dEdx = track->GetTPCsignal();
155 if(cutset==1) dEdx = track->GetITSsignal();
156 FillHisto2D(Form("dEdxDataAll%s",cutName->Data()),track->P(),dEdx,1.0);
641e1e0c 157
d6214a64 158 bool inPHOS = IsInPHOS(track);
159 bool inEMCAL = IsInEMCAL(track);
a02dfa56 160
3ce6b879 161 Float_t corrBkgd=0.0;
162 Float_t corrNotID=0.0;
0e866ddc 163 Float_t corrNoID=0.0;// = fCorrections->GetNotIDCorrectionNoPID(track->Pt());
3ce6b879 164 Float_t corrEff = 0.0;
165 Float_t corrEffNoID = 0.0;
166 if(cutset==0){//TPC
464aa50c 167 corrBkgd = fCorrections->GetBackgroundCorrectionTPC(track->Pt());
168 corrEffNoID = fCorrections->GetTPCEfficiencyCorrectionHadron(track->Pt());
0e866ddc 169 corrNotID = fCorrections->GetNotIDConstCorrectionTPC();
170 corrNoID = fCorrections->GetNotIDConstCorrectionTPCNoID();
3ce6b879 171 }
172 if(cutset==1){//ITS
464aa50c 173 corrBkgd = fCorrections->GetBackgroundCorrectionITS(track->Pt());
0e866ddc 174 corrEffNoID = fCorrections->GetITSEfficiencyCorrectionHadron(track->Pt());
175 corrNotID = fCorrections->GetNotIDConstCorrectionITS();
176 corrNoID = fCorrections->GetNotIDConstCorrectionITSNoID();
3ce6b879 177 }
178 Float_t et = 0.0;
4b40b2b1 179 Float_t etNoID = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
3ce6b879 180 Float_t etpartialcorrected = 0.0;
3d1099f3 181 Float_t etpartialcorrectedPion = 0.0;
182 Float_t etpartialcorrectedKaon = 0.0;
183 Float_t etpartialcorrectedProton = 0.0;
d6214a64 184 Float_t etpartialcorrectedNoID = corrNoID*corrBkgd*corrEffNoID*etNoID;
3ce6b879 185 FillHisto2D(Form("EtDataRaw%sNoID",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrectedNoID);
186
187 if(isPion){
188 FillHisto2D(Form("dEdxDataPion%s",cutName->Data()),track->P(),dEdx,1.0);
4b40b2b1 189 et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
464aa50c 190 if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionPion(track->Pt());}
191 //else{corrEff = fCorrections->GetITSEfficiencyCorrectionPion(track->Pt());}
0e866ddc 192 etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
3ce6b879 193
194 if(track->Charge()>0.0){
195 FillHisto2D(Form("EtDataRaw%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),et);
196 FillHisto2D(Form("EtDataCorrected%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
197 }
198 else{
199 FillHisto2D(Form("EtDataRaw%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),et);
200 FillHisto2D(Form("EtDataCorrected%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
201 }
202 }
203 if(isKaon){
204 FillHisto2D(Form("dEdxDataKaon%s",cutName->Data()),track->P(),dEdx,1.0);
4b40b2b1 205 et = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
464aa50c 206 if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionKaon(track->Pt());}
207 //else{corrEff = fCorrections->GetITSEfficiencyCorrectionKaon(track->Pt());}
0e866ddc 208 etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
3ce6b879 209
210 if(track->Charge()>0.0){
211 FillHisto2D(Form("EtDataRaw%sKPlus",cutName->Data()),track->Pt(),track->Eta(),et);
212 FillHisto2D(Form("EtDataCorrected%sKPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
213 }
214 else{
215 FillHisto2D(Form("EtDataRaw%sKMinus",cutName->Data()),track->Pt(),track->Eta(),et);
216 FillHisto2D(Form("EtDataCorrected%sKMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
217 }
218 }
219 if(isProton){
220 FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
4b40b2b1 221 et = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
464aa50c 222 if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionProton(track->Pt());}
223 //else{corrEff = fCorrections->GetITSEfficiencyCorrectionProton(track->Pt());}
0e866ddc 224 etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
3ce6b879 225
226 if(track->Charge()>0.0){
227 FillHisto2D(Form("EtDataRaw%sProton",cutName->Data()),track->Pt(),track->Eta(),et);
228 FillHisto2D(Form("EtDataCorrected%sProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
229 }
230 else{
231 FillHisto2D(Form("EtDataRaw%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),et);
232 FillHisto2D(Form("EtDataCorrected%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
233 }
234 }
235 if(isElectron){
236 FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
4b40b2b1 237 //et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
3ce6b879 238 }
239 if(unidentified){
0e866ddc 240 //if(!isPion)
3ce6b879 241 FillHisto2D(Form("dEdxDataUnidentified%s",cutName->Data()),track->P(),dEdx,1.0);
4b40b2b1 242 et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
3d1099f3 243 Float_t etProton = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
244 Float_t etKaon = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
3ce6b879 245 etpartialcorrected = et*corrBkgd*corrEffNoID*corrNotID;
3d1099f3 246 etpartialcorrectedPion = et*corrBkgd*corrEffNoID;
247 etpartialcorrectedProton = etProton*corrBkgd*corrEffNoID;
248 etpartialcorrectedKaon = etKaon*corrBkgd*corrEffNoID;
0e866ddc 249 //if(!isPion)
3ce6b879 250 FillHisto2D(Form("EtDataCorrected%sUnidentified",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
251 }
3d1099f3 252 else{
253 etpartialcorrectedPion = etpartialcorrected;
254 etpartialcorrectedKaon = etpartialcorrected;
255 etpartialcorrectedProton = etpartialcorrected;
256 }
0e866ddc 257 if(!isTPC){
258 etpartialcorrected = etpartialcorrectedNoID;//Not using PID for ITS
0e866ddc 259 }
3d1099f3 260 AddEt(et,etNoID,etpartialcorrected,etpartialcorrectedPion,etpartialcorrectedProton,etpartialcorrectedKaon,etpartialcorrectedNoID,track->Pt(),isTPC,inPHOS,inEMCAL);
3ce6b879 261 }
262 }
ea331c5d 263 delete list;
3ce6b879 264 }
7d2d1773 265 if(GetCorrectedHadEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPC",GetCorrectedHadEtFullAcceptanceTPC(),1.0);
266 if(GetCorrectedTotEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPC",GetCorrectedTotEtFullAcceptanceTPC(),1.0);
3d1099f3 267 if(GetCorrectedHadEtFullAcceptanceTPCAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingPion",GetCorrectedHadEtFullAcceptanceTPCAssumingPion(),1.0);
268 if(GetCorrectedHadEtFullAcceptanceTPCAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingProton",GetCorrectedHadEtFullAcceptanceTPCAssumingProton(),1.0);
269 if(GetCorrectedHadEtFullAcceptanceTPCAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingKaon",GetCorrectedHadEtFullAcceptanceTPCAssumingKaon(),1.0);
7d2d1773 270 if(GetCorrectedHadEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPC",GetCorrectedHadEtEMCALAcceptanceTPC(),1.0);
271 if(GetCorrectedTotEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPC",GetCorrectedTotEtEMCALAcceptanceTPC(),1.0);
272 if(GetCorrectedHadEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPC",GetCorrectedHadEtPHOSAcceptanceTPC(),1.0);
273 if(GetCorrectedTotEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPC",GetCorrectedTotEtPHOSAcceptanceTPC(),1.0);
274 if(GetCorrectedHadEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCNoPID",GetCorrectedHadEtFullAcceptanceTPCNoPID(),1.0);
275 if(GetCorrectedTotEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPCNoPID",GetCorrectedTotEtFullAcceptanceTPCNoPID(),1.0);
276 if(GetCorrectedHadEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPCNoPID",GetCorrectedHadEtEMCALAcceptanceTPCNoPID(),1.0);
277 if(GetCorrectedTotEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPCNoPID",GetCorrectedTotEtEMCALAcceptanceTPCNoPID(),1.0);
278 if(GetCorrectedHadEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPCNoPID",GetCorrectedHadEtPHOSAcceptanceTPCNoPID(),1.0);
279 if(GetCorrectedTotEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPCNoPID",GetCorrectedTotEtPHOSAcceptanceTPCNoPID(),1.0);
280 if(GetCorrectedHadEtFullAcceptanceITS()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITS",GetCorrectedHadEtFullAcceptanceITS(),1.0);
3d1099f3 281 if(GetCorrectedHadEtFullAcceptanceITSAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingPion",GetCorrectedHadEtFullAcceptanceITSAssumingPion(),1.0);
282 if(GetCorrectedHadEtFullAcceptanceITSAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingProton",GetCorrectedHadEtFullAcceptanceITSAssumingProton(),1.0);
283 if(GetCorrectedHadEtFullAcceptanceITSAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingKaon",GetCorrectedHadEtFullAcceptanceITSAssumingKaon(),1.0);
7d2d1773 284 if(GetCorrectedTotEtFullAcceptanceITS()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITS",GetCorrectedTotEtFullAcceptanceITS(),1.0);
285 if(GetCorrectedHadEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITS",GetCorrectedHadEtEMCALAcceptanceITS(),1.0);
286 if(GetCorrectedTotEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITS",GetCorrectedTotEtEMCALAcceptanceITS(),1.0);
287 if(GetCorrectedHadEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITS",GetCorrectedHadEtPHOSAcceptanceITS(),1.0);
288 if(GetCorrectedTotEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITS",GetCorrectedTotEtPHOSAcceptanceITS(),1.0);
289 if(GetCorrectedHadEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSNoPID",GetCorrectedHadEtFullAcceptanceITSNoPID(),1.0);
290 if(GetCorrectedTotEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITSNoPID",GetCorrectedTotEtFullAcceptanceITSNoPID(),1.0);
291 if(GetCorrectedHadEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITSNoPID",GetCorrectedHadEtEMCALAcceptanceITSNoPID(),1.0);
292 if(GetCorrectedTotEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITSNoPID",GetCorrectedTotEtEMCALAcceptanceITSNoPID(),1.0);
293 if(GetCorrectedHadEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITSNoPID",GetCorrectedHadEtPHOSAcceptanceITSNoPID(),1.0);
294 if(GetCorrectedTotEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITSNoPID",GetCorrectedTotEtPHOSAcceptanceITSNoPID(),1.0);
4e0c0fe1 295
7d2d1773 296 if(GetRawEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPC",GetRawEtFullAcceptanceTPC(),1.0);
297 if(GetRawEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPC",GetRawEtEMCALAcceptanceTPC(),1.0);
298 if(GetRawEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPC",GetRawEtPHOSAcceptanceTPC(),1.0);
299 if(GetRawEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPCNoPID",GetRawEtFullAcceptanceTPCNoPID(),1.0);
300 if(GetRawEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPCNoPID",GetRawEtEMCALAcceptanceTPCNoPID(),1.0);
301 if(GetRawEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPCNoPID",GetRawEtPHOSAcceptanceTPCNoPID(),1.0);
302 if(GetRawEtFullAcceptanceITS()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITS",GetRawEtFullAcceptanceITS(),1.0);
303 if(GetRawEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITS",GetRawEtEMCALAcceptanceITS(),1.0);
304 if(GetRawEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITS",GetRawEtPHOSAcceptanceITS(),1.0);
305 if(GetRawEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITSNoPID",GetRawEtFullAcceptanceITSNoPID(),1.0);
306 if(GetRawEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITSNoPID",GetRawEtEMCALAcceptanceITSNoPID(),1.0);
307 if(GetRawEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITSNoPID",GetRawEtPHOSAcceptanceITSNoPID(),1.0);
464aa50c 308 delete pID;
309 delete strTPC;
310 delete strITS;
311 delete strTPCITS;
641e1e0c 312 return 1;
313}
3d1099f3 314void AliAnalysisHadEtReconstructed::AddEt(Float_t rawEt, Float_t rawEtNoPID, Float_t corrEt, Float_t corrEtPion, Float_t corrEtProton, Float_t corrEtKaon, Float_t corrEtNoPID, Float_t pt, Bool_t IsTPC, Bool_t InPHOS, Bool_t InEMCAL) {//Adding Et to each of the variables that tracks et event by event
d6214a64 315 if(pt>=AliAnalysisHadEt::fgPtTPCCutOff && IsTPC){//TPC tracks
316 //adding to the raw Et
d6214a64 317 fRawEtFullAcceptanceTPC += rawEt;
318 if(InPHOS)fRawEtPHOSAcceptanceTPC += rawEt;
319 if(InEMCAL)fRawEtEMCALAcceptanceTPC += rawEt;
320 fRawEtFullAcceptanceTPCNoPID += rawEtNoPID;
321 if(InPHOS)fRawEtPHOSAcceptanceTPCNoPID += rawEtNoPID;
322 if(InEMCAL)fRawEtEMCALAcceptanceTPCNoPID += rawEtNoPID;
323 //adding to the corrected Et
d6214a64 324 fCorrectedHadEtFullAcceptanceTPC += corrEt;
3d1099f3 325 fCorrectedHadEtFullAcceptanceTPCAssumingPion += corrEtPion;
326 fCorrectedHadEtFullAcceptanceTPCAssumingProton += corrEtProton;
327 fCorrectedHadEtFullAcceptanceTPCAssumingKaon += corrEtKaon;
d6214a64 328 if(InPHOS)fCorrectedHadEtPHOSAcceptanceTPC += corrEt;
329 if(InEMCAL)fCorrectedHadEtEMCALAcceptanceTPC += corrEt;
330 fCorrectedHadEtFullAcceptanceTPCNoPID += corrEtNoPID;
331 if(InPHOS)fCorrectedHadEtPHOSAcceptanceTPCNoPID += corrEtNoPID;
332 if(InEMCAL)fCorrectedHadEtEMCALAcceptanceTPCNoPID += corrEtNoPID;
333 }
334 if(pt<AliAnalysisHadEt::fgPtTPCCutOff &&pt>=AliAnalysisHadEt::fgPtITSCutOff && !IsTPC){//ITS tracks
335 //adding to the raw Et
336 fRawEtFullAcceptanceITS += rawEt;
337 if(InPHOS)fRawEtPHOSAcceptanceITS += rawEt;
338 if(InEMCAL)fRawEtEMCALAcceptanceITS += rawEt;
339 fRawEtFullAcceptanceITSNoPID += rawEtNoPID;
340 if(InPHOS)fRawEtPHOSAcceptanceITSNoPID += rawEtNoPID;
341 if(InEMCAL)fRawEtEMCALAcceptanceITSNoPID += rawEtNoPID;
342 //adding to the corrected Et
343 fCorrectedHadEtFullAcceptanceITS += corrEt;
3d1099f3 344 fCorrectedHadEtFullAcceptanceITSAssumingPion += corrEtPion;
345 fCorrectedHadEtFullAcceptanceITSAssumingProton += corrEtProton;
346 fCorrectedHadEtFullAcceptanceITSAssumingKaon += corrEtKaon;
d6214a64 347 if(InPHOS)fCorrectedHadEtPHOSAcceptanceITS += corrEt;
348 if(InEMCAL)fCorrectedHadEtEMCALAcceptanceITS += corrEt;
349 fCorrectedHadEtFullAcceptanceITSNoPID += corrEtNoPID;
350 if(InPHOS)fCorrectedHadEtPHOSAcceptanceITSNoPID += corrEtNoPID;
351 if(InEMCAL)fCorrectedHadEtEMCALAcceptanceITSNoPID += corrEtNoPID;
352 }
353}
641e1e0c 354
d6214a64 355Bool_t AliAnalysisHadEtReconstructed::IsInPHOS(AliESDtrack *track){//This function will need to be elaborated on later to include PHOS dead channels
356 return TMath::Abs(track->Eta()) < fCuts->GetGeometryPhosEtaAccCut()//in eta acceptance
357 && track->Phi()*180.0/TMath::Pi() > fCuts->GetGeometryPhosPhiAccMinCut()//greater than the minimum phi
358 && track->Phi()*180.0/TMath::Pi() < fCuts->GetGeometryPhosPhiAccMaxCut();//less than the maximum phi
359}
360Bool_t AliAnalysisHadEtReconstructed::IsInEMCAL(AliESDtrack *track){//This function will need to be elaborated on later to include EMCAL dead channels
d6214a64 361 return TMath::Abs(track->Eta()) < fCuts->GetGeometryEmcalEtaAccCut()//in eta acceptance
362 && track->Phi()*180.0/TMath::Pi() > fCuts->GetGeometryEmcalPhiAccMinCut()//greater than the minimum phi
363 && track->Phi()*180.0/TMath::Pi() < fCuts->GetGeometryEmcalPhiAccMaxCut();//less than the maximum phi
364}
365Bool_t AliAnalysisHadEtReconstructed::CheckGoodVertex(AliVParticle* track)
cf6522d1 366{ // check vertex
641e1e0c 367
368 Float_t bxy = 999.;
369 Float_t bz = 999.;
370 dynamic_cast<AliESDtrack*>(track)->GetImpactParametersTPC(bxy,bz);
371
4998becf 372 bool status = (TMath::Abs(track->Xv()) < fCuts->GetReconstructedVertexXCut()) &&
373 (TMath::Abs(track->Yv()) < fCuts->GetReconstructedVertexYCut()) &&
374 (TMath::Abs(track->Zv()) < fCuts->GetReconstructedVertexZCut()) &&
375 (TMath::Abs(bxy) < fCuts->GetReconstructedIPxyCut()) &&
376 (TMath::Abs(bz) < fCuts->GetReconstructedIPzCut());
641e1e0c 377
4998becf 378 return status;
641e1e0c 379}
380
381void AliAnalysisHadEtReconstructed::Init()
cf6522d1 382{ // Init
4b40b2b1 383 AliAnalysisHadEt::Init();
964c8159 384 if(fCorrections){
464aa50c 385 fCorrTotEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"Full");
386 fCorrTotEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"Full");
387 fCorrHadEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"Full");
388 fCorrHadEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"Full");
389 fCorrTotEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"EMCAL");
390 fCorrTotEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"EMCAL");
391 fCorrHadEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"EMCAL");
392 fCorrHadEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"EMCAL");
393 fCorrTotEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"PHOS");
394 fCorrTotEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"PHOS");
395 fCorrHadEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"PHOS");
396 fCorrHadEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"PHOS");
964c8159 397 }
398 else{
399 cout<<"Warning! You have not set corrections. Your code will crash. You have to set the corrections."<<endl;
3ce6b879 400 }
641e1e0c 401}
402
464aa50c 403void AliAnalysisHadEtReconstructed::ResetEventValues(){//resetting event by event et's
d6214a64 404 AliAnalysisHadEt::ResetEventValues();
405 fCorrectedHadEtFullAcceptanceTPCNoPID=0.0;
406 fCorrectedHadEtFullAcceptanceITSNoPID=0.0;
407 fCorrectedHadEtEMCALAcceptanceTPCNoPID=0.0;
408 fCorrectedHadEtEMCALAcceptanceITSNoPID=0.0;
409 fCorrectedHadEtPHOSAcceptanceTPCNoPID=0.0;
410 fCorrectedHadEtPHOSAcceptanceITSNoPID=0.0;
411 fCorrectedHadEtFullAcceptanceTPC=0.0;
412 fCorrectedHadEtFullAcceptanceITS=0.0;
3d1099f3 413 fCorrectedHadEtFullAcceptanceTPCAssumingPion=0.0;
414 fCorrectedHadEtFullAcceptanceITSAssumingPion=0.0;
415 fCorrectedHadEtFullAcceptanceTPCAssumingProton=0.0;
416 fCorrectedHadEtFullAcceptanceITSAssumingProton=0.0;
417 fCorrectedHadEtFullAcceptanceTPCAssumingKaon=0.0;
418 fCorrectedHadEtFullAcceptanceITSAssumingKaon=0.0;
d6214a64 419 fCorrectedHadEtEMCALAcceptanceTPC=0.0;
420 fCorrectedHadEtEMCALAcceptanceITS=0.0;
421 fCorrectedHadEtPHOSAcceptanceTPC=0.0;
422 fCorrectedHadEtPHOSAcceptanceITS=0.0;
423 fRawEtFullAcceptanceTPC=0.0;
424 fRawEtFullAcceptanceITS=0.0;
425 fRawEtEMCALAcceptanceTPC=0.0;
426 fRawEtEMCALAcceptanceITS=0.0;
427 fRawEtPHOSAcceptanceTPC=0.0;
428 fRawEtPHOSAcceptanceITS=0.0;
429 fRawEtFullAcceptanceTPCNoPID=0.0;
430 fRawEtFullAcceptanceITSNoPID=0.0;
431 fRawEtEMCALAcceptanceTPCNoPID=0.0;
432 fRawEtEMCALAcceptanceITSNoPID=0.0;
433 fRawEtPHOSAcceptanceTPCNoPID=0.0;
434 fRawEtPHOSAcceptanceITSNoPID=0.0;
435
436 if(TMath::Abs(fCorrTotEtFullAcceptanceTPC)<1e-3){
437 if (fConfigFile.Length()) {
964c8159 438 cout<<"Warning: Rereading fCorrections file..."<<endl;
d6214a64 439 gROOT->LoadMacro(fConfigFile);
464aa50c 440 fCorrections = (AliAnalysisHadEtCorrections *) gInterpreter->ProcessLine("ConfigHadEtAnalysis()");
441 fCorrTotEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"Full");
442 fCorrTotEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"Full");
443 fCorrHadEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"Full");
444 fCorrHadEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"Full");
445 fCorrTotEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"EMCAL");
446 fCorrTotEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"EMCAL");
447 fCorrHadEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"EMCAL");
448 fCorrHadEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"EMCAL");
449 fCorrTotEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"PHOS");
450 fCorrTotEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"PHOS");
451 fCorrHadEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"PHOS");
452 fCorrHadEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"PHOS");
d6214a64 453 }
454 else{cerr<<"Uh-oh! Unable to open configuration file!"<<endl;}
455 }
d6214a64 456}
464aa50c 457void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and adding them to the output TList
3ce6b879 458
459 TString *strTPC = new TString("TPC");
460 TString *strITS = new TString("ITS");
461 TString *strTPCITS = new TString("TPCITS");
462 for(Int_t i=0;i<2;i++){
ea331c5d 463 TString *cutName = NULL;
3ce6b879 464 Float_t maxPtdEdx = 10;
465 Float_t mindEdx = 35;
466 Float_t maxdEdx = 150.0;
467 switch(i){
468 case 0:
f43fc416 469 cutName = strTPCITS;
3ce6b879 470 break;
471 case 1:
f43fc416 472 cutName = strITS;
3ce6b879 473 maxPtdEdx = 5;
474 maxdEdx = 500.0;
475 break;
476 case 2:
f43fc416 477 cutName = strTPC;
0f97be4c 478 maxPtdEdx = 5;
479 maxdEdx = 500.0;
3ce6b879 480 break;
481 default:
482 cerr<<"Error: cannot make histograms!"<<endl;
483 return;
484 }
485
486 CreateEtaPtHisto2D(Form("EtDataRaw%sPiPlus",cutName->Data()),"Raw reconstructed E_{T} from identified #pi^{+}");
487 CreateEtaPtHisto2D(Form("EtDataRaw%sPiMinus",cutName->Data()),"Raw reconstructed E_{T} from identified #pi^{-}");
488 CreateEtaPtHisto2D(Form("EtDataRaw%sKPlus",cutName->Data()),"Raw reconstructed E_{T} from identified K^{+}");
489// CreateEtaPtHisto2D(Form("EtDataRaw%sEMinus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{-}");
490// CreateEtaPtHisto2D(Form("EtDataRaw%sEPlus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{+}");
491 CreateEtaPtHisto2D(Form("EtDataRaw%sKMinus",cutName->Data()),"Raw reconstructed E_{T} from identified K^{-}");
492 CreateEtaPtHisto2D(Form("EtDataRaw%sProton",cutName->Data()),"Raw reconstructed E_{T} from identified p");
493 CreateEtaPtHisto2D(Form("EtDataRaw%sAntiProton",cutName->Data()),"Raw reconstructed E_{T} from identified #bar{p}");
494 CreateEtaPtHisto2D(Form("EtDataRaw%sUnidentified",cutName->Data()),"Raw reconstructed E_{T} from unidentified particles using real mass");
495 CreateEtaPtHisto2D(Form("EtDataRaw%sNoID",cutName->Data()),"Raw reconstructed E_{T} from unidentified particles using real mass");
496
497 CreateEtaPtHisto2D(Form("EtDataCorrected%sPiPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified #pi^{+}");
498 CreateEtaPtHisto2D(Form("EtDataCorrected%sPiMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified #pi^{-}");
499 CreateEtaPtHisto2D(Form("EtDataCorrected%sKPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified K^{+}");
500// CreateEtaPtHisto2D(Form("EtDataCorrected%sEMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{-}");
501// CreateEtaPtHisto2D(Form("EtDataCorrected%sEPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{+}");
502 CreateEtaPtHisto2D(Form("EtDataCorrected%sKMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified K^{-}");
503 CreateEtaPtHisto2D(Form("EtDataCorrected%sProton",cutName->Data()),"Corrected reconstructed E_{T} from identified p");
504 CreateEtaPtHisto2D(Form("EtDataCorrected%sAntiProton",cutName->Data()),"Corrected reconstructed E_{T} from identified #bar{p}");
505 CreateEtaPtHisto2D(Form("EtDataCorrected%sUnidentified",cutName->Data()),"Corrected reconstructed E_{T} from unidentified particles using real mass");
506 CreateEtaPtHisto2D(Form("EtDataCorrected%sNoID",cutName->Data()),"Corrected reconstructed E_{T} from unidentified particles using real mass");
507
508
509 CreateEtaPtHisto2D(Form("EtNData%sPiPlus",cutName->Data()),"Number of reconstructed #pi^{+}");
510 CreateEtaPtHisto2D(Form("EtNData%sPiMinus",cutName->Data()),"Number of reconstructed #pi^{-}");
511 CreateEtaPtHisto2D(Form("EtNData%sKPlus",cutName->Data()),"Number of reconstructed K^{+}");
512 CreateEtaPtHisto2D(Form("EtNData%sKMinus",cutName->Data()),"Number of reconstructed K^{-}");
513 CreateEtaPtHisto2D(Form("EtNData%sProton",cutName->Data()),"Number of reconstructed p");
514 CreateEtaPtHisto2D(Form("EtNData%sAntiProton",cutName->Data()),"Number of reconstructed #bar{p}");
515 CreateEtaPtHisto2D(Form("EtNData%sUnidentified",cutName->Data()),"Number of Reconstructed unidentified particles");
516
517 CreateHisto2D(Form("dEdxDataAll%s",cutName->Data()),"dE/dx for all particles","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
518 CreateHisto2D(Form("dEdxDataPion%s",cutName->Data()),"dE/dx for #pi^{#pm}","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
519 CreateHisto2D(Form("dEdxDataKaon%s",cutName->Data()),"dE/dx for K^{#pm}","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
520 CreateHisto2D(Form("dEdxDataProton%s",cutName->Data()),"dE/dx for p(#bar{p})","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
521 CreateHisto2D(Form("dEdxDataElectron%s",cutName->Data()),"dE/dx for e^{#pm}","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
522 CreateHisto2D(Form("dEdxDataUnidentified%s",cutName->Data()),"dE/dx for unidentified particles","momentum (GeV/c)","dE/dx",400,0.0,maxPtdEdx,200,mindEdx,maxdEdx);
523 }
4e0c0fe1 524
525 Float_t minEt = 0.0;
526 Float_t maxEt = 100.0;
527 Int_t nbinsEt = 200;
528 char histoname[200];
529 char histotitle[200];
530 char xtitle[50];
531 TString *ytitle = new TString("Number of events");
464aa50c 532 TString *sTPC = new TString("TPC");
533 TString *sITS = new TString("ITS");
534 TString *sTPCpt = new TString("0.15");
535 TString *sITSpt = new TString("0.10");
536 TString *sPID = new TString("");
537 TString *sNoPID = new TString("NoPID");
538 TString *sNoPIDString = new TString(", No PID");
539 TString *sHadEt = new TString("HadEt");
540 TString *sRawEt = new TString("RawEt");
541 TString *sTotEt = new TString("TotEt");
542 TString *sTotEtString = new TString("total E_{T}");
543 TString *sHadEtString = new TString("hadronic E_{T}");
544 TString *sRawEtString = new TString("raw E_{T}");
545 TString *sFull = new TString("Full");
546 TString *sEMCAL = new TString("EMCAL");
547 TString *sPHOS = new TString("PHOS");
4e0c0fe1 548
549 for(int tpc = 0;tpc<2;tpc++){
550 for(int hadet = 0;hadet<3;hadet++){
551 for(int type = 0;type<3;type++){
552 for(int pid = 0;pid<2;pid++){
ea331c5d 553 TString *detector = NULL;
554 TString *partid = NULL;
464aa50c 555 TString *et = sHadEt;
ea331c5d 556 TString *acceptance = NULL;
557 TString *ptstring = NULL;
558 TString *partidstring = NULL;
464aa50c 559 TString *etstring = sHadEtString;
560 if(tpc==1) {detector = sTPC; ptstring = sTPCpt;}
561 else{detector = sITS; ptstring = sITSpt;}
562 if(pid==1){partid = sPID; partidstring = sPID;}
563 else{partid = sNoPID; partidstring = sNoPIDString;}
564 if(hadet==1) {et = sHadEt; etstring = sHadEtString;}
565 if(hadet==0){et = sTotEt; etstring = sTotEtString;}
566 if(hadet==2){et = sRawEt; etstring = sRawEtString;}
4e0c0fe1 567 switch(type){
568 case 0:
464aa50c 569 acceptance = sFull;
4e0c0fe1 570 break;
571 case 1:
464aa50c 572 acceptance = sEMCAL;
4e0c0fe1 573 break;
574 case 2:
464aa50c 575 acceptance = sPHOS;
4e0c0fe1 576 break;
577 default:
464aa50c 578 acceptance = sFull;
4e0c0fe1 579 }
580 sprintf(histoname,"Reco%s%sAcceptance%s%s",et->Data(),acceptance->Data(),detector->Data(),partid->Data());
581 sprintf(histotitle,"Reconstructed %s with %s acceptance for p_{T}>%s GeV/c%s",etstring->Data(),acceptance->Data(),ptstring->Data(),partidstring->Data());
582 sprintf(xtitle,"Reconstructed %s",etstring->Data());
0e866ddc 583 CreateHisto1D(histoname,histotitle,xtitle,ytitle->Data(),nbinsEt*2,minEt,maxEt);
4e0c0fe1 584 }
585 }
586 }
587 }
3d1099f3 588 CreateHisto1D("RecoHadEtFullAcceptanceTPCAssumingPion","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.15 GeV/c assuming pions","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
589 CreateHisto1D("RecoHadEtFullAcceptanceTPCAssumingProton","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.15 GeV/c assuming protons","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
590 CreateHisto1D("RecoHadEtFullAcceptanceTPCAssumingKaon","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.15 GeV/c assuming kaons","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
591 CreateHisto1D("RecoHadEtFullAcceptanceITSAssumingPion","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.10 GeV/c assuming pions","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
592 CreateHisto1D("RecoHadEtFullAcceptanceITSAssumingProton","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.10 GeV/c assuming protons","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
593 CreateHisto1D("RecoHadEtFullAcceptanceITSAssumingKaon","Reconstructing E_{T}^{had} with full acceptance for p_{T}>0.10 GeV/c assuming kaons","Reconstructed E_{T}^{had}","dN_{eve}/dE_{T}^{had}",nbinsEt*2,minEt,maxEt);
0e866ddc 594
464aa50c 595 delete sTPC;
596 delete sITS;
597 delete sTPCpt;
598 delete sITSpt;
599 delete sPID;
600 delete sNoPID;
601 delete sNoPIDString;
602 delete sHadEt;
603 delete sTotEt;
604 delete sTotEtString;
605 delete sHadEtString;
606 delete sFull;
607 delete sEMCAL;
608 delete sPHOS;
4e0c0fe1 609
3ce6b879 610}