]>
Commit | Line | Data |
---|---|---|
cf6522d1 | 1 | //_________________________________________________________________________ |
2 | // Utility Class for transverse energy studies; charged hadrons | |
3 | // Task for analysis | |
4 | // - reconstruction and MC output | |
5 | // implementation file | |
6 | // | |
7 | //Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili | |
641e1e0c | 8 | //University of Tennessee at Knoxville |
cf6522d1 | 9 | //_________________________________________________________________________ |
7d2d1773 | 10 | //Necessary to read config macros |
11 | #include <TROOT.h> | |
12 | #include <TSystem.h> | |
13 | #include <TInterpreter.h> | |
cf6522d1 | 14 | |
641e1e0c | 15 | #include "TChain.h" |
cf6522d1 | 16 | #include "TList.h" |
641e1e0c | 17 | #include "TH2F.h" |
641e1e0c | 18 | |
19 | #include "AliESDEvent.h" | |
641e1e0c | 20 | #include "AliMCEvent.h" |
cf6522d1 | 21 | #include "AliESDtrackCuts.h" |
22 | ||
641e1e0c | 23 | #include "AliAnalysisTaskHadEt.h" |
cf6522d1 | 24 | #include "AliAnalysisHadEtReconstructed.h" |
25 | #include "AliAnalysisHadEtMonteCarlo.h" | |
2c0680a5 | 26 | #include "AliPWG0Helper.h" |
d35312c9 | 27 | #include "AliTriggerAnalysis.h" |
9a365626 | 28 | #include "AliAnalysisManager.h" |
29 | #include "AliPIDResponse.h" | |
30 | #include "AliTPCPIDResponse.h" | |
31 | #include "AliInputEventHandler.h" | |
641e1e0c | 32 | |
33 | #include <iostream> | |
6b246af1 | 34 | #include "AliLog.h" |
641e1e0c | 35 | |
36 | using namespace std; | |
37 | ||
38 | ClassImp(AliAnalysisTaskHadEt) | |
39 | ||
40 | ||
41 | ||
42 | //________________________________________________________________________ | |
bccadd89 | 43 | AliAnalysisTaskHadEt::AliAnalysisTaskHadEt(const char *name, Bool_t isMc, TString recoConfigFile, TString mcConfigFile) : |
d3d7bfe9 | 44 | AliAnalysisTaskTransverseEnergy(name, isMc) |
9a365626 | 45 | ,fPIDResponse(0) |
d3d7bfe9 | 46 | ,fRecAnalysis(0) |
47 | ,fMCAnalysis(0) | |
21ce38dd | 48 | ,fIsSim(isMc) |
d35312c9 | 49 | ,kIsOfflineV0AND(0) |
ba222433 | 50 | ,kIsOfflineMB(0) |
641e1e0c | 51 | { |
52 | // Constructor | |
9a365626 | 53 | //input hander |
54 | AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager(); | |
beb92504 | 55 | if (!man) { |
56 | AliFatal("Analysis manager needed"); | |
57 | return; | |
58 | } | |
59 | ||
9a365626 | 60 | AliInputEventHandler *inputHandler=dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler()); |
beb92504 | 61 | if (!inputHandler) { |
62 | AliFatal("Input handler needed"); | |
63 | return; | |
64 | } | |
9a365626 | 65 | |
66 | //pid response object | |
67 | fPIDResponse=inputHandler->GetPIDResponse(); | |
68 | if (!fPIDResponse) AliError("PIDResponse object was not created"); | |
69 | else{cout<<"PIDResponse was created!"<<endl;} | |
70 | ||
71 | ||
bccadd89 | 72 | fMCConfigFile = mcConfigFile; |
73 | fRecoConfigFile = recoConfigFile; | |
bccadd89 | 74 | |
ea331c5d | 75 | if(fMCAnalysis) delete fMCAnalysis; |
76 | if(fRecAnalysis) delete fRecAnalysis; | |
77 | ||
49b25059 | 78 | if (fRecoConfigFile.Length()) { |
bccadd89 | 79 | cout<<"Rereading AliAnalysisHadEtReconstructed configuration file "<<fRecoConfigFile<<endl; |
49b25059 | 80 | gROOT->LoadMacro(fRecoConfigFile); |
81 | fRecAnalysis = (AliAnalysisHadEtReconstructed *) gInterpreter->ProcessLine("ConfigHadEtReconstructed()"); | |
82 | } | |
83 | ||
d3d7bfe9 | 84 | if (fMCConfigFile.Length()) { |
bccadd89 | 85 | cout<<"Rereading AliAnalysisHadEtMonteCarlo configuration file "<<fMCConfigFile<<endl; |
d3d7bfe9 | 86 | gROOT->LoadMacro(fMCConfigFile); |
7d2d1773 | 87 | fMCAnalysis = (AliAnalysisHadEtMonteCarlo *) gInterpreter->ProcessLine("ConfigHadEtMonteCarlo()"); |
49b25059 | 88 | fMCAnalysis->SetHadEtReconstructed(fRecAnalysis); |
7d2d1773 | 89 | } |
641e1e0c | 90 | |
91 | // Define input and output slots here | |
92 | // Input slot #0 works with a TChain | |
93 | DefineInput(0, TChain::Class()); | |
94 | // Output slot #1 writes into a TH1 container | |
95 | ||
96 | DefineOutput(1, TList::Class()); | |
641e1e0c | 97 | } |
464aa50c | 98 | AliAnalysisTaskHadEt::~AliAnalysisTaskHadEt(){//Destructor |
951efd81 | 99 | delete fRecAnalysis; |
100 | delete fMCAnalysis; | |
9a365626 | 101 | delete fPIDResponse; |
951efd81 | 102 | } |
641e1e0c | 103 | |
104 | ||
105 | //________________________________________________________________________ | |
106 | void AliAnalysisTaskHadEt::UserCreateOutputObjects() | |
107 | { | |
108 | // Create histograms | |
bccadd89 | 109 | |
641e1e0c | 110 | // Called once |
bccadd89 | 111 | |
112 | ||
9a365626 | 113 | //input hander |
114 | AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager(); | |
beb92504 | 115 | if (!man) { |
116 | AliFatal("Analysis manager needed"); | |
117 | return; | |
118 | } | |
119 | ||
9a365626 | 120 | AliInputEventHandler *inputHandler=dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler()); |
beb92504 | 121 | if (!inputHandler) { |
122 | AliFatal("Input handler needed"); | |
123 | return; | |
124 | } | |
9a365626 | 125 | |
126 | //pid response object | |
127 | fPIDResponse=inputHandler->GetPIDResponse(); | |
128 | if (!fPIDResponse) AliError("PIDResponse object was not created"); | |
129 | else{cout<<"PIDResponse was created!"<<endl;} | |
130 | ||
bccadd89 | 131 | |
641e1e0c | 132 | fOutputList = new TList; |
951efd81 | 133 | fOutputList->SetOwner(); |
641e1e0c | 134 | fMCAnalysis->SetHistoList(fOutputList); |
135 | fRecAnalysis->SetHistoList(fOutputList); | |
21ce38dd | 136 | if(fIsSim) fMCAnalysis->CreateHistograms(); |
641e1e0c | 137 | fRecAnalysis->CreateHistograms(); |
641e1e0c | 138 | |
9845dc2c | 139 | |
964c8159 | 140 | if(fRecAnalysis->DataSet() != fMCAnalysis->DataSet()){ |
141 | cout<<"Warning: Reconstruction data set and Monte Carlo data set are not the same! Setting data set to "<<fRecAnalysis->DataSet()<<endl; | |
142 | } | |
641e1e0c | 143 | |
964c8159 | 144 | Bool_t selectPrimaries=kTRUE; |
ea331c5d | 145 | if(fEsdtrackCutsITSTPC) delete fEsdtrackCutsITSTPC; |
146 | if(fEsdtrackCutsITS) delete fEsdtrackCutsITS; | |
147 | if(fEsdtrackCutsTPC) delete fEsdtrackCutsTPC; | |
5c66cc7a | 148 | //We do not use these because we are using the 2010 900 GeV data |
149 | // if(fRecAnalysis->DataSet()==2009){ | |
150 | // cout<<"Setting track cuts for the 2009 p+p collisions at 900 GeV"<<endl; | |
151 | // fEsdtrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(selectPrimaries); | |
152 | // fEsdtrackCutsITSTPC->SetName("fEsdTrackCuts"); | |
153 | // fEsdtrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); | |
154 | // fEsdtrackCutsTPC->SetName("fEsdTrackCutsTPCOnly"); | |
155 | // //ITS stand alone cuts - similar to 2009 cuts but with only ITS hits required | |
156 | // fEsdtrackCutsITS = AliESDtrackCuts::GetStandardITSPureSATrackCuts2009(kTRUE,kFALSE);//we do want primaries but we do not want to require PID info | |
157 | // fEsdtrackCutsITS->SetName("fEsdTrackCutsITS"); | |
158 | // } | |
ae2636ae | 159 | if(fRecAnalysis->DataSet()==2010 || fRecAnalysis->DataSet()==20111||fRecAnalysis->DataSet()==2009 || fRecAnalysis->DataSet()==2012 || fRecAnalysis->DataSet()==2013){ |
43809680 | 160 | // AliAnalysisTaskSE:: SelectCollisionCandidates(AliVEvent::kINT7 ) ; |
bccadd89 | 161 | if(fRecAnalysis->DataSet()==2010)cout<<"Setting track cuts for the 2010 p+p collisions at 7 TeV"<<endl; |
fbcb7701 | 162 | else{ |
ae2636ae | 163 | if(fRecAnalysis->DataSet()==2012)cout<<"Setting track cuts for the 2012 p+p collisions at 8 TeV"<<endl; |
164 | else{ | |
165 | if(fRecAnalysis->DataSet()==2013)cout<<"Setting track cuts for the 2013 p+Pb collisions at 5 TeV"<<endl; | |
166 | else{ | |
167 | if(fRecAnalysis->DataSet()==2009){cout<<"Setting track cuts for the 2010 p+p collisions at 900 GeV"<<endl;} | |
168 | else{cout<<"Setting track cuts for the 2011 p+p collisions at 2.76 TeV"<<endl;} | |
169 | } | |
170 | } | |
fbcb7701 | 171 | } |
4bb44829 | 172 | //cout<<"Warning: Have not set 2010 track cuts yet!!"<<endl; |
964c8159 | 173 | fEsdtrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(selectPrimaries); |
174 | fEsdtrackCutsITSTPC->SetName("fEsdTrackCuts"); | |
175 | fEsdtrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); | |
176 | fEsdtrackCutsTPC->SetName("fEsdTrackCutsTPCOnly"); | |
177 | //ITS stand alone cuts - similar to 2009 cuts but with only ITS hits required | |
a719cc37 | 178 | fEsdtrackCutsITS = AliESDtrackCuts::GetStandardITSSATrackCuts2010(kTRUE,kFALSE);//we do want primaries but we do not want to require PID info |
964c8159 | 179 | fEsdtrackCutsITS->SetName("fEsdTrackCutsITS"); |
180 | } | |
49b25059 | 181 | if(fRecAnalysis->DataSet()==20100){ |
182 | cout<<"Setting track cuts for the 2010 Pb+Pb collisions at 2.76 TeV"<<endl; | |
183 | //cout<<"Warning: Have not set 2010 track cuts yet!!"<<endl; | |
184 | fEsdtrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(selectPrimaries); | |
185 | fEsdtrackCutsITSTPC->SetName("fEsdTrackCuts"); | |
186 | fEsdtrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); | |
187 | fEsdtrackCutsTPC->SetName("fEsdTrackCutsTPCOnly"); | |
188 | //ITS stand alone cuts - similar to 2009 cuts but with only ITS hits required | |
189 | fEsdtrackCutsITS = AliESDtrackCuts::GetStandardITSSATrackCutsPbPb2010(kTRUE,kFALSE);//we do want primaries but we do not want to require PID info | |
5c66cc7a | 190 | // fEsdtrackCutsITS = AliESDtrackCuts::GetStandardITSPureSATrackCuts2010(kTRUE,kFALSE);//we do want primaries but we do not want to require PID info |
191 | fEsdtrackCutsITS->SetName("fEsdTrackCutsITS"); | |
49b25059 | 192 | } |
cf6522d1 | 193 | |
964c8159 | 194 | fOutputList->Add(fEsdtrackCutsITSTPC); |
195 | fOutputList->Add(fEsdtrackCutsTPC); | |
196 | fOutputList->Add(fEsdtrackCutsITS); | |
197 | if(fEsdtrackCutsITSTPC && fEsdtrackCutsTPC){ | |
198 | fRecAnalysis->SetITSTrackCuts( GetITSTrackCuts()); | |
199 | fMCAnalysis->SetITSTrackCuts( GetITSTrackCuts()); | |
200 | fRecAnalysis->SetTPCITSTrackCuts( GetTPCITSTrackCuts()); | |
201 | fMCAnalysis->SetTPCITSTrackCuts( GetTPCITSTrackCuts()); | |
202 | fRecAnalysis->SetTPCOnlyTrackCuts( GetTPCOnlyTrackCuts()); | |
203 | fMCAnalysis->SetTPCOnlyTrackCuts( GetTPCOnlyTrackCuts()); | |
204 | //add ITS stuff! | |
205 | } | |
206 | else{ | |
207 | Printf("Error: no track cuts!"); | |
208 | } | |
19ec7ce2 | 209 | |
9a365626 | 210 | |
211 | ||
19ec7ce2 | 212 | PostData(1, fOutputList); |
641e1e0c | 213 | } |
214 | ||
215 | //________________________________________________________________________ | |
216 | void AliAnalysisTaskHadEt::UserExec(Option_t *) | |
cf6522d1 | 217 | { // execute method |
d3d7bfe9 | 218 | fESDEvent = dynamic_cast<AliESDEvent*>(InputEvent()); |
219 | if (!fESDEvent) { | |
641e1e0c | 220 | Printf("ERROR: Could not retrieve event"); |
221 | return; | |
222 | } | |
2c0680a5 | 223 | //cout<<"AliAnalysisTaskHadEt 165"<<endl; |
7d2d1773 | 224 | |
e50ad0d0 | 225 | //Int_t res = CheckPhysicsSelection(fESDEvent->GetRunNumber()); // Check if the physics selection is valid for this run |
d3d7bfe9 | 226 | |
b1a5cb85 | 227 | //AliCentrality *cent = GetCentralityObject(); |
641e1e0c | 228 | |
1794f02f | 229 | //if(res == 0 && cent){ |
230 | //if(cent){ | |
d35312c9 | 231 | AliTriggerAnalysis *fTriggerAnalysis = new AliTriggerAnalysis(); |
232 | ||
233 | kIsOfflineV0AND = fTriggerAnalysis->IsOfflineTriggerFired(fESDEvent, AliTriggerAnalysis::kV0AND); | |
ba222433 | 234 | kIsOfflineMB = fTriggerAnalysis->IsOfflineTriggerFired(fESDEvent, AliTriggerAnalysis::kMB1); |
d35312c9 | 235 | fRecAnalysis->SetIsOfflineV0AND(kIsOfflineV0AND); |
236 | fMCAnalysis->SetIsOfflineV0AND(kIsOfflineV0AND); | |
ba222433 | 237 | fMCAnalysis->SetIsOfflineMB(kIsOfflineMB); |
a719cc37 | 238 | |
1794f02f | 239 | Int_t eventtype = AliPWG0Helper::kInvalidProcess; |
5c3c2341 | 240 | if(fIsSim && fRecAnalysis->DataSet()!=20100) eventtype = (Int_t) AliPWG0Helper::GetEventProcessType(MCEvent()->Header()); |
a719cc37 | 241 | fRecAnalysis->AnalyseEvent(fESDEvent,eventtype); |
242 | if(fIsSim){ | |
1794f02f | 243 | AliMCEvent* mcEvent = MCEvent(); |
244 | if(!mcEvent){ | |
245 | AliFatal("ERROR: MC Event does not exist"); | |
246 | return; | |
247 | } | |
1794f02f | 248 | if (fESDEvent){ |
249 | ((AliAnalysisHadEtMonteCarlo*)fMCAnalysis)->AnalyseEvent((AliVEvent*)mcEvent,(AliVEvent*)fESDEvent); | |
6b246af1 | 250 | |
a719cc37 | 251 | if( fRecAnalysis->DataSet()==20100 || AliPWG0Helper::GetEventProcessType(mcEvent->Header()) == AliPWG0Helper::kND){//either non-diffractive or Pb+Pb |
d3d7bfe9 | 252 | if(fMCAnalysis->Full()){ |
253 | fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPC() ); | |
254 | fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceITS( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITS() ); | |
255 | fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPCNoPID() ); | |
256 | fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITSNoPID() ); | |
257 | fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPC() ); | |
258 | fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceITS( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITS() ); | |
259 | fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPCNoPID() ); | |
260 | fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITSNoPID() ); | |
6b246af1 | 261 | |
262 | fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPC() ); | |
263 | fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceITS( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITS() ); | |
264 | fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPCNoPID() ); | |
265 | fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITSNoPID() ); | |
266 | fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPC() ); | |
267 | fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceITS( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITS() ); | |
268 | fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPCNoPID() ); | |
269 | fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITSNoPID() ); | |
62346fc2 | 270 | |
271 | fMCAnalysis->FillSimPiKPEtVsRecoPiKPEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceTPC() ); | |
272 | fMCAnalysis->FillSimPiKPEtVsRecoPiKPEtFullAcceptanceITS( fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceITS() ); | |
273 | fMCAnalysis->FillSimPiKPEtVsRecoPiKPEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceTPCNoPID() ); | |
274 | fMCAnalysis->FillSimPiKPEtVsRecoPiKPEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceITSNoPID() );//Had | |
d3d7bfe9 | 275 | } |
276 | if(fMCAnalysis->EMCAL()){ | |
277 | fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPC() ); | |
278 | fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITS() ); | |
279 | fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPCNoPID() ); | |
280 | fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITSNoPID() ); | |
281 | fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPC() ); | |
282 | fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITS() ); | |
283 | fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPCNoPID() ); | |
284 | fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITSNoPID() ); | |
285 | } | |
286 | if(fMCAnalysis->PHOS()){ | |
287 | fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPC() ); | |
288 | fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITS() ); | |
289 | fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPCNoPID() ); | |
290 | fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITSNoPID() ); | |
291 | fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPC() ); | |
292 | fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITS() ); | |
293 | fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPCNoPID() ); | |
294 | fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITSNoPID() ); | |
295 | } | |
296 | if(fMCAnalysis->PiKP() && fMCAnalysis->Full()){ | |
297 | fMCAnalysis->FillSimPiKPMinusRecoPiKPFullAcceptanceTPC(fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceTPC()); | |
298 | fMCAnalysis->FillSimPiKPMinusRecoPiKPFullAcceptanceITS(fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceITS()); | |
299 | fMCAnalysis->FillSimPiKPMinusRecoPiKPFullAcceptanceTPCNoPID(fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceTPCNoPID()); | |
300 | fMCAnalysis->FillSimPiKPMinusRecoPiKPFullAcceptanceITSNoPID(fRecAnalysis->GetCorrectedPiKPEtFullAcceptanceITSNoPID()); | |
301 | } | |
7d2d1773 | 302 | } |
641e1e0c | 303 | } |
1794f02f | 304 | } |
d35312c9 | 305 | delete fTriggerAnalysis; |
1794f02f | 306 | //} |
49b25059 | 307 | //cout<<"End Event"<<endl<<endl; |
641e1e0c | 308 | // Post output data. |
6b246af1 | 309 | PostData(1, fOutputList); |
641e1e0c | 310 | } |
311 | ||
312 | //________________________________________________________________________ | |
313 | void AliAnalysisTaskHadEt::Terminate(Option_t *) | |
314 | { | |
315 | // Draw result to the screen | |
316 | // Called once at the end of the query | |
317 | ||
318 | fOutputList = dynamic_cast<TList*> (GetOutputData(1)); | |
319 | if (!fOutputList) { | |
320 | printf("ERROR: Output list not available\n"); | |
321 | return; | |
322 | } | |
323 | } | |
324 | ||
325 |