32 #include <TClonesArray.h>
40 #include <THnSparse.h>
42 #include <TLorentzVector.h>
43 #include <TParameter.h>
44 #include <TParticle.h>
47 #include <TObjArray.h>
50 #include "AliAODEvent.h"
51 #include "AliESDEvent.h"
52 #include "AliAnalysisManager.h"
53 #include "AliAnalysisTask.h"
54 #include "AliCentrality.h"
56 #include "AliAODJet.h"
57 #include "AliVCluster.h"
58 #include "AliVTrack.h"
59 #include <AliVEvent.h>
60 #include <AliVParticle.h>
69 #include <AliInputEventHandler.h>
70 #include <AliVEventHandler.h>
71 #include "AliESDInputHandler.h"
72 #include "AliESDCaloCluster.h"
74 #include "AliEventPoolManager.h"
75 #include "AliESDtrackCuts.h"
78 #include "AliPIDResponse.h"
79 #include "AliTPCPIDResponse.h"
80 #include "AliESDpid.h"
83 #include "TGeoGlobalMagField.h"
100 fPhimin(-10), fPhimax(10),
101 fEtamin(-0.9), fEtamax(0.9),
102 fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9),
103 fJetPtcut(15.0), fJetRad(0.4), fConstituentCut(3.0),
105 fDetectorType(kVZEROComb),
106 fSoftTrackMinPt_ep(0.15), fSoftTrackMaxPt_ep(5.),
107 fNAcceptedTracks(0), fLeadingJet(0), fExcludeLeadingJetsFromFit(1.),
108 fCentralityClasses(0), fInCentralitySelection(-1),
109 fDoEventMixing(0), fMixingTracks(50000), fNMIXtracks(5000), fNMIXevents(5),
110 fCentBinSize(1), fReduceStatsCent(0),
111 fTriggerEventType(AliVEvent::kAny), fMixingEventType(AliVEvent::kAny),
112 fDoEffCorr(0), fcorrJetPt(0),
113 doPlotGlobalRho(0), doVariableBinning(0), dovarbinTHnSparse(0),
114 makeQAhistos(0), makeBIAShistos(0), makeextraCORRhistos(0), makeoldJEThadhistos(0),
115 allpidAXIS(0), fcutType("EMCAL"), doPID(0), doPIDtrackBIAS(0), doaltPIDbinning(0),
118 doFlavourJetAnalysis(0), fJetFlavTag(3),
119 douseOLDtrackFramework(kFALSE),
122 fTracksName(""), fTracksNameME(""), fJetsName(""), fCaloClustersName(""),
124 isPItpc(0), isKtpc(0), isPtpc(0),
125 isPIits(0), isKits(0), isPits(0),
126 isPItof(0), isKtof(0), isPtof(0),
128 fPIDResponse(0x0), fTPCResponse(),
129 fESD(0), fAOD(0), fVevent(0),
130 fHistEventQA(0), fHistEventSelectionQA(0), fHistEventSelectionQAafterCuts(0),
131 fHistCentZvertGA(0), fHistCentZvertJE(0), fHistCentZvertMB(0), fHistCentZvertAny(0),
132 fHistTPCdEdX(0), fHistITSsignal(0),
133 fHistRhovsCent(0), fHistNjetvsCent(0),
134 fHistNTrackPtNEW(0), fHistNTrackPhiNEW(0), fHistNTrackEtaNEW(0), fHistNTrackPhiEtaNEW(0),
135 fHistNTrackPt(0), fHistNTrackPhi(0), fHistNTrackEta(0), fHistNTrackPhiEta(0),
136 fHistNJetPt(0), fHistNJetPhi(0), fHistNJetEta(0), fHistNJetPhiEta(0),
138 fHistJetPhi(0), fHistTrackPhi(0),
139 fHistLocalRhoJetpt(0),
140 fHistJetHaddPhiIN(0), fHistJetHaddPhiOUT(0), fHistJetHaddPhiMID(0),
141 fHistJetHaddPhiBias(0), fHistJetHaddPhiINBias(0), fHistJetHaddPhiOUTBias(0), fHistJetHaddPhiMIDBias(0),
143 fHistTrackPtallcent(0),
144 fHistJetEtaPhi(0), fHistJetHEtaPhi(0),
145 fHistSEphieta(0), fHistMEphieta(0),
147 fHistClusEtaPhiEnergy(0), fHistClusEnergy(0), fHistClusofJetEnergy(0),
148 fHistJetNClusterConstit(0), fHistJetNTrackConstit(0), fHistJetNConstit(0),
150 fhnPID(0x0), fhnMixedEvents(0x0), fhnJH(0x0), fhnCorr(0x0),
151 fChi2A(0x0), fChi2C(0x0), fChi3A(0x0), fChi3C(0x0), fUseChiWeightForVZERO(kTRUE),
152 fTracksFromContainer(0),
153 fJetsCont(0), fTracksCont(0), fCaloClustersCont(0),
154 fContainerAllJets(0), fContainerPIDJets(1)
157 for(Int_t ilab=0; ilab<4; ilab++){
158 for(Int_t ipta=0; ipta<7; ipta++){
163 for(Int_t cen = 0; cen<10; cen++){
164 fProfV2Resolution[cen]=0;
165 fProfV3Resolution[cen]=0;
166 fProfV4Resolution[cen]=0;
167 fProfV5Resolution[cen]=0;
170 for(Int_t itrackpt=0; itrackpt<9; itrackpt++){
171 fHistJetHadbindPhi[itrackpt]=0;
172 fHistJetHadbindPhiIN[itrackpt]=0;
173 fHistJetHadbindPhiMID[itrackpt]=0;
174 fHistJetHadbindPhiOUT[itrackpt]=0;
177 for(Int_t icent = 0; icent<6; ++icent){
178 for(Int_t iptjet = 0; iptjet<5; ++iptjet){
179 for(Int_t ieta = 0; ieta<3; ++ieta){
180 fHistJetH[icent][iptjet][ieta]=0;
181 fHistJetHBias[icent][iptjet][ieta]=0;
182 fHistJetHTT[icent][iptjet][ieta]=0;
188 for (Int_t i = 0;i<6;++i){
190 fHistJetPtBias[i] = 0;
192 fHistAreavsRawPt[i] = 0;
193 fHistJetPtvsTrackPt[i] = 0;
199 fHistJetPtcorrGlRho[i] = 0;
200 fHistJetPtvsdEP[i] = 0;
201 fHistJetPtvsdEPBias[i] = 0;
202 fHistRhovsdEP[i] = 0;
203 fHistJetEtaPhiPt[i] = 0;
204 fHistJetEtaPhiPtBias[i] = 0;
205 fHistJetPtArea[i] = 0;
206 fHistJetPtAreaBias[i] = 0;
207 fHistJetPtNcon[i] = 0;
208 fHistJetPtNconBias[i] = 0;
209 fHistJetPtNconCh[i] = 0;
210 fHistJetPtNconBiasCh[i] = 0;
211 fHistJetPtNconEm[i] = 0;
212 fHistJetPtNconBiasEm[i] = 0;
213 fHistJetHaddPhiINcent[i] = 0;
214 fHistJetHaddPhiOUTcent[i] = 0;
215 fHistJetHaddPhiMIDcent[i] = 0;
218 SetMakeGeneralHistograms(kTRUE);
225 fPhimin(-10), fPhimax(10),
226 fEtamin(-0.9), fEtamax(0.9),
227 fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9),
228 fJetPtcut(15.0), fJetRad(0.4), fConstituentCut(3.0),
230 fDetectorType(kVZEROComb),
231 fSoftTrackMinPt_ep(0.15), fSoftTrackMaxPt_ep(5.),
232 fNAcceptedTracks(0), fLeadingJet(0), fExcludeLeadingJetsFromFit(1.),
233 fCentralityClasses(0), fInCentralitySelection(-1),
234 fDoEventMixing(0), fMixingTracks(50000), fNMIXtracks(5000), fNMIXevents(5),
235 fCentBinSize(1), fReduceStatsCent(0),
236 fTriggerEventType(AliVEvent::kAny), fMixingEventType(AliVEvent::kAny),
237 fDoEffCorr(0), fcorrJetPt(0),
238 doPlotGlobalRho(0), doVariableBinning(0), dovarbinTHnSparse(0),
239 makeQAhistos(0), makeBIAShistos(0), makeextraCORRhistos(0), makeoldJEThadhistos(0),
240 allpidAXIS(0), fcutType(
"EMCAL"), doPID(0), doPIDtrackBIAS(0), doaltPIDbinning(0),
243 doFlavourJetAnalysis(0), fJetFlavTag(3),
244 douseOLDtrackFramework(kFALSE),
247 fTracksName(
""), fTracksNameME(
""), fJetsName(
""), fCaloClustersName(
""),
249 isPItpc(0), isKtpc(0), isPtpc(0),
250 isPIits(0), isKits(0), isPits(0),
251 isPItof(0), isKtof(0), isPtof(0),
253 fPIDResponse(0x0), fTPCResponse(),
254 fESD(0), fAOD(0), fVevent(0),
255 fHistEventQA(0), fHistEventSelectionQA(0), fHistEventSelectionQAafterCuts(0),
256 fHistCentZvertGA(0), fHistCentZvertJE(0), fHistCentZvertMB(0), fHistCentZvertAny(0),
257 fHistTPCdEdX(0), fHistITSsignal(0),
258 fHistRhovsCent(0), fHistNjetvsCent(0),
259 fHistNTrackPtNEW(0), fHistNTrackPhiNEW(0), fHistNTrackEtaNEW(0), fHistNTrackPhiEtaNEW(0),
260 fHistNTrackPt(0), fHistNTrackPhi(0), fHistNTrackEta(0), fHistNTrackPhiEta(0),
261 fHistNJetPt(0), fHistNJetPhi(0), fHistNJetEta(0), fHistNJetPhiEta(0),
263 fHistJetPhi(0), fHistTrackPhi(0),
264 fHistLocalRhoJetpt(0),
265 fHistJetHaddPhiIN(0), fHistJetHaddPhiOUT(0), fHistJetHaddPhiMID(0),
266 fHistJetHaddPhiBias(0), fHistJetHaddPhiINBias(0), fHistJetHaddPhiOUTBias(0), fHistJetHaddPhiMIDBias(0),
268 fHistTrackPtallcent(0),
269 fHistJetEtaPhi(0), fHistJetHEtaPhi(0),
270 fHistSEphieta(0), fHistMEphieta(0),
272 fHistClusEtaPhiEnergy(0), fHistClusEnergy(0), fHistClusofJetEnergy(0),
273 fHistJetNClusterConstit(0), fHistJetNTrackConstit(0), fHistJetNConstit(0),
275 fhnPID(0x0), fhnMixedEvents(0x0), fhnJH(0x0), fhnCorr(0x0),
276 fChi2A(0x0), fChi2C(0x0), fChi3A(0x0), fChi3C(0x0), fUseChiWeightForVZERO(kTRUE),
277 fTracksFromContainer(0),
278 fJetsCont(0), fTracksCont(0), fCaloClustersCont(0),
279 fContainerAllJets(0), fContainerPIDJets(1)
282 for(Int_t ilab=0; ilab<4; ilab++){
283 for(Int_t ipta=0; ipta<7; ipta++){
288 for(Int_t cen = 0; cen<10; cen++){
295 for(Int_t itrackpt=0; itrackpt<9; itrackpt++){
302 for(Int_t icent = 0; icent<6; ++icent){
303 for(Int_t iptjet = 0; iptjet<5; ++iptjet){
304 for(Int_t ieta = 0; ieta<3; ++ieta){
313 for (Int_t i = 0;i<6;++i){
375 fHistCentZvertGA =
new TH2F(
"fHistCentZvertGA",
"Centrality - Z-vertex distribution for GA trigger", 20, 0, 100, 10, -10, 10);
377 fHistCentZvertJE =
new TH2F(
"fHistCentZvertJE",
"Centrality - Z-vertex distribution for JE trigger", 20, 0, 100, 10, -10, 10);
379 fHistCentZvertMB =
new TH2F(
"fHistCentZvertMB",
"Centrality - Z-vertex distribution for MB trigger", 20, 0, 100, 10, -10, 10);
381 fHistCentZvertAny =
new TH2F(
"fHistCentZvertAny",
"Centrality - Z-vertex distribution for kAny trigger", 20, 0, 100, 10, -10, 10);
385 fHistEventQA =
new TH1F(
"fHistEventQA",
"Event Counter at checkpoints in code", 20, 0.5, 20.5);
390 fHistEventSelectionQA =
new TH1F(
"fHistEventSelectionQA",
"Trigger Selection Counter", 20, 0.5, 20.5);
400 fHistNjetvsCent =
new TH2F(
"NjetvsCent",
"NjetvsCent", 100, 0.0, 100.0, 100, 0, 100);
401 fHistJetHaddPHI =
new TH1F(
"fHistJetHaddPHI",
"Jet-Hadron #Delta#varphi", 72,-0.5*TMath::Pi(),1.5*TMath::Pi());
402 fHistJetHaddPhiIN =
new TH1F(
"fHistJetHaddPhiIN",
"Jet-Hadron #Delta#varphi IN PLANE", 72,-0.5*TMath::Pi(), 1.5*TMath::Pi());
403 fHistJetHaddPhiOUT =
new TH1F(
"fHistJetHaddPhiOUT",
"Jet-Hadron #Delta#varphi OUT PLANE", 72,-0.5*TMath::Pi(), 1.5*TMath::Pi());
404 fHistJetHaddPhiMID =
new TH1F(
"fHistJetHaddPhiMID",
"Jet-Hadron #Delta#varphi MIDDLE of PLANE", 72,-0.5*TMath::Pi(), 1.5*TMath::Pi());
405 fHistLocalRhoJetpt =
new TH1F(
"fHistLocalRhoJetpt",
"Local Rho corrected Jet p_{T}", 50, -50, 200);
416 fHistTPCdEdX =
new TH2F(
"TPCdEdX",
"TPCdEdX", 400, 0.0, 20.0, 500, 0, 500);
420 fHistNTrackPhiNEW =
new TH1F(
"fHistNTrackPhiNEW",
"NTrack vs #Psi (new framework)", 144, 0, 2*TMath::Pi());
421 fHistNTrackPtNEW =
new TH1F(
"fHistNTrackPtNEW",
"NTrack vs p_T (new framework)", 500, 0, 50);
422 fHistNTrackEtaNEW =
new TH1F(
"fHistNTrackEtaNEW",
"NTrack vs #eta (new framework)", 180, -0.9, 0.9);
423 fHistNTrackPhiEtaNEW =
new TH2F(
"fHistNTrackPhiEtaNEW",
"NTrack vs #phi vs #eta (new framework)", 72, 0, 2*TMath::Pi(), 90, -0.9, 0.9);
431 fHistNTrackPt =
new TH1F(
"fHistNTrackPt",
"NTrack vs p_T", 500, 0, 50);
432 fHistNTrackPhi =
new TH1F(
"fHistNTrackPhi",
"NTrack vs #phi", 144, 0, 2*TMath::Pi());
433 fHistNTrackEta =
new TH1F(
"fHistNTrackEta",
"NTrack vs #eta", 180, -0.9, 0.9);
434 fHistNTrackPhiEta =
new TH2F(
"fHistNTrackPhiEta",
"NTrack vs #phi vs #eta", 72, 0, 2*TMath::Pi(), 90, -0.9, 0.9);
441 fHistNJetPt =
new TH1F(
"fHistNJetPt",
"NJet vs p_T", 500, 0, 250);
442 fHistNJetPhi =
new TH1F(
"fHistNJetPhi",
"NJet vs #phi", 144, 0, 2*TMath::Pi());
443 fHistNJetEta =
new TH1F(
"fHistNJetEta",
"NJet vs #eta", 180, -0.9, 0.9);
444 fHistNJetPhiEta =
new TH2F(
"fHistNJetPhiEta",
"NJet vs #phi vs #eta", 72, 0, 2*TMath::Pi(), 90, -0.9, 0.9);
452 for (Int_t i = 0; i<10; ++i){
453 fProfV2Resolution[i] =
new TProfile(Form(
"fProfV2Resolution_%i", i), Form(
"fProfV2Resolution_%i", i), 11, -0.5, 10.5);
454 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(3,
"<cos(2(#Psi_{VZEROA} - #Psi_{VZEROC}))>");
455 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(4,
"<cos(2(#Psi_{VZEROC} - #Psi_{VZEROA}))>");
456 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(5,
"<cos(2(#Psi_{VZEROA} - #Psi_{TPC}))>");
457 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(6,
"<cos(2(#Psi_{TPC} - #Psi_{VZEROA}))>");
458 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(7,
"<cos(2(#Psi_{VZEROC} - #Psi_{TPC}))>");
459 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(8,
"<cos(2(#Psi_{TPC} - #Psi_{VZEROC}))>");
460 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(9,
"<cos(2(#Psi_{VZERO} - #Psi_{TPC_A}))>");
461 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(10,
"<cos(2(#Psi_{VZERO} - #Psi_{TPC_B}))>");
462 fProfV2Resolution[i]->GetXaxis()->SetBinLabel(11,
"<cos(2(#Psi_{TPC_A} - #Psi_{TPC_B}))>");
464 fProfV3Resolution[i] =
new TProfile(Form(
"fProfV3Resolution_%i", i), Form(
"fProfV3Resolution_%i", i), 11, -0.5, 10.5);
465 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(3,
"<cos(3(#Psi_{VZEROA} - #Psi_{VZEROC}))>");
466 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(4,
"<cos(3(#Psi_{VZEROC} - #Psi_{VZEROA}))>");
467 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(5,
"<cos(3(#Psi_{VZEROA} - #Psi_{TPC}))>");
468 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(6,
"<cos(3(#Psi_{TPC} - #Psi_{VZEROA}))>");
469 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(7,
"<cos(3(#Psi_{VZEROC} - #Psi_{TPC}))>");
470 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(8,
"<cos(3(#Psi_{TPC} - #Psi_{VZEROC}))>");
471 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(9,
"<cos(3(#Psi_{VZERO} - #Psi_{TPC_A}))>");
472 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(10,
"<cos(3(#Psi_{VZERO} - #Psi_{TPC_B}))>");
473 fProfV3Resolution[i]->GetXaxis()->SetBinLabel(11,
"<cos(3(#Psi_{TPC_A} - #Psi_{TPC_B}))>");
475 fProfV4Resolution[i] =
new TProfile(Form(
"fProfV4Resolution_%i", i), Form(
"fProfV4Resolution_%i", i), 11, -0.5, 10.5);
476 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(3,
"<cos(4(#Psi_{VZEROA} - #Psi_{VZEROC}))>");
477 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(4,
"<cos(4(#Psi_{VZEROC} - #Psi_{VZEROA}))>");
478 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(5,
"<cos(4(#Psi_{VZEROA} - #Psi_{TPC}))>");
479 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(6,
"<cos(4(#Psi_{TPC} - #Psi_{VZEROA}))>");
480 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(7,
"<cos(4(#Psi_{VZEROC} - #Psi_{TPC}))>");
481 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(8,
"<cos(4(#Psi_{TPC} - #Psi_{VZEROC}))>");
482 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(9,
"<cos(4(#Psi_{VZERO} - #Psi_{TPC_A}))>");
483 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(10,
"<cos(4(#Psi_{VZERO} - #Psi_{TPC_B}))>");
484 fProfV4Resolution[i]->GetXaxis()->SetBinLabel(11,
"<cos(4(#Psi_{TPC_A} - #Psi_{TPC_B}))>");
486 fProfV5Resolution[i] =
new TProfile(Form(
"fProfV5Resolution_%i", i), Form(
"fProfV5Resolution_%i", i), 11, -0.5, 10.5);
487 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(3,
"<cos(5(#Psi_{VZEROA} - #Psi_{VZEROC}))>");
488 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(4,
"<cos(5(#Psi_{VZEROC} - #Psi_{VZEROA}))>");
489 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(5,
"<cos(5(#Psi_{VZEROA} - #Psi_{TPC}))>");
490 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(6,
"<cos(5(#Psi_{TPC} - #Psi_{VZEROA}))>");
491 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(7,
"<cos(5(#Psi_{VZEROC} - #Psi_{TPC}))>");
492 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(8,
"<cos(5(#Psi_{TPC} - #Psi_{VZEROC}))>");
493 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(9,
"<cos(5(#Psi_{VZERO} - #Psi_{TPC_A}))>");
494 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(10,
"<cos(5(#Psi_{VZERO} - #Psi_{TPC_B}))>");
495 fProfV5Resolution[i]->GetXaxis()->SetBinLabel(11,
"<cos(5(#Psi_{TPC_A} - #Psi_{TPC_B}))>");
503 fHistITSsignal =
new TH2F(
"ITSsignal",
"ITSsignal", 2000, 0.0, 100.0, 500, 0, 500);
505 fHistJetPhi =
new TH1F(
"fHistJetPhi",
"Jet #phi Distribution", 72, 0., 1.0*TMath::Pi());
506 fHistTrackPhi =
new TH1F(
"fHistTrackPhi",
"Track #phi Distribution", 72, 0., 2.0*TMath::Pi());
507 fHistRhovsCent =
new TH2F(
"RhovsCent",
"RhovsCent", 100, 0.0, 100.0, 500, 0, 500);
508 fHistTrackPtallcent =
new TH1F(
"fHistTrackPtallcent",
"p_{T} distribution", 1000, 0.0, 100.0);
509 fHistJetEtaPhi =
new TH2F(
"fHistJetEtaPhi",
"Jet #eta-#phi",512,-1.8,1.8,512,-3.2,3.2);
510 fHistJetHEtaPhi =
new TH2F(
"fHistJetHEtaPhi",
"Jet-Hadron #Delta#eta-#Delta#phi", 72, -1.8, 1.8, 72, -1.6, 4.8);
511 fHistSEphieta =
new TH2F(
"fHistSEphieta",
"Single Event #phi-#eta distribution", 64,-0.5*TMath::Pi(), 1.5*TMath::Pi(), 64,-1.8,1.8);
512 fHistMEphieta =
new TH2F(
"fHistMEphieta",
"Mixed Event #phi-#eta distribution", 64, -0.5*TMath::Pi(), 1.5*TMath::Pi(), 64,-1.8,1.8);
514 fHistClusEtaPhiEnergy =
new TH3F(
"fHistClusEtaPhiEnergy",
"Cluster eta-phi-energy", 900, -1.8, 1.8, 720, -3.2, 3.2, 20, 0, 20);
515 fHistClusEnergy =
new TH1F(
"fHistClusEnergy",
"Cluster Energy distribution", 200, 0, 20);
516 fHistClusofJetEnergy =
new TH1F(
"fHistClusofJetEnergy",
"Cluster of Jet Energy distribution", 200, 0, 20);
517 fHistJetNClusterConstit =
new TH1F(
"fHistJetNClusterConstit",
"Number of Cluster Constituents in Jet", 25, 0, 25);
518 fHistJetNTrackConstit =
new TH1F(
"fHistJetNTrackConstit",
"Number of Track Constituents in Jet", 25, 0, 25);
519 fHistJetNConstit =
new TH1F(
"fHistJetNConstit",
"Number of Total Constituents in Jet", 25, 0, 25);
548 for (Int_t i = 0;i<6;++i){
549 name1 = TString(Form(
"EP0_%i",i));
550 title1 = TString(Form(
"EP V0 cent bin %i",i));
551 fHistEP0[i] =
new TH1F(name1,title1,144,-TMath::Pi(),TMath::Pi());
554 name1 = TString(Form(
"EP0A_%i",i));
555 title1 = TString(Form(
"EP V0A cent bin %i",i));
556 fHistEP0A[i] =
new TH1F(name1,title1,144,-TMath::Pi(),TMath::Pi());
559 name1 = TString(Form(
"EP0C_%i",i));
560 title1 = TString(Form(
"EP V0C cent bin %i",i));
561 fHistEP0C[i] =
new TH1F(name1,title1,144,-TMath::Pi(),TMath::Pi());
564 name1 = TString(Form(
"EPAvsC_%i",i));
565 title1 = TString(Form(
"EP V0A vs V0C cent bin %i",i));
566 fHistEPAvsC[i] =
new TH2F(name1,title1,144,-TMath::Pi(),TMath::Pi(),144,-TMath::Pi(),TMath::Pi());
569 name1 = TString(Form(
"JetPtvsTrackPt_%i",i));
570 title1 = TString(Form(
"Jet p_{T} vs Leading Track p_{T} cent bin %i",i));
574 name1 = TString(Form(
"TrackPt_%i",i));
575 title1 = TString(Form(
"Track p_{T} cent bin %i",i));
579 name1 = TString(Form(
"JetPtcorrGLrho_%i",i));
580 title1 = TString(Form(
"Jet p_{T} corrected with Global #rho cent bin %i",i));
584 name1 = TString(Form(
"JetPtvsdEP_%i",i));
585 title1 = TString(Form(
"Jet p_{T} vs #DeltaEP cent bin %i",i));
586 fHistJetPtvsdEP[i] =
new TH2F(name1,title1,250,-50,200,288,-2*TMath::Pi(),2*TMath::Pi());
589 name1 = TString(Form(
"RhovsdEP_%i",i));
590 title1 = TString(Form(
"#rho vs #DeltaEP cent bin %i",i));
591 fHistRhovsdEP[i] =
new TH2F(name1,title1,500,0,500,288,-2*TMath::Pi(),2*TMath::Pi());
594 name1 = TString(Form(
"JetEtaPhiPt_%i",i));
595 title1 = TString(Form(
"Jet #eta-#phi p_{T} cent bin %i",i));
596 fHistJetEtaPhiPt[i] =
new TH3F(name1,title1,250,-50,200,100,-1,1,64,-3.2,3.2);
599 name1 = TString(Form(
"JetPtArea_%i",i));
600 title1 = TString(Form(
"Jet p_{T} Area cent bin %i",i));
604 snprintf(name, nchar,
"fHistAreavsRawPt_%i",i);
612 fHistJetHaddPhiBias =
new TH1F(
"fHistJetHaddPhiBias",
"Jet-Hadron #Delta#varphi with bias",128,-0.5*TMath::Pi(), 1.5*TMath::Pi());
613 fHistJetHaddPhiINBias =
new TH1F(
"fHistJetHaddPhiINBias",
"Jet-Hadron #Delta#varphi IN PLANE with bias", 128,-0.5*TMath::Pi(), 1.5*TMath::Pi());
614 fHistJetHaddPhiOUTBias =
new TH1F(
"fHistJetHaddPhiOUTBias",
"Jet-Hadron #Delta#varphi OUT PLANE with bias",128,-0.5*TMath::Pi(), 1.5*TMath::Pi());
615 fHistJetHaddPhiMIDBias =
new TH1F(
"fHistJetHaddPhiMIDBias",
"Jet-Hadron #Delta#varphi MIDDLE of PLANE with bias",128,-0.5*TMath::Pi(), 1.5*TMath::Pi());
623 for (Int_t i = 0;i<6;++i){
624 name1 = TString(Form(
"JetPtvsdEPBias_%i",i));
625 title1 = TString(Form(
"Bias Jet p_{T} vs #DeltaEP cent bin %i",i));
626 fHistJetPtvsdEPBias[i] =
new TH2F(name1,title1,250,-50,200,288,-2*TMath::Pi(),2*TMath::Pi());
629 name1 = TString(Form(
"JetEtaPhiPtBias_%i",i));
630 title1 = TString(Form(
"Jet #eta-#phi p_{T} Bias cent bin %i",i));
631 fHistJetEtaPhiPtBias[i] =
new TH3F(name1,title1,250,-50,200,100,-1,1,64,-3.2,3.2);
634 name1 = TString(Form(
"JetPtAreaBias_%i",i));
635 title1 = TString(Form(
"Jet p_{T} Area Bias cent bin %i",i));
642 for(Int_t icent = 0; icent<6; ++icent){
643 snprintf(name, nchar,
"fHistJetPtTT_%i",icent);
647 snprintf(name, nchar,
"fHistJetPt_%i",icent);
648 fHistJetPt[icent] =
new TH1F(name,name,200,0,200);
651 snprintf(name, nchar,
"fHistJetPtBias_%i",icent);
655 for(Int_t iptjet = 0; iptjet<5; ++iptjet){
656 for(Int_t ieta = 0; ieta<3; ++ieta){
657 snprintf(name, nchar,
"fHistJetH_%i_%i_%i",icent,iptjet,ieta);
658 fHistJetH[icent][iptjet][ieta]=
new TH2F(name,name,64,-0.5*TMath::Pi(),1.5*TMath::Pi(),300,0,30);
661 snprintf(name, nchar,
"fHistJetHBias_%i_%i_%i",icent,iptjet,ieta);
662 fHistJetHBias[icent][iptjet][ieta]=
new TH2F(name,name,64,-0.5*TMath::Pi(),1.5*TMath::Pi(),300,0,30);
665 snprintf(name, nchar,
"fHistJetHTT_%i_%i_%i",icent,iptjet,ieta);
666 fHistJetHTT[icent][iptjet][ieta]=
new TH2F(name,name,64,-0.5*TMath::Pi(),1.5*TMath::Pi(),300,0,30);
674 for(Int_t itrackpt=0; itrackpt<9; itrackpt++){
675 snprintf(name, nchar,
"fHistJetHadbindPhi_%i",itrackpt);
676 fHistJetHadbindPhi[itrackpt] =
new TH1F(name,name,128,-0.5*TMath::Pi(), 1.5*TMath::Pi());
679 snprintf(name, nchar,
"fHistJetHadbindPhiIN_%i",itrackpt);
683 snprintf(name, nchar,
"fHistJetHadbindPhiMID_%i",itrackpt);
687 snprintf(name, nchar,
"fHistJetHadbindPhiOUT_%i",itrackpt);
692 for (Int_t i = 0;i<6;++i){
693 name1 = TString(Form(
"JetHaddPhiINcent_%i",i));
694 title1 = TString(Form(
"Jet Hadron #Delta#varphi Distribution IN PLANE cent bin %i",i));
698 name1 = TString(Form(
"JetHaddPhiOUTcent_%i",i));
699 title1 = TString(Form(
"Jet Hadron #Delta#varphi Distribution OUT PLANE cent bin %i",i));
703 name1 = TString(Form(
"JetHaddPhiMIDcent_%i",i));
704 title1 = TString(Form(
"Jet Hadron #Delta#varphi Distribution MIDDLE of PLANE cent bin %i",i));
708 name1 = TString(Form(
"JetPtNcon_%i",i));
709 title1 = TString(Form(
"Jet p_{T} Ncon cent bin %i",i));
710 fHistJetPtNcon[i] =
new TH2F(name1,title1,250,-50,200,100,0,2000);
713 name1 = TString(Form(
"JetPtNconBias_%i",i));
714 title1 = TString(Form(
"Jet p_{T} NconBias cent bin %i",i));
718 name1 = TString(Form(
"JetPtNconCh_%i",i));
719 title1 = TString(Form(
"Jet p_{T} NconCh cent bin %i",i));
723 name1 = TString(Form(
"JetPtNconBiasCh_%i",i));
724 title1 = TString(Form(
"Jet p_{T} NconBiasCh cent bin %i",i));
728 name1 = TString(Form(
"JetPtNconEm_%i",i));
729 title1 = TString(Form(
"Jet p_{T} NconEm cent bin %i",i));
733 name1 = TString(Form(
"JetPtNconBiasEm_%i",i));
734 title1 = TString(Form(
"Jet p_{T} NconBiasEm cent bin %i",i));
741 Double_t xlowjetPT[] = {15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 45, 50, 55, 60, 65, 70, 75, 80, 100, 150, 200, 300};
742 Double_t xlowtrPT[] = {0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.6,0.7,0.8,0.9,1.0,1.2,1.4,1.6,1.8,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0,5.5,6.0,6.5,7.0,7.5,8.0,9.0,10.0,12.0,14.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,75.0};
748 Int_t nbinsjetPT =
sizeof(xlowjetPT)/
sizeof(Double_t) - 1;
749 Int_t nbinstrPT =
sizeof(xlowtrPT)/
sizeof(Double_t) - 1;
752 UInt_t bitcodeMESE = 0;
753 UInt_t bitcodePID = 0;
754 UInt_t bitcodeCorr = 0;
755 bitcodeMESE = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6;
760 fhnJH->GetAxis(1)->Set(nbinsjetPT, xlowjetPT);
761 fhnJH->GetAxis(2)->Set(nbinstrPT, xlowtrPT);
767 bitcodeCorr = 1<<0 | 1<<1 | 1<<2 | 1<<3;
782 Int_t nCentralityBinspp = 8;
784 Double_t centralityBinspp[9] = {0.0, 4., 9, 15, 25, 35, 55, 100.0, 500.0};
787 Int_t nCentralityBinsPbPb = 100;
790 nCentralityBinsPbPb = 100;
793 nCentralityBinsPbPb = 50;
796 nCentralityBinsPbPb = 20;
799 nCentralityBinsPbPb = 10;
803 Double_t centralityBinsPbPb[nCentralityBinsPbPb];
804 for(Int_t ic=0; ic<nCentralityBinsPbPb; ic++){
805 centralityBinsPbPb[ic]=mult*ic;
816 if(
fBeam == 0)
fHistMult =
new TH1F(
"fHistMult",
"multiplicity",nCentralityBinspp,centralityBinspp);
817 if(
fBeam == 1)
fHistMult =
new TH1F(
"fHistMult",
"multiplicity",nCentralityBinsPbPb,centralityBinsPbPb);
822 Int_t poolsize = 1000;
823 Int_t nZvtxBins = 5+1+5;
824 Double_t vertexBins[] = {-10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10};
825 Double_t* zvtxbin = vertexBins;
826 if(
fBeam == 0)
fPoolMgr =
new AliEventPoolManager(poolsize, trackDepth, nCentralityBinspp, centralityBinspp, nZvtxBins, zvtxbin);
827 if(
fBeam == 1)
fPoolMgr =
new AliEventPoolManager(poolsize, trackDepth, nCentralityBinsPbPb, centralityBinsPbPb, nZvtxBins, zvtxbin);
831 bitcodeMESE = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6;
847 AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
848 AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
850 AliFatal(
"Input handler needed");
857 AliError(
"PIDResponse object was not created");
863 fHistPID =
new TH1F(
"fHistPID",
"PID Counter", 15, 0.5, 25.5);
868 bitcodePID = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<8 | 1<<9 |
869 1<<10 | 1<<11 | 1<<12 | 1<<13 | 1<<14 | 1<<15 | 1<<16 | 1<<17 | 1<<18;
872 bitcodePID = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<8 | 1<<9 |
879 fhnPID->GetAxis(1)->Set(nbinstrPT, xlowtrPT);
880 fhnPID->GetAxis(8)->Set(nbinsjetPT, xlowjetPT);
887 for (Int_t i=0; i<
fOutput->GetEntries(); ++i) {
888 TH1 *h1 =
dynamic_cast<TH1*
>(
fOutput->At(i));
893 TH2 *h2 =
dynamic_cast<TH2*
>(
fOutput->At(i));
898 TH3 *h3 =
dynamic_cast<TH3*
>(
fOutput->At(i));
903 THnSparse *hn =
dynamic_cast<THnSparse*
>(
fOutput->At(i));
941 UInt_t trig = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
949 AliError(Form(
"Couldn't get fLocalRho object, try to get it from Event based on name\n"));
956 AliError(Form(
"No fTracks object!!\n"));
960 AliError(Form(
"No fJets object!!\n"));
968 if (dynamic_cast<AliAODEvent*>(InputEvent())) useAOD = kTRUE;
969 else useAOD = kFALSE;
973 fESD =
dynamic_cast<AliESDEvent*
>(InputEvent());
975 AliError(Form(
"ERROR: fESD not available\n"));
982 fAOD =
dynamic_cast<AliAODEvent*
>(InputEvent());
984 AliError(Form(
"ERROR: fAOD not available\n"));
1022 if(
fCent>90)
return kTRUE;
1027 if(
GetBeamType() == 0)
if (centbin == -1) centbin = 0;
1028 if(
GetBeamType() == 1)
if (centbin == -1)
return kTRUE;
1033 Double_t fvertex[3]={0,0,0};
1034 InputEvent()->GetPrimaryVertex()->GetXYZ(fvertex);
1035 Double_t zVtx=fvertex[2];
1041 if(fabs(zVtx)>10.0)
return kTRUE;
1046 TList *
list = InputEvent()->GetList();
1048 AliError(Form(
"ERROR: list not attached\n"));
1060 TClonesArray *jets = 0;
1061 TClonesArray *tracks = 0;
1062 TClonesArray *tracksME = 0;
1063 TClonesArray *clusters = 0;
1068 AliError(Form(
"Pointer to tracks: %s == 0", fTracksCont2->GetName()));
1079 fTracksCont2->ResetCurrentID();
1083 (*fTracksFromContainer)[tacc] = track;
1087 if(TMath::Abs(track->Eta())>
fTrkEta)
continue;
1088 if (track->Pt()<0.15)
continue;
1109 tracks =
dynamic_cast<TClonesArray*
>(list->FindObject(
fTracks));
1112 AliError(Form(
"Pointer to tracks: %s == 0", tracks->GetName()));
1120 tracksME =
dynamic_cast<TClonesArray*
>(list->FindObject(
fTracks));
1123 AliError(Form(
"Pointer to ME tracks: %s == 0", tracksME->GetName()));
1132 jets =
dynamic_cast<TClonesArray*
>(list->FindObject(
fJets));
1134 AliError(Form(
"Pointer to jets: %s == 0",
fJets->GetName()));
1137 Njets = jets->GetEntries();
1147 const Int_t Ntracks = tracks->GetEntries();
1163 const Int_t Nclusters = clusters->GetEntries();
1164 for (Int_t iclus = 0; iclus < Nclusters; iclus++){
1165 AliVCluster* cluster =
static_cast<AliVCluster*
>(clusters->At(iclus));
1167 AliError(Form(
"Couldn't get AliVCluster %d\n", iclus));
1172 TLorentzVector nPart;
1173 cluster->GetMomentum(nPart, fvertex);
1179 fVevent =
dynamic_cast<AliVEvent*
>(InputEvent());
1181 AliError(Form(
"ERROR: AliVEvent (fVevent) not available! \n"));
1194 Int_t NtrackAcc = 0;
1197 for (Int_t iTracks = 0; iTracks < Ntracks; iTracks++){
1198 AliVTrack *track =
dynamic_cast<AliVTrack*
>(tracks->At(iTracks));
1200 AliError(Form(
"Couldn't get AliVTrack %d\n", iTracks));
1205 if(TMath::Abs(track->Eta())>
fTrkEta)
continue;
1206 if (track->Pt()<0.15)
continue;
1211 if(track->Pt()>
ptmax){
1217 Double_t efficiency = -999;
1240 Double_t vzero[2][2];
1244 Double_t vzeroComb[2];
1259 AliError(Form(
"Couldn't get fRho named %s\n",
fRhoName.Data()));
1275 Int_t passedTTcut = 0;
1277 Double_t highestjetpt = 0.0;
1278 Double_t leadhadronPT = 0.0;
1279 Double_t maxclusterpt = 0.0;
1280 Double_t maxtrackpt = 0.0;
1283 for (Int_t ijet = 0; ijet < Njets; ijet++){
1309 if(highestjetpt<jet->Pt()){
1311 highestjetpt=jet->
Pt();
1323 for (Int_t ijet = 0; ijet < Njets; ++ijet) {
1331 if (jet->
Pt()<0.1)
continue;
1342 if (ijet==ijethi) leadjet=1;
1347 if (ijet==ijethi) maxtrackpt = jet->
MaxTrackPt();
1351 Double_t jetphi = jet->
Phi();
1352 Double_t jeteta = jet->
Eta();
1353 Double_t jetPt = -500;
1354 Double_t jetPtGlobal = -500;
1355 Double_t jetPtLocal = -500;
1362 Double_t dEP = -500;
1400 AliVTrack* TT =
static_cast<AliVTrack*
>(tracks->At(iTT));
1401 if(TMath::Abs(jet->
Phi()-TT->Phi()-TMath::Pi())<0.6) passedTTcut=1;
1418 Double_t CorrEntries[4] = {
fCent, jetPtLocal, dEP, zVtx};
1421 }
else fhnCorr->Fill(CorrEntries);
1423 Double_t CorrEntries[4] = {
fCent, jet->
Pt(), dEP, zVtx};
1426 }
else fhnCorr->Fill(CorrEntries);
1435 for (Int_t iclus = 0; iclus < Nclusters; iclus++){
1436 AliVCluster* clusterofJet =
static_cast<AliVCluster*
>(clusters->At(iclus));
1438 AliError(Form(
"Couldn't get AliVCluster %d\n", iclus));
1443 TLorentzVector nPart;
1444 clusterofJet->GetMomentum(nPart, fvertex);
1452 for (Int_t iTracks = 0; iTracks < Ntracks; ++iTracks) {
1453 AliVTrack *track =
dynamic_cast<AliVTrack*
>(tracks->At(iTracks));
1455 AliError(Form(
"Couldn't get AliVtrack %d\n", iTracks));
1460 if(TMath::Abs(track->Eta())>
fTrkEta)
continue;
1461 if (track->Pt()<0.15)
continue;
1466 Double_t trCharge = -99;
1467 trCharge = track->Charge();
1468 Double_t tracketa=track->Eta();
1469 Double_t deta=tracketa-jeteta;
1473 Double_t trefficiency = -999;
1480 if(ieta<0)
continue;
1482 if(iptjet<0)
continue;
1500 Double_t triggerEntries[9] = {
fCent, jetPtLocal, track->Pt(), deta, dphijh, dEP, zVtx, trCharge, leadjet};
1504 }
else fhnJH->Fill(triggerEntries, 1.0/trefficiency);
1507 Double_t triggerEntries[9] = {
fCent, jet->
Pt(), track->Pt(), deta, dphijh, dEP, zVtx, trCharge, leadjet};
1511 }
else fhnJH->Fill(triggerEntries, 1.0/trefficiency);
1523 if( dEP>0 && dEP<=(TMath::Pi()/6) ){
1526 }
else if( dEP>(TMath::Pi()/3) && dEP<=(TMath::Pi()/2) ){
1529 }
else if( dEP>(TMath::Pi()/6) && dEP<=(TMath::Pi()/3) ){
1542 if(leadhadronPT <
fTrkBias)
continue;
1546 Double_t pt = -999, dEdx = -999, ITSsig = -999, TOFsig = -999,
charge = -999;
1549 Double_t nSigmaPion_TPC, nSigmaProton_TPC, nSigmaKaon_TPC;
1550 Double_t nSigmaPion_TOF, nSigmaProton_TOF, nSigmaKaon_TOF;
1551 Double_t nSigmaPion_ITS, nSigmaProton_ITS, nSigmaKaon_ITS;
1557 charge = track->Charge();
1565 dEdx = track->GetTPCsignal();
1566 ITSsig = track->GetITSsignal();
1567 TOFsig = track->GetTOFsignal();
1570 nSigmaPion_TPC =
fPIDResponse->NumberOfSigmasTPC(track,AliPID::kPion);
1571 nSigmaKaon_TPC =
fPIDResponse->NumberOfSigmasTPC(track,AliPID::kKaon);
1572 nSigmaProton_TPC =
fPIDResponse->NumberOfSigmasTPC(track,AliPID::kProton);
1575 nSigmaPion_TOF =
fPIDResponse->NumberOfSigmasTOF(track,AliPID::kPion);
1576 nSigmaKaon_TOF =
fPIDResponse->NumberOfSigmasTOF(track,AliPID::kKaon);
1577 nSigmaProton_TOF =
fPIDResponse->NumberOfSigmasTOF(track,AliPID::kProton);
1580 nSigmaPion_ITS =
fPIDResponse->NumberOfSigmasITS(track,AliPID::kPion);
1581 nSigmaKaon_ITS =
fPIDResponse->NumberOfSigmasITS(track,AliPID::kKaon);
1582 nSigmaProton_ITS =
fPIDResponse->NumberOfSigmasITS(track,AliPID::kProton);
1591 Double_t nPID = -99;
1594 if (pt<0.900 && dEdx>0) {
1599 if (TMath::Abs(nSigmaPion_TPC)<2 && TMath::Abs(nSigmaKaon_TPC)>2 && TMath::Abs(nSigmaProton_TPC)>2 ){
1606 if (TMath::Abs(nSigmaKaon_TPC)<2 && TMath::Abs(nSigmaPion_TPC)>3 && TMath::Abs(nSigmaProton_TPC)>2 ){
1613 if (TMath::Abs(nSigmaProton_TPC)<2 && TMath::Abs(nSigmaPion_TPC)>3 && TMath::Abs(nSigmaKaon_TPC)>2 ){
1621 if (pt<0.500 && ITSsig>0) {
1626 if (TMath::Abs(nSigmaPion_ITS)<2 && TMath::Abs(nSigmaKaon_ITS)>2 && TMath::Abs(nSigmaProton_ITS)>2 ){
1633 if (TMath::Abs(nSigmaKaon_ITS)<2 && TMath::Abs(nSigmaPion_ITS)>3 && TMath::Abs(nSigmaProton_ITS)>2 ){
1640 if (TMath::Abs(nSigmaProton_ITS)<2 && TMath::Abs(nSigmaPion_ITS)>3 && TMath::Abs(nSigmaKaon_ITS)>2 ){
1648 if (pt>0.900 && pt<2.500 && TOFsig>0) {
1653 if (TMath::Abs(nSigmaPion_TOF)<2 && TMath::Abs(nSigmaKaon_TOF)>2 && TMath::Abs(nSigmaProton_TOF)>2 ){
1660 if (TMath::Abs(nSigmaKaon_TOF)<2 && TMath::Abs(nSigmaPion_TOF)>3 && TMath::Abs(nSigmaProton_TOF)>2 ){
1667 if (TMath::Abs(nSigmaProton_TOF)<2 && TMath::Abs(nSigmaPion_TOF)>3 && TMath::Abs(nSigmaKaon_TOF)>2 ){
1675 if (nPID == -99) nPID = 14;
1682 if((pt > 0.4) && (pt <=1.2) && (nSigmaPion_TOF >= -5.0) && (nSigmaPion_TOF <= 5.0)) nPID = 21;
1683 if((pt > 1.2) && (pt <=1.6) && (nSigmaPion_TOF >= -4.0) && (nSigmaPion_TOF <= 4.0)) nPID = 21;
1684 if((pt > 1.6) && (pt <=2.0) && (nSigmaPion_TOF >= -4.0) && (nSigmaPion_TOF <= 2.0)) nPID = 21;
1685 if((pt > 2.0) && (pt <=3.6) && (nSigmaPion_TOF >= -4.0) && (nSigmaPion_TOF <= 0.0)) nPID = 21;
1687 if((pt > 0.4) && (pt <=0.9) && (nSigmaProton_TOF >= -3.0) && (nSigmaPion_TOF <= 3.0)) nPID = 22;
1688 if((pt > 0.9) && (pt <=1.4) && (nSigmaProton_TOF >= -4.0) && (nSigmaPion_TOF <= 4.0)) nPID = 22;
1689 if((pt > 1.4) && (pt <=2.2) && (nSigmaProton_TOF >= -5.0) && (nSigmaPion_TOF <= 5.0)) nPID = 22;
1690 if((pt > 2.2) && (pt <=2.4) && (nSigmaProton_TOF >= -4.0) && (nSigmaPion_TOF <= 5.0)) nPID = 22;
1691 if((pt > 2.4) && (pt <=3.0) && (nSigmaProton_TOF >= -2.0) && (nSigmaPion_TOF <= 5.0)) nPID = 22;
1692 if((pt > 3.0) && (pt <=3.6) && (nSigmaProton_TOF >= 0.0) && (nSigmaPion_TOF <= 5.0)) nPID = 22;
1694 if((pt > 0.4) && (pt <=0.8) && (nSigmaKaon_TOF >= -5.0) && (nSigmaPion_TOF <= 5.0)) nPID = 23;
1695 if((pt > 0.8) && (pt <=1.2) && (nSigmaKaon_TOF >= -4.0) && (nSigmaPion_TOF <= 4.0)) nPID = 23;
1696 if((pt > 1.2) && (pt <=1.7) && (nSigmaKaon_TOF >= -3.0) && (nSigmaPion_TOF <= 4.0)) nPID = 23;
1697 if((pt > 1.7) && (pt <=2.3) && (nSigmaKaon_TOF >= 0.0) && (nSigmaPion_TOF <= 5.0)) nPID = 23;
1698 if((pt > 2.3) && (pt <=2.6) && (nSigmaKaon_TOF >= 0.0) && (nSigmaPion_TOF <= 3.0)) nPID = 23;
1699 if((pt > 2.6) && (pt <=3.6) && (nSigmaKaon_TOF >= 0.0) && (nSigmaPion_TOF <= 2.0)) nPID = 23;
1705 Double_t pid_EntriesALL[19] = {
fCent,pt,
charge,deta,dphijh,leadjet,zVtx,dEP,jetPtLocal,
1706 nSigmaPion_TPC, nSigmaPion_TOF,
1708 nSigmaProton_TPC, nSigmaKaon_TPC,
1709 nSigmaPion_ITS, nSigmaProton_ITS, nSigmaKaon_ITS,
1710 nSigmaProton_TOF, nSigmaKaon_TOF,
1714 }
else fhnPID->Fill(pid_EntriesALL, 1.0/trefficiency);
1717 Double_t pid_Entries[12] = {
fCent,pt,
charge,deta,dphijh,leadjet,zVtx,dEP,jetPtLocal,
1718 nSigmaPion_TPC, nSigmaPion_TOF,
1723 }
else fhnPID->Fill(pid_Entries, 1.0/trefficiency);
1727 Double_t pid_EntriesALL[19] = {
fCent,pt,
charge,deta,dphijh,leadjet,zVtx,dEP,jetPt,
1728 nSigmaPion_TPC, nSigmaPion_TOF,
1730 nSigmaProton_TPC, nSigmaKaon_TPC,
1731 nSigmaPion_ITS, nSigmaProton_ITS, nSigmaKaon_ITS,
1732 nSigmaProton_TOF, nSigmaKaon_TOF,
1736 }
else fhnPID->Fill(pid_EntriesALL, 1.0/trefficiency);
1739 Double_t pid_Entries[12] = {
fCent,pt,
charge,deta,dphijh,leadjet,zVtx,dEP,jetPt,
1740 nSigmaPion_TPC, nSigmaPion_TOF,
1745 }
else fhnPID->Fill(pid_Entries, 1.0/trefficiency);
1751 Int_t itrackpt = -500;
1758 if( dEP>0 && dEP<=(TMath::Pi()/6) ){
1763 }
else if( dEP>(TMath::Pi()/3) && dEP<=(TMath::Pi()/2) ){
1768 }
else if( dEP>(TMath::Pi()/6) && dEP<=(TMath::Pi()/3) ){
1785 TObjArray* tracksClone = 0x0;
1812 UInt_t trigger = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
1814 if (trigger==0)
return kTRUE;
1817 AliEventPool* pool = 0x0;
1818 AliEventPool* poolpp = 0x0;
1819 Double_t Ntrks = -999;
1823 Ntrks=(Double_t)Ntracks*1.0;
1825 poolpp =
fPoolMgr->GetEventPool(Ntrks, zVtx);
1832 if (!pool && !poolpp){
1833 if(
GetBeamType() == 1) AliFatal(Form(
"No pool found for centrality = %f, zVtx = %f",
fCent, zVtx));
1834 if(
GetBeamType() == 0) AliFatal(Form(
"No pool found for multiplicity = %f, zVtx = %f", Ntrks, zVtx));
1841 TObjArray* bgTracks;
1848 if (pool->IsReady() || pool->NTracksInPool() >
fNMIXtracks || pool->GetCurrentNEvents() >=
fNMIXevents) {
1851 for (Int_t ijet = 0; ijet < Njets; ijet++) {
1853 if (ijet==ijethi) leadjet=1;
1860 if (jet->
Pt()<0.1)
continue;
1863 Double_t jetPtLocalmix = -500;
1875 Int_t nMix = pool->GetCurrentNEvents();
1880 for (Int_t jMix=0; jMix<nMix; jMix++) {
1884 bgTracks = pool->GetEvent(jMix);
1885 const Int_t Nbgtrks = bgTracks->GetEntries();
1886 for(Int_t ibg=0; ibg<Nbgtrks; ibg++) {
1889 if(TMath::Abs(part->
Eta())>0.9)
continue;
1890 if(part->
Pt()<0.15)
continue;
1892 Double_t DEta = part->
Eta()-jet->
Eta();
1895 Double_t mixcharge = part->
Charge();
1899 Double_t mixefficiency = -999;
1904 Double_t triggerEntries[9] = {
fCent,jetPtLocalmix,part->
Pt(),DEta,DPhi,dEP,zVtx, mixcharge, leadjet};
1907 }
else fhnMixedEvents->Fill(triggerEntries,1./(nMix*mixefficiency));
1909 Double_t triggerEntries[9] = {
fCent,jet->
Pt(),part->
Pt(),DEta,DPhi,dEP,zVtx, mixcharge, leadjet};
1912 }
else fhnMixedEvents->Fill(triggerEntries,1./(nMix*mixefficiency));
1930 if (poolpp->IsReady() || poolpp->NTracksInPool() >
fNMIXtracks || poolpp->GetCurrentNEvents() >=
fNMIXevents) {
1933 for (Int_t ijet = 0; ijet < Njets; ijet++) {
1935 if (ijet==ijethi) leadjet=1;
1942 if (jet->
Pt()<0.1)
continue;
1951 Int_t nMix = poolpp->GetCurrentNEvents();
1956 for (Int_t jMix=0; jMix<nMix; jMix++) {
1960 bgTracks = poolpp->GetEvent(jMix);
1961 const Int_t Nbgtrks = bgTracks->GetEntries();
1962 for(Int_t ibg=0; ibg<Nbgtrks; ibg++) {
1965 if(TMath::Abs(part->
Eta())>0.9)
continue;
1966 if(part->
Pt()<0.15)
continue;
1968 Double_t DEta = part->
Eta()-jet->
Eta();
1971 Double_t mixcharge = part->
Charge();
1975 Double_t triggerEntries[9] = {
fCent,jet->
Pt(),part->
Pt(),DEta,DPhi,dEP,zVtx, mixcharge, leadjet};
1997 poolpp->UpdatePool(tracksClone);
2012 pool->UpdatePool(tracksClone);
2027 cout<<
"# of jets: "<<Njets<<
" NjetAcc: "<<NjetAcc<<
" Highest jet pt: "<<highestjetpt<<
" leading hadron pt: "<<leadhadronPT<<endl;
2028 cout<<
"# tracks: "<<Ntracks<<
" NtrackAcc: "<<NtrackAcc<<
" Highest track pt: "<<ptmax<<endl;
2029 cout<<
"maxcluster pt = "<<maxclusterpt<<
" maxtrack pt = "<<maxtrackpt<<endl;
2030 cout<<
" =============================================== "<<endl;
2040 if (cent>=0 && cent<10) centbin = 0;
2041 else if (cent>=10 && cent<20) centbin = 1;
2042 else if (cent>=20 && cent<30) centbin = 2;
2043 else if (cent>=30 && cent<40) centbin = 3;
2044 else if (cent>=40 && cent<50) centbin = 4;
2045 else if (cent>=50 && cent<90) centbin = 5;
2053 double dphi = mphi-vphi;
2056 if(dphi<-0.5*TMath::Pi()) dphi+=2.*TMath::Pi();
2057 if(dphi>3./2.*TMath::Pi()) dphi-=2.*TMath::Pi();
2060 if( dphi < -1.*TMath::Pi()/2 || dphi > 3.*TMath::Pi()/2 )
2061 AliWarning(Form(
"%s: dPHI not in range [-0.5*Pi, 1.5*Pi]!", GetName()));
2069 Double_t dphi = (EPAng - jetAng);
2072 if( dphi<-1*TMath::Pi() ){
2073 dphi = dphi + 1*TMath::Pi();
2076 if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
2078 }
else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
2079 dphi = 1*TMath::Pi() - dphi;
2080 }
else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
2082 }
else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
2083 dphi = dphi + 1*TMath::Pi();
2087 if( dphi < 0 || dphi > TMath::Pi()/2 )
2088 AliWarning(Form(
"%s: dPHI not in range [0, 0.5*Pi]!", GetName()));
2099 if (TMath::Abs(eta)<=0.4) etabin = 0;
2100 else if (TMath::Abs(eta)>0.4 && TMath::Abs(eta)<0.8) etabin = 1;
2101 else if (TMath::Abs(eta)>=0.8) etabin = 2;
2111 if (pt>=15 && pt<20) ptbin = 0;
2112 else if (pt>=20 && pt<25) ptbin = 1;
2113 else if (pt>=25 && pt<40) ptbin = 2;
2114 else if (pt>=40 && pt<60) ptbin = 3;
2115 else if (pt>=60) ptbin = 4;
2127 if (pt < 0.5) ptbin = 0;
2128 else if (pt>=0.5 && pt<1.0) ptbin = 1;
2129 else if (pt>=1.0 && pt<1.5) ptbin = 2;
2130 else if (pt>=1.5 && pt<2.0) ptbin = 3;
2131 else if (pt>=2.0 && pt<2.5) ptbin = 4;
2132 else if (pt>=2.5 && pt<3.0) ptbin = 5;
2133 else if (pt>=3.0 && pt<4.0) ptbin = 6;
2134 else if (pt>=4.0 && pt<5.0) ptbin = 7;
2135 else if (pt>=5.0) ptbin = 8;
2145 if (zVtx>=-10 && zVtx<-8) zVbin = 0;
2146 else if (zVtx>=-8 && zVtx<-6) zVbin = 1;
2147 else if (zVtx>=-6 && zVtx<-4) zVbin = 2;
2148 else if (zVtx>=-4 && zVtx<-2) zVbin = 3;
2149 else if (zVtx>=-2 && zVtx<0) zVbin = 4;
2150 else if (zVtx>=0 && zVtx<2) zVbin = 5;
2151 else if (zVtx>=2 && zVtx<4) zVbin = 6;
2152 else if (zVtx>=4 && zVtx<6) zVbin = 7;
2153 else if (zVtx>=6 && zVtx<8) zVbin = 8;
2154 else if (zVtx>=8 && zVtx<10) zVbin = 9;
2165 UInt_t tmp = entries;
2171 TString hnTitle(name);
2172 const Int_t dim = count;
2179 while(c<dim && i<32){
2183 hnTitle += Form(
";%s",label.Data());
2191 return new THnSparseF(name, hnTitle.Data(), dim,
nbins, xmin, xmax);
2197 const Double_t
pi = TMath::Pi();
2202 label =
"V0 centrality (%)";
2210 label =
"Jet Corrected p_{T}";
2215 label =
"Jet p_{T}";
2229 label =
"Track p_{T}";
2242 label =
"Relative Eta";
2249 label =
"Relative Phi";
2256 label =
"Relative angle of Jet and Reaction Plane";
2270 label =
"track charge";
2277 label =
"leading jet";
2285 label =
"leading track";
2300 TObjArray* tracksClone =
new TObjArray;
2301 tracksClone->SetOwner(kTRUE);
2308 for (Int_t i=0; i<tracksME->GetEntriesFast(); i++) {
2309 AliVParticle* particle = (AliVParticle*) tracksME->At(i);
2310 if(TMath::Abs(particle->Eta())>
fTrkEta)
continue;
2311 if(particle->Pt()<0.15)
continue;
2338 tracksClone->Add(
new AliPicoTrack(particle->Pt(), particle->Eta(), particle->Phi(), particle->Charge(), 0, 0, 0, 0));
2349 UInt_t tmp = entries;
2355 TString hnTitle(name);
2356 const Int_t dim = count;
2363 while(c<dim && i<32){
2367 hnTitle += Form(
";%s",label.Data());
2375 return new THnSparseF(name, hnTitle.Data(), dim,
nbins, xmin, xmax);
2382 const Double_t
pi = TMath::Pi();
2387 label =
"V0 centrality (%)";
2394 label =
"Track p_{T}";
2407 label =
"Charge of Track";
2414 label =
"Relative Eta of Track and Jet";
2421 label =
"Relative Phi of Track and Jet";
2428 label =
"leading jet";
2443 label =
"Relative angle: Jet and Reaction Plane";
2451 label =
"Jet Corrected p_{T}";
2456 label =
"Jet p_{T}";
2470 label =
"N-Sigma of pions in TPC";
2478 label =
"N-Sigma of pions in TOF";
2491 label =
"PID determination TPC 1-15, TOF 21-25";
2514 label =
"N-Sigma of protons in TPC";
2522 label =
"N-Sigma of kaons in TPC";
2530 label =
"N-Sigma of pions in ITS";
2538 label =
"N-Sigma of protons in ITS";
2546 label =
"N-Sigma of kaons in ITS";
2554 label =
"N-Sigma of protons in TOF";
2567 label =
"N-Sigma of kaons in TOF";
2583 cout<<
"#########################"<<endl;
2584 cout<<
"#### DONE RUNNING!!! ####"<<endl;
2585 cout<<
"#########################"<<endl;
2595 if (jet->
Area()==0)
return 0;
2607 h->GetXaxis()->SetBinLabel(1,
"TPC: Unidentified");
2608 h->GetXaxis()->SetBinLabel(2,
"TPC: Pion");
2609 h->GetXaxis()->SetBinLabel(3,
"TPC: Kaon");
2610 h->GetXaxis()->SetBinLabel(4,
"TPC: Proton");
2611 h->GetXaxis()->SetBinLabel(5,
"ITS: Unidentified");
2612 h->GetXaxis()->SetBinLabel(6,
"ITS: Pion");
2613 h->GetXaxis()->SetBinLabel(7,
"ITS: Kaon");
2614 h->GetXaxis()->SetBinLabel(8,
"ITS: Proton");
2615 h->GetXaxis()->SetBinLabel(9,
"TOF: Unidentified");
2616 h->GetXaxis()->SetBinLabel(10,
"TOF: Pion");
2617 h->GetXaxis()->SetBinLabel(11,
"TOF: Kaon");
2618 h->GetXaxis()->SetBinLabel(12,
"TOF: Proton");
2619 h->GetXaxis()->SetBinLabel(14,
"Unidentified tracks");
2622 h->LabelsOption(
"v");
2629 h->GetXaxis()->SetBinLabel(1,
"All events started");
2630 h->GetXaxis()->SetBinLabel(2,
"object check");
2631 h->GetXaxis()->SetBinLabel(3,
"aod/esd check");
2632 h->GetXaxis()->SetBinLabel(4,
"centrality check");
2633 h->GetXaxis()->SetBinLabel(5,
"zvertex check");
2634 h->GetXaxis()->SetBinLabel(6,
"list check");
2635 h->GetXaxis()->SetBinLabel(7,
"track/jet pointer check");
2636 h->GetXaxis()->SetBinLabel(8,
"tracks & jets < than 1 check");
2637 h->GetXaxis()->SetBinLabel(9,
"after track/jet loop to get highest pt");
2638 h->GetXaxis()->SetBinLabel(10,
"accepted jets");
2639 h->GetXaxis()->SetBinLabel(11,
"jets meeting pt threshold");
2640 h->GetXaxis()->SetBinLabel(12,
"accepted tracks in events w/ trigger jet");
2641 h->GetXaxis()->SetBinLabel(13,
"after AliVEvent & fPIDResponse");
2642 h->GetXaxis()->SetBinLabel(14,
"events before event mixing");
2643 h->GetXaxis()->SetBinLabel(15,
"mixed events w/ pool");
2644 h->GetXaxis()->SetBinLabel(16,
"event mixing: jets");
2645 h->GetXaxis()->SetBinLabel(17,
"event mixing: nMix");
2646 h->GetXaxis()->SetBinLabel(18,
"event mixing: nbackground tracks");
2647 h->GetXaxis()->SetBinLabel(19,
"event mixing: THE END");
2650 h->LabelsOption(
"v");
2656 h->GetXaxis()->SetBinLabel(1,
"no trigger");
2657 h->GetXaxis()->SetBinLabel(2,
"kAny");
2658 h->GetXaxis()->SetBinLabel(3,
"kAnyINT");
2659 h->GetXaxis()->SetBinLabel(4,
"kMB");
2660 h->GetXaxis()->SetBinLabel(5,
"kINT7");
2661 h->GetXaxis()->SetBinLabel(6,
"kEMC1");
2662 h->GetXaxis()->SetBinLabel(7,
"kEMC7");
2663 h->GetXaxis()->SetBinLabel(8,
"kEMC8");
2664 h->GetXaxis()->SetBinLabel(9,
"kEMCEJE");
2665 h->GetXaxis()->SetBinLabel(10,
"kEMCEGA");
2666 h->GetXaxis()->SetBinLabel(11,
"kCentral");
2667 h->GetXaxis()->SetBinLabel(12,
"kSemiCentral");
2668 h->GetXaxis()->SetBinLabel(13,
"kINT8");
2669 h->GetXaxis()->SetBinLabel(14,
"kEMCEJE or kMB");
2670 h->GetXaxis()->SetBinLabel(15,
"kEMCEGA or kMB");
2671 h->GetXaxis()->SetBinLabel(16,
"kAnyINT or kMB");
2672 h->GetXaxis()->SetBinLabel(17,
"kEMCEJE & (kMB or kCentral or kSemiCentral)");
2673 h->GetXaxis()->SetBinLabel(18,
"kEMCEGA & (kMB or kCentral or kSemiCentral)");
2674 h->GetXaxis()->SetBinLabel(19,
"kAnyINT & (kMB or kCentral or kSemiCentral)");
2677 h->LabelsOption(
"v");
2685 UInt_t tmp = entries;
2691 TString hnTitle(name);
2692 const Int_t dim = count;
2699 while(c<dim && i<32){
2703 hnTitle += Form(
";%s",label.Data());
2711 return new THnSparseF(name, hnTitle.Data(), dim,
nbins, xmin, xmax);
2718 const Double_t
pi = TMath::Pi();
2723 label =
"V0 centrality (%)";
2731 label =
"Jet Corrected p_{T}";
2736 label =
"Jet p_{T}";
2750 label =
"Relative angle: Jet and Reaction Plane";
2764 label =
"Jet p_{T} corrected with Local Rho";
2778 label =
"Jet p_{T} corrected with Global Rho";
2800 AliError(Form(
"%s:Jet not found",GetName()));
2804 Int_t flavNUM = -99;
2826 if(flav < 1)
return 0;
2830 if(flav != flavNUM)
return 0;
2834 if(flav == flavNUM)
return 1;
2851 Double_t x = trackPT;
2852 Double_t y = trackETA;
2854 Double_t TRefficiency = -999;
2855 Int_t runNUM = fCurrentRunNumber;
2856 Int_t runSwitchGood = -999;
2857 Int_t centbin = -99;
2859 Double_t etaaxis = 0;
2860 Double_t ptaxis = 0;
2868 if ((runNUM == 169975 || runNUM == 169981 || runNUM == 170038 || runNUM == 170040 || runNUM == 170083 || runNUM == 170084 || runNUM == 170085 || runNUM == 170088 || runNUM == 170089 || runNUM == 170091 || runNUM == 170152 || runNUM == 170155 || runNUM == 170159 || runNUM == 170163 || runNUM == 170193 || runNUM == 170195 || runNUM == 170203 || runNUM == 170204 || runNUM == 170228 || runNUM == 170230 || runNUM == 170268 || runNUM == 170269 || runNUM == 170270 || runNUM == 170306 || runNUM == 170308 || runNUM == 170309)) runSwitchGood = 0;
2871 if ((runNUM == 167902 || runNUM == 167903 || runNUM == 167915 || runNUM == 167920 || runNUM == 167987 || runNUM == 167988 || runNUM == 168066 || runNUM == 168068 || runNUM == 168069 || runNUM == 168076 || runNUM == 168104 || runNUM == 168107 || runNUM == 168108 || runNUM == 168115 || runNUM == 168212 || runNUM == 168310 || runNUM == 168311 || runNUM == 168322 || runNUM == 168325 || runNUM == 168341 || runNUM == 168342 || runNUM == 168361 || runNUM == 168362 || runNUM == 168458 || runNUM == 168460 || runNUM == 168461 || runNUM == 168464 || runNUM == 168467 || runNUM == 168511 || runNUM == 168512 || runNUM == 168777 || runNUM == 168826 || runNUM == 168984 || runNUM == 168988 || runNUM == 168992 || runNUM == 169035 || runNUM == 169091 || runNUM == 169094 || runNUM == 169138 || runNUM == 169143 || runNUM == 169144 || runNUM == 169145 || runNUM == 169148 || runNUM == 169156 || runNUM == 169160 || runNUM == 169167 || runNUM == 169238 || runNUM == 169411 || runNUM == 169415 || runNUM == 169417 || runNUM == 169835 || runNUM == 169837 || runNUM == 169838 || runNUM == 169846 || runNUM == 169855 || runNUM == 169858 || runNUM == 169859 || runNUM == 169923 || runNUM == 169956 || runNUM == 170027 || runNUM == 170036 || runNUM == 170081)) runSwitchGood = 1;
2878 if(runSwitchGood == 0 && centbin == 0) effSwitch = 2;
2879 if(runSwitchGood == 0 && centbin == 1) effSwitch = 3;
2880 if(runSwitchGood == 0 && centbin == 2) effSwitch = 4;
2881 if(runSwitchGood == 0 && centbin == 3) effSwitch = 5;
2882 if(runSwitchGood == 1 && centbin == 0) effSwitch = 6;
2883 if(runSwitchGood == 1 && centbin == 1) effSwitch = 7;
2884 if(runSwitchGood == 1 && centbin == 2) effSwitch = 8;
2885 if(runSwitchGood == 1 && centbin == 3) effSwitch = 9;
2889 Double_t p0_10SG[17] = {0.906767, 0.0754127, 1.11638, -0.0233078, 0.795454, 0.00935385, -0.000327857, 1.08903, 0.0107272, 0.443252, -0.143411, 0.965822, 0.359156, -0.581221, 1.0739, 0.00632828, 0.706356};
2891 Double_t p10_30SG[17] = {0.908011, 0.0769254, 1.11912, -0.0249449, 0.741488, 0.0361252, -0.00367954, 1.10424, 0.011472, 0.452059, -0.133282, 0.980633, 0.358222, -0.620256, 1.06871, 0.00564449, 0.753168};
2893 Double_t p30_50SG[17] = {0.958708, 0.0799197, 1.10817, -0.0357678, 0.75051, 0.0607808, -0.00929713, 0.998801, 0.00692244, 0.615452, -0.0480328, 0.968431, 0.321634, -0.619066, 1.03412, 0.00656201, 0.798666};
2895 Double_t p50_90SG[17] = {0.944565, 0.0807258, 1.12709, -0.0324746, 0.666452, 0.0842476, -0.00963837, 1.02829, 0.00666852, 0.549625, -0.0603107, 0.981374, 0.309374, -0.619181, 1.05367, 0.005925, 0.744887};
2898 Double_t p0_10G[17] = {0.971679, 0.0767571, 1.13355, -0.0274484, 0.856652, 0.00536795, 3.90795e-05, 1.06889, 0.011007, 0.447046, -0.146626, 0.919777, 0.192601, -0.268515, 1.00243, 0.00620849, 0.709477};
2900 Double_t p10_30G[17] = {0.97929, 0.0776039, 1.12213, -0.0300645, 0.844722, 0.0134788, -0.0012333, 1.07955, 0.0116835, 0.456608, -0.132743, 0.930964, 0.174175, -0.267154, 0.993118, 0.00574892, 0.765256};
2902 Double_t p30_50G[17] = {0.997696, 0.0816769, 1.14341, -0.0353734, 0.752151, 0.0744259, -0.0102926, 1.01561, 0.00713274, 0.57203, -0.0640248, 0.947747, 0.102007, -0.194698, 0.999164, 0.00568476, 0.7237};
2904 Double_t p50_90G[17] = {0.97041, 0.0813559, 1.12151, -0.0368797, 0.709327, 0.0701501, -0.00784043, 1.06276, 0.00676173, 0.53607, -0.0703117, 0.982534, 0.0947881, -0.18073, 1.03229, 0.00580109, 0.737801};
2915 ptaxis = (x<2.9)*(p0_10SG[0]*exp(-pow(p0_10SG[1]/x,p0_10SG[2])) + p0_10SG[3]*x) + (x>=2.9)*(p0_10SG[4] + p0_10SG[5]*x + p0_10SG[6]*x*x);
2916 etaaxis = (y<-0.07)*(p0_10SG[7]*exp(-pow(p0_10SG[8]/TMath::Abs(y+0.91),p0_10SG[9])) + p0_10SG[10]*y) + (y>=-0.07 && y<=0.4)*(p0_10SG[11] + p0_10SG[12]*y + p0_10SG[13]*y*y) + (y>0.4)*(p0_10SG[14]*exp(-pow(p0_10SG[15]/TMath::Abs(-y+0.91),p0_10SG[16])));
2917 TRefficiency = ptaxis*etaaxis;
2922 ptaxis = (x<2.9)*(p10_30SG[0]*exp(-pow(p10_30SG[1]/x,p10_30SG[2])) + p10_30SG[3]*x) + (x>=2.9)*(p10_30SG[4] + p10_30SG[5]*x + p10_30SG[6]*x*x);
2923 etaaxis = (y<-0.07)*(p10_30SG[7]*exp(-pow(p10_30SG[8]/TMath::Abs(y+0.91),p10_30SG[9])) + p10_30SG[10]*y) + (y>=-0.07 && y<=0.4)*(p10_30SG[11] + p10_30SG[12]*y + p10_30SG[13]*y*y) + (y>0.4)*(p10_30SG[14]*exp(-pow(p10_30SG[15]/TMath::Abs(-y+0.91),p10_30SG[16])));
2924 TRefficiency = ptaxis*etaaxis;
2929 ptaxis = (x<2.9)*(p30_50SG[0]*exp(-pow(p30_50SG[1]/x,p30_50SG[2])) + p30_50SG[3]*x) + (x>=2.9)*(p30_50SG[4] + p30_50SG[5]*x + p30_50SG[6]*x*x);
2930 etaaxis = (y<-0.07)*(p30_50SG[7]*exp(-pow(p30_50SG[8]/TMath::Abs(y+0.91),p30_50SG[9])) + p30_50SG[10]*y) + (y>=-0.07 && y<=0.4)*(p30_50SG[11] + p30_50SG[12]*y + p30_50SG[13]*y*y) + (y>0.4)*(p30_50SG[14]*exp(-pow(p30_50SG[15]/TMath::Abs(-y+0.91),p30_50SG[16])));
2931 TRefficiency = ptaxis*etaaxis;
2936 ptaxis = (x<2.9)*(p50_90SG[0]*exp(-pow(p50_90SG[1]/x,p50_90SG[2])) + p50_90SG[3]*x) + (x>=2.9)*(p50_90SG[4] + p50_90SG[5]*x + p50_90SG[6]*x*x);
2937 etaaxis = (y<-0.07)*(p50_90SG[7]*exp(-pow(p50_90SG[8]/TMath::Abs(y+0.91),p50_90SG[9])) + p50_90SG[10]*y) + (y>=-0.07 && y<=0.4)*(p50_90SG[11] + p50_90SG[12]*y + p50_90SG[13]*y*y) + (y>0.4)*(p50_90SG[14]*exp(-pow(p50_90SG[15]/TMath::Abs(-y+0.91),p50_90SG[16])));
2938 TRefficiency = ptaxis*etaaxis;
2943 ptaxis = (x<2.9)*(p0_10G[0]*exp(-pow(p0_10G[1]/x,p0_10G[2])) + p0_10G[3]*x) + (x>=2.9)*(p0_10G[4] + p0_10G[5]*x + p0_10G[6]*x*x);
2944 etaaxis = (y<0.0)*(p0_10G[7]*exp(-pow(p0_10G[8]/TMath::Abs(y+0.91),p0_10G[9])) + p0_10G[10]*y) + (y>=0.0 && y<=0.4)*(p0_10G[11] + p0_10G[12]*y + p0_10G[13]*y*y) + (y>0.4)*(p0_10G[14]*exp(-pow(p0_10G[15]/TMath::Abs(-y+0.91),p0_10G[16])));
2945 TRefficiency = ptaxis*etaaxis;
2950 ptaxis = (x<2.9)*(p10_30G[0]*exp(-pow(p10_30G[1]/x,p10_30G[2])) + p10_30G[3]*x) + (x>=2.9)*(p10_30G[4] + p10_30G[5]*x + p10_30G[6]*x*x);
2951 etaaxis = (y<0.0)*(p10_30G[7]*exp(-pow(p10_30G[8]/TMath::Abs(y+0.91),p10_30G[9])) + p10_30G[10]*y) + (y>=0.0 && y<=0.4)*(p10_30G[11] + p10_30G[12]*y + p10_30G[13]*y*y) + (y>0.4)*(p10_30G[14]*exp(-pow(p10_30G[15]/TMath::Abs(-y+0.91),p10_30G[16])));
2952 TRefficiency = ptaxis*etaaxis;
2957 ptaxis = (x<2.9)*(p30_50G[0]*exp(-pow(p30_50G[1]/x,p30_50G[2])) + p30_50G[3]*x) + (x>=2.9)*(p30_50G[4] + p30_50G[5]*x + p30_50G[6]*x*x);
2958 etaaxis = (y<0.0)*(p30_50G[7]*exp(-pow(p30_50G[8]/TMath::Abs(y+0.91),p30_50G[9])) + p30_50G[10]*y) + (y>=0.0 && y<=0.4)*(p30_50G[11] + p30_50G[12]*y + p30_50G[13]*y*y) + (y>0.4)*(p30_50G[14]*exp(-pow(p30_50G[15]/TMath::Abs(-y+0.91),p30_50G[16])));
2959 TRefficiency = ptaxis*etaaxis;
2964 ptaxis = (x<2.9)*(p50_90G[0]*exp(-pow(p50_90G[1]/x,p50_90G[2])) + p50_90G[3]*x) + (x>=2.9)*(p50_90G[4] + p50_90G[5]*x + p50_90G[6]*x*x);
2965 etaaxis = (y<0.0)*(p50_90G[7]*exp(-pow(p50_90G[8]/TMath::Abs(y+0.91),p50_90G[9])) + p50_90G[10]*y) + (y>=0.0 && y<=0.4)*(p50_90G[11] + p50_90G[12]*y + p50_90G[13]*y*y) + (y>0.4)*(p50_90G[14]*exp(-pow(p50_90G[15]/TMath::Abs(-y+0.91),p50_90G[16])));
2966 TRefficiency = ptaxis*etaaxis;
2977 return TRefficiency;
2984 Double_t a(0), b(0), c(0), d(0), e(0), f(0), g(0), h(0);
2985 vzero[0][0] = InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 8, 2, a, b);
2986 vzero[1][0] = InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 9, 2, c, d);
2987 vzero[0][1] = InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 8, 3, e, f);
2988 vzero[1][1] = InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 9, 3, g, h);
2994 Double_t Q2[] = {-999., -999.};
2995 Double_t Q3[] = {-999., -999.};
3003 Double_t qx2a(0), qy2a(0), qx2c(0), qy2c(0), qx3a(0), qy3a(0), qx3c(0), qy3c(0);
3005 InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 8, 2, qx2a, qy2a);
3006 InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 9, 2, qx2c, qy2c);
3007 InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 8, 3, qx3a, qy3a);
3008 InputEvent()->GetEventplane()->CalculateVZEROEventPlane(InputEvent(), 9, 3, qx3c, qy3c);
3013 Double_t chi2A(
fChi2A->At(VZEROcentralityBin));
3014 Double_t chi2C(
fChi2C->At(VZEROcentralityBin));
3015 Double_t chi3A(
fChi3A->At(VZEROcentralityBin));
3016 Double_t chi3C(
fChi3C->At(VZEROcentralityBin));
3019 Q2[0] = chi2A*chi2A*qx2a+chi2C*chi2C*qx2c;
3020 Q2[1] = chi2A*chi2A*qy2a+chi2C*chi2C*qy2c;
3021 Q3[0] = chi3A*chi3A*qx3a+chi3C*chi3C*qx3c;
3022 Q3[1] = chi3A*chi3A*qy3a+chi3C*chi3C*qy3c;
3024 comb[0] = .5*TMath::ATan2(Q2[1], Q2[0]);
3025 comb[1] = (1./3.)*TMath::ATan2(Q3[1], Q3[0]);
3034 Double_t qx2(0), qy2(0);
3035 Double_t qx3(0), qy3(0);
3040 Float_t excludeInEta = -999;
3052 if(TMath::Abs(track->Eta())>0.9)
continue;
3053 if(track->Pt()<0.15)
continue;
3059 qx2+= TMath::Cos(2.*track->Phi());
3060 qy2+= TMath::Sin(2.*track->Phi());
3061 qx3+= TMath::Cos(3.*track->Phi());
3062 qy3+= TMath::Sin(3.*track->Phi());
3065 tpc[0] = .5*TMath::ATan2(qy2, qx2);
3066 tpc[1] = (1./3.)*TMath::ATan2(qy3, qx3);
3106 Double_t qx2a(0), qy2a(0);
3107 Double_t qx3a(0), qy3a(0);
3108 Double_t qx2b(0), qy2b(0);
3109 Double_t qx3b(0), qy3b(0);
3111 Double_t qx4a(0), qy4a(0);
3112 Double_t qx5a(0), qy5a(0);
3113 Double_t qx4b(0), qy4b(0);
3114 Double_t qx5b(0), qy5b(0);
3121 for(Int_t iTPC(0); iTPC < iTracks; iTPC++) {
3126 if(TMath::Abs(track->Eta())>0.9)
continue;
3127 if(track->Pt()<0.15)
continue;
3129 if(track->Eta() < 0 ) {
3131 qx2a+= TMath::Cos(2.*track->Phi());
3132 qy2a+= TMath::Sin(2.*track->Phi());
3133 qx3a+= TMath::Cos(3.*track->Phi());
3134 qy3a+= TMath::Sin(3.*track->Phi());
3135 qx4a+= TMath::Cos(4.*track->Phi());
3136 qy4a+= TMath::Sin(4.*track->Phi());
3137 qx5a+= TMath::Cos(5.*track->Phi());
3138 qy5a+= TMath::Sin(5.*track->Phi());
3139 }
else if (track->Eta() > 0) {
3141 qx2b+= TMath::Cos(2.*track->Phi());
3142 qy2b+= TMath::Sin(2.*track->Phi());
3143 qx3b+= TMath::Cos(3.*track->Phi());
3144 qy3b+= TMath::Sin(3.*track->Phi());
3145 qx4b+= TMath::Cos(4.*track->Phi());
3146 qy4b+= TMath::Sin(4.*track->Phi());
3147 qx5b+= TMath::Cos(5.*track->Phi());
3148 qy5b+= TMath::Sin(5.*track->Phi());
3154 Double_t tpca2(.5*TMath::ATan2(qy2a, qx2a));
3155 Double_t tpcb2(.5*TMath::ATan2(qy2b, qx2b));
3201 Double_t chiA2[] = {0.582214, 0.674622, 0.832214, 0.873962, 0.832214, 0.771423, 0.637146, 0.424255, 0.257385};
3202 Double_t chiC2[] = {0.771423, 1.10236, 1.38116, 1.48077, 1.31964, 1.10236, 0.674622, 0.600403, 0.273865};
3203 Double_t chiA3[] = {0.356628, 0.373474, 0.356628, 0.306702, 0.24115, 0.192322, 0.127869, 6.10352e-05, 6.10352e-05};
3204 Double_t chiC3[] = {0.493347, 0.493347, 0.458557, 0.407166, 0.356628, 0.273865, 0.176208, 6.10352e-05, 6.10352e-05};
3208 for(Int_t i(0); i < 9; i++) {
3226 Float_t v0Centr(InputEvent()->GetCentrality()->GetCentralityPercentile(
"V0M"));
3227 if(v0Centr < 5)
return 0;
3228 else if(v0Centr < 10)
return 1;
3229 else if(v0Centr < 20)
return 2;
3230 else if(v0Centr < 30)
return 3;
3231 else if(v0Centr < 40)
return 4;
3232 else if(v0Centr < 50)
return 5;
3233 else if(v0Centr < 60)
return 6;
3234 else if(v0Centr < 70)
return 7;
3244 Int_t iJets(
fJets->GetEntriesFast());
3248 for(Int_t i(0); i < iJets; i++) {
3251 if(jet->
Pt() > pt) {
3253 pt = leadingJet->
Pt();
3260 for(Int_t i(0); i < iJets; i++) {
3265 if((jet->
Pt()-jet->
Area()*rho) > pt) {
3267 pt = (leadingJet->
Pt()-jet->
Area()*rho);
3283 Double_t chi(2.), delta(1.), con((TMath::Sqrt(TMath::Pi()))/(2.*TMath::Sqrt(2)));
3284 for (Int_t i(0); i < 15; i++) {
3285 chi = ((con*chi*TMath::Exp(-chi*chi/4.)*(TMath::BesselI0(chi*chi/4.)+TMath::BesselI1(chi*chi/4.))) < res) ? chi + delta : chi - delta;
3293 if(trig == 0) h->Fill(1);
3294 if(trig & AliVEvent::kAny) h->Fill(2);
3295 if(trig & AliVEvent::kAnyINT) h->Fill(3);
3296 if(trig & AliVEvent::kMB) h->Fill(4);
3297 if(trig & AliVEvent::kINT7) h->Fill(5);
3298 if(trig & AliVEvent::kEMC1) h->Fill(6);
3299 if(trig & AliVEvent::kEMC7) h->Fill(7);
3300 if(trig & AliVEvent::kEMC8) h->Fill(8);
3301 if(trig & AliVEvent::kEMCEJE) h->Fill(9);
3302 if(trig & AliVEvent::kEMCEGA) h->Fill(10);
3303 if(trig & AliVEvent::kCentral) h->Fill(11);
3304 if(trig & AliVEvent::kSemiCentral) h->Fill(12);
3305 if(trig & AliVEvent::kINT8) h->Fill(13);
3307 if(trig & (AliVEvent::kEMCEJE | AliVEvent::kMB)) h->Fill(14);
3308 if(trig & (AliVEvent::kEMCEGA | AliVEvent::kMB)) h->Fill(15);
3309 if(trig & (AliVEvent::kAnyINT | AliVEvent::kMB)) h->Fill(16);
3311 if(trig & (AliVEvent::kEMCEJE & (AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral))) h->Fill(17);
3312 if(trig & (AliVEvent::kEMCEGA & (AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral))) h->Fill(18);
3313 if(trig & (AliVEvent::kAnyINT & (AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral))) h->Fill(19);
3316 h->GetXaxis()->SetBinLabel(1,
"no trigger");
3317 h->GetXaxis()->SetBinLabel(2,
"kAny");
3318 h->GetXaxis()->SetBinLabel(3,
"kAnyINT");
3319 h->GetXaxis()->SetBinLabel(4,
"kMB");
3320 h->GetXaxis()->SetBinLabel(5,
"kINT7");
3321 h->GetXaxis()->SetBinLabel(6,
"kEMC1");
3322 h->GetXaxis()->SetBinLabel(7,
"kEMC7");
3323 h->GetXaxis()->SetBinLabel(8,
"kEMC8");
3324 h->GetXaxis()->SetBinLabel(9,
"kEMCEJE");
3325 h->GetXaxis()->SetBinLabel(10,
"kEMCEGA");
3326 h->GetXaxis()->SetBinLabel(11,
"kCentral");
3327 h->GetXaxis()->SetBinLabel(12,
"kSemiCentral");
3328 h->GetXaxis()->SetBinLabel(13,
"kINT8");
3329 h->GetXaxis()->SetBinLabel(14,
"kEMCEJE or kMB");
3330 h->GetXaxis()->SetBinLabel(15,
"kEMCEGA or kMB");
3331 h->GetXaxis()->SetBinLabel(16,
"kAnyINT or kMB");
3332 h->GetXaxis()->SetBinLabel(17,
"kEMCEJE & (kMB or kCentral or kSemiCentral)");
3333 h->GetXaxis()->SetBinLabel(18,
"kEMCEGA & (kMB or kCentral or kSemiCentral)");
3334 h->GetXaxis()->SetBinLabel(19,
"kAnyINT & (kMB or kCentral or kSemiCentral)");
3337 h->LabelsOption(
"v");
TObjArray * CloneAndReduceTrackList(TObjArray *tracks)
TH3 * fHistJetEtaPhiPt[6]
TH1 * fHistJetHadbindPhiIN[9]
virtual Int_t GetpTtrackBin(Double_t pt) const
Double_t RelativeEPJET(Double_t jetAng, Double_t EPAng) const
TProfile * fProfV5Resolution[10]
resolution parameters for v4
AliEmcalJet * GetLeadingJet(AliLocalRhoParameter *localRho=0x0)
TH1 * fHistClusofJetEnergy
THnSparse * fhnJH
// mixed events matrix
THnSparse * fhnMixedEvents
// PID sparse
void SetfHistQAcounterLabels(TH1 *h) const
AliEmcalJet * fLeadingJet
number of accepted tracks
Bool_t makeextraCORRhistos
ClassImp(AliAnalysisTaskEmcalJetHadEPpid) AliAnalysisTaskEmcalJetHadEPpid
void CalculateEventPlaneTPC(Double_t *tpc)
AliAODEvent * fAOD
// ESD object
static Double_t CalculateEventPlaneChi(Double_t res)
TArrayD * fChi2A
resolution parameters for v5
TH2F * fHistJetPtNconCh[6]
Int_t GetNParticles() const
Container with name, TClonesArray and cuts for particles.
virtual Int_t AcceptMyJet(AliEmcalJet *jet)
Double_t GetLocalVal(Double_t phi, Double_t r, Double_t n) const
TArrayD * fCentralityClasses
Double_t fEPV0
!event plane V0
TH1 * fHistJetNClusterConstit
TH1 * fHistTrackPtallcent
// phi distrubtion of mixed events
AliJetContainer * fJetsCont
tracks from AliTrackContainer
TH3 * fHistClusEtaPhiEnergy
Double_t GetLeadingHadronPt(AliEmcalJet *jet, Int_t c=0)
virtual Int_t GetEtaBin(Double_t eta) const
TH1 * fHistJetHaddPhiOUTBias
TH1F * fHistEventQA
// Vevent object
TH1F * fHistJetHaddPhiOUTcent[6]
TProfile * fProfV4Resolution[10]
resolution parameters for v3
Int_t fDoEventMixing
centrality bin
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
TH2 * fHistJetHBias[6][5][3]
TH1 * FillEventTriggerQA(TH1 *h, UInt_t t)
virtual void Terminate(Option_t *)
void CalculateEventPlaneResolution(Double_t vzero[2][2], Double_t *vzeroComb, Double_t *tpc)
virtual void GetDimParams(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
AliTrackContainer * fTracksCont
Jets.
virtual Int_t GetpTjetBin(Double_t pt) const
AliAnalysisTaskEmcalJetHadEPpid()
Double_t fEPV0C
!event plane V0C
UShort_t GetNumberOfConstituents() const
TString fCaloClustersName
UShort_t GetNumberOfTracks() const
AliVEvent * fVevent
// AOD object
virtual void UserCreateOutputObjects()
TH2 * fHistNTrackPhiEtaNEW
virtual void GetDimParamsPID(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
TString fLocalRhoName
name for local rho
Int_t fInCentralitySelection
AliRhoParameter * GetRhoFromEvent(const char *name)
virtual THnSparse * NewTHnSparseFCorr(const char *name, UInt_t entries)
UShort_t GetNumberOfClusters() const
TH1F * fHistJetHaddPHI
// mixed events phi-eta distributions
TProfile * fProfV3Resolution[10]
resolution parameters for v2
virtual void GetDimParamsCorr(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
TH2F * fHistJetPtvsTrackPt[6]
number of jets versus Centrality
TH1 * fHistJetHadbindPhiMID[9]
Float_t fExcludeLeadingJetsFromFit
leading jet
TH2F * fHistJetPtNconBiasEm[6]
TH1 * fHistJetHadbindPhiOUT[9]
AliRhoParameter * fRho
! event rho
TH1F * fHistJetHaddPhiMIDcent[6]
virtual THnSparse * NewTHnSparseF(const char *name, UInt_t entries)
TH2F * fHistJetPtNconBias[6]
TH1 * fHistJetHaddPhiINBias
TH1 * fHistJetHadbindPhi[9]
void SetfHistPIDcounterLabels(TH1 *fHistPID) const
Double_t MaxTrackPt() const
TH2 * fHistAreavsRawPt[6]
TH1F * fHistJetHaddPhiINcent[6]
AliPIDResponse * fPIDResponse
// event pool Manager object
Double_t fCent
!event centrality
virtual THnSparse * NewTHnSparseFPID(const char *name, UInt_t entries)
AliLocalRhoParameter * fLocalRho
! local event rho
TH2F * fHistJetPtNconEm[6]
void SetfHistEvtSelQALabels(TH1 *h) const
TH2 * fHistJetHTT[6][5][3]
AliClusterContainer * fCaloClustersCont
Tracks - Need this for applying track quality cuts.
Double_t RelativePhi(Double_t mphi, Double_t vphi) const
Int_t GetVZEROCentralityBin() const
AliEventPoolManager * fPoolMgr
virtual Int_t GetzVertexBin(Double_t zVtx) const
TH2F * fHistJetPtvsdEP[6]
TClonesArray * fJets
! jets
Bool_t fUseChiWeightForVZERO
Float_t fSoftTrackMaxPt_ep
TH2F * fHistJetPtvsdEPBias[6]
TH1F * fHistEventSelectionQA
TClonesArray * fTracksFromContainer
Double_t EffCorrection(Double_t trkETA, Double_t trkPT, Int_t effswitch) const
TH1 * fHistJetHaddPhiMIDBias
AliEmcalList * fOutput
!output list
TH1 * fHistJetNTrackConstit
Bool_t doFlavourJetAnalysis
virtual Int_t AcceptFlavourJet(AliEmcalJet *jet, Int_t NUM)
TClonesArray * fTracks
!tracks
TH1F * fHistEventSelectionQAafterCuts
TProfile * fProfV2Resolution[10]
// sparse to get # jet triggers
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Bool_t fCreateHisto
whether or not create histograms
void CalculateEventPlaneCombinedVZERO(Double_t *comb) const
void SetMakeGeneralHistograms(Bool_t g)
TH2F * fHistJetPtNconBiasCh[6]
Base task in the EMCAL jet framework.
Double_t fEPV0A
!event plane V0A
Double_t MaxClusterPt() const
Represent a jet reconstructed using the EMCal jet framework.
void ReadVZEROCalibration2011h()
Float_t fSoftTrackMinPt_ep
void UserCreateOutputObjects()
virtual AliVParticle * GetNextAcceptParticle()
THnSparse * fhnCorr
// jet hadron events matrix
TH2F * fHistMEphieta
// single events phi-eta distributions
Int_t GetNAcceptedParticles() const
TH1F * fHistJetPtcorrGlRho[6]
Double_t fRhoVal
! event rho value, same for local rho
TH3 * fHistJetEtaPhiPtBias[6]
Bool_t douseOLDtrackFramework
virtual Int_t GetCentBin(Double_t cent) const
void CalculateEventPlaneVZERO(Double_t vzero[2][2]) const
virtual ~AliAnalysisTaskEmcalJetHadEPpid()
Bool_t makeoldJEThadhistos
TH1 * fHistJetHaddPhiBias
TH2F * fHistJetPtAreaBias[6]