]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.cxx
Updates to pp Full jets, AddTask macro added(R. Ma)
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskFullpAJets.cxx
CommitLineData
ac6a3f1e 1#include "AliAnalysisTaskFullpAJets.h"
2
3#include <Riostream.h>
4#include <ctime>
5#include <TString.h>
6#include <TChain.h>
7#include <TTree.h>
8#include <TH1D.h>
9#include <TH2D.h>
10#include <TH3D.h>
11#include <TCanvas.h>
12#include <TList.h>
13#include <TLorentzVector.h>
14#include <TProfile.h>
15#include <TProfile2D.h>
16#include <TProfile3D.h>
17#include <TRandom.h>
18#include <TRandom3.h>
19
20#include "AliAnalysisTaskSE.h"
21#include "AliAnalysisManager.h"
22#include "AliStack.h"
23#include "AliESDtrackCuts.h"
24#include "AliESDEvent.h"
25#include "AliESDInputHandler.h"
26#include "AliAODEvent.h"
27#include "AliMCEvent.h"
28#include "AliEmcalJet.h"
29#include "AliEMCALGeometry.h"
30
31ClassImp(AliAnalysisTaskFullpAJets)
32
33//________________________________________________________________________
34AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets() :
35 AliAnalysisTaskSE(),
36
37 fOutput(0),
38 fTrackCuts(0),
39 fhTrackPt(0),
40 fhTrackEta(0),
41 fhTrackPhi(0),
42 fhClusterPt(0),
43 fhClusterEta(0),
44 fhClusterPhi(0),
c54b626a 45 fhCentrality(0),
ac6a3f1e 46 fhBckgMult(0),
47 fhBckgFluc(0),
48 fhChargedJetPt(0),
49 fhChargedJetPtAreaCut(0),
50 fhJetPtEMCal(0),
51 fhJetPtEMCalAreaCut(0),
52 fhJetPtEMCalAreaCutSignal(0),
53 fhJetPtTPC(0),
54 fhJetPtTPCAreaCut(0),
55 fhJetTPtRhoTotal(0),
56 fhJetTPtRhoTotalSignal(0),
57 fhJetTPtRhoNoLeading(0),
58 fhJetTPtRhoNoLeadingSignal(0),
59 fhJetTPt1B(0),
60 fhJetTPt1BSignal(0),
61 fhEMCalBckg1B(0),
62 fhJetTPt1C(0),
63 fhEMCalBckg1C(0),
64 fhEMCalJet2A(0),
65 fhJetTPt2B(0),
66 fhEMCalBckg2B(0),
67 fhJetTPt3(0),
68 fhDeltaPtTotal(0),
69 fhDeltaPtNoLeading(0),
70 fhDeltaPt1B(0),
71 fhDeltaRho01(0),
72 fhEMCalCellCounts(0),
c54b626a 73 fh020RhoTotal(0),
74 fh020RhoNoLeading(0),
75 fh020Rho1B(0),
76 fh020Rho2B(0),
77 fh020Rho3(0),
78 fh020JetPtEMCal(0),
79 fh020JetPtEMCalAreaCut(0),
80 fh020JetPtEMCalAreaCutSignal(0),
81 fh020JetTPtRhoTotal(0),
82 fh020JetTPtRhoTotalSignal(0),
83 fh020JetTPtRhoNoLeading(0),
84 fh020JetTPtRhoNoLeadingSignal(0),
85 fh020JetTPt1B(0),
86 fh020JetTPt1BSignal(0),
87 fh020JetTPt1C(0),
88 fh020JetTPt2B(0),
89 fh020JetTPt3(0),
90 fhDeltaPt2B(0),
91 fhDeltaPtkT(0),
78246241 92 fh020DiJetAsy(0),
93 fh020RhokT(0),
94 fh020EMCalkTClusters(0),
95 fh020EMCalAkTJets(0),
96 fh020DiJetDeltaPhi(0),
97 fhDiJetEMCalLeadingPt(0),
98 fhDiJetEMCalLeadingDeltaPhi(0),
99 fh020EMCalJet2A(0),
100 fhDeltaRho0DiJet(0),
101 fh020Rho2BCore(0),
102 fh020Rho3NoJets(0),
103 fh020Rho3DiJets(0),
104 fh020Rho3Perp(0),
105
ac6a3f1e 106 fhTrackEtaPhi(0),
107 fhClusterEtaPhi(0),
108 fhJetPtArea(0),
c54b626a 109 fhRhoTotal(0),
110 fhRhoNoLeading(0),
ac6a3f1e 111 fhRho1B(0),
112 fhRho1C(0),
113 fhRho2B(0),
114 fhRho3(0),
115 fhJetConstituentPt(0),
c54b626a 116 fhJetPtCenEMCal(0),
117 fhJetPtCenEMCalAreaCut(0),
118 fhJetPtCenEMCalAreaCutSignal(0),
119 fhJetTPtCenRhoTotal(0),
120 fhJetTPtCenRhoTotalSignal(0),
121 fhJetTPtCenRhoNoLeading(0),
122 fhJetTPtCenRhoNoLeadingSignal(0),
123 fhJetTPtCen1B(0),
124 fhJetTPtCen1BSignal(0),
125 fhJetTPtCen1C(0),
126 fhJetTPtCen2B(0),
127 fhJetTPtCen3(0),
78246241 128 fhDiJetCenAsy(0),
129 fhDiJetCenDeltaPhi(0),
130 fhEMCalCenJet2A(0),
131 fhRho2BCore(0),
132 fhRho3NoJets(0),
133 fhRho3DiJets(0),
134 fhRho3Perp(0),
135
ac6a3f1e 136 fhJetTrigR1A(0),
78246241 137
ac6a3f1e 138 fpEventMult(0),
139 fpRhoTotal(0),
140 fpRhoNoLeading(0),
141 fpRho1B(0),
c54b626a 142 fpRho2B(0),
ac6a3f1e 143 fpRho3(0),
144 fpRhoScale(0),
145 fpRhokT(0),
146 fpJetPtRhoTotal(0),
147 fpJetPtRhoNoLeading(0),
78246241 148 fpJetPtRhokT(0),
149 fpRhoChargedkT(0),
150 fpRhoScalekT(0),
151 fpRho2BCore(0),
152 fpRho3NoJets(0),
153 fpRho3DiJets(0),
154 fpRho3Perp(0),
155
ac6a3f1e 156 fpTrackPtProfile(0),
c54b626a 157 fpClusterPtProfile(0),
158
159 fIsInitialized(0),
160 fRJET(0),
161 fnEvents(0),
162 fnEventsCharged(0),
163 fnDiJetEvents(0),
164 fEMCalPhiMin(0),
165 fEMCalPhiMax(0),
166 fEMCalPhiTotal(0),
167 fEMCalEtaMin(0),
168 fEMCalEtaMax(0),
169 fEMCalEtaTotal(0),
170 fEMCalArea(0),
171 fTPCPhiMin(0),
172 fTPCPhiMax(0),
173 fTPCPhiTotal(0),
174 fTPCEtaMin(0),
175 fTPCEtaMax(0),
176 fTPCEtaTotal(0),
177 fTPCArea(0),
178 fJetR(0),
179 fJetAreaCutFrac(0),
180 fJetAreaThreshold(0),
181 fDeltaRho01(0),
182 fnEMCalCells(0),
183 fCentralityBins(0),
184 fCentralityLow(0),
185 fCentralityUp(0),
186 fEventCentrality(0),
187 fRhoTotal(0),
188 fRhoCharged(0),
78246241 189 fRhokTTotal(0),
190 fRhokTCharged(0),
191 fRhoAkTTotal(0),
c54b626a 192 fEtaProfileBins(0),
193 fEtaProfileLow(0),
194 fEtaProfileUp(0),
195 fEDProfileRBins(0),
196 fEDProfileRLow(0),
197 fEDProfileRUp(0),
198 fEDProfilePtBins(0),
199 fEDProfilePtLow(0),
200 fEDProfilePtUp(0),
201 fEDProfileEtaBins(0),
202 fEDProfileEtaLow(0),
203 fEDProfileEtaUp(0),
204 fnTracks(0),
205 fnClusters(0),
206 fnAKTFullJets(0),
207 fnAKTChargedJets(0),
208 fnKTFullJets(0),
78246241 209 fnKTChargedJets(0),
c54b626a 210 fnBckgClusters(0),
211 fTPCJetThreshold(0),
212 fEMCalJetThreshold(0),
213 fVertexWindow(0),
214 fVertexMaxR(0),
215 fnJetsPtCut(0),
216 fnJetsPtTPCCut(0),
217 fnJetsPtTotalCut(0),
218 fnJetsChargedPtCut(0),
219 fnJetskTEMCalFull(0),
78246241 220 fnJetskTTPCFull(0),
c54b626a 221 fPtMaxID(0),
222 fPtFullMaxID(0),
223 fPtTPCMaxID(0),
224 fPtFullTPCMaxID(0),
225 fPtTotalMaxID(0),
226 fPtChargedMaxID(0),
227 fPtMax(0),
228 fPtFullMax(0),
229 fPtTPCMax(0),
230 fPtFullTPCMax(0),
231 fPtTotalMax(0),
232 fPtChargedMax(0),
233 fChargedBackJetID(0),
c54b626a 234 fmyTracks(0),
235 fmyClusters(0),
236 fmyAKTFullJets(0),
237 fmyAKTChargedJets(0),
238 fmyKTFullJets(0),
78246241 239 fmyKTChargedJets(0),
c54b626a 240 fJetPtCutID(0),
241 fJetPtTPCCutID(0),
242 fJetPtTotalCutID(0),
243 fJetPtChargedCutID(0),
244 fJetkTEMCalFullID(0),
78246241 245 fJetkTTPCFullID(0),
c54b626a 246 fInEMCal(0),
247 fInEMCalFull(0),
248 fInTPCFull(0),
249 fInTPCChargedFull(0),
250 fRCBckgFluc(0)
ac6a3f1e 251{
252 // Dummy constructor ALWAYS needed for I/O.
253 fpJetEtaProfile = new TProfile *[14];
254 fpJetAbsEtaProfile = new TProfile *[14];
255 fpChargedJetRProfile = new TProfile *[8];
256 fpJetRProfile= new TProfile *[4];
257 fpChargedJetEDProfile= new TProfile3D *[10];
258 fpJetEDProfile= new TProfile3D *[10];
c54b626a 259 fvertex[0]=0.0,fvertex[1]=0.0,fvertex[2]=0.0;
ac6a3f1e 260}
261
262//________________________________________________________________________
263AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets(const char *name) :
264 AliAnalysisTaskSE(name),
265
266 fOutput(0),
267 fTrackCuts(0),
268 fhTrackPt(0),
269 fhTrackEta(0),
270 fhTrackPhi(0),
271 fhClusterPt(0),
272 fhClusterEta(0),
273 fhClusterPhi(0),
c54b626a 274 fhCentrality(0),
ac6a3f1e 275 fhBckgMult(0),
276 fhBckgFluc(0),
277 fhChargedJetPt(0),
278 fhChargedJetPtAreaCut(0),
279 fhJetPtEMCal(0),
280 fhJetPtEMCalAreaCut(0),
281 fhJetPtEMCalAreaCutSignal(0),
282 fhJetPtTPC(0),
283 fhJetPtTPCAreaCut(0),
284 fhJetTPtRhoTotal(0),
285 fhJetTPtRhoTotalSignal(0),
286 fhJetTPtRhoNoLeading(0),
287 fhJetTPtRhoNoLeadingSignal(0),
288 fhJetTPt1B(0),
289 fhJetTPt1BSignal(0),
290 fhEMCalBckg1B(0),
291 fhJetTPt1C(0),
292 fhEMCalBckg1C(0),
293 fhEMCalJet2A(0),
294 fhJetTPt2B(0),
295 fhEMCalBckg2B(0),
296 fhJetTPt3(0),
297 fhDeltaPtTotal(0),
298 fhDeltaPtNoLeading(0),
299 fhDeltaPt1B(0),
300 fhDeltaRho01(0),
301 fhEMCalCellCounts(0),
c54b626a 302 fh020RhoTotal(0),
303 fh020RhoNoLeading(0),
304 fh020Rho1B(0),
305 fh020Rho2B(0),
306 fh020Rho3(0),
307 fh020JetPtEMCal(0),
308 fh020JetPtEMCalAreaCut(0),
309 fh020JetPtEMCalAreaCutSignal(0),
310 fh020JetTPtRhoTotal(0),
311 fh020JetTPtRhoTotalSignal(0),
312 fh020JetTPtRhoNoLeading(0),
313 fh020JetTPtRhoNoLeadingSignal(0),
314 fh020JetTPt1B(0),
315 fh020JetTPt1BSignal(0),
316 fh020JetTPt1C(0),
317 fh020JetTPt2B(0),
318 fh020JetTPt3(0),
319 fhDeltaPt2B(0),
320 fhDeltaPtkT(0),
78246241 321 fh020DiJetAsy(0),
322 fh020RhokT(0),
323 fh020EMCalkTClusters(0),
324 fh020EMCalAkTJets(0),
325 fh020DiJetDeltaPhi(0),
326 fhDiJetEMCalLeadingPt(0),
327 fhDiJetEMCalLeadingDeltaPhi(0),
328 fh020EMCalJet2A(0),
329 fhDeltaRho0DiJet(0),
330 fh020Rho2BCore(0),
331 fh020Rho3NoJets(0),
332 fh020Rho3DiJets(0),
333 fh020Rho3Perp(0),
334
ac6a3f1e 335 fhTrackEtaPhi(0),
336 fhClusterEtaPhi(0),
337 fhJetPtArea(0),
c54b626a 338 fhRhoTotal(0),
339 fhRhoNoLeading(0),
ac6a3f1e 340 fhRho1B(0),
341 fhRho1C(0),
342 fhRho2B(0),
343 fhRho3(0),
344 fhJetConstituentPt(0),
c54b626a 345 fhJetPtCenEMCal(0),
346 fhJetPtCenEMCalAreaCut(0),
347 fhJetPtCenEMCalAreaCutSignal(0),
348 fhJetTPtCenRhoTotal(0),
349 fhJetTPtCenRhoTotalSignal(0),
350 fhJetTPtCenRhoNoLeading(0),
351 fhJetTPtCenRhoNoLeadingSignal(0),
352 fhJetTPtCen1B(0),
353 fhJetTPtCen1BSignal(0),
354 fhJetTPtCen1C(0),
355 fhJetTPtCen2B(0),
356 fhJetTPtCen3(0),
78246241 357 fhDiJetCenAsy(0),
358 fhDiJetCenDeltaPhi(0),
359 fhEMCalCenJet2A(0),
360 fhRho2BCore(0),
361 fhRho3NoJets(0),
362 fhRho3DiJets(0),
363 fhRho3Perp(0),
364
ac6a3f1e 365 fhJetTrigR1A(0),
78246241 366
ac6a3f1e 367 fpEventMult(0),
368 fpRhoTotal(0),
369 fpRhoNoLeading(0),
370 fpRho1B(0),
c54b626a 371 fpRho2B(0),
ac6a3f1e 372 fpRho3(0),
373 fpRhoScale(0),
374 fpRhokT(0),
375 fpJetPtRhoTotal(0),
376 fpJetPtRhoNoLeading(0),
78246241 377 fpJetPtRhokT(0),
378 fpRhoChargedkT(0),
379 fpRhoScalekT(0),
380 fpRho2BCore(0),
381 fpRho3NoJets(0),
382 fpRho3DiJets(0),
383 fpRho3Perp(0),
384
ac6a3f1e 385 fpTrackPtProfile(0),
c54b626a 386 fpClusterPtProfile(0),
387
388 fIsInitialized(0),
389 fRJET(0),
390 fnEvents(0),
391 fnEventsCharged(0),
392 fnDiJetEvents(0),
393 fEMCalPhiMin(0),
394 fEMCalPhiMax(0),
395 fEMCalPhiTotal(0),
396 fEMCalEtaMin(0),
397 fEMCalEtaMax(0),
398 fEMCalEtaTotal(0),
399 fEMCalArea(0),
400 fTPCPhiMin(0),
401 fTPCPhiMax(0),
402 fTPCPhiTotal(0),
403 fTPCEtaMin(0),
404 fTPCEtaMax(0),
405 fTPCEtaTotal(0),
406 fTPCArea(0),
407 fJetR(0),
408 fJetAreaCutFrac(0),
409 fJetAreaThreshold(0),
410 fDeltaRho01(0),
411 fnEMCalCells(0),
412 fCentralityBins(0),
413 fCentralityLow(0),
414 fCentralityUp(0),
415 fEventCentrality(0),
416 fRhoTotal(0),
417 fRhoCharged(0),
78246241 418 fRhokTTotal(0),
419 fRhokTCharged(0),
420 fRhoAkTTotal(0),
c54b626a 421 fEtaProfileBins(0),
422 fEtaProfileLow(0),
423 fEtaProfileUp(0),
424 fEDProfileRBins(0),
425 fEDProfileRLow(0),
426 fEDProfileRUp(0),
427 fEDProfilePtBins(0),
428 fEDProfilePtLow(0),
429 fEDProfilePtUp(0),
430 fEDProfileEtaBins(0),
431 fEDProfileEtaLow(0),
432 fEDProfileEtaUp(0),
433 fnTracks(0),
434 fnClusters(0),
435 fnAKTFullJets(0),
436 fnAKTChargedJets(0),
437 fnKTFullJets(0),
78246241 438 fnKTChargedJets(0),
c54b626a 439 fnBckgClusters(0),
440 fTPCJetThreshold(0),
441 fEMCalJetThreshold(0),
442 fVertexWindow(0),
443 fVertexMaxR(0),
444 fnJetsPtCut(0),
445 fnJetsPtTPCCut(0),
446 fnJetsPtTotalCut(0),
447 fnJetsChargedPtCut(0),
448 fnJetskTEMCalFull(0),
78246241 449 fnJetskTTPCFull(0),
c54b626a 450 fPtMaxID(0),
451 fPtFullMaxID(0),
452 fPtTPCMaxID(0),
453 fPtFullTPCMaxID(0),
454 fPtTotalMaxID(0),
455 fPtChargedMaxID(0),
456 fPtMax(0),
457 fPtFullMax(0),
458 fPtTPCMax(0),
459 fPtFullTPCMax(0),
460 fPtTotalMax(0),
461 fPtChargedMax(0),
462 fChargedBackJetID(0),
c54b626a 463 fmyTracks(0),
464 fmyClusters(0),
465 fmyAKTFullJets(0),
466 fmyAKTChargedJets(0),
467 fmyKTFullJets(0),
78246241 468 fmyKTChargedJets(0),
c54b626a 469 fJetPtCutID(0),
470 fJetPtTPCCutID(0),
471 fJetPtTotalCutID(0),
472 fJetPtChargedCutID(0),
473 fJetkTEMCalFullID(0),
78246241 474 fJetkTTPCFullID(0),
c54b626a 475 fInEMCal(0),
476 fInEMCalFull(0),
477 fInTPCFull(0),
478 fInTPCChargedFull(0),
479 fRCBckgFluc(0)
ac6a3f1e 480{
481 // Constructor
482 // Define input and output slots here (never in the dummy constructor)
483 // Input slot #0 works with a TChain - it is connected to the default input container
484 // Output slot #1 writes into a TH1 container
485 fpJetEtaProfile = new TProfile *[14];
486 fpJetAbsEtaProfile = new TProfile *[14];
487 fpChargedJetRProfile = new TProfile *[8];
488 fpJetRProfile = new TProfile *[4];
489 fpChargedJetEDProfile= new TProfile3D *[10];
490 fpJetEDProfile= new TProfile3D *[10];
c54b626a 491 fvertex[0]=0.0,fvertex[1]=0.0,fvertex[2]=0.0;
ac6a3f1e 492
c54b626a 493 DefineOutput(1,TList::Class()); // for output list
ac6a3f1e 494}
495
496//________________________________________________________________________
497AliAnalysisTaskFullpAJets::~AliAnalysisTaskFullpAJets()
498{
499 // Destructor. Clean-up the output list, but not the histograms that are put inside
500 // (the list is owner and will clean-up these histograms). Protect in PROOF case.
501 if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode())
502 {
503 delete fOutput;
504 }
505 delete fTrackCuts;
506}
507
508//________________________________________________________________________
509void AliAnalysisTaskFullpAJets::UserCreateOutputObjects()
510{
511 // Create histograms
512 // Called once (on the worker node)
513 fIsInitialized=kFALSE;
514 fOutput = new TList();
515 fOutput->SetOwner(); // IMPORTANT!
516
517 fTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
518
519 // Initialize Global Variables
520 fnEvents=0;
521 fnEventsCharged=0;
522 fnDiJetEvents=0;
ac6a3f1e 523
c54b626a 524 // fRJET=4 -> fJetR=0.4 && fRJET=25 -> fJetR=0.25, but for writing files, should be 4 and 25 respectively
525 if (fRJET>10)
526 {
527 fJetR=(Double_t)fRJET/100.0;
528 }
529 else
530 {
531 fJetR=(Double_t)fRJET/10.0;
532 }
533
ac6a3f1e 534 fEMCalPhiMin=(80/(double)360)*2*TMath::Pi();
535 fEMCalPhiMax=(187/(double)360)*2*TMath::Pi();
536 fEMCalPhiTotal= fEMCalPhiMax-fEMCalPhiMin;
537 fEMCalEtaMin=-0.7;
538 fEMCalEtaMax=0.7;
539 fEMCalEtaTotal=fEMCalEtaMax-fEMCalEtaMin;
540 fEMCalArea=fEMCalPhiTotal*fEMCalEtaTotal;
541
542 fTPCPhiMin=(0/(double)360)*2*TMath::Pi();
543 fTPCPhiMax=(360/(double)360)*2*TMath::Pi();
544 fTPCPhiTotal= fTPCPhiMax-fTPCPhiMin;
545 fTPCEtaMin=-0.9;
546 fTPCEtaMax=0.9;
547 fTPCEtaTotal=fTPCEtaMax-fTPCEtaMin;
548 fTPCArea=fTPCPhiTotal*fTPCEtaTotal;
549
550 fCentralityBins=10;
551 fCentralityLow=0.0;
552 fCentralityUp=100.0;
c54b626a 553 Int_t CentralityBinMult=10;
554
ac6a3f1e 555 fJetAreaCutFrac =0.6; // Fudge factor for selecting on jets with threshold Area or higher
556 fJetAreaThreshold=fJetAreaCutFrac*TMath::Pi()*fJetR*fJetR;
557 fTPCJetThreshold=5.0; // Threshold required for an Anti-kt jet to be considered a "true" jet
558 fEMCalJetThreshold=5.0;
559 fVertexWindow=10.0;
560 fVertexMaxR=1.0;
561
562 fnBckgClusters=TMath::FloorNint(fEMCalArea/(TMath::Pi()*fJetR*fJetR)); // Select the number of RC that is as close as possible to the area of the EMCal.
563 fRCBckgFluc = new Double_t[fnBckgClusters];
564 for (Int_t i=0;i<fnBckgClusters;i++)
565 {
566 fRCBckgFluc[i]=0.0;
567 }
568
569 fDeltaRho01=0.0;
570 fnEMCalCells=12288; // sMods 1-10 have 24x48 cells, sMods 11&12 have 8x48 cells...
571
c54b626a 572 // Histograms
573 Int_t JetPtBins = 200;
574 Double_t JetPtLow = 0.0;
575 Double_t JetPtUp = 200.0;
576
ac6a3f1e 577 Int_t TCBins=100;
578
c54b626a 579 // QA Plots
580 fhTrackPt = new TH1D("fhTrackPt","p_{T} distribution of tracks in event",10*JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 581 fhTrackPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
582 fhTrackPt->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
583 fhTrackPt->Sumw2();
584
585 fhTrackPhi = new TH1D("fhTrackPhi","#phi distribution of tracks in event",TCBins,fTPCPhiMin,fTPCPhiMax);
586 fhTrackPhi->GetXaxis()->SetTitle("#phi");
587 fhTrackPhi->GetYaxis()->SetTitle("1/N_{Events} dN/d#phi");
588 fhTrackPhi->Sumw2();
589
590 fhTrackEta = new TH1D("fhTrackEta","#eta distribution of tracks in event",TCBins,fTPCEtaMin,fTPCEtaMax);
591 fhTrackEta->GetXaxis()->SetTitle("#eta");
592 fhTrackEta->GetYaxis()->SetTitle("1/N_{Events} dN/d#eta");
593 fhTrackEta->Sumw2();
594
595 fhTrackEtaPhi = new TH2D("fhTrackEtaPhi","#eta-#phi distribution of tracks in event",TCBins,fTPCEtaMin,fTPCEtaMax,TCBins,fTPCPhiMin,fTPCPhiMax);
596 fhTrackEtaPhi->GetXaxis()->SetTitle("#eta");
597 fhTrackEtaPhi->GetYaxis()->SetTitle("#phi");
598 fhTrackEtaPhi->GetZaxis()->SetTitle("1/N_{Events} dN/d#etad#phi");
599 fhTrackEtaPhi->Sumw2();
600
c54b626a 601 fhClusterPt = new TH1D("fhClusterPt","p_{T} distribution of clusters in event",10*JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 602 fhClusterPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
603 fhClusterPt->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
604 fhClusterPt->Sumw2();
605
606 fhClusterPhi = new TH1D("fhClusterPhi","#phi distribution of clusters in event",TCBins,fTPCPhiMin,fTPCPhiMax);
607 fhClusterPhi->GetXaxis()->SetTitle("#phi");
608 fhClusterPhi->GetYaxis()->SetTitle("1/N_{Events} dN/d#phi");
609 fhClusterPhi->Sumw2();
610
611 fhClusterEta = new TH1D("fhClusterEta","#eta distribution of clusters in event",TCBins,fTPCEtaMin,fTPCEtaMax);
612 fhClusterEta->GetXaxis()->SetTitle("#eta");
613 fhClusterEta->GetYaxis()->SetTitle("1/N_{Events} dN/d#eta");
614 fhClusterEta->Sumw2();
615
616 fhClusterEtaPhi = new TH2D("fhClusterEtaPhi","#eta-#phi distribution of clusters in event",TCBins,fEMCalEtaMin,fEMCalEtaMax,TCBins,fEMCalPhiMin,fEMCalPhiMax);
617 fhClusterEtaPhi->GetXaxis()->SetTitle("#eta");
618 fhClusterEtaPhi->GetYaxis()->SetTitle("#phi");
619 fhClusterEtaPhi->GetZaxis()->SetTitle("1/N_{Events} dN/d#etad#phi");
620 fhClusterEtaPhi->Sumw2();
621
c54b626a 622 fhCentrality = new TH1D("fhCentrality","Event Centrality Distribution",fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
623 fhCentrality->GetXaxis()->SetTitle("Centrality (V0M)");
624 fhCentrality->GetYaxis()->SetTitle("1/N_{Events}");
625 fhCentrality->Sumw2();
626
627 fhBckgFluc = new TH1D("fhBckgFluc",Form("p_{T} distribution of Background Clusters in near central events at center of EMCal with R=%g",fJetR),JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 628 fhBckgFluc->GetXaxis()->SetTitle("p_{T} (GeV/c)");
629 fhBckgFluc->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
630 fhBckgFluc->Sumw2();
631
c54b626a 632 fhBckgMult = new TH1D("fhBckgMult",Form("Multiplicity distribution of Background Clusters in near central events at center of EMCal with R=%g",fJetR),JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 633 fhBckgMult->GetXaxis()->SetTitle("Multiplicity");
634 fhBckgMult->GetYaxis()->SetTitle("1/N_{Events}");
635 fhBckgMult->Sumw2();
636
c54b626a 637 fhJetConstituentPt= new TH2D("fhJetConstituentPt","Jet constituents p_{T} distribution",JetPtBins, JetPtLow, JetPtUp,10*JetPtBins, JetPtLow, JetPtUp);
638 fhJetConstituentPt->GetXaxis()->SetTitle("Jet p_{T} (GeV/c)");
639 fhJetConstituentPt->GetYaxis()->SetTitle("Constituent p_{T} (GeV/c)");
640 fhJetConstituentPt->Sumw2();
641
642 fhEMCalCellCounts = new TH1D("fhEMCalCellCounts","Distribtuion of cluster counts across the EMCal",fnEMCalCells,1,fnEMCalCells);
643 fhEMCalCellCounts->GetXaxis()->SetTitle("Absoulute Cell Id");
644 fhEMCalCellCounts->GetYaxis()->SetTitle("Counts per Event");
645 fhEMCalCellCounts->Sumw2();
646
647 // Raw Jet Spectra
648 fhChargedJetPt = new TH1D("fhChargedJetPt","Charged Jet p_{T} distribution for reconstructed Jets",JetPtBins, JetPtLow, JetPtUp);
ac6a3f1e 649 fhChargedJetPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 650 fhChargedJetPt->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 651 fhChargedJetPt->Sumw2();
652
c54b626a 653 fhChargedJetPtAreaCut = new TH1D("fhChargedJetPtAreaCut"," Charged Jet p_{T} distribution for reconstructed Jets with Standard Area Cut",JetPtBins, JetPtLow, JetPtUp);
ac6a3f1e 654 fhChargedJetPtAreaCut->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 655 fhChargedJetPtAreaCut->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 656 fhChargedJetPtAreaCut->Sumw2();
657
c54b626a 658 fhJetPtTPC = new TH1D("fhJetPtTPC","Jet p_{T} distribution for reconstructed Jets",JetPtBins, JetPtLow, JetPtUp);
659 fhJetPtTPC->GetXaxis()->SetTitle("p_{T} (GeV/c)");
660 fhJetPtTPC->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
661 fhJetPtTPC->Sumw2();
662
663 fhJetPtTPCAreaCut = new TH1D("fhJetPtTPCAreaCut","Jet p_{T} distribution for reconstructed Jets",JetPtBins, JetPtLow, JetPtUp);
664 fhJetPtTPCAreaCut->GetXaxis()->SetTitle("p_{T} (GeV/c)");
665 fhJetPtTPCAreaCut->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
666 fhJetPtTPCAreaCut->Sumw2();
667
668 fhJetPtEMCal = new TH1D("fhJetPtEMCal","Jet p_{T} distribution for reconstructed Jets within the EMCal",JetPtBins, JetPtLow, JetPtUp);
ac6a3f1e 669 fhJetPtEMCal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 670 fhJetPtEMCal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 671 fhJetPtEMCal->Sumw2();
672
c54b626a 673 fhJetPtEMCalAreaCut = new TH1D("fhJetPtEMCalAreaCut","Jet p_{T} distribution for reconstructed Jets within the EMCal with Standard Area Cut",JetPtBins, JetPtLow, JetPtUp);
ac6a3f1e 674 fhJetPtEMCalAreaCut->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 675 fhJetPtEMCalAreaCut->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 676 fhJetPtEMCalAreaCut->Sumw2();
677
c54b626a 678 fhJetPtEMCalAreaCutSignal = new TH1D("fhJetPtEMCalAreaCutSignal","Jet p_{T} distribution for reconstructed Jets within the EMCal with Standard Area Cut and Signal Cut",JetPtBins, JetPtLow, JetPtUp);
ac6a3f1e 679 fhJetPtEMCalAreaCutSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 680 fhJetPtEMCalAreaCutSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 681 fhJetPtEMCalAreaCutSignal->Sumw2();
682
c54b626a 683 fh020JetPtEMCal = new TH1D("fh020JetPtEMCal","0-20% Jet p_{T} distribution for reconstructed Jets within the EMCal",JetPtBins, JetPtLow, JetPtUp);
684 fh020JetPtEMCal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
685 fh020JetPtEMCal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
686 fh020JetPtEMCal->Sumw2();
687
688 fh020JetPtEMCalAreaCut = new TH1D("fh020JetPtEMCalAreaCut","0-20% Jet p_{T} distribution for reconstructed Jets within the EMCal with Standard Area Cut",JetPtBins, JetPtLow, JetPtUp);
689 fh020JetPtEMCalAreaCut->GetXaxis()->SetTitle("p_{T} (GeV/c)");
690 fh020JetPtEMCalAreaCut->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
691 fh020JetPtEMCalAreaCut->Sumw2();
692
693 fh020JetPtEMCalAreaCutSignal = new TH1D("fh020JetPtEMCalAreaCutSignal","0-20% Jet p_{T} distribution for reconstructed Jets within the EMCal with Standard Area Cut and Signal Cut",JetPtBins, JetPtLow, JetPtUp);
694 fh020JetPtEMCalAreaCutSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
695 fh020JetPtEMCalAreaCutSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
696 fh020JetPtEMCalAreaCutSignal->Sumw2();
697
698
699 fhJetPtCenEMCal = new TH2D("fhJetPtCenEMCal","Jet p_{T} distribution for reconstructed Jets within the EMCal vs Centrality",JetPtBins, JetPtLow, JetPtUp, fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
700 fhJetPtCenEMCal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
701 fhJetPtCenEMCal->GetYaxis()->SetTitle("Centrality (V0M)");
702 fhJetPtCenEMCal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
703 fhJetPtCenEMCal->Sumw2();
704
705 fhJetPtCenEMCalAreaCut = new TH2D("fhJetPtCenEMCalAreaCut","Jet p_{T} distribution for reconstructed Jets within the EMCal with Area Cut vs Centrality",JetPtBins, JetPtLow, JetPtUp, fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
706 fhJetPtCenEMCalAreaCut->GetXaxis()->SetTitle("p_{T} (GeV/c)");
707 fhJetPtCenEMCalAreaCut->GetYaxis()->SetTitle("Centrality (V0M)");
708 fhJetPtCenEMCalAreaCut->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
709 fhJetPtCenEMCalAreaCut->Sumw2();
710
711 fhJetPtCenEMCalAreaCutSignal = new TH2D("fhJetPtCenEMCalAreaCutSignal","Jet p_{T} distribution for reconstructed Jets within the EMCal with Area and Signal Cut vs Centrality",JetPtBins, JetPtLow, JetPtUp, fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
712 fhJetPtCenEMCalAreaCutSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
713 fhJetPtCenEMCalAreaCutSignal->GetYaxis()->SetTitle("Centrality (V0M)");
714 fhJetPtCenEMCalAreaCutSignal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
715 fhJetPtCenEMCalAreaCutSignal->Sumw2();
716
717 // Jet Area vs pT Distribution
718 Int_t JetPtAreaBins=200;
719 Double_t JetPtAreaLow=0.0;
720 Double_t JetPtAreaUp=2.0;
721
78246241 722 fhJetPtArea = new TH2D("fhJetPtArea","Jet Area Distribution",JetPtBins, JetPtLow,JetPtUp,JetPtAreaBins,JetPtAreaLow,JetPtAreaUp);
ac6a3f1e 723 fhJetPtArea->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 724 fhJetPtArea->GetYaxis()->SetTitle("A_{jet}");
78246241 725 fhJetPtArea->GetZaxis()->SetTitle("1/N_{Events} dN/dA_{jet}dp_{T}");
ac6a3f1e 726 fhJetPtArea->Sumw2();
727
c54b626a 728 Int_t A1_PtBins = 100;
729 Double_t A1_PtLow=0.0;
730 Double_t A1_PtUp=100.0;
731 Int_t A1_TrigBins = 100;
732 Double_t A1_TrigLow=0.0;
733 Double_t A1_TrigUp=100.0;
734 Int_t A1_RBins = 16;
735 Double_t A1_RLow=0.4;
736 Double_t A1_RUp=2.0;
737
738 fhJetTrigR1A = new TH3D("fhJetTrigR1A","Jet p_{T} distribution for reconstructed Jets vs Trigger Jet p_{T} vs #DeltaR",A1_PtBins, A1_PtLow, A1_PtUp,A1_TrigBins, A1_TrigLow, A1_TrigUp,A1_RBins, A1_RLow, A1_RUp);
ac6a3f1e 739 fhJetTrigR1A->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 740 fhJetTrigR1A->GetYaxis()->SetTitle("Trigger Jet p_{T} (GeV/c)");
741 fhJetTrigR1A->GetZaxis()->SetTitle("R");
ac6a3f1e 742 fhJetTrigR1A->Sumw2();
743
c54b626a 744 // Corrected Jet Spectra
745 Int_t JetTPtBins = 250;
746 Double_t JetTPtLow=-50.0;
747 Double_t JetTPtUp=200.0;
ac6a3f1e 748
c54b626a 749 fhJetTPtRhoTotal = new TH1D("fhJetTPtRhoTotal","True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 750 fhJetTPtRhoTotal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 751 fhJetTPtRhoTotal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 752 fhJetTPtRhoTotal->Sumw2();
753
c54b626a 754 fhJetTPtRhoTotalSignal = new TH1D("fhJetTPtRhoTotalSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 755 fhJetTPtRhoTotalSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 756 fhJetTPtRhoTotalSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 757 fhJetTPtRhoTotalSignal->Sumw2();
758
c54b626a 759 fhJetTPtRhoNoLeading = new TH1D("fhJetTPtRhoNoLeading","True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 760 fhJetTPtRhoNoLeading->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 761 fhJetTPtRhoNoLeading->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 762 fhJetTPtRhoNoLeading->Sumw2();
763
c54b626a 764 fhJetTPtRhoNoLeadingSignal = new TH1D("fhJetTPtRhoNoLeadingSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 765 fhJetTPtRhoNoLeadingSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 766 fhJetTPtRhoNoLeadingSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 767 fhJetTPtRhoNoLeadingSignal->Sumw2();
768
c54b626a 769 fhJetTPt1B = new TH1D("fhJetTPt1B","True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 770 fhJetTPt1B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 771 fhJetTPt1B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 772 fhJetTPt1B->Sumw2();
773
c54b626a 774 fhJetTPt1BSignal = new TH1D("fhJetTPt1BSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
ac6a3f1e 775 fhJetTPt1BSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 776 fhJetTPt1BSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 777 fhJetTPt1BSignal->Sumw2();
778
c54b626a 779 fhJetTPt1C = new TH1D("fhJetTPt1C","True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetPtBins,JetPtLow,JetPtUp);
780 fhJetTPt1C->GetXaxis()->SetTitle("p_{T} (GeV/c)");
781 fhJetTPt1C->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
782 fhJetTPt1C->Sumw2();
783
784 fhJetTPt2B = new TH1D("fhJetTPt2B","True Jet p_{T} distribution for reconstructed Jets in the EMCal with dijet Trigger in TPC",JetTPtBins, JetTPtLow, JetTPtUp);
785 fhJetTPt2B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
786 fhJetTPt2B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
787 fhJetTPt2B->Sumw2();
ac6a3f1e 788
c54b626a 789 fhJetTPt3 = new TH1D("fhJetTPt3","True Charged jet p_{T} distribution for reconstructed Jets in the TPC",JetTPtBins, JetTPtLow, JetTPtUp);
790 fhJetTPt3->GetXaxis()->SetTitle("p_{T} (GeV/c)");
791 fhJetTPt3->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
792 fhJetTPt3->Sumw2();
793
794 // 0-20% Centrality Corrected Spectra (fh020JetTPt...)
795 fh020JetTPtRhoTotal = new TH1D("fh020JetTPtRhoTotal","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
796 fh020JetTPtRhoTotal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
797 fh020JetTPtRhoTotal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
798 fh020JetTPtRhoTotal->Sumw2();
799
800 fh020JetTPtRhoTotalSignal = new TH1D("fh020JetTPtRhoTotalSignal","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut",JetTPtBins, JetTPtLow, JetTPtUp);
801 fh020JetTPtRhoTotalSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
802 fh020JetTPtRhoTotalSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
803 fh020JetTPtRhoTotalSignal->Sumw2();
804
805 fh020JetTPtRhoNoLeading = new TH1D("fh020JetTPtRhoNoLeading","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
806 fh020JetTPtRhoNoLeading->GetXaxis()->SetTitle("p_{T} (GeV/c)");
807 fh020JetTPtRhoNoLeading->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
808 fh020JetTPtRhoNoLeading->Sumw2();
809
810 fh020JetTPtRhoNoLeadingSignal = new TH1D("fh020JetTPtRhoNoLeadingSignal","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut",JetTPtBins, JetTPtLow, JetTPtUp);
811 fh020JetTPtRhoNoLeadingSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
812 fh020JetTPtRhoNoLeadingSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
813 fh020JetTPtRhoNoLeadingSignal->Sumw2();
814
815 fh020JetTPt1B = new TH1D("fh020JetTPt1B","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
816 fh020JetTPt1B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
817 fh020JetTPt1B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
818 fh020JetTPt1B->Sumw2();
819
820 fh020JetTPt1BSignal = new TH1D("fh020JetTPt1BSignal","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetTPtBins, JetTPtLow, JetTPtUp);
821 fh020JetTPt1BSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
822 fh020JetTPt1BSignal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
823 fh020JetTPt1BSignal->Sumw2();
824
825 fh020JetTPt1C = new TH1D("fh020JetTPt1C","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal",JetPtBins,JetPtLow,JetPtUp);
826 fh020JetTPt1C->GetXaxis()->SetTitle("p_{T} (GeV/c)");
827 fh020JetTPt1C->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
828 fh020JetTPt1C->Sumw2();
829
830 fh020JetTPt2B = new TH1D("fh020JetTPt2B","0-20% True Jet p_{T} distribution for reconstructed Jets in the EMCal with dijet Trigger in TPC",JetTPtBins, JetTPtLow, JetTPtUp);
831 fh020JetTPt2B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
832 fh020JetTPt2B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
833 fh020JetTPt2B->Sumw2();
834
835 fh020JetTPt3 = new TH1D("fh020JetTPt3","0-20% True Charged jet p_{T} distribution for reconstructed Jets in the TPC",JetTPtBins, JetTPtLow, JetTPtUp);
836 fh020JetTPt3->GetXaxis()->SetTitle("p_{T} (GeV/c)");
837 fh020JetTPt3->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
838 fh020JetTPt3->Sumw2();
839
840 // 2D Corrected Spectra (fhJetTPtCen...)
841 fhJetTPtCenRhoTotal = new TH2D("fhJetTPtCenRhoTotal","True Jet p_{T} distribution for reconstructed Jets in the EMCal vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
842 fhJetTPtCenRhoTotal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
843 fhJetTPtCenRhoTotal->GetYaxis()->SetTitle("Centrality (V0M)");
844 fhJetTPtCenRhoTotal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
845 fhJetTPtCenRhoTotal->Sumw2();
846
847 fhJetTPtCenRhoTotalSignal = new TH2D("fhJetTPtCenRhoTotalSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
848 fhJetTPtCenRhoTotalSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
849 fhJetTPtCenRhoTotalSignal->GetYaxis()->SetTitle("Centrality (V0M)");
850 fhJetTPtCenRhoTotalSignal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
851 fhJetTPtCenRhoTotalSignal->Sumw2();
852
853 fhJetTPtCenRhoNoLeading = new TH2D("fhJetTPtCenRhoNoLeading","True Jet p_{T} distribution for reconstructed Jets in the EMCal vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
854 fhJetTPtCenRhoNoLeading->GetXaxis()->SetTitle("p_{T} (GeV/c)");
855 fhJetTPtCenRhoNoLeading->GetYaxis()->SetTitle("Centrality (V0M)");
856 fhJetTPtCenRhoNoLeading->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
857 fhJetTPtCenRhoNoLeading->Sumw2();
858
859 fhJetTPtCenRhoNoLeadingSignal = new TH2D("fhJetTPtCenRhoNoLeadingSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal with Signal cut vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
860 fhJetTPtCenRhoNoLeadingSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
861 fhJetTPtCenRhoNoLeadingSignal->GetYaxis()->SetTitle("Centrality (V0M)");
862 fhJetTPtCenRhoNoLeadingSignal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
863 fhJetTPtCenRhoNoLeadingSignal->Sumw2();
864
865 fhJetTPtCen1B = new TH2D("fhJetTPtCen1B","True Jet p_{T} distribution for reconstructed Jets in the EMCal vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
866 fhJetTPtCen1B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
867 fhJetTPtCen1B->GetYaxis()->SetTitle("Centrality (V0M)");
868 fhJetTPtCen1B->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
869 fhJetTPtCen1B->Sumw2();
870
871 fhJetTPtCen1BSignal = new TH2D("fhJetTPtCen1BSignal","True Jet p_{T} distribution for reconstructed Jets in the EMCal vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
872 fhJetTPtCen1BSignal->GetXaxis()->SetTitle("p_{T} (GeV/c)");
873 fhJetTPtCen1BSignal->GetYaxis()->SetTitle("Centrality (V0M)");
874 fhJetTPtCen1BSignal->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
875 fhJetTPtCen1BSignal->Sumw2();
876
877 fhJetTPtCen1C = new TH2D("fhJetTPtCen1C","True Jet p_{T} distribution for reconstructed Jets in the EMCal vs Centrality",JetPtBins,JetPtLow,JetPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
878 fhJetTPtCen1C->GetXaxis()->SetTitle("p_{T} (GeV/c)");
879 fhJetTPtCen1C->GetYaxis()->SetTitle("Centrality (V0M)");
880 fhJetTPtCen1C->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
881 fhJetTPtCen1C->Sumw2();
882
883 fhJetTPtCen2B = new TH2D("fhJetTPtCen2B","True Jet p_{T} distribution for reconstructed Jets in the EMCal with dijet Trigger in TPC vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
884 fhJetTPtCen2B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
885 fhJetTPtCen2B->GetYaxis()->SetTitle("Centrality (V0M)");
886 fhJetTPtCen2B->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
887 fhJetTPtCen2B->Sumw2();
888
889 fhJetTPtCen3 = new TH2D("fhJetTPtCen3","True Charged jet p_{T} distribution for reconstructed Jets in the TPC vs Centrality",JetTPtBins, JetTPtLow, JetTPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
890 fhJetTPtCen3->GetXaxis()->SetTitle("p_{T} (GeV/c)");
891 fhJetTPtCen3->GetYaxis()->SetTitle("Centrality (V0M)");
892 fhJetTPtCen3->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
893 fhJetTPtCen3->Sumw2();
894
895 // Cluster Plots
896 fhEMCalBckg1B = new TH1D("fhEMCalBckg1B","Cluster p_{T} distribution for reconstructed Tracks and Calocluster at least 0.5 away from all jets in the EMCal",JetPtBins, JetPtLow,JetPtUp);
ac6a3f1e 897 fhEMCalBckg1B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
c54b626a 898 fhEMCalBckg1B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 899 fhEMCalBckg1B->Sumw2();
900
c54b626a 901 fhEMCalBckg1C = new TH1D("fhEMCalBckg1C","Cluster p_{T} distribution for reconstructed Tracks and Calocluster in Transverse area with R=0.4",JetPtBins, JetPtLow, JetPtUp);
902 fhEMCalBckg1C->GetXaxis()->SetTitle("p_{T} (GeV/c)");
903 fhEMCalBckg1C->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
904 fhEMCalBckg1C->Sumw2();
ac6a3f1e 905
c54b626a 906 fhEMCalJet2A = new TH1D("fhEMCalJet2A","Cluster p_{T} distribution for jets within EMCal from di-jets in TPC",A1_PtBins,A1_PtLow,A1_PtUp);
907 fhEMCalJet2A->GetXaxis()->SetTitle("p_{T} (GeV/c)");
908 fhEMCalJet2A->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
909 fhEMCalJet2A->Sumw2();
78246241 910
911 fh020EMCalJet2A = new TH1D("fh020EMCalJet2A","0-20% Centrality, Cluster p_{T} distribution for jets within EMCal from di-jets in TPC",A1_PtBins,A1_PtLow,A1_PtUp);
912 fh020EMCalJet2A->GetXaxis()->SetTitle("p_{T} (GeV/c)");
913 fh020EMCalJet2A->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
914 fh020EMCalJet2A->Sumw2();
915
916 fhEMCalCenJet2A = new TH2D("fhEMCalCenJet2A","Cluster p_{T} distribution for jets within EMCal from di-jets in TPC",A1_PtBins,A1_PtLow,A1_PtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
917 fhEMCalCenJet2A->GetXaxis()->SetTitle("p_{T} (GeV/c)");
918 fhEMCalCenJet2A->GetYaxis()->SetTitle("Centrality (V0M)");
919 fhEMCalCenJet2A->GetZaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
920 fhEMCalCenJet2A->Sumw2();
921
c54b626a 922 fhEMCalBckg2B = new TH1D("fhEMCalBckg2B","Cluster p_{T} distribution for reconstructed Tracks and Calocluster with dijet Trigger in TPC with R=0.4",JetPtBins, JetPtLow, JetPtUp);
923 fhEMCalBckg2B->GetXaxis()->SetTitle("p_{T} (GeV/c)");
924 fhEMCalBckg2B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
925 fhEMCalBckg2B->Sumw2();
ac6a3f1e 926
78246241 927
928 Int_t EMCalClusterBins=100;
929 Int_t EMCalClusterLow=0;
930 Int_t EMCalClusterUp=100;
931
932 fh020EMCalkTClusters = new TH1D("fh020EMCalkTClusters","0-20 % Centrality, Number of k_{T} clusters per event",EMCalClusterBins,EMCalClusterLow,EMCalClusterUp);
933 fh020EMCalkTClusters->GetXaxis()->SetTitle("# of Clusters");
934 fh020EMCalkTClusters->GetYaxis()->SetTitle("1/N_{Events}");
935 fh020EMCalkTClusters->Sumw2();
936
937 fh020EMCalAkTJets = new TH1D("fh020EMCalAkTJets","0-20 % Centrality, Number of anti-k_{T} jets per event",EMCalClusterBins,EMCalClusterLow,EMCalClusterUp);
938 fh020EMCalAkTJets->GetXaxis()->SetTitle("# of jets");
939 fh020EMCalAkTJets->GetYaxis()->SetTitle("1/N_{Events}");
940 fh020EMCalAkTJets->Sumw2();
941
c54b626a 942 // Background Density Plots
943 // 2D Rho plots (fhRho...)
944 Int_t RhoPtBins = 500;
945 Double_t RhoPtLow=0.0;
946 Double_t RhoPtUp=50.0;
947
78246241 948 Int_t DeltaRhoPtBins=100;
949 Double_t DeltaRhoPtLow=-5.0;
950 Double_t DeltaRhoPtUp=5.0;
951
c54b626a 952 fhRhoTotal= new TH2D("fhRhoTotal","Background Density #rho_{0}",RhoPtBins,RhoPtLow,RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
953 fhRhoTotal->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
954 fhRhoTotal->GetYaxis()->SetTitle("Centrality (V0M)");
955 fhRhoTotal->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
956 fhRhoTotal->Sumw2();
957
78246241 958 fhRhoNoLeading= new TH2D("fhRhoNoLeading","Background Density #rho_{1}",RhoPtBins,RhoPtLow,RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
c54b626a 959 fhRhoNoLeading->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
960 fhRhoNoLeading->GetYaxis()->SetTitle("Centrality (V0M)");
961 fhRhoNoLeading->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
962 fhRhoNoLeading->Sumw2();
963
964 fhRho1B = new TH2D("fhRho1B","Background Density #rho_{n} ",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
ac6a3f1e 965 fhRho1B->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
c54b626a 966 fhRho1B->GetYaxis()->SetTitle("Centrality (V0M)");
967 fhRho1B->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
ac6a3f1e 968 fhRho1B->Sumw2();
969
c54b626a 970 fhRho1C = new TH2D("fhRho1C","Background Density #rho (Method 1C)",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
ac6a3f1e 971 fhRho1C->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
c54b626a 972 fhRho1C->GetYaxis()->SetTitle("Centrality (V0M)");
973 fhRho1C->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
ac6a3f1e 974 fhRho1C->Sumw2();
975
c54b626a 976 fhRho2B = new TH2D("fhRho2B","Background Density #rho_{dijet}",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
977 fhRho2B->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
978 fhRho2B->GetYaxis()->SetTitle("Centrality (V0M)");
979 fhRho2B->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
980 fhRho2B->Sumw2();
ac6a3f1e 981
78246241 982 fhRho2BCore = new TH2D("fhRho2BCore","Background Density #rho_{dijet}",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
983 fhRho2BCore->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
984 fhRho2BCore->GetYaxis()->SetTitle("Centrality (V0M)");
985 fhRho2BCore->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
986 fhRho2BCore->Sumw2();
987
c54b626a 988 fhRho3 = new TH2D("fhRho3","Charged Background Density #rho_{char}",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
989 fhRho3->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
990 fhRho3->GetYaxis()->SetTitle("Centrality (V0M)");
991 fhRho3->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
992 fhRho3->Sumw2();
ac6a3f1e 993
78246241 994 fhRho3NoJets = new TH2D("fhRho3NoJets","Charged Background Density #rho_{char} for Events with No Signal Jets",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
995 fhRho3NoJets->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
996 fhRho3NoJets->GetYaxis()->SetTitle("Centrality (V0M)");
997 fhRho3NoJets->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
998 fhRho3NoJets->Sumw2();
999
1000 fhRho3DiJets = new TH2D("fhRho3DiJets","Charged Background Density #rho_{char} for Events with a DiJet",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
1001 fhRho3DiJets->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1002 fhRho3DiJets->GetYaxis()->SetTitle("Centrality (V0M)");
1003 fhRho3DiJets->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
1004 fhRho3DiJets->Sumw2();
1005
1006 fhRho3Perp = new TH2D("fhRho3Perp","Charged Background Density #rho_{char} for Events with a DiJet at Median Angle Between Dijets",RhoPtBins, RhoPtLow, RhoPtUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
1007 fhRho3Perp->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1008 fhRho3Perp->GetYaxis()->SetTitle("Centrality (V0M)");
1009 fhRho3Perp->GetZaxis()->SetTitle("1/N_{Events} dN/d#rho");
1010 fhRho3Perp->Sumw2();
1011
c54b626a 1012 // 0-20% Centrality Plots (rh020Rho...)
1013 fh020RhoTotal = new TH1D("fh020RhoTotal","0-20% Background Density #rho_{0}",RhoPtBins,RhoPtLow,RhoPtUp);
1014 fh020RhoTotal->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1015 fh020RhoTotal->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1016 fh020RhoTotal->Sumw2();
1017
1018 fh020RhoNoLeading = new TH1D("fh020RhoNoLeading","0-20% Background Density #rho_{1}",RhoPtBins,RhoPtLow,RhoPtUp);
1019 fh020RhoNoLeading->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
78246241 1020 fh020RhoNoLeading->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1021 fh020RhoNoLeading->Sumw2();
c54b626a 1022
1023 fh020Rho1B = new TH1D("fh020Rho1B","0-20% Background Density #rho_{n}",RhoPtBins,RhoPtLow,RhoPtUp);
1024 fh020Rho1B->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1025 fh020Rho1B->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1026 fh020Rho1B->Sumw2();
1027
1028 fh020Rho2B = new TH1D("fh020Rho2B","0-20% Background Density #rho_{dijet}",RhoPtBins,RhoPtLow,RhoPtUp);
1029 fh020Rho2B->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1030 fh020Rho2B->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1031 fh020Rho2B->Sumw2();
1032
78246241 1033 fh020Rho2BCore = new TH1D("fh020Rho2BCore","0-20% Background Density #rho_{dijet}",RhoPtBins,RhoPtLow,RhoPtUp);
1034 fh020Rho2BCore->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1035 fh020Rho2BCore->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1036 fh020Rho2BCore->Sumw2();
1037
c54b626a 1038 fh020Rho3 = new TH1D("fh020Rho3","0-20% Charged Background Density #rho_{char}",RhoPtBins,RhoPtLow,RhoPtUp);
1039 fh020Rho3->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1040 fh020Rho3->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1041 fh020Rho3->Sumw2();
78246241 1042
1043 fh020Rho3NoJets = new TH1D("fh020Rho3NoJets","0-20% Charged Background Density #rho_{char} for Events with No Signal Jets",RhoPtBins,RhoPtLow,RhoPtUp);
1044 fh020Rho3NoJets->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1045 fh020Rho3NoJets->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1046 fh020Rho3NoJets->Sumw2();
1047
1048 fh020Rho3DiJets = new TH1D("fh020Rho3DiJets","0-20% Charged Background Density #rho_{char} for Events with a DiJet",RhoPtBins,RhoPtLow,RhoPtUp);
1049 fh020Rho3DiJets->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1050 fh020Rho3DiJets->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1051 fh020Rho3DiJets->Sumw2();
1052
1053 fh020Rho3Perp = new TH1D("fh020Rho3Perp","0-20% Charged Background Density #rho_{char} for Events with a DiJet at Median Angle Between Dijets",RhoPtBins,RhoPtLow,RhoPtUp);
1054 fh020Rho3Perp->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1055 fh020Rho3Perp->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1056 fh020Rho3Perp->Sumw2();
1057
1058 fh020RhokT = new TH1D("fh020RhokT","0-20% Background Density #rho_{k_{T}}",RhoPtBins,RhoPtLow,RhoPtUp);
1059 fh020RhokT->GetXaxis()->SetTitle("p_{T}/Area (GeV/c)");
1060 fh020RhokT->GetYaxis()->SetTitle("1/N_{Events} dN/d#rho");
1061 fh020RhokT->Sumw2();
1062
c54b626a 1063 // Delta pT Plots
1064 Int_t DeltaPtBins=150;
1065 Double_t DeltaPtLow=-50.0;
1066 Double_t DeltaPtUp=100.0;
1067
1068 fhDeltaPtTotal = new TH1D("fhDeltaPtTotal","#deltap_{T} distribution for Random Cones using total #rho",DeltaPtBins,DeltaPtLow,DeltaPtUp);
1069 fhDeltaPtTotal->GetXaxis()->SetTitle("#deltap_{T} (GeV/c)");
1070 fhDeltaPtTotal->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 1071 fhDeltaPtTotal->Sumw2();
1072
c54b626a 1073 fhDeltaPtNoLeading = new TH1D("fhDeltaPtNoLeading","#deltap_{T} distribution for Random Cones using leading jet #rho",DeltaPtBins,DeltaPtLow,DeltaPtUp);
1074 fhDeltaPtNoLeading->GetXaxis()->SetTitle("#deltap_{T} (GeV/c)");
1075 fhDeltaPtNoLeading->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 1076 fhDeltaPtNoLeading->Sumw2();
1077
c54b626a 1078 fhDeltaPt1B = new TH1D("fhDeltaPt1B","#deltap_{T} distribution for Random Cones using method 1B #rho",DeltaPtBins,DeltaPtLow,DeltaPtUp);
1079 fhDeltaPt1B->GetXaxis()->SetTitle("#deltap_{T} (GeV/c)");
1080 fhDeltaPt1B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
ac6a3f1e 1081 fhDeltaPt1B->Sumw2();
ac6a3f1e 1082
c54b626a 1083 fhDeltaPt2B = new TH1D("fhDeltaPt2B","#deltap_{T} distribution for Random Cones using method 2B #rho",DeltaPtBins,DeltaPtLow,DeltaPtUp);
1084 fhDeltaPt2B->GetXaxis()->SetTitle("#deltap_{T} (GeV/c)");
1085 fhDeltaPt2B->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
1086 fhDeltaPt2B->Sumw2();
ac6a3f1e 1087
c54b626a 1088 fhDeltaPtkT = new TH1D("fhDeltaPtkT","#deltap_{T} distribution for Random Cones using kT #rho",DeltaPtBins,DeltaPtLow,DeltaPtUp);
1089 fhDeltaPtkT->GetXaxis()->SetTitle("#deltap_{T} (GeV/c)");
1090 fhDeltaPtkT->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
1091 fhDeltaPtkT->Sumw2();
ac6a3f1e 1092
78246241 1093 fhDeltaRho01 = new TH1D("fhDeltaRho01","Event by Event Differential between #rho_{0} and #rho_{1}",RhoPtBins,RhoPtLow,RhoPtUp);
c54b626a 1094 fhDeltaRho01->GetXaxis()->SetTitle("p_{T} (GeV/c)");
78246241 1095 fhDeltaRho01->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
c54b626a 1096 fhDeltaRho01->Sumw2();
78246241 1097
1098 fhDeltaRho0DiJet = new TH1D("fhDeltaRho0DiJet","Event by Event Differential between #rho_{0} and #rho_{dijet}",DeltaRhoPtBins,DeltaRhoPtLow,DeltaRhoPtUp);
1099 fhDeltaRho0DiJet->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1100 fhDeltaRho0DiJet->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
1101 fhDeltaRho0DiJet->Sumw2();
1102
1103 // DiJet Plots
1104 Int_t DiJetBins=20;
1105 Double_t DiJetLow=0.0;
1106 Double_t DiJetUp=1.0;
1107
1108 fh020DiJetAsy = new TH1D("fh020DiJetAsy","0-20% Centrality, Di-Jet Asymmetry",DiJetBins,DiJetLow,DiJetUp);
1109 fh020DiJetAsy->GetXaxis()->SetTitle("A_{j}");
1110 fh020DiJetAsy->GetYaxis()->SetTitle("1/N_{Events} dN/dA_{j}");
1111 fh020DiJetAsy->Sumw2();
1112
1113 fhDiJetCenAsy = new TH2D("fhDiJetCenAsy","Di-Jet Asymmetry",DiJetBins,DiJetLow,DiJetUp,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
1114 fhDiJetCenAsy->GetXaxis()->SetTitle("A_{j}");
1115 fhDiJetCenAsy->GetYaxis()->SetTitle("Centrality (V0M)");
1116 fhDiJetCenAsy->GetZaxis()->SetTitle("1/N_{Events} dN/dA_{j}");
1117 fhDiJetCenAsy->Sumw2();
1118
1119 fh020DiJetDeltaPhi = new TH1D("fh020DiJetDeltaPhi","0-20% Centrality, Di-Jet #Delta#phi",TCBins,fTPCPhiMin,0.5*fTPCPhiMax);
1120 fh020DiJetDeltaPhi->GetXaxis()->SetTitle("#Delta#phi");
1121 fh020DiJetDeltaPhi->GetYaxis()->SetTitle("1/N_{Events} dN/d#Delta#phi");
1122 fh020DiJetDeltaPhi->Sumw2();
1123
1124 fhDiJetCenDeltaPhi = new TH2D("fhDiJetCenDeltaPhi","Di-Jet #Delta#phi",TCBins,fTPCPhiMin,0.5*fTPCPhiMax,fCentralityBins*CentralityBinMult,fCentralityLow,fCentralityUp);
1125 fhDiJetCenDeltaPhi->GetXaxis()->SetTitle("#Delta#phi");
1126 fhDiJetCenDeltaPhi->GetYaxis()->SetTitle("Centrality (V0M)");
1127 fhDiJetCenDeltaPhi->GetZaxis()->SetTitle("1/N_{Events} dN/d#Delta#phi");
1128 fhDiJetCenDeltaPhi->Sumw2();
1129
1130 fhDiJetEMCalLeadingPt = new TH1D("fhDiJetEMCalLeadingPt","Leading EMCal anti-k_{T} cluster p_{T} in a dijet event",EMCalClusterBins,EMCalClusterLow,EMCalClusterUp);
1131 fhDiJetEMCalLeadingPt->GetXaxis()->SetTitle("p_{T}");
1132 fhDiJetEMCalLeadingPt->GetYaxis()->SetTitle("1/N_{Events} dN/dp_{T}");
1133 fhDiJetEMCalLeadingPt->Sumw2();
1134
1135 fhDiJetEMCalLeadingDeltaPhi = new TH1D("fhDiJetEMCalLeadingDeltaPhi","Leading EMCal anti-k_{T} cluster #Delta#phi in a dijet event",TCBins,fTPCPhiMin,0.5*fTPCPhiMax);
1136 fhDiJetEMCalLeadingDeltaPhi->GetXaxis()->SetTitle("#Delta#phi");
1137 fhDiJetEMCalLeadingDeltaPhi->GetYaxis()->SetTitle("1/N_{Events} dN/d#Delta#phi");
1138 fhDiJetEMCalLeadingDeltaPhi->Sumw2();
ac6a3f1e 1139
c54b626a 1140 // Profiles
1141 // Background Density vs Centrality (fpRho...)
1142 fpRhoTotal = new TProfile("fpRhoTotal","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
ac6a3f1e 1143 fpRhoTotal->GetXaxis()->SetTitle("Centrality (V0M)");
c54b626a 1144 fpRhoTotal->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
ac6a3f1e 1145
c54b626a 1146 fpRhoNoLeading = new TProfile("fpRhoNoLeading","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
ac6a3f1e 1147 fpRhoNoLeading->GetXaxis()->SetTitle("Centrality (V0M)");
1148 fpRhoNoLeading->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1149
c54b626a 1150 fpRho1B = new TProfile("fpRho1B","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
ac6a3f1e 1151 fpRho1B->GetXaxis()->SetTitle("Centrality (V0M)");
1152 fpRho1B->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1153
c54b626a 1154 fpRho2B = new TProfile("fpRho2B","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1155 fpRho2B->GetXaxis()->SetTitle("Centrality (V0M)");
1156 fpRho2B->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1157
78246241 1158 fpRho2BCore = new TProfile("fpRho2BCore","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1159 fpRho2BCore->GetXaxis()->SetTitle("Centrality (V0M)");
1160 fpRho2BCore->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1161
c54b626a 1162 fpRho3 = new TProfile("fpRho3","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
ac6a3f1e 1163 fpRho3->GetXaxis()->SetTitle("Centrality (V0M)");
1164 fpRho3->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1165
78246241 1166 fpRho3NoJets = new TProfile("fpRho3NoJets","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1167 fpRho3NoJets->GetXaxis()->SetTitle("Centrality (V0M)");
1168 fpRho3NoJets->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1169
1170 fpRho3DiJets = new TProfile("fpRho3DiJets","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1171 fpRho3DiJets->GetXaxis()->SetTitle("Centrality (V0M)");
1172 fpRho3DiJets->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1173
1174 fpRho3Perp = new TProfile("fpRho3Perp","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1175 fpRho3Perp->GetXaxis()->SetTitle("Centrality (V0M)");
1176 fpRho3Perp->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1177
c54b626a 1178 fpRhoScale = new TProfile("fpRhoScale","Scaling Factor Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
ac6a3f1e 1179 fpRhoScale->GetXaxis()->SetTitle("Centrality (V0M)");
1180 fpRhoScale->GetYaxis()->SetTitle("Scale Factor");
1181
c54b626a 1182 fpRhokT = new TProfile("fpRhokT","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1183 fpRhokT->GetXaxis()->SetTitle("Centrality (V0M)");
1184 fpRhokT->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1185
78246241 1186 fpRhoChargedkT = new TProfile("fpRhoChargedkT","Background Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1187 fpRhoChargedkT->GetXaxis()->SetTitle("Centrality (V0M)");
1188 fpRhoChargedkT->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1189
1190 fpRhoScalekT = new TProfile("fpRhoScalekT","Scaling Factor Profile vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1191 fpRhoScalekT->GetXaxis()->SetTitle("Centrality (V0M)");
1192 fpRhoScalekT->GetYaxis()->SetTitle("Scale Factor");
1193
c54b626a 1194 // Others
1195 fpEventMult = new TProfile("fpEventMult","Event Multiplcity vs Centrality",CentralityBinMult*fCentralityBins,fCentralityLow,fCentralityUp);
1196 fpEventMult->GetXaxis()->SetTitle("Centrality (V0M)");
1197 fpEventMult->GetYaxis()->SetTitle("Multiplicity");
1198
1199 fpJetPtRhoTotal = new TProfile("fpJetPtRhoTotal","#rho_{0} Profile vs Leading jet p_{T}",JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 1200 fpJetPtRhoTotal->GetXaxis()->SetTitle("Leading jet p_{T} (GeV/c)");
1201 fpJetPtRhoTotal->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1202
c54b626a 1203 fpJetPtRhoNoLeading = new TProfile("fpJetPtRhoNoLeading","#rho_{1} Profile vs Leading jet p_{T}",JetPtBins,JetPtLow,JetPtUp);
ac6a3f1e 1204 fpJetPtRhoNoLeading->GetXaxis()->SetTitle("Leading jet p_{T} (GeV/c)");
1205 fpJetPtRhoNoLeading->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
c54b626a 1206
78246241 1207 fpJetPtRhokT = new TProfile("fpJetPtRhokT","#rho_{k_{T}} Profile vs Leading jet p_{T}",JetPtBins,JetPtLow,JetPtUp);
1208 fpJetPtRhokT->GetXaxis()->SetTitle("Leading jet p_{T} (GeV/c)");
1209 fpJetPtRhokT->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1210
c54b626a 1211 // QA::2D Energy Density Profiles for Tracks and CLusters
1212 fpTrackPtProfile = new TProfile2D("fpTrackPtProfile","2D Profile of track pT density throughout the TPC",TCBins,fTPCEtaMin,fTPCEtaMax,TCBins,fTPCPhiMin,fTPCPhiMax);
1213 fpTrackPtProfile->GetXaxis()->SetTitle("#eta");
1214 fpTrackPtProfile->GetYaxis()->SetTitle("#phi");
1215 fpTrackPtProfile->GetZaxis()->SetTitle("p_{T} density (GeV/Area)");
1216
1217 fpClusterPtProfile = new TProfile2D("fpClusterPtProfile","2D Profile of cluster pT density throughout the EMCal",TCBins,fEMCalEtaMin,fEMCalEtaMax,TCBins,fEMCalPhiMin,fEMCalPhiMax);
1218 fpClusterPtProfile->GetXaxis()->SetTitle("#eta");
1219 fpClusterPtProfile->GetYaxis()->SetTitle("#phi");
1220 fpClusterPtProfile->GetZaxis()->SetTitle("p_{T} density (GeV/Area)");
ac6a3f1e 1221
1222 TString temp_name="";
1223 TString title_name="";
1224
1225 fEtaProfileBins=14;
1226 fEtaProfileLow=-0.7;
1227 fEtaProfileUp=0.7;
1228
1229 for (Int_t i=0;i<14;i++)
1230 {
1231 temp_name=Form("fpJetEtaProfile%d",i);
1232 title_name=Form("Jet Energy Density #eta Profile for ALL p_{T}, 0-20 Centrality, and eta=%g to %g",(i-7)/10.,(i-6)/10.);
1233
1234 fpJetEtaProfile[i]= new TProfile(temp_name,title_name,fEtaProfileBins,fEtaProfileLow,fEtaProfileUp);
1235 fpJetEtaProfile[i]->GetXaxis()->SetTitle("#eta");
1236 fpJetEtaProfile[i]->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1237 fOutput->Add(fpJetEtaProfile[i]);
1238 temp_name="";
1239 title_name="";
1240
1241 temp_name=Form("fpJetAbsEtaProfile%d",i);
1242 title_name=Form("Jet Energy Density #Delta #eta Profile for ALL p_{T}, 0-20 Centrality, and eta=%g to %g",(i-7)/10.,(i-6)/10.);
1243
1244 fpJetAbsEtaProfile[i]= new TProfile(temp_name,title_name,fEtaProfileBins,0,2*fEtaProfileUp);
1245 fpJetAbsEtaProfile[i]->GetXaxis()->SetTitle("#Delta#eta");
1246 fpJetAbsEtaProfile[i]->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1247 fOutput->Add(fpJetAbsEtaProfile[i]);
1248 temp_name="";
1249 title_name="";
1250}
1251
1252 fEDProfileRBins=50;
1253 fEDProfileRLow=0.0;
1254 fEDProfileRUp=0.5;
1255 fEDProfilePtBins=100;
1256 fEDProfilePtLow=0.0;
1257 fEDProfilePtUp=100.0;
1258 fEDProfileEtaBins=4;
1259 fEDProfileEtaLow=-0.2;
1260 fEDProfileEtaUp=0.2;
1261
1262 for (Int_t i=0;i<8;i++)
1263 {
1264 temp_name=Form("fpChargedJetRProfile%d",i);
1265 title_name=Form("Charged Jet Energy Density Radius Profile for ALL p_{T}, 0-20 Centrality, and eta=%g to %g",(i-4)/10.,(i-3)/10.);
1266
1267 fpChargedJetRProfile[i]= new TProfile(temp_name,title_name,fEDProfileRBins,fEDProfileRLow,fEDProfileRUp);
1268 fpChargedJetRProfile[i]->GetXaxis()->SetTitle("Radius");
1269 fpChargedJetRProfile[i]->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1270 fOutput->Add(fpChargedJetRProfile[i]);
1271 temp_name="";
1272 title_name="";
1273 }
1274
1275 for (Int_t i=0;i<4;i++)
1276 {
1277 temp_name=Form("fpJetRProfile%d",i);
1278 title_name=Form("Jet Energy Density Radius Profile for ALL p_{T}, 0-20 Centrality, and eta=%g to %g",(i-2)/10.,(i-1)/10.);
1279
1280 fpJetRProfile[i]= new TProfile(temp_name,title_name,fEDProfileRBins,fEDProfileRLow,fEDProfileRUp);
1281 fpJetRProfile[i]->GetXaxis()->SetTitle("Radius");
1282 fpJetRProfile[i]->GetYaxis()->SetTitle("p_{T}/Area (GeV/c)");
1283 fOutput->Add(fpJetRProfile[i]);
1284 temp_name="";
1285 title_name="";
1286 }
1287
1288 for (Int_t i=0;i<10;i++)
1289 {
1290 temp_name=Form("fpChargedJetEDProfile%d0",i);
1291 title_name=Form("Charged Jet Energy Density Profile for %d0-%d0 Centrality",i,i+1);
1292
1293 fpChargedJetEDProfile[i]= new TProfile3D(temp_name,title_name,fEDProfilePtBins,fEDProfilePtLow,fEDProfilePtUp,fEDProfileEtaBins+4,fEDProfileEtaLow-0.2,fEDProfileEtaUp+0.2,fEDProfileRBins,fEDProfileRLow,fEDProfileRUp);
1294 fpChargedJetEDProfile[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1295 fpChargedJetEDProfile[i]->GetYaxis()->SetTitle("Pseudorapidity");
1296 fpChargedJetEDProfile[i]->GetZaxis()->SetTitle("Radius");
1297 fOutput->Add(fpChargedJetEDProfile[i]);
1298 temp_name="";
1299 title_name="";
1300
1301 temp_name=Form("fpJetEDProfile%d0",i);
1302 title_name=Form("Jet Energy Density Profile for %d0-%d0 Centrality",i,i+1);
1303
1304 fpJetEDProfile[i]= new TProfile3D(temp_name,title_name,fEDProfilePtBins,fEDProfilePtLow,fEDProfilePtUp,fEDProfileEtaBins,fEDProfileEtaLow,fEDProfileEtaUp,fEDProfileRBins,fEDProfileRLow,fEDProfileRUp);
1305 fpJetEDProfile[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1306 fpJetEDProfile[i]->GetYaxis()->SetTitle("Pseudorapidity");
1307 fpJetEDProfile[i]->GetZaxis()->SetTitle("Radius");
1308 fOutput->Add(fpJetEDProfile[i]);
1309 temp_name="";
1310 title_name="";
1311 }
1312
ac6a3f1e 1313 fOutput->Add(fhTrackPt);
1314 fOutput->Add(fhTrackEta);
1315 fOutput->Add(fhTrackPhi);
1316 fOutput->Add(fhTrackEtaPhi);
1317 fOutput->Add(fhClusterPt);
1318 fOutput->Add(fhClusterEta);
1319 fOutput->Add(fhClusterPhi);
1320 fOutput->Add(fhClusterEtaPhi);
c54b626a 1321 fOutput->Add(fhCentrality);
ac6a3f1e 1322 fOutput->Add(fhBckgMult);
1323 fOutput->Add(fhBckgFluc);
1324 fOutput->Add(fhChargedJetPt);
1325 fOutput->Add(fhChargedJetPtAreaCut);
1326 fOutput->Add(fhJetPtEMCal);
1327 fOutput->Add(fhJetPtEMCalAreaCut);
1328 fOutput->Add(fhJetPtEMCalAreaCutSignal);
1329 fOutput->Add(fhJetPtTPC);
1330 fOutput->Add(fhJetPtTPCAreaCut);
1331 fOutput->Add(fhJetPtArea);
c54b626a 1332 fOutput->Add(fhRhoTotal);
1333 fOutput->Add(fhRhoNoLeading);
ac6a3f1e 1334 fOutput->Add(fhJetTPtRhoTotal);
1335 fOutput->Add(fhJetTPtRhoTotalSignal);
1336 fOutput->Add(fhJetTPtRhoNoLeading);
1337 fOutput->Add(fhJetTPtRhoNoLeadingSignal);
1338 fOutput->Add(fhJetTrigR1A);
1339 fOutput->Add(fhJetTPt1B);
1340 fOutput->Add(fhJetTPt1BSignal);
1341 fOutput->Add(fhEMCalBckg1B);
1342 fOutput->Add(fhRho1B);
1343 fOutput->Add(fhJetTPt1C);
1344 fOutput->Add(fhRho1C);
1345 fOutput->Add(fhEMCalBckg1C);
1346 fOutput->Add(fhEMCalJet2A);
78246241 1347 fOutput->Add(fh020EMCalJet2A);
ac6a3f1e 1348 fOutput->Add(fhJetTPt2B);
1349 fOutput->Add(fhEMCalBckg2B);
1350 fOutput->Add(fhRho2B);
1351 fOutput->Add(fhRho3);
1352 fOutput->Add(fhJetTPt3);
1353 fOutput->Add(fhDeltaPtTotal);
1354 fOutput->Add(fhDeltaPtNoLeading);
1355 fOutput->Add(fhDeltaPt1B);
1356 fOutput->Add(fhJetConstituentPt);
1357 fOutput->Add(fhDeltaRho01);
1358 fOutput->Add(fhEMCalCellCounts);
c54b626a 1359 fOutput->Add(fh020RhoTotal);
1360 fOutput->Add(fh020RhoNoLeading);
1361 fOutput->Add(fh020Rho1B);
1362 fOutput->Add(fh020Rho2B);
1363 fOutput->Add(fh020Rho3);
1364 fOutput->Add(fh020JetPtEMCal);
1365 fOutput->Add(fh020JetPtEMCalAreaCut);
1366 fOutput->Add(fh020JetPtEMCalAreaCutSignal);
1367 fOutput->Add(fh020JetTPtRhoTotal);
1368 fOutput->Add(fh020JetTPtRhoTotalSignal);
1369 fOutput->Add(fh020JetTPtRhoNoLeading);
1370 fOutput->Add(fh020JetTPtRhoNoLeadingSignal);
1371 fOutput->Add(fh020JetTPt1B);
1372 fOutput->Add(fh020JetTPt1BSignal);
1373 fOutput->Add(fh020JetTPt1C);
1374 fOutput->Add(fh020JetTPt2B);
1375 fOutput->Add(fh020JetTPt3);
1376 fOutput->Add(fhDeltaPt2B);
1377 fOutput->Add(fhDeltaPtkT);
78246241 1378 fOutput->Add(fh020DiJetAsy);
1379 fOutput->Add(fh020RhokT);
1380 fOutput->Add(fh020EMCalkTClusters);
1381 fOutput->Add(fh020EMCalAkTJets);
1382 fOutput->Add(fh020DiJetDeltaPhi);
1383 fOutput->Add(fhDiJetEMCalLeadingPt);
1384 fOutput->Add(fhDiJetEMCalLeadingDeltaPhi);
c54b626a 1385 fOutput->Add(fhJetPtCenEMCal);
1386 fOutput->Add(fhJetPtCenEMCalAreaCut);
1387 fOutput->Add(fhJetPtCenEMCalAreaCutSignal);
1388 fOutput->Add(fhJetTPtCenRhoTotal);
1389 fOutput->Add(fhJetTPtCenRhoTotalSignal);
1390 fOutput->Add(fhJetTPtCenRhoNoLeading);
1391 fOutput->Add(fhJetTPtCenRhoNoLeadingSignal);
1392 fOutput->Add(fhJetTPtCen1B);
1393 fOutput->Add(fhJetTPtCen1BSignal);
1394 fOutput->Add(fhJetTPtCen1C);
1395 fOutput->Add(fhJetTPtCen2B);
1396 fOutput->Add(fhJetTPtCen3);
78246241 1397 fOutput->Add(fhDiJetCenAsy);
1398 fOutput->Add(fhDiJetCenDeltaPhi);
1399 fOutput->Add(fhEMCalCenJet2A);
1400 fOutput->Add(fhDeltaRho0DiJet);
1401 fOutput->Add(fh020Rho2BCore);
1402 fOutput->Add(fhRho2BCore);
1403 fOutput->Add(fh020Rho3NoJets);
1404 fOutput->Add(fh020Rho3DiJets);
1405 fOutput->Add(fhRho3NoJets);
1406 fOutput->Add(fhRho3DiJets);
1407 fOutput->Add(fh020Rho3Perp);
1408 fOutput->Add(fhRho3Perp);
1409
ac6a3f1e 1410 fOutput->Add(fpEventMult);
1411 fOutput->Add(fpRhoTotal);
1412 fOutput->Add(fpRhoNoLeading);
1413 fOutput->Add(fpRho1B);
c54b626a 1414 fOutput->Add(fpRho2B);
78246241 1415 fOutput->Add(fpRho2BCore);
ac6a3f1e 1416 fOutput->Add(fpRho3);
78246241 1417 fOutput->Add(fpRho3NoJets);
1418 fOutput->Add(fpRho3DiJets);
1419 fOutput->Add(fpRho3Perp);
ac6a3f1e 1420 fOutput->Add(fpRhoScale);
78246241 1421 fOutput->Add(fpRhokT);
1422 fOutput->Add(fpRhoChargedkT);
1423 fOutput->Add(fpRhoScalekT);
ac6a3f1e 1424 fOutput->Add(fpJetPtRhoTotal);
1425 fOutput->Add(fpJetPtRhoNoLeading);
78246241 1426 fOutput->Add(fpJetPtRhokT);
1427
ac6a3f1e 1428 fOutput->Add(fpTrackPtProfile);
1429 fOutput->Add(fpClusterPtProfile);
78246241 1430
ac6a3f1e 1431 // Post data for ALL output slots >0 here,
1432 // To get at least an empty histogram
1433 // 1 is the outputnumber of a certain weg of task 1
1434 PostData(1, fOutput);
1435}
1436
1437void AliAnalysisTaskFullpAJets::UserExecOnce()
1438{
ac6a3f1e 1439 // Get the event tracks from PicoTracks
1440 TString track_name="PicoTracks";
1441 fmyTracks =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(track_name));
1442
1443 // Get the event caloclusters from CaloClustersCorr
1444 TString cluster_name="CaloClustersCorr";
1445 fmyClusters =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(cluster_name));
1446
1447 // Get charged jets
1448 TString jet_algorithm=Form("Jet_AKTChargedR0%d0_PicoTracks_pT0150",fRJET);
1449 fmyAKTChargedJets =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
1450
78246241 1451 jet_algorithm=Form("Jet_KTChargedR0%d0_PicoTracks_pT0150",fRJET);
1452 fmyKTChargedJets =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
1453
ac6a3f1e 1454 // Get the full jets
1455 jet_algorithm=Form("Jet_AKTFullR0%d0_PicoTracks_pT0150_CaloClustersCorr_ET0300",fRJET);
1456 fmyAKTFullJets =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
1457
1458 jet_algorithm=Form("Jet_KTFullR0%d0_PicoTracks_pT0150_CaloClustersCorr_ET0300",fRJET);
1459 fmyKTFullJets =dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
1460
1461 jet_algorithm="";
1462 fIsInitialized=kTRUE;
1463}
1464//________________________________________________________________________
1465void AliAnalysisTaskFullpAJets::UserExec(Option_t *)
1466{
1467 if (fIsInitialized==kFALSE)
1468 {
1469 UserExecOnce();
1470 }
1471
1472 // Get pointer to reconstructed event
1473 AliVEvent *event = InputEvent();
1474 if (!event)
1475 {
1476 AliError("Pointer == 0, this can not happen!");
1477 return;
1478 }
1479
1480 AliESDEvent* esd = dynamic_cast<AliESDEvent*>(event);
1481 AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);
1482
1483 if (esd)
1484 {
1485 fEventCentrality=esd->GetCentrality()->GetCentralityPercentile("V0M");
1486
1487 if (esd->GetPrimaryVertex()->GetNContributors()<1 || (TMath::Abs(esd->GetPrimaryVertex()->GetZ())>fVertexWindow))
1488 {
1489 return;
1490 }
1491 if (TMath::Sqrt(TMath::Power(esd->GetPrimaryVertex()->GetX(),2)+TMath::Power(esd->GetPrimaryVertex()->GetY(),2))>fVertexMaxR)
1492 {
1493 return;
1494 }
1495
1496 esd->GetPrimaryVertex()->GetXYZ(fvertex);
1497 }
1498 else if (aod)
1499 {
1500 //cout<<"Hello AOD"<<endl;
1501
1502 fEventCentrality=aod->GetCentrality()->GetCentralityPercentile("V0M");
1503
1504 if (aod->GetPrimaryVertex()->GetNContributors()<1 || (TMath::Abs(aod->GetPrimaryVertex()->GetZ())>fVertexWindow))
1505 {
1506 return;
1507 }
1508 if (TMath::Sqrt(TMath::Power(aod->GetPrimaryVertex()->GetX(),2)+TMath::Power(aod->GetPrimaryVertex()->GetY(),2))>fVertexMaxR)
1509 {
1510 return;
1511 }
1512
1513 aod->GetPrimaryVertex()->GetXYZ(fvertex);
1514 }
1515 else
1516 {
1517 AliError("Cannot get AOD/ESD event. Rejecting Event");
1518 return;
1519 }
1520
1521 // Make sure Centrality isn't exactly 100% (to avoid bin filling errors in profile plots. Make it 99.99
1522 if (fEventCentrality>99.99)
1523 {
1524 fEventCentrality=99.99;
1525 }
c54b626a 1526 fhCentrality->Fill(fEventCentrality);
ac6a3f1e 1527
1528 fnTracks = fmyTracks->GetEntries();
1529 //cout<<"n Tracks:"<<fnTracks<<endl;
1530 // Reject any event that doesn't have any tracks, i.e. TPC is off
1531 if (fnTracks<1)
1532 {
1533 AliWarning("No PicoTracks, Rejecting Event");
1534 return;
1535 }
1536
1537 fnClusters = fmyClusters->GetEntries();
1538 //cout<<"n Cluster:"<<fnClusters<<endl;
1539 if (fnClusters<1)
1540 {
1541 AliInfo("No Corrected CaloClusters, using only charged jets");
1542
1543 TrackHisto();
1544 InitChargedJets();
1545 Method3(kFALSE);
1546 JetPtChargedProfile();
1547 DeleteArrays(kFALSE);
1548
1549 fnEventsCharged++;
1550 return;
1551 }
1552
1553 TrackHisto();
1554 ClusterHisto();
1555
1556 // Prep the jets
1557 InitChargedJets();
1558 InitFullJets();
1559 EventHistos();
1560
1561 EstimateTotalBackground();
1562 EstimateBackgoundMinusLJet();
78246241 1563
ac6a3f1e 1564 Method1A();
1565 Method1B();
1566 Method1C();
1567
1568 // Method 2
1569 if (IsDiJetEvent()==kTRUE)
1570 {
1571 Method2A();
1572 Method2B();
78246241 1573 Method3DiJet();
1574 Method3Perp();
ac6a3f1e 1575 }
1576
1577 Method3(kTRUE);
1578
1579 // Compute Jet Energy Density Profile
1580 JetPtChargedProfile();
1581 JetPtFullProfile();
1582 JetPtEtaProfile();
1583
1584 // Delete Dynamic Arrays
1585 DeleteArrays(kTRUE);
1586 fnEvents++;
1587
1588 PostData(1, fOutput);
1589}
1590
1591//________________________________________________________________________
1592void AliAnalysisTaskFullpAJets::Terminate(Option_t *) //specify what you want to have done
1593{
1594 // Called once at the end of the query. Done nothing here.
ac6a3f1e 1595}
1596
1597/////////////////////////////////////////////////////////////////////////////////////////
1598///////////////// User Defined Sub_Routines ///////////////////////////////////////
1599/////////////////////////////////////////////////////////////////////////////////////////
1600
1601void AliAnalysisTaskFullpAJets::TrackHisto()
1602{
1603 // Fill track histograms: Phi,Eta,Pt
1604 Int_t i,j;
1605 Int_t TCBins=100;
1606 TH2D *hdummypT= new TH2D("hdummypT","",TCBins,fTPCEtaMin,fTPCEtaMax,TCBins,fTPCPhiMin,fTPCPhiMax); //!
1607
1608 for (i=0;i<fnTracks;i++)
1609 {
1610 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
1611 fhTrackPt->Fill(vtrack->Pt());
1612 fhTrackEta->Fill(vtrack->Eta());
1613 fhTrackPhi->Fill(vtrack->Phi());
1614 fhTrackEtaPhi->Fill(vtrack->Eta(),vtrack->Phi());
1615 hdummypT->Fill(vtrack->Eta(),vtrack->Phi(),vtrack->Pt());
1616 }
1617 for (i=1;i<=TCBins;i++)
1618 {
1619 for (j=1;j<=TCBins;j++)
1620 {
1621 fpTrackPtProfile->Fill(hdummypT->GetXaxis()->GetBinCenter(i),hdummypT->GetYaxis()->GetBinCenter(j),fTPCArea*TMath::Power(TCBins,-2)*hdummypT->GetBinContent(i,j));
1622 }
1623 }
1624 delete hdummypT;
1625}
1626
1627void AliAnalysisTaskFullpAJets::ClusterHisto()
1628{
1629 // Fill cluster histograms: Phi,Eta,Pt
1630 Int_t i,j;
1631 Int_t TCBins=100;
1632 TH2D *hdummypT= new TH2D("hdummypT","",TCBins,fEMCalEtaMin,fEMCalEtaMax,TCBins,fEMCalPhiMin,fEMCalPhiMax); //!
1633 AliEMCALGeometry *myAliEMCGeo = AliEMCALGeometry::GetInstance();
1634 Int_t myCellID=-2;
1635
1636 for (i=0;i<fnClusters;i++)
1637 {
1638 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
1639 TLorentzVector *cluster_vec = new TLorentzVector;
1640 vcluster->GetMomentum(*cluster_vec,fvertex);
1641
1642 fhClusterPt->Fill(cluster_vec->Pt());
1643 fhClusterEta->Fill(cluster_vec->Eta());
1644 fhClusterPhi->Fill(cluster_vec->Phi());
1645 fhClusterEtaPhi->Fill(cluster_vec->Eta(),cluster_vec->Phi());
1646 hdummypT->Fill(cluster_vec->Eta(),cluster_vec->Phi(),cluster_vec->Pt());
1647 myAliEMCGeo->GetAbsCellIdFromEtaPhi(cluster_vec->Eta(),cluster_vec->Phi(),myCellID);
1648 fhEMCalCellCounts->Fill(myCellID);
1649 //cout<<"Cluster ID:"<<i<<" (Eta,Phi): ("<<cluster_vec->Eta()<<","<<cluster_vec->Phi()<<") Cell ID:"<<myCellID<<endl;
1650 delete cluster_vec;
1651 }
1652 for (i=1;i<=TCBins;i++)
1653 {
1654 for (j=1;j<=TCBins;j++)
1655 {
1656 fpClusterPtProfile->Fill(hdummypT->GetXaxis()->GetBinCenter(i),hdummypT->GetYaxis()->GetBinCenter(j),fEMCalArea*TMath::Power(TCBins,-2)*hdummypT->GetBinContent(i,j));
1657 }
1658 }
1659 //myAliEMCGeo->GetAbsCellIdFromEtaPhi(0.38,2.88,myCellID);
1660 //cout<<"Cell ID Test:"<<myCellID<<endl;
1661 delete hdummypT;
1662}
1663
1664void AliAnalysisTaskFullpAJets::EventHistos()
1665{
1666 Int_t i,j;
1667 Double_t E_tracks_total=0.;
1668 Double_t E_caloclusters_total=0.;
1669 TRandom3 u(time(NULL));
1670
1671 Double_t Eta_Center=0.5*(fEMCalEtaMin+fEMCalEtaMax);
1672 Double_t Phi_Center=0.5*(fEMCalPhiMin+fEMCalPhiMax);
1673 Int_t event_mult=0;
1674 Int_t clus_mult=0;
1675
ac6a3f1e 1676 TLorentzVector *dummy= new TLorentzVector;
1677
1678 for (j=0;j<fnBckgClusters;j++)
1679 {
1680 event_mult=0;
1681 clus_mult=0;
1682 E_tracks_total=0.;
1683 E_caloclusters_total=0.;
1684 dummy->SetPtEtaPhiE(1,u.Uniform(Eta_Center-fJetR,Eta_Center+fJetR),u.Uniform(Phi_Center-fJetR,Phi_Center+fJetR),0);
1685
1686 // Loop over all tracks
1687 for (i=0;i<fnTracks;i++)
1688 {
1689 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
1690 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
1691 {
1692 event_mult++;
1693 TLorentzVector *track_vec = new TLorentzVector;
1694 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
1695 if (dummy->DeltaR(*track_vec)<fJetR)
1696 {
1697 clus_mult++;
1698 E_tracks_total+=vtrack->Pt();
1699 }
1700 delete track_vec;
1701 }
1702 }
1703
1704 // Loop over all caloclusters
1705 for (i=0;i<fnClusters;i++)
1706 {
1707 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
1708 TLorentzVector *cluster_vec = new TLorentzVector;
1709 vcluster->GetMomentum(*cluster_vec,fvertex);
1710 event_mult++;
1711 if (dummy->DeltaR(*cluster_vec)<fJetR)
1712 {
1713 clus_mult++;
1714 E_caloclusters_total+=vcluster->E();
1715 }
1716 delete cluster_vec;
1717 }
1718 // Fill Histograms
1719 if (fEventCentrality<=20)
1720 {
1721 fhBckgMult->Fill(clus_mult);
1722 fhBckgFluc->Fill(E_tracks_total+E_caloclusters_total);
1723 fRCBckgFluc[j]=E_tracks_total+E_caloclusters_total;
1724 }
1725 }
1726
1727 fpEventMult->Fill(fEventCentrality,event_mult);
1728 delete dummy;
1729}
1730
1731void AliAnalysisTaskFullpAJets::InitChargedJets()
1732{
1733 // Preliminary Jet Placement and Selection Cuts
78246241 1734 Int_t i,j;
1735 Double_t kTRho=0.0;
1736 Double_t delta_phi=0.0;
ac6a3f1e 1737
1738 fnAKTChargedJets = fmyAKTChargedJets->GetEntries();
78246241 1739 fnKTChargedJets = fmyKTChargedJets->GetEntries();
ac6a3f1e 1740 fJetPtChargedCutID = new Int_t[fnAKTChargedJets+1];
78246241 1741 fJetkTTPCFullID = new Int_t[fnKTChargedJets+1];
ac6a3f1e 1742 fnJetsChargedPtCut=0;
78246241 1743 fnJetskTTPCFull=0;
ac6a3f1e 1744 fPtChargedMaxID=-1; // Initialize to not have any jet(s) fully contained within
1745 fPtChargedMax=0.0;
1746
1747 fInTPCChargedFull = new Bool_t[fnAKTChargedJets+1];
1748
1749 for (i=0;i<fnAKTChargedJets;i++)
1750 {
1751 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTChargedJets->At(i);
1752
1753 // Determine where the jet is
1754 fInTPCChargedFull[i]=IsInTPC(fJetR,myJet->Phi(),myJet->Eta(),kTRUE);
1755
1756 // Fill Histograms with appropriate Jet Kinematics
1757 if (fInTPCChargedFull[i]==kTRUE)
1758 {
1759 fhChargedJetPt->Fill(myJet->Pt());
1760
1761 if (myJet->Pt()>=fPtChargedMax)
1762 {
1763 fPtChargedMax=myJet->Pt();
1764 fPtChargedMaxID=i;
1765 }
1766 // Now determine if the jet is above the EMCal Jet Pt Threshold
1767 if (myJet->Area()>=fJetAreaThreshold)
1768 {
1769 fhChargedJetPtAreaCut->Fill(myJet->Pt());
1770 }
78246241 1771 if (myJet->Pt()>=fTPCJetThreshold && myJet->Area()>=fJetAreaThreshold)
ac6a3f1e 1772 {
1773 fJetPtChargedCutID[fnJetsChargedPtCut]=i;
1774 fnJetsChargedPtCut++;
1775 }
1776 }
1777 }
78246241 1778
1779 // Fill dijet delta phi plots
1780 if (fnJetsChargedPtCut>1)
1781 {
1782 AliEmcalJet *myhJet =(AliEmcalJet*) fmyAKTChargedJets->At(fPtChargedMaxID);
1783 j=0;
1784 while (j<fnJetsChargedPtCut)
1785 {
1786 if (fJetPtChargedCutID[j]==fPtChargedMaxID)
1787 {
1788 j++;
1789 }
1790 else
1791 {
1792 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTChargedJets->At(fJetPtChargedCutID[j]);
1793
1794 delta_phi=TMath::Min(TMath::Abs(myhJet->Phi()-myJet->Phi()),2*TMath::Pi()-TMath::Abs(myhJet->Phi()-myJet->Phi()));
1795 fhDiJetCenDeltaPhi->Fill(delta_phi,fEventCentrality);
1796 if (fEventCentrality<=20)
1797 {
1798 fh020DiJetDeltaPhi->Fill(delta_phi);
1799 }
1800 j++;
1801 }
1802 }
1803 }
1804
1805 fRhokTCharged=0.0;
1806 // kT jets. Used for calculating rho
1807 Int_t nkT_mid=-1;
1808 for (i=0;i<fnKTChargedJets;i++)
1809 {
1810 AliEmcalJet *myJet =(AliEmcalJet*) fmyKTChargedJets->At(i);
1811
1812 if (IsInTPC(fJetR,myJet->Phi(),myJet->Eta(),kTRUE)==kTRUE)
1813 {
1814 fJetkTTPCFullID[fnJetskTTPCFull]=i;
1815 fnJetskTTPCFull++;
1816 }
1817 }
1818
1819 if (fnJetskTTPCFull>=2)
1820 {
1821 nkT_mid=fnJetskTTPCFull/2;
1822 }
1823 else if (fnJetskTTPCFull==1)
1824 {
1825 nkT_mid=0;
1826 }
1827
1828 if (nkT_mid>=0)
1829 {
1830 AliEmcalJet *myJet =(AliEmcalJet*) fmyKTChargedJets->At(fJetkTTPCFullID[nkT_mid]);
1831 kTRho=myJet->Pt()/myJet->Area();
1832 fRhokTCharged=kTRho;
1833 fpRhoChargedkT->Fill(fEventCentrality,kTRho);
1834 }
ac6a3f1e 1835}
1836
1837void AliAnalysisTaskFullpAJets::InitFullJets()
1838{
1839 // Preliminary Jet Placement and Selection Cuts
1840 Int_t i;
78246241 1841 Int_t EMCalFullCount=0;
1842 Double_t kTRho=0.0;
ac6a3f1e 1843
1844 fnAKTFullJets = fmyAKTFullJets->GetEntries();
1845 fnKTFullJets = fmyKTFullJets->GetEntries();
1846
1847 fJetPtCutID = new Int_t[fnAKTFullJets+1];
1848 fJetPtTPCCutID= new Int_t[fnAKTFullJets+1];
1849 fJetPtTotalCutID= new Int_t[fnAKTFullJets+1];
1850 fJetkTEMCalFullID= new Int_t[fnKTFullJets+1];
1851
1852 fnJetsPtCut=0;
1853 fnJetsPtTPCCut=0;
1854 fnJetsPtTotalCut=0;
1855 fnJetskTEMCalFull=0;
1856
1857 fPtMaxID=-1; // Initialize to not have any jet(s) in EMCal
1858 fPtFullMaxID=-1; // Initialize to not have any jet(s) fully contained within EMCal
1859 fPtTPCMaxID=-1; // Initialize to not have any jet(s) in TPC
1860 fPtFullTPCMaxID=-1; // Initialize to not have any jet(s) fully contained within TPC
1861 fPtTotalMaxID=-1; // Initialize to not have any jet(s) in Total Acceptance
1862
1863 fPtMax=0.;
1864 fPtFullMax=0.;
1865 fPtTPCMax=0.;
1866 fPtFullTPCMax=0.;
1867 fPtTotalMax=0.;
1868
1869 fInEMCal = new Bool_t[fnAKTFullJets+1];
1870 fInEMCalFull = new Bool_t[fnAKTFullJets+1];
1871 fInTPCFull = new Bool_t[fnAKTFullJets+1];
1872
1873 for (i=0;i<fnAKTFullJets;i++)
1874 {
1875 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(i);
1876
1877 // Area distribution of the jet
1878 fhJetPtArea->Fill(myJet->Pt(),myJet->Area());
1879
1880 // Determine where the jet is
1881 fInEMCal[i]=IsInEMCalPart(fJetR,myJet->Phi(),myJet->Eta());
1882 fInEMCalFull[i]=IsInEMCalFull(fJetR,myJet->Phi(),myJet->Eta());
1883 fInTPCFull[i]=IsInTPCFull(fJetR,myJet->Phi(),myJet->Eta());
1884
1885 // Fill Histograms with appropriate Jet Kinematics
1886 if (fInEMCal[i]==kTRUE)
1887 {
1888 // Method 1A
1889 if (myJet->Pt()>fPtMax)
1890 {
1891 fPtMax=myJet->Pt();
1892 fPtMaxID=i;
1893 }
1894
c54b626a 1895 // Method 1B
ac6a3f1e 1896 if (fInEMCalFull[i]==kTRUE)
1897 {
1898 // Fill Jet Pt Distribution
1899 fhJetPtEMCal->Fill(myJet->Pt());
c54b626a 1900 fhJetPtCenEMCal->Fill(myJet->Pt(),fEventCentrality);
1901 if (fEventCentrality<=20)
1902 {
1903 fh020JetPtEMCal->Fill(myJet->Pt());
1904 }
ac6a3f1e 1905 if (myJet->Area()>=fJetAreaThreshold)
1906 {
1907 fhJetPtEMCalAreaCut->Fill(myJet->Pt());
c54b626a 1908 fhJetPtCenEMCalAreaCut->Fill(myJet->Pt(),fEventCentrality);
1909 if (fEventCentrality<=20)
1910 {
1911 fh020JetPtEMCalAreaCut->Fill(myJet->Pt());
78246241 1912 EMCalFullCount++;
c54b626a 1913 }
ac6a3f1e 1914 if (myJet->Pt()>=fEMCalJetThreshold)
1915 {
1916 fhJetPtEMCalAreaCutSignal->Fill(myJet->Pt());
c54b626a 1917 fhJetPtCenEMCalAreaCutSignal->Fill(myJet->Pt(),fEventCentrality);
1918 if (fEventCentrality<=20)
1919 {
1920 fh020JetPtEMCalAreaCutSignal->Fill(myJet->Pt());
1921 }
ac6a3f1e 1922 }
1923 }
1924
1925 if (myJet->Pt()>=fPtFullMax)
1926 {
1927 fPtFullMax=myJet->Pt();
1928 fPtFullMaxID=i;
1929 }
1930
1931 // Now determine if the jet is above the EMCal Jet Pt Threshold
1932 if (myJet->Pt()>=fEMCalJetThreshold)
1933 {
1934 fJetPtCutID[fnJetsPtCut]=i;
1935 fnJetsPtCut++;
1936 }
1937 }
1938 }
1939 else
1940 {
1941 // Method 2A
1942 if (myJet->Pt()>fPtTPCMax)
1943 {
1944 fPtTPCMax=myJet->Pt();
1945 fPtTPCMaxID=i;
1946 }
1947 if (fInTPCFull[i]==kTRUE)
1948 {
1949 // Jet Pt distribution
1950 fhJetPtTPC->Fill(myJet->Pt());
1951 if (myJet->Area()>=fJetAreaThreshold)
1952 {
1953 fhJetPtTPCAreaCut->Fill(myJet->Pt());
1954 }
1955
1956 if (myJet->Pt()>fPtFullTPCMax)
1957 {
1958 fPtFullTPCMax=myJet->Pt();
1959 fPtFullTPCMaxID=i;
1960 }
1961 }
1962
1963 // Now determine if the jet is above the TPC Jet Pt Threshold
1964 if (myJet->Pt()>=fTPCJetThreshold)
1965 {
1966 fJetPtTPCCutID[fnJetsPtTPCCut]=i;
1967 fnJetsPtTPCCut++;
1968 }
1969 }
1970 // Find all jet(s) above the threshold within the Detector (TPC+EMCal; No Fudicial cut) for Plan2
1971 if (myJet->Pt()>fPtTotalMax)
1972 {
1973 fPtTotalMax=myJet->Pt();
1974 fPtTotalMaxID=i;
1975 }
1976 // And if they are above the threshold?
1977 if (myJet->Pt()>=fTPCJetThreshold)
1978 {
1979 fJetPtTotalCutID[fnJetsPtTotalCut]=i;
1980 fnJetsPtTotalCut++;
1981 }
1982 }
78246241 1983 fh020EMCalAkTJets->Fill(EMCalFullCount);
1984 EMCalFullCount=0;
ac6a3f1e 1985
78246241 1986 fRhokTTotal=0.0;
ac6a3f1e 1987 // kT jets. Used for calculating rho
1988 Int_t nkT_mid=-1;
1989 for (i=0;i<fnKTFullJets;i++)
1990 {
1991 AliEmcalJet *myJet =(AliEmcalJet*) fmyKTFullJets->At(i);
1992
1993 if (IsInEMCalFull(fJetR,myJet->Phi(),myJet->Eta())==kTRUE)
1994 {
1995 fJetkTEMCalFullID[fnJetskTEMCalFull]=i;
1996 fnJetskTEMCalFull++;
1997 }
1998 }
78246241 1999 if (fEventCentrality<=20)
2000 {
2001 fh020EMCalkTClusters->Fill(fnJetskTEMCalFull);
2002 }
ac6a3f1e 2003
2004 if (fnJetskTEMCalFull>=2)
2005 {
2006 nkT_mid=fnJetskTEMCalFull/2;
2007 }
2008 else if (fnJetskTEMCalFull==1)
2009 {
2010 nkT_mid=0;
2011 }
2012
2013 if (nkT_mid>=0)
2014 {
2015 AliEmcalJet *myJet =(AliEmcalJet*) fmyKTFullJets->At(fJetkTEMCalFullID[nkT_mid]);
78246241 2016 kTRho=myJet->Pt()/myJet->Area();
2017 fRhokTTotal=kTRho;
2018 fpRhokT->Fill(fEventCentrality,kTRho);
2019 fpJetPtRhokT->Fill(fPtFullMax,kTRho);
2020 if (fRhokTCharged!=0.0)
2021 {
2022 fpRhoScalekT->Fill(fEventCentrality,fRhokTTotal/fRhokTCharged);
2023 }
c54b626a 2024 if (fEventCentrality<=20)
2025 {
78246241 2026 FillBckgFlucDeltaPt(fhDeltaPtkT,kTRho);
2027 fh020RhokT->Fill(kTRho);
c54b626a 2028 }
ac6a3f1e 2029 }
2030}
2031
2032void AliAnalysisTaskFullpAJets::EstimateTotalBackground()
2033{
2034 Int_t i;
2035 Double_t E_tracks_total=0.;
2036 Double_t E_caloclusters_total=0.;
2037 Double_t EMCal_rho=0.;
2038 fDeltaRho01=0.0;
2039
2040 // Loop over all tracks
2041 for (i=0;i<fnTracks;i++)
2042 {
2043 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2044 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2045 {
2046 E_tracks_total+=vtrack->Pt();
2047 }
2048 }
2049
2050 // Loop over all caloclusters
2051 for (i=0;i<fnClusters;i++)
2052 {
2053 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
2054 E_caloclusters_total+=vcluster->E();
2055 }
2056
2057 // Calculate the mean Background density
2058 EMCal_rho=(E_tracks_total+E_caloclusters_total)/fEMCalArea;
78246241 2059 fRhoAkTTotal=EMCal_rho;
ac6a3f1e 2060
2061 // Fill histograms
c54b626a 2062 fhRhoTotal->Fill(EMCal_rho,fEventCentrality);
ac6a3f1e 2063 fpRhoTotal->Fill(fEventCentrality,EMCal_rho);
2064 fpJetPtRhoTotal->Fill(fPtFullMax,EMCal_rho);
2065 FillFullCorrJetPt(fhJetTPtRhoTotal,EMCal_rho,kFALSE);
2066 FillFullCorrJetPt(fhJetTPtRhoTotalSignal,EMCal_rho,kTRUE);
2067 fDeltaRho01=EMCal_rho;
2068
c54b626a 2069 FillFullCorrJetPt(fhJetTPtCenRhoTotal,EMCal_rho,kFALSE);
2070 FillFullCorrJetPt(fhJetTPtCenRhoTotalSignal,EMCal_rho,kTRUE);
ac6a3f1e 2071 // Fill Background fluctuation spectrum F(A)
2072 if (fEventCentrality<=20)
2073 {
c54b626a 2074 FillFullCorrJetPt(fh020JetTPtRhoTotal,EMCal_rho,kFALSE);
2075 FillFullCorrJetPt(fh020JetTPtRhoTotalSignal,EMCal_rho,kTRUE);
ac6a3f1e 2076 FillBckgFlucDeltaPt(fhDeltaPtTotal,EMCal_rho);
c54b626a 2077 fh020RhoTotal->Fill(EMCal_rho);
ac6a3f1e 2078 }
2079}
2080
2081void AliAnalysisTaskFullpAJets::EstimateBackgoundMinusLJet()
2082{
2083 Int_t i;
2084 Double_t E_tracks_total=0.;
2085 Double_t E_caloclusters_total=0.;
2086 Double_t EMCal_rho=0.;
2087
2088 if (fPtFullMax>=fEMCalJetThreshold)
2089 {
2090 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(fPtMaxID);
2091 TLorentzVector *temp_jet= new TLorentzVector;
2092 myJet->GetMom(*temp_jet);
2093
2094 // Loop over all tracks
2095 for (i=0;i<fnTracks;i++)
2096 {
2097 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2098 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2099 {
2100 TLorentzVector *track_vec = new TLorentzVector;
2101 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
2102 if (temp_jet->DeltaR(*track_vec)>fJetR)
2103 {
2104 E_tracks_total+=vtrack->Pt();
2105 }
2106 delete track_vec;
2107 }
2108 }
2109
2110 // Loop over all caloclusters
2111 for (i=0;i<fnClusters;i++)
2112 {
2113 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
2114 TLorentzVector *cluster_vec = new TLorentzVector;
2115 vcluster->GetMomentum(*cluster_vec,fvertex);
2116 if (temp_jet->DeltaR(*cluster_vec)>fJetR)
2117 {
2118 E_caloclusters_total+=vcluster->E();
2119 }
2120 delete cluster_vec;
2121 }
2122 delete temp_jet;
2123 // Calculate the mean Background density
2124 EMCal_rho=(E_tracks_total+E_caloclusters_total)/(fEMCalArea-TMath::Pi()*TMath::Power(fJetR,2));
2125 }
2126 else // i.e. No signal jets-> same as total background density
2127 {
2128 // Loop over all tracks
2129 for (i=0;i<fnTracks;i++)
2130 {
2131 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2132 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2133 {
2134 E_tracks_total+=vtrack->Pt();
2135 }
2136 }
2137
2138 // Loop over all caloclusters
2139 for (i=0;i<fnClusters;i++)
2140 {
2141 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
2142 E_caloclusters_total+=vcluster->E();
2143 }
2144 // Calculate the mean Background density
2145 EMCal_rho=(E_tracks_total+E_caloclusters_total)/fEMCalArea;
2146 }
2147
2148 // Fill histograms
c54b626a 2149 fhRhoNoLeading->Fill(EMCal_rho,fEventCentrality);
ac6a3f1e 2150 fpRhoNoLeading->Fill(fEventCentrality,EMCal_rho);
2151 fpJetPtRhoNoLeading->Fill(fPtFullMax,EMCal_rho);
2152 FillFullCorrJetPt(fhJetTPtRhoNoLeading,EMCal_rho,kFALSE);
2153 FillFullCorrJetPt(fhJetTPtRhoNoLeadingSignal,EMCal_rho,kTRUE);
2154 fDeltaRho01-=EMCal_rho;
2155 FillFullDeltaRho(fhDeltaRho01,fDeltaRho01,kTRUE);
2156 fDeltaRho01=0.0;
2157
c54b626a 2158 FillFullCorrJetPt(fhJetTPtCenRhoNoLeading,EMCal_rho,kFALSE);
2159 FillFullCorrJetPt(fhJetTPtCenRhoNoLeadingSignal,EMCal_rho,kTRUE);
ac6a3f1e 2160 // Fill Background fluctuation spectrum F(A)
2161 if (fEventCentrality<=20)
2162 {
c54b626a 2163 FillFullCorrJetPt(fh020JetTPtRhoNoLeading,EMCal_rho,kFALSE);
2164 FillFullCorrJetPt(fh020JetTPtRhoNoLeadingSignal,EMCal_rho,kTRUE);
ac6a3f1e 2165 FillBckgFlucDeltaPt(fhDeltaPtNoLeading,EMCal_rho);
c54b626a 2166 fh020RhoNoLeading->Fill(EMCal_rho);
ac6a3f1e 2167 }
2168}
2169
2170void AliAnalysisTaskFullpAJets::Method1A()
2171{
2172 Int_t i;
2173 Double_t delta_R;
2174
2175 if (fPtMax>=fEMCalJetThreshold && fnAKTFullJets>1)
2176 {
2177 TLorentzVector *high_jet= new TLorentzVector;
2178 TLorentzVector *temp_jet= new TLorentzVector;
2179
2180 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(fPtMaxID);
2181 myJet->GetMom(*high_jet);
2182 //cout<<"HJ Phi="<<high_jet->Phi()<<" HJ Eta="<<high_jet->Eta()<<endl;
2183 for(i=0;i<fnAKTFullJets;i++)
2184 {
2185 if (i!=fPtMaxID && fInEMCalFull[i]==kTRUE)
2186 {
2187 AliEmcalJet *myBckg =(AliEmcalJet*) fmyAKTFullJets->At(i);
2188 myBckg->GetMom(*temp_jet);
2189 delta_R=temp_jet->DeltaR(*high_jet);
2190 //cout<<"TJ Phi="<<temp_jet->Phi()<<" TJ Eta="<<temp_jet->Eta()<<endl;
2191 //cout<<"Delta R="<<delta_R<<endl;
2192 if (delta_R>=(2*fJetR))
2193 {
2194 fhJetTrigR1A->Fill(myBckg->Pt(),fPtMax,delta_R);
2195 }
2196 }
2197 }
2198 delete high_jet;
2199 delete temp_jet;
2200 }
2201}
2202
2203void AliAnalysisTaskFullpAJets::Method1B()
2204{
2205 Int_t i,j;
2206 Bool_t track_away_from_jet;
2207 Bool_t cluster_away_from_jet;
2208 Double_t E_tracks_total=0.;
2209 Double_t E_caloclusters_total=0.;
2210 Double_t EMCal_rho=0.;
2211 Double_t jet_area_total=0.;
2212
2213 // First, sum all tracks within the EMCal that are away from jet(s) above Pt Threshold
2214 fRhoTotal=0;
2215 for (i=0;i<fnTracks;i++)
2216 {
2217 // First, check if track is in the EMCal!!
2218 AliVTrack* vtrack = (AliVTrack*) fmyTracks->At(i); // pointer to reconstructed to track
2219 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2220 {
2221 if (fnJetsPtCut<1)
2222 {
2223 E_tracks_total+=vtrack->Pt();
2224 }
2225 else
2226 {
2227 track_away_from_jet=kTRUE;
2228 j=0;
2229 TLorentzVector *track_vec = new TLorentzVector;
2230 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
2231 //cout<<endl<<endl<<endl<<"Event # :"<<fnEvents+1<<" njets="<<fnAKTFullJets<<" Threshold EMCal jets="<<fnJetsPtCut<<" tracks # :"<<i<<","<<fnTracks<<endl;
2232 while (track_away_from_jet==kTRUE && j<fnJetsPtCut)
2233 {
2234 //cout<<"j="<<j<<endl<<endl<<endl;
2235
2236 TLorentzVector *jet_vec= new TLorentzVector;
2237 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(fJetPtCutID[j]);
2238 myJet->GetMom(*jet_vec);
2239 if (track_vec->DeltaR(*jet_vec)<=(fJetR))
2240 {
2241 track_away_from_jet=kFALSE;
2242 }
2243 delete jet_vec;
2244 j++;
2245 }
2246 if (track_away_from_jet==kTRUE)
2247 {
2248 E_tracks_total+=vtrack->Pt();
2249 }
2250 delete track_vec;
2251 }
2252 }
2253 }
2254
2255 // Next, sum all CaloClusters within the EMCal (obviously all clusters must be within EMCal!!) that are away from jet(s) above Pt Threshold
2256
2257 for (i=0;i<fnClusters;i++)
2258 {
2259 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i); // pointer to reconstructed to cluster
2260 if (fnJetsPtCut<1)
2261 {
2262 E_caloclusters_total+=vcluster->E();
2263 }
2264 else
2265 {
2266 cluster_away_from_jet=kTRUE;
2267 j=0;
2268
2269 TLorentzVector *cluster_vec = new TLorentzVector;
2270 vcluster->GetMomentum(*cluster_vec,fvertex);
2271 //cout<<endl<<endl<<endl<<"Event # :"<<fnEvents+1<<" njets="<<fnAKTFullJets<<" Threshold EMCal jets="<<fnJetsPtCut<<" cluster # :"<<i<<","<<fnClusters<<endl;
2272
2273 while (cluster_away_from_jet==kTRUE && j<fnJetsPtCut)
2274 {
2275 TLorentzVector *jet_vec= new TLorentzVector;
2276 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(fJetPtCutID[j]);
2277 myJet->GetMom(*jet_vec);
2278 if (cluster_vec->DeltaR(*jet_vec)<=(fJetR))
2279 {
2280 cluster_away_from_jet=kFALSE;
2281 }
2282 delete jet_vec;
2283 j++;
2284 }
2285 if (cluster_away_from_jet==kTRUE)
2286 {
2287 E_caloclusters_total+=vcluster->E();
2288 }
2289 delete cluster_vec;
2290 }
2291 }
2292
2293 // Determine area of all Jets that are within the EMCal
2294 if (fnJetsPtCut==0)
2295 {
2296 jet_area_total=0.;
2297 }
2298 else
2299 {
2300 for (i=0;i<fnJetsPtCut;i++)
2301 {
2302 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(fJetPtCutID[i]);
2303 jet_area_total+=AreaWithinEMCal(fJetR,myJet->Phi(),myJet->Eta());
2304 }
2305 }
2306
2307 // Calculate Rho
2308 EMCal_rho=(E_tracks_total+E_caloclusters_total)/(fEMCalArea-jet_area_total);
2309 fRhoTotal=EMCal_rho;
2310
2311 // Fill Background Histogram
2312 fhEMCalBckg1B->Fill(EMCal_rho*TMath::Pi()*TMath::Power(fJetR,2));
2313 fhRho1B->Fill(EMCal_rho,fEventCentrality);
2314 fpRho1B->Fill(fEventCentrality,EMCal_rho);
ac6a3f1e 2315 FillFullCorrJetPt(fhJetTPt1B,EMCal_rho,kFALSE);
2316 FillFullCorrJetPt(fhJetTPt1BSignal,EMCal_rho,kTRUE);
2317
c54b626a 2318 FillFullCorrJetPt(fhJetTPtCen1B,EMCal_rho,kFALSE);
2319 FillFullCorrJetPt(fhJetTPtCen1BSignal,EMCal_rho,kTRUE);
2320 // Fill delta pT
ac6a3f1e 2321 if (fEventCentrality<=20)
2322 {
c54b626a 2323 FillFullCorrJetPt(fh020JetTPt1B,EMCal_rho,kFALSE);
2324 FillFullCorrJetPt(fh020JetTPt1BSignal,EMCal_rho,kTRUE);
ac6a3f1e 2325 FillBckgFlucDeltaPt(fhDeltaPt1B,EMCal_rho);
c54b626a 2326 fh020Rho1B->Fill(EMCal_rho);
ac6a3f1e 2327 }
2328}
2329
2330void AliAnalysisTaskFullpAJets::Method1C()
2331{
2332 const Double_t psi_ref=0.5*(45/360.)*2*TMath::Pi(); //Input the total acceptance within the paraenthesis to be +/- psi_ref
2333 Int_t i;
2334 Double_t E_tracks_total=0.;
2335 Double_t E_caloclusters_total=0.;
2336 Double_t EMCal_rho=0.;
2337 Double_t psi;
2338
2339 if (fPtFullMaxID !=-1)
2340 {
2341 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(fPtFullMaxID);
2342
2343 if (myJet->Area()>=fJetAreaThreshold)
2344 {
2345 // Loop over all tracks
2346 for (i=0;i<fnTracks;i++)
2347 {
2348 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2349 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2350 {
2351 if ((vtrack->Eta()>=(myJet->Eta()+fJetR)) || (vtrack->Eta()<=(myJet->Eta()-fJetR)))
2352 {
2353 psi=TMath::ATan((vtrack->Phi()-myJet->Phi())/(vtrack->Eta()-myJet->Eta()));
2354 if ((psi>=(-1*psi_ref)) && (psi<=psi_ref))
2355 {
2356 // The Track made the Cut!!
2357 E_tracks_total+=vtrack->Pt();
2358 }
2359 }
2360 }
2361 }
2362
2363 // Loop over all caloclusters
2364 for (i=0;i<fnClusters;i++)
2365 {
2366 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
2367 TLorentzVector *cluster_vec = new TLorentzVector;
2368 vcluster->GetMomentum(*cluster_vec,fvertex);
2369
2370 if ((cluster_vec->Eta()>=(myJet->Eta()+fJetR)) || (cluster_vec->Eta()<=(myJet->Eta()-fJetR)))
2371 {
2372 psi=TMath::ATan((cluster_vec->Phi()-myJet->Phi())/(cluster_vec->Eta()-myJet->Eta()));
2373 if ((psi>=(-1*psi_ref)) && (psi<=psi_ref))
2374 {
2375 // The CaloCluster made the Cut!!
2376 E_caloclusters_total+=vcluster->E();
2377 }
2378 }
2379 }
2380
2381 // Calculate the mean Background density
2382 EMCal_rho=(E_tracks_total+E_caloclusters_total)/TransverseArea(fJetR,psi_ref,myJet->Phi(),myJet->Eta());
2383
2384 // Fill histograms
2385 fhEMCalBckg1C->Fill(EMCal_rho*TMath::Pi()*fJetR*fJetR);
2386 fhRho1C->Fill(EMCal_rho,fEventCentrality);
2387 fhJetTPt1C->Fill(myJet->Pt()-EMCal_rho*myJet->Area());
c54b626a 2388 FillFullCorrJetPt(fhJetTPt1C,EMCal_rho,kFALSE);
2389 FillFullCorrJetPt(fhJetTPtCen1C,EMCal_rho,kFALSE);
2390
2391
2392 if (fEventCentrality<=20)
2393 {
2394 FillFullCorrJetPt(fh020JetTPt1C,EMCal_rho,kFALSE);
2395 }
ac6a3f1e 2396 }
2397 }
2398}
2399
2400void AliAnalysisTaskFullpAJets::Method2A()
2401{
2402 Int_t i;
2403
78246241 2404 for (i=0;i<fnAKTFullJets;i++)
ac6a3f1e 2405 {
78246241 2406 if (fInEMCalFull[i]==kTRUE)
ac6a3f1e 2407 {
78246241 2408 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTFullJets->At(i);
2409 if (myJet->Area()>=fJetAreaThreshold)
ac6a3f1e 2410 {
78246241 2411 fhEMCalCenJet2A->Fill(myJet->Pt(),fEventCentrality);
ac6a3f1e 2412 fhEMCalJet2A->Fill(myJet->Pt());
78246241 2413 if (fEventCentrality<=20)
2414 {
2415 fh020EMCalJet2A->Fill(myJet->Pt());
2416 }
ac6a3f1e 2417 }
2418 }
2419 }
2420}
2421
2422void AliAnalysisTaskFullpAJets::Method2B()
2423{
78246241 2424 Int_t i;
ac6a3f1e 2425
78246241 2426 Double_t E_tracks_total=0.0;
2427 Double_t E_caloclusters_total=0.0;
2428 Double_t EMCal_rho=0.0;
2429 Double_t E_tracks_core_total=0.0;
2430 Double_t E_caloclusters_core_total=0.0;
2431 Double_t EMCal_core_rho=0.0;
2432 Double_t RCore=0.4;
2433
2434 // Loop over all tracks
ac6a3f1e 2435 for (i=0;i<fnTracks;i++)
2436 {
78246241 2437 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
ac6a3f1e 2438 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2439 {
78246241 2440 E_tracks_total+=vtrack->Pt();
2441 if (InsideRect(vtrack->Phi(),fEMCalPhiMin+RCore,fEMCalPhiMax-RCore,vtrack->Eta(),fEMCalEtaMin+RCore,fEMCalEtaMax-RCore)==kTRUE)
ac6a3f1e 2442 {
78246241 2443 E_tracks_core_total+=vtrack->Pt();
ac6a3f1e 2444 }
ac6a3f1e 2445 }
2446 }
2447
78246241 2448 // Loop over all caloclusters
ac6a3f1e 2449 for (i=0;i<fnClusters;i++)
2450 {
78246241 2451 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(i);
2452 E_caloclusters_total+=vcluster->E();
ac6a3f1e 2453 TLorentzVector *cluster_vec = new TLorentzVector;
2454 vcluster->GetMomentum(*cluster_vec,fvertex);
78246241 2455 if (InsideRect(cluster_vec->Phi(),fEMCalPhiMin+RCore,fEMCalPhiMax-RCore,cluster_vec->Eta(),fEMCalEtaMin+RCore,fEMCalEtaMax-RCore)==kTRUE)
ac6a3f1e 2456 {
78246241 2457 E_caloclusters_core_total+=vcluster->E();
ac6a3f1e 2458 }
2459 delete cluster_vec;
2460 }
2461
78246241 2462 // Calculate the mean Background density
2463 EMCal_rho=(E_tracks_total+E_caloclusters_total)/fEMCalArea;
2464 EMCal_core_rho=(E_tracks_core_total+E_caloclusters_core_total)/((fEMCalPhiTotal-2*RCore)*(fEMCalEtaTotal-2*RCore));
ac6a3f1e 2465
2466 //Fill Background Cluster Histogram
2467 fhEMCalBckg2B->Fill(EMCal_rho*TMath::Pi()*TMath::Power(fJetR,2));
2468 fhRho2B->Fill(EMCal_rho,fEventCentrality);
c54b626a 2469 fpRho2B->Fill(fEventCentrality,EMCal_rho);
2470 FillFullCorrJetPt(fhJetTPt2B,EMCal_rho,kFALSE);
2471 FillFullCorrJetPt(fhJetTPtCen2B,EMCal_rho,kFALSE);
78246241 2472 fhDeltaRho0DiJet->Fill(fRhoAkTTotal-EMCal_rho);
2473 fhRho2BCore->Fill(EMCal_core_rho,fEventCentrality);
2474 fpRho2BCore->Fill(fEventCentrality,EMCal_core_rho);
ac6a3f1e 2475
c54b626a 2476 if (fEventCentrality<=20)
ac6a3f1e 2477 {
c54b626a 2478 FillFullCorrJetPt(fh020JetTPt2B,EMCal_rho,kFALSE);
2479 FillBckgFlucDeltaPt(fhDeltaPt2B,EMCal_rho);
2480 fh020Rho2B->Fill(EMCal_rho);
78246241 2481 fh020Rho2BCore->Fill(EMCal_core_rho);
ac6a3f1e 2482 }
2483}
2484
2485void AliAnalysisTaskFullpAJets::Method3(Bool_t EMCalOn)
2486{
2487 Int_t i,j;
2488 Bool_t track_away_from_jet;
78246241 2489 Double_t E_tracks_total=0.0;
2490 Double_t TPC_rho=0.0;
2491 Double_t jet_area_total=0.0;
2492
2493 // Calculate charged background density in events with no signal jets
2494 if (fnJetsChargedPtCut==0)
2495 {
2496 // Loop over all tracks
2497 for (i=0;i<fnTracks;i++)
2498 {
2499 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2500 E_tracks_total+=vtrack->Pt();
2501 }
2502 TPC_rho=E_tracks_total/fTPCArea;
2503
2504 fhRho3NoJets->Fill(TPC_rho,fEventCentrality);
2505 fpRho3NoJets->Fill(fEventCentrality,TPC_rho);
2506 if (fEventCentrality<=20)
2507 {
2508 fh020Rho3NoJets->Fill(TPC_rho);
2509 }
2510 E_tracks_total=0.0;
2511 TPC_rho=0.0;
2512 }
ac6a3f1e 2513
c54b626a 2514 // First, sum all tracks within the TPC that are away from jet(s) above Pt Threshold
ac6a3f1e 2515 fRhoCharged=0;
2516 for (i=0;i<fnTracks;i++)
2517 {
2518 AliVTrack* vtrack = (AliVTrack*) fmyTracks->At(i);
2519 if (fnJetsChargedPtCut<1)
2520 {
2521 E_tracks_total+=vtrack->Pt();
2522 }
2523 else
2524 {
2525 track_away_from_jet=kTRUE;
2526 j=0;
2527 TLorentzVector *track_vec = new TLorentzVector;
2528 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
2529 while (track_away_from_jet==kTRUE && j<fnJetsChargedPtCut)
2530 {
2531 TLorentzVector *jet_vec= new TLorentzVector;
2532 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTChargedJets->At(fJetPtChargedCutID[j]);
2533 myJet->GetMom(*jet_vec);
2534 if (track_vec->DeltaR(*jet_vec)<=fJetR)
2535 {
2536 track_away_from_jet=kFALSE;
2537 }
2538 delete jet_vec;
2539 j++;
2540 }
2541 if (track_away_from_jet==kTRUE)
2542 {
2543 E_tracks_total+=vtrack->Pt();
2544 }
2545 delete track_vec;
2546 }
2547 }
2548
2549 // Determine area of all Jets that are within the EMCal
2550 if (fnJetsChargedPtCut==0)
2551 {
2552 jet_area_total=0.;
2553 }
2554 else
2555 {
2556 for (i=0;i<fnJetsChargedPtCut;i++)
2557 {
2558 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTChargedJets->At(fJetPtChargedCutID[i]);
2559 jet_area_total+=AreaWithinTPC(fJetR,myJet->Eta());
2560 }
2561 }
2562
2563 //Calculate Rho
2564 TPC_rho=(E_tracks_total)/(fTPCArea-jet_area_total);
2565 fRhoCharged=TPC_rho;
2566
2567 //Fill Background Histogram
2568 fhRho3->Fill(TPC_rho,fEventCentrality);
2569 fpRho3->Fill(fEventCentrality,TPC_rho);
c54b626a 2570
ac6a3f1e 2571 //Fill "True" Jet Pt Spectrum
2572 for (i=0;i<fnAKTChargedJets;i++)
2573 {
2574 if (fInTPCChargedFull[i]==kTRUE)
2575 {
2576 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTChargedJets->At(i);
2577 if (myJet->Area()>=fJetAreaThreshold && myJet->Pt()>=fTPCJetThreshold)
2578 {
2579 fhJetTPt3->Fill(myJet->Pt()-(TPC_rho*myJet->Area()));
c54b626a 2580 fhJetTPtCen3->Fill(myJet->Pt()-(TPC_rho*myJet->Area()),fEventCentrality);
2581 if (fEventCentrality<=20)
2582 {
2583 fh020JetTPt3->Fill(myJet->Pt()-(TPC_rho*myJet->Area()));
2584 }
ac6a3f1e 2585 }
2586 }
2587 }
2588
2589 // Fill Background Scaling factor profile.
2590 if (EMCalOn==kTRUE && fRhoCharged!=0)
2591 {
2592 fpRhoScale->Fill(fEventCentrality,(fRhoTotal/fRhoCharged));
2593 }
c54b626a 2594
2595 if (fEventCentrality<=20)
2596 {
2597 fh020Rho3->Fill(TPC_rho);
2598 }
ac6a3f1e 2599}
2600
78246241 2601void AliAnalysisTaskFullpAJets::Method3DiJet()
2602{
2603 Int_t i;
2604 Double_t E_tracks_total=0.0;
2605 Double_t TPC_rho=0.0;
2606 Double_t jet_area_total=0.0;
2607 Double_t jet_pT_total=0.0;
2608
2609 // Loop over all tracks
2610 for (i=0;i<fnTracks;i++)
2611 {
2612 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2613 E_tracks_total+=vtrack->Pt();
2614 }
2615
2616 AliEmcalJet *myhJet =(AliEmcalJet*) fmyAKTChargedJets->At(fPtChargedMaxID);
2617 AliEmcalJet *mybJet =(AliEmcalJet*) fmyAKTChargedJets->At(fChargedBackJetID);
2618
2619 jet_area_total=myhJet->Area()+mybJet->Area();
2620 jet_pT_total=myhJet->Pt()+mybJet->Pt();
2621 TPC_rho=(E_tracks_total-jet_pT_total)/(fTPCArea-jet_area_total);
2622
2623 fhRho3DiJets->Fill(TPC_rho,fEventCentrality);
2624 fpRho3DiJets->Fill(fEventCentrality,TPC_rho);
2625 if (fEventCentrality<=20)
2626 {
2627 fh020Rho3DiJets->Fill(TPC_rho);
2628 }
2629}
2630
2631void AliAnalysisTaskFullpAJets::Method3Perp()
2632{
2633 Int_t i;
2634 Double_t E_tracks_total=0.0;
2635 Double_t TPC_rho=0.0;
2636 Double_t phi_perp=0.0; // By construction, this angle must be between 90 and 270
2637 const Double_t delta_phi_prep=(30/360.0)*2*TMath::Pi(); // Half angle...
2638
2639 AliEmcalJet *myhJet =(AliEmcalJet*) fmyAKTChargedJets->At(fPtChargedMaxID);
2640 AliEmcalJet *mybJet =(AliEmcalJet*) fmyAKTChargedJets->At(fChargedBackJetID);
2641
2642 phi_perp=(0.5*(myhJet->Phi()+mybJet->Phi())/360.0)*2*TMath::Pi();
2643
2644 // Loop over all tracks
2645 for (i=0;i<fnTracks;i++)
2646 {
2647 AliVTrack* vtrack =(AliVTrack*) fmyTracks->At(i);
2648 // Select only those tracks that are within the "strip"
2649 if (vtrack->Phi() >= (phi_perp-delta_phi_prep) && vtrack->Phi() <= (phi_perp+delta_phi_prep))
2650 {
2651 E_tracks_total+=vtrack->Pt();
2652 }
2653 }
2654
2655 TPC_rho=(E_tracks_total)/(fTPCEtaMax*2*delta_phi_prep);
2656
2657 fhRho3Perp->Fill(TPC_rho,fEventCentrality);
2658 fpRho3Perp->Fill(fEventCentrality,TPC_rho);
2659 if (fEventCentrality<=20)
2660 {
2661 fh020Rho3Perp->Fill(TPC_rho);
2662 }
2663}
2664
ac6a3f1e 2665void AliAnalysisTaskFullpAJets::JetPtChargedProfile()
2666{
2667 Int_t i,j;
2668 Double_t delta_R;
2669 Double_t ED_pT[fEDProfileRBins];
2670
2671 for (i=0;i<fnJetsChargedPtCut;i++)
2672 {
2673 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTChargedJets->At(fJetPtChargedCutID[i]);
2674 if (InsideRect(myJet->Phi(),fTPCPhiMin,fTPCPhiMax,myJet->Eta(),fTPCEtaMin+fEDProfileRUp,fTPCEtaMax-fEDProfileRUp)==kTRUE)
2675 {
2676 for (j=0;j<fEDProfileRBins;j++)
2677 {
2678 ED_pT[j]=0;
2679 }
2680 TLorentzVector *jet_vec= new TLorentzVector;
2681 myJet->GetMom(*jet_vec);
2682 // Sum all tracks in concentric rings around jet vertex
2683 for (j=0;j<fnTracks;j++)
2684 {
2685 AliVTrack* vtrack = (AliVTrack*) fmyTracks->At(j);
2686 TLorentzVector *track_vec = new TLorentzVector;
2687 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
2688 delta_R=jet_vec->DeltaR(*track_vec);
2689 if (delta_R<=fEDProfileRUp)
2690 {
2691 ED_pT[TMath::FloorNint((fEDProfileRBins/fEDProfileRUp)*delta_R)]+=vtrack->Pt();
2692 }
2693 delete track_vec;
2694 }
2695
2696 //cout<<"Event Centrality:"<<fEventCentrality<<endl;
2697 //cout<<endl<<endl<<"Event Centrality bin:"<<TMath::FloorNint(fEventCentrality/10.)<<endl;
2698 for (j=0;j<fEDProfileRBins;j++)
2699 {
2700 ED_pT[j]/=TMath::Pi()*TMath::Power((fEDProfileRUp/fEDProfileRBins),2)*(2*j+1);
2701 //cout<<"Strip "<<j<<" ED="<<ED_pT[j]<<endl;
2702 fpChargedJetEDProfile[TMath::FloorNint(fEventCentrality/10.)]->Fill(myJet->Pt(),myJet->Eta(),(fEDProfileRUp/fEDProfileRBins)*j,ED_pT[j]);
2703 if (fEventCentrality<=20)
2704 {
2705 fpChargedJetRProfile[4+TMath::FloorNint(myJet->Eta()*10.)]->Fill((fEDProfileRUp/fEDProfileRBins)*j,ED_pT[j]);
2706 }
2707 }
2708 delete jet_vec;
2709 }
2710 }
2711}
2712
2713void AliAnalysisTaskFullpAJets::JetPtFullProfile()
2714{
2715 Int_t i,j;
2716 Double_t delta_R;
2717 Double_t ED_pT[fEDProfileRBins];
2718
2719 for (i=0;i<fnJetsPtCut;i++)
2720 {
2721 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(fJetPtCutID[i]);
2722 if (InsideRect(myJet->Phi(),fEMCalPhiMin+fEDProfileRUp,fEMCalPhiMax-fEDProfileRUp,myJet->Eta(),fEMCalEtaMin+fEDProfileRUp,fEMCalEtaMax-fEDProfileRUp)==kTRUE)
2723 {
2724 for (j=0;j<fEDProfileRBins;j++)
2725 {
2726 ED_pT[j]=0;
2727 }
2728 TLorentzVector *jet_vec= new TLorentzVector;
2729 myJet->GetMom(*jet_vec);
2730 // Sum all tracks in concentric rings around jet vertex
2731 for (j=0;j<fnTracks;j++)
2732 {
2733 AliVTrack* vtrack = (AliVTrack*) fmyTracks->At(j);
2734 TLorentzVector *track_vec = new TLorentzVector;
2735 track_vec->SetPtEtaPhiE(vtrack->Pt(),vtrack->Eta(),vtrack->Phi(),vtrack->E());
2736 delta_R=jet_vec->DeltaR(*track_vec);
2737 if (delta_R<=fEDProfileRUp)
2738 {
2739 ED_pT[TMath::FloorNint((fEDProfileRBins/fEDProfileRUp)*delta_R)]+=vtrack->Pt();
2740 }
2741 delete track_vec;
2742 }
2743
2744 // Sum all clusters in concentric rings around jet vertex
2745 for (j=0;j<fnClusters;j++)
2746 {
2747 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(j);
2748 TLorentzVector *cluster_vec = new TLorentzVector;
2749 vcluster->GetMomentum(*cluster_vec,fvertex);
2750 delta_R=jet_vec->DeltaR(*cluster_vec);
2751 if (delta_R<=fEDProfileRUp)
2752 {
2753 ED_pT[TMath::FloorNint((fEDProfileRBins/fEDProfileRUp)*delta_R)]+=vcluster->E();
2754 }
2755 delete cluster_vec;
2756 }
2757
2758 for (j=0;j<fEDProfileRBins;j++)
2759 {
2760 ED_pT[j]/=TMath::Pi()*TMath::Power((fEDProfileRUp/fEDProfileRBins),2)*(2*j+1);
2761 fpJetEDProfile[TMath::FloorNint(fEventCentrality/10.)]->Fill(myJet->Pt(),myJet->Eta(),(fEDProfileRUp/fEDProfileRBins)*j,ED_pT[j]);
2762 // Fill profile if a "most" central event (0-20%)
2763 if (fEventCentrality<=20)
2764 {
2765 fpJetRProfile[2+TMath::FloorNint(myJet->Eta()*10.)]->Fill((fEDProfileRUp/fEDProfileRBins)*j,ED_pT[j]);
2766 }
2767 }
2768 delete jet_vec;
2769
2770 // Fill constituent histogram
2771 for (j=0;j<myJet->GetNumberOfTracks();j++)
2772 {
2773 AliVParticle* vparticle = (AliVParticle*) myJet->TrackAt(j,fmyTracks);
2774 fhJetConstituentPt->Fill(myJet->Pt(),vparticle->Pt());
2775 }
2776
2777 for (j=0;j<myJet->GetNumberOfClusters();j++)
2778 {
2779 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(myJet->ClusterAt(j));
2780 fhJetConstituentPt->Fill(myJet->Pt(),vcluster->E());
2781 }
2782 }
2783 }
2784}
2785
2786void AliAnalysisTaskFullpAJets::JetPtEtaProfile()
2787{
2788 Int_t i,j;
2789 Double_t eta;
2790 Double_t delta_eta;
2791 Double_t Eta_pT[fEtaProfileBins];
2792 Double_t Eta_abs_pT[Int_t(0.5*fEtaProfileBins)];
2793
2794 for (i=0;i<fnJetsPtCut;i++)
2795 {
2796 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(fJetPtCutID[i]);
2797 if (IsInEMCal(myJet->Phi(),myJet->Eta())==kTRUE)
2798 {
2799 for (j=0;j<fEtaProfileBins;j++)
2800 {
2801 Eta_pT[j]=0;
2802 Eta_abs_pT[j]=0;
2803 }
2804
2805 // Sum all tracks in strips of eta away from the jet vertex
2806 for (j=0;j<fnTracks;j++)
2807 {
2808 AliVTrack* vtrack = (AliVTrack*) fmyTracks->At(j);
2809 eta=vtrack->Eta();
2810 delta_eta=TMath::Abs(vtrack->Eta()-myJet->Eta());
2811 if (IsInEMCal(vtrack->Phi(),vtrack->Eta())==kTRUE)
2812 {
2813 Eta_pT[Int_t(0.5*fEtaProfileBins)+TMath::FloorNint(10*eta)]+=vtrack->Pt();
2814 Eta_abs_pT[TMath::FloorNint(10*delta_eta)]+=vtrack->Pt();
2815 }
2816 }
2817
2818 // Sum all clusters in strips of eta away from the jet vertex
2819 for (j=0;j<fnClusters;j++)
2820 {
2821 AliVCluster* vcluster = (AliVCluster*) fmyClusters->At(j);
2822 TLorentzVector *cluster_vec = new TLorentzVector;
2823 vcluster->GetMomentum(*cluster_vec,fvertex);
2824 eta=cluster_vec->Eta();
2825 delta_eta=TMath::Abs(cluster_vec->Eta()-myJet->Eta());
2826 Eta_pT[Int_t(0.5*fEtaProfileBins)+TMath::FloorNint(10*eta)]+=vcluster->E();
2827 Eta_abs_pT[TMath::FloorNint(10*delta_eta)]+=vcluster->E();
2828 delete cluster_vec;
2829 }
2830
2831 for (j=0;j<fEtaProfileBins;j++)
2832 {
2833 Eta_pT[j]/=0.1*fEMCalPhiTotal;
2834 // Fill profile if a "most" central event (0-20%)
2835 if (j<(10*(fEMCalEtaMax-TMath::Abs(myJet->Eta()))))
2836 {
2837 Eta_abs_pT[j]/=0.2*fEMCalPhiTotal;
2838 }
2839 else
2840 {
2841 Eta_abs_pT[j]/=0.1*fEMCalPhiTotal;
2842 }
2843 // Fill profile if a "most" central event (0-20%)
2844 if (fEventCentrality<=20)
2845 {
2846 fpJetAbsEtaProfile[7+TMath::FloorNint(myJet->Eta()*10.)]->Fill(0.1*j,Eta_abs_pT[j]);
2847 fpJetEtaProfile[7+TMath::FloorNint(myJet->Eta()*10.)]->Fill(0.1*(j-7),Eta_pT[j]);
2848 }
2849 }
2850 }
2851 }
2852}
2853
2854void AliAnalysisTaskFullpAJets::FillFullCorrJetPt(TH1D *myHisto,Double_t rho, Bool_t signal_cut)
2855{
2856 Int_t i;
2857 // Fill "True" Jet Pt Spectrum. Always demand that jet area is greater then area threshold.
2858 for (i=0;i<fnAKTFullJets;i++)
2859 {
2860 if (fInEMCalFull[i]==kTRUE)
2861 {
2862 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(i);
2863 if (myJet->Area()>=fJetAreaThreshold)
2864 {
2865 if (signal_cut==kTRUE && myJet->Pt()>=fEMCalJetThreshold)
2866 {
2867 myHisto->Fill(myJet->Pt()-(rho*myJet->Area()));
2868 }
2869 else if (signal_cut==kFALSE)
2870 {
2871 myHisto->Fill(myJet->Pt()-(rho*myJet->Area()));
2872 }
2873 }
2874 }
2875 }
2876}
2877
c54b626a 2878void AliAnalysisTaskFullpAJets::FillFullCorrJetPt(TH2D *myHisto,Double_t rho, Bool_t signal_cut)
2879{
2880 Int_t i;
2881 // Fill "True" Jet Pt Spectrum. Always demand that jet area is greater then area threshold.
2882 for (i=0;i<fnAKTFullJets;i++)
2883 {
2884 if (fInEMCalFull[i]==kTRUE)
2885 {
2886 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(i);
2887 if (myJet->Area()>=fJetAreaThreshold)
2888 {
2889 if (signal_cut==kTRUE && myJet->Pt()>=fEMCalJetThreshold)
2890 {
2891 myHisto->Fill(myJet->Pt()-(rho*myJet->Area()),fEventCentrality);
2892 }
2893 else if (signal_cut==kFALSE)
2894 {
2895 myHisto->Fill(myJet->Pt()-(rho*myJet->Area()),fEventCentrality);
2896 }
2897 }
2898 }
2899 }
2900}
2901
ac6a3f1e 2902void AliAnalysisTaskFullpAJets::FillFullDeltaRho(TH1D *myHisto,Double_t delta_rho,Bool_t signal_cut)
2903{
2904 Int_t i;
2905 // Fill "True" Jet Pt Spectrum. Always demand that jet area is greater then area threshold.
2906 for (i=0;i<fnAKTFullJets;i++)
2907 {
2908 if (fInEMCalFull[i]==kTRUE)
2909 {
2910 AliEmcalJet *myJet = (AliEmcalJet*) fmyAKTFullJets->At(i);
2911 if (myJet->Area()>=fJetAreaThreshold)
2912 {
2913 if (signal_cut==kTRUE && myJet->Pt()>=fEMCalJetThreshold)
2914 {
2915 myHisto->Fill(delta_rho);
2916 }
2917 else if (signal_cut==kFALSE)
2918 {
2919 myHisto->Fill(delta_rho);
2920 }
2921 }
2922 }
2923 }
2924}
2925
2926void AliAnalysisTaskFullpAJets::FillBckgFlucDeltaPt(TH1D *myHisto, Double_t rho)
2927{
2928 Int_t i;
2929
2930 for (i=0;i<fnBckgClusters;i++)
2931 {
2932 myHisto->Fill(fRCBckgFluc[i]-rho*TMath::Pi()*fJetR*fJetR);
2933 }
2934}
2935
2936
2937void AliAnalysisTaskFullpAJets::DeleteArrays(Bool_t EMCalOn)
2938{
2939 delete [] fJetPtChargedCutID;
2940 delete [] fInTPCChargedFull;
78246241 2941 delete [] fJetkTTPCFullID;
ac6a3f1e 2942 if (EMCalOn==kTRUE)
2943 {
2944 delete [] fJetPtCutID;
2945 delete [] fJetPtTPCCutID;
2946 delete [] fJetPtTotalCutID;
2947 delete [] fJetkTEMCalFullID;
2948 delete [] fInEMCal;
2949 delete [] fInEMCalFull;
2950 delete [] fInTPCFull;
2951 }
2952}
2953
2954/////////////////////////////////////////////////////////////////////////////////////////
2955///////////////// User Defined Functions ///////////////////////////////////////
2956/////////////////////////////////////////////////////////////////////////////////////////
2957
2958Bool_t AliAnalysisTaskFullpAJets::IsDiJetEvent()
2959{
78246241 2960 // Determine if event contains a di-jet within the detector. Uses charged jets.
2961 // Requires the delta phi of the jets to be 180 +/- 15 degrees.
2962 // Requires both jets to be outside of the EMCal
2963 // Requires both jets to be signal jets
2964
2965 Int_t i;
ac6a3f1e 2966 const Double_t dijet_delta_phi=(180/360.)*2*TMath::Pi();
2967 const Double_t dijet_phi_acceptance=0.5*(30/360.)*2*TMath::Pi(); //Input the total acceptance within the paraenthesis to be +/- dijet_phi_acceptance
78246241 2968 Double_t dummy_phi=0.0;
2969 Double_t dijet_asymmetry=0.0;
2970 Double_t delta_phi=0.0;
ac6a3f1e 2971 fChargedBackJetID=-1;
ac6a3f1e 2972
2973 if (fnJetsChargedPtCut>1)
2974 {
2975 AliEmcalJet *myhJet =(AliEmcalJet*) fmyAKTChargedJets->At(fPtChargedMaxID);
78246241 2976 i=0;
2977 if (IsInTPCFull(fJetR,myhJet->Phi(),myhJet->Eta())==kFALSE)
2978 {
2979 return kFALSE;
2980 }
2981 while (i<fnJetsChargedPtCut)
ac6a3f1e 2982 {
78246241 2983 AliEmcalJet *myJet =(AliEmcalJet*) fmyAKTChargedJets->At(fJetPtChargedCutID[i]);
2984 dummy_phi=TMath::Min(TMath::Abs(myhJet->Phi()-myJet->Phi()),2*TMath::Pi()-TMath::Abs(myhJet->Phi()-myJet->Phi()));
2985 if ((dummy_phi>(dijet_delta_phi-dijet_phi_acceptance)) && (IsInTPCFull(fJetR,myJet->Phi(),myJet->Eta())==kTRUE))
ac6a3f1e 2986 {
78246241 2987 fChargedBackJetID=fJetPtChargedCutID[i];
ac6a3f1e 2988 fnDiJetEvents++;
78246241 2989 dijet_asymmetry=(myhJet->Pt()-myJet->Pt())/(myhJet->Pt()+myJet->Pt());
2990 fhDiJetCenAsy->Fill(dijet_asymmetry,fEventCentrality);
2991 // Add Anti-kT Plots here...
2992 if (fPtFullMaxID!=-1)
ac6a3f1e 2993 {
78246241 2994 AliEmcalJet *myTestJet = (AliEmcalJet*) fmyAKTFullJets->At(fPtFullMaxID);
2995
2996 fhDiJetEMCalLeadingPt->Fill(myTestJet->Pt());
2997 delta_phi=TMath::Min(TMath::Abs(myhJet->Phi()-myTestJet->Phi()),2*TMath::Pi()-TMath::Abs(myhJet->Phi()-myTestJet->Phi()));
2998 fhDiJetEMCalLeadingDeltaPhi->Fill(delta_phi);
ac6a3f1e 2999 }
78246241 3000 if (fEventCentrality<=20)
ac6a3f1e 3001 {
78246241 3002 fh020DiJetAsy->Fill(dijet_asymmetry);
ac6a3f1e 3003 }
3004 return kTRUE;
3005 }
78246241 3006 i++;
ac6a3f1e 3007 }
3008 }
3009 return kFALSE;
3010}
3011
3012Bool_t AliAnalysisTaskFullpAJets::InsideRect(Double_t phi,Double_t phi_min,Double_t phi_max,Double_t eta,Double_t eta_min,Double_t eta_max)
3013{
3014 if (phi>phi_min && phi<phi_max)
3015 {
3016 if (eta>eta_min && eta<eta_max)
3017 {
3018 return kTRUE;
3019 }
3020 }
3021 return kFALSE;
3022}
3023
3024Bool_t AliAnalysisTaskFullpAJets::IsInEMCal(Double_t phi,Double_t eta)
3025{
3026 return InsideRect(phi,fEMCalPhiMin,fEMCalPhiMax,eta,fEMCalEtaMin,fEMCalEtaMax);
3027}
3028
3029Bool_t AliAnalysisTaskFullpAJets::IsInEMCalFull(Double_t r,Double_t phi,Double_t eta)
3030{
3031 return InsideRect(phi,fEMCalPhiMin+r,fEMCalPhiMax-r,eta,fEMCalEtaMin+r,fEMCalEtaMax-r);
3032}
3033
3034Bool_t AliAnalysisTaskFullpAJets::IsInEMCalPart(Double_t r,Double_t phi,Double_t eta)
3035{
3036 return InsideRect(phi,fEMCalPhiMin-r,fEMCalPhiMax+r,eta,fEMCalEtaMin-r,fEMCalEtaMax+r);
3037}
3038
3039Bool_t AliAnalysisTaskFullpAJets::IsInTPCFull(Double_t r,Double_t phi,Double_t eta)
3040{
3041 Bool_t in_EMCal= InsideRect(phi,fEMCalPhiMin-r,fEMCalPhiMax+r,eta,fEMCalEtaMin-r,fEMCalEtaMax+r);
3042 Bool_t in_TPC= InsideRect(phi,fTPCPhiMin,fTPCPhiMax,eta,fTPCEtaMin+r,fTPCEtaMax-r);
3043
3044 if (in_EMCal==kFALSE && in_TPC==kTRUE)
3045 {
3046 return kTRUE;
3047 }
3048 return kFALSE;
3049}
3050
3051Bool_t AliAnalysisTaskFullpAJets::IsInTPC(Double_t r,Double_t phi,Double_t eta,Bool_t Complete)
3052{
3053 if (Complete==kTRUE)
3054 {
3055 return InsideRect(phi,fTPCPhiMin,fTPCPhiMax,eta,fTPCEtaMin+r,fTPCEtaMax-r);
3056 }
3057 return InsideRect(phi,fTPCPhiMin,fTPCPhiMax,eta,fTPCEtaMin,fTPCEtaMax);
3058}
3059
3060Double_t AliAnalysisTaskFullpAJets::AreaWithinTPC(Double_t r,Double_t eta)
3061{
3062 Double_t z;
3063 if (eta<(fTPCEtaMin+r))
3064 {
3065 z=eta-fTPCEtaMin;
3066 }
3067 else if(eta>(fTPCEtaMax-r))
3068 {
3069 z=fTPCEtaMax-eta;
3070 }
3071 else
3072 {
3073 z=r;
3074 }
3075 return r*r*TMath::Pi()-AreaEdge(r,z);
3076}
3077
3078Double_t AliAnalysisTaskFullpAJets::AreaWithinEMCal(Double_t r,Double_t phi,Double_t eta)
3079{
3080 Double_t x,y;
3081
3082 if (phi<(fEMCalPhiMin-r) || phi>(fEMCalPhiMax+r))
3083 {
3084 x=-r;
3085 }
3086 else if (phi<(fEMCalPhiMin+r))
3087 {
3088 x=phi-fEMCalPhiMin;
3089 }
3090 else if (phi>(fEMCalPhiMin+r) && phi<(fEMCalPhiMax-r))
3091 {
3092 x=r;
3093 }
3094 else
3095 {
3096 x=fEMCalPhiMax-phi;
3097 }
3098
3099 if (eta<(fEMCalEtaMin-r) || eta>(fEMCalEtaMax+r))
3100 {
3101 y=-r;
3102 }
3103 else if (eta<(fEMCalEtaMin+r))
3104 {
3105 y=eta-fEMCalEtaMin;
3106 }
3107 else if (eta>(fEMCalEtaMin+r) && eta<(fEMCalEtaMax-r))
3108 {
3109 y=r;
3110 }
3111 else
3112 {
3113 y=fEMCalEtaMax-eta;
3114 }
3115
3116 if (x>=0 && y>=0)
3117 {
3118 if (TMath::Sqrt(x*x+y*y)>=r)
3119 {
3120 return r*r*TMath::Pi()-AreaEdge(r,x)-AreaEdge(r,y);
3121 }
3122 return r*r*TMath::Pi()-AreaEdge(r,x)-AreaEdge(r,y)+AreaOverlap(r,x,y);
3123 }
3124 else if ((x>=r && y<0) || (y>=r && x<0))
3125 {
3126 return r*r*TMath::Pi()-AreaEdge(r,x)-AreaEdge(r,y);
3127 }
3128 else if (x>0 && x<r && y<0)
3129 {
3130 Double_t a=TMath::Sqrt(r*r-x*x);
3131 Double_t b=TMath::Sqrt(r*r-y*y);
3132 if ((x-b)>0)
3133 {
3134 return r*r*TMath::ASin(b/r)+y*b;
3135 }
3136 else
3137 {
3138 return 0.5*x*a+0.5*r*r*TMath::ASin(x/r)+0.5*y*b+x*y+0.5*r*r*TMath::ASin(b/r);
3139 }
3140 }
3141 else if (y>0 && y<r && x<0)
3142 {
3143 Double_t a=TMath::Sqrt(r*r-x*x);
3144 Double_t b=TMath::Sqrt(r*r-y*y);
3145 if ((y-a)>0)
3146 {
3147 return r*r*TMath::ASin(a/r)+x*a;
3148 }
3149 else
3150 {
3151 return 0.5*y*b+0.5*r*r*TMath::ASin(y/r)+0.5*x*a+x*y+0.5*r*r*TMath::ASin(a/r);
3152 }
3153 }
3154 else
3155 {
3156 Double_t a=TMath::Sqrt(r*r-x*x);
3157 Double_t b=TMath::Sqrt(r*r-y*y);
3158 if ((x+b)<0)
3159 {
3160 return 0;
3161 }
3162 else
3163 {
3164 return 0.5*x*a+0.5*r*r*TMath::ASin(x/r)+0.5*y*b+x*y+0.5*r*r*TMath::ASin(b/r);
3165 }
3166 }
3167}
3168
3169Double_t AliAnalysisTaskFullpAJets::AreaEdge(Double_t r,Double_t z)
3170{
3171 Double_t a=TMath::Sqrt(r*r-z*z);
3172 return r*r*TMath::ASin(a/r)-a*z;
3173}
3174
3175Double_t AliAnalysisTaskFullpAJets::AreaOverlap(Double_t r,Double_t x,Double_t y)
3176{
3177 Double_t a=TMath::Sqrt(r*r-x*x);
3178 Double_t b=TMath::Sqrt(r*r-y*y);
3179 return x*y-0.5*(x*a+y*b)+0.5*r*r*(TMath::ASin(b/r)-TMath::ASin(x/r));
3180}
3181
3182Double_t AliAnalysisTaskFullpAJets::TransverseArea(Double_t r,Double_t psi0,Double_t phi,Double_t eta)
3183{
3184 Double_t area_left,area_right;
3185 Double_t eta_a,eta_b,eta_up,eta_down;
3186
3187 Double_t u=eta-fEMCalEtaMin;
3188 Double_t v=fEMCalEtaMax-eta;
3189
3190 Double_t phi1=phi+u*TMath::Tan(psi0);
3191 Double_t phi2=phi-u*TMath::Tan(psi0);
3192 Double_t phi3=phi+v*TMath::Tan(psi0);
3193 Double_t phi4=phi-v*TMath::Tan(psi0);
3194
3195 //Calculate the Left side area
3196 if (phi1>=fEMCalPhiMax)
3197 {
3198 eta_a=eta-u*((fEMCalPhiMax-phi)/(phi1-phi));
3199 }
3200 if (phi2<=fEMCalPhiMin)
3201 {
3202 eta_b=eta-u*((phi-fEMCalPhiMin)/(phi-phi2));
3203 }
3204
3205 if ((phi1>=fEMCalPhiMax) && (phi2<=fEMCalPhiMin))
3206 {
3207 eta_up=TMath::Max(eta_a,eta_b);
3208 eta_down=TMath::Min(eta_a,eta_b);
3209
3210 area_left=(eta_down-fEMCalEtaMin)*fEMCalPhiTotal + 0.5*(fEMCalPhiTotal+2*(eta-eta_up)*TMath::Tan(psi0))*(eta_up-eta_down) + (eta-eta_up+r)*TMath::Tan(psi0)*(eta-eta_up-r);
3211 }
3212 else if (phi1>=fEMCalPhiMax)
3213 {
3214 area_left=0.5*(fEMCalPhiMax-phi2+2*(eta-eta_a)*TMath::Tan(psi0))*(eta_a-fEMCalEtaMin) + (eta-eta_a+r)*TMath::Tan(psi0)*(eta-eta_a-r);
3215 }
3216 else if (phi2<=fEMCalPhiMin)
3217 {
3218 area_left=0.5*(phi1-fEMCalPhiMin+2*(eta-eta_b)*TMath::Tan(psi0))*(eta_b-fEMCalEtaMin) + (eta-eta_b+r)*TMath::Tan(psi0)*(eta-eta_b-r);
3219 }
3220 else
3221 {
3222 area_left=0.5*(phi1-phi2+2*r*TMath::Tan(psi0))*(u-r);
3223 }
3224
3225 //Calculate the Right side area
3226 if (phi3>=fEMCalPhiMax)
3227 {
3228 eta_a=eta+v*((fEMCalPhiMax-phi)/(phi3-phi));
3229 }
3230 if (phi4<=fEMCalPhiMin)
3231 {
3232 eta_b=eta+v*((phi-fEMCalPhiMin)/(phi-phi4));
3233 }
3234
3235 if ((phi3>=fEMCalPhiMax) && (phi4<=fEMCalPhiMin))
3236 {
3237 eta_up=TMath::Max(eta_a,eta_b);
3238 eta_down=TMath::Min(eta_a,eta_b);
3239
3240 area_right=(fEMCalEtaMax-eta_up)*fEMCalPhiTotal + 0.5*(fEMCalPhiTotal+2*(eta_down-eta)*TMath::Tan(psi0))*(eta_down-eta_up) + (eta_down-eta+r)*TMath::Tan(psi0)*(eta_up-eta-r);
3241 }
3242 else if (phi3>=fEMCalPhiMax)
3243 {
3244 area_right=0.5*(fEMCalPhiMax-phi4+2*(eta_a-eta)*TMath::Tan(psi0))*(fEMCalEtaMax-eta_a) + (eta_a-eta+r)*TMath::Tan(psi0)*(eta_a-eta-r);
3245 }
3246 else if (phi4<=fEMCalPhiMin)
3247 {
3248 area_right=0.5*(phi3-fEMCalPhiMin+2*(eta_b-eta)*TMath::Tan(psi0))*(fEMCalEtaMax-eta_b) + (eta_b-eta+r)*TMath::Tan(psi0)*(eta_b-eta-r);
3249 }
3250 else
3251 {
3252 area_right=0.5*(phi3-phi4+2*r*TMath::Tan(psi0))*(v-r);
3253 }
3254 return area_left+area_right;
3255}