#include "AliAnalysisTaskRhoFlow.h"
#include <TClonesArray.h>
#include <TMath.h>
#include <TH2F.h>
#include "AliVTrack.h"
#include "AliLog.h"
#include "AliRhoParameter.h"
ClassImp(AliAnalysisTaskRhoFlow)
AliAnalysisTaskRhoFlow::AliAnalysisTaskRhoFlow() :
AliAnalysisTaskRho("AliAnalysisTaskRhoFlow",kTRUE),
fRhoNearSide(0),
fRhoAwaySide(0),
fRhoPerpSide1(0),
fRhoPerpSide2(0),
fHistRhoNearVsCent(0),
fHistDeltaRhoNearVsCent(0),
fHistRhoAwayVsCent(0),
fHistDeltaRhoAwayVsCent(0),
fHistRhoPerp1VsCent(0),
fHistDeltaRhoPerp1VsCent(0),
fHistRhoPerp2VsCent(0),
fHistDeltaRhoPerp2VsCent(0)
{
SetAttachToEvent(kFALSE);
}
AliAnalysisTaskRhoFlow::AliAnalysisTaskRhoFlow(const char *name) :
AliAnalysisTaskRho(name, kTRUE),
fRhoNearSide(0),
fRhoAwaySide(0),
fRhoPerpSide1(0),
fRhoPerpSide2(0),
fHistRhoNearVsCent(0),
fHistDeltaRhoNearVsCent(0),
fHistRhoAwayVsCent(0),
fHistDeltaRhoAwayVsCent(0),
fHistRhoPerp1VsCent(0),
fHistDeltaRhoPerp1VsCent(0),
fHistRhoPerp2VsCent(0),
fHistDeltaRhoPerp2VsCent(0)
{
SetAttachToEvent(kFALSE);
}
void AliAnalysisTaskRhoFlow::UserCreateOutputObjects()
{
AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
fHistRhoNearVsCent = new TH2F("RhoNearVsCent", "RhoNearVsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
fOutput->Add(fHistRhoNearVsCent);
fHistRhoAwayVsCent = new TH2F("RhoAwayVsCent", "RhoAwayVsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
fOutput->Add(fHistRhoAwayVsCent);
fHistRhoPerp1VsCent = new TH2F("RhoPerp1VsCent", "RhoPerp1VsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
fOutput->Add(fHistRhoPerp1VsCent);
fHistRhoPerp2VsCent = new TH2F("RhoPerp2VsCent", "RhoPerp2VsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
fOutput->Add(fHistRhoPerp2VsCent);
if (!fCompareRhoName.IsNull()) {
fHistDeltaRhoNearVsCent = new TH2F("DeltaRhoNearVsCent", "DeltaRhoNearVsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
fOutput->Add(fHistDeltaRhoNearVsCent);
fHistDeltaRhoAwayVsCent = new TH2F("DeltaRhoAwayVsCent", "DeltaRhoAwayVsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
fOutput->Add(fHistDeltaRhoAwayVsCent);
fHistDeltaRhoPerp1VsCent = new TH2F("DeltaRhoPerp1VsCent", "DeltaRhoPerp1VsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
fOutput->Add(fHistDeltaRhoPerp1VsCent);
fHistDeltaRhoPerp2VsCent = new TH2F("DeltaRhoPerp2VsCent", "DeltaRhoPerp2VsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
fOutput->Add(fHistDeltaRhoPerp2VsCent);
}
}
Bool_t AliAnalysisTaskRhoFlow::Run()
{
if (!fTracks)
return kFALSE;
Double_t jetRadius = GetJetRadius();
Double_t maxTrackPhi = -1;
Double_t maxTrackPt = 0;
for (Int_t i = 0; i < fTracks->GetEntriesFast(); i++) {
AliVTrack *track = static_cast<AliVTrack*>(fTracks->At(i));
if (!track)
continue;
if (!AcceptTrack(track))
continue;
if (track->Pt() > maxTrackPt) {
maxTrackPt = track->Pt();
maxTrackPhi = track->Phi();
}
}
Double_t minPhi = -1;
Double_t maxPhi = -1;
minPhi = maxTrackPhi + TMath::Pi() - TMath::Pi()/4 + jetRadius;
maxPhi = maxTrackPhi + TMath::Pi() + TMath::Pi()/4 + jetRadius;
if (maxPhi > TMath::Pi() * 2) {
minPhi -= TMath::Pi() * 2;
maxPhi -= TMath::Pi() * 2;
}
SetJetPhiLimits(minPhi, maxPhi);
fNExclLeadJets = 1;
AliAnalysisTaskRho::Run();
fRhoAwaySide = fOutRho->GetVal();
minPhi = maxTrackPhi + TMath::Pi()/2 - TMath::Pi()/4 + jetRadius;
maxPhi = maxTrackPhi + TMath::Pi()/2 + TMath::Pi()/4 + jetRadius;
if (maxPhi > TMath::Pi() * 2) {
minPhi -= TMath::Pi() * 2;
maxPhi -= TMath::Pi() * 2;
}
SetJetPhiLimits(minPhi, maxPhi);
fNExclLeadJets = 0;
AliAnalysisTaskRho::Run();
fRhoPerpSide1 = fOutRho->GetVal();
minPhi = maxTrackPhi - TMath::Pi()/2 - TMath::Pi()/4 + jetRadius;
maxPhi = maxTrackPhi - TMath::Pi()/2 + TMath::Pi()/4 + jetRadius;
if (maxPhi > TMath::Pi() * 2) {
minPhi -= TMath::Pi() * 2;
maxPhi -= TMath::Pi() * 2;
}
SetJetPhiLimits(minPhi, maxPhi);
fNExclLeadJets = 0;
AliAnalysisTaskRho::Run();
fRhoPerpSide2 = fOutRho->GetVal();
minPhi = maxTrackPhi - TMath::Pi()/4 + jetRadius;
maxPhi = maxTrackPhi + TMath::Pi()/4 + jetRadius;
if (maxPhi > TMath::Pi() * 2) {
minPhi -= TMath::Pi() * 2;
maxPhi -= TMath::Pi() * 2;
}
SetJetPhiLimits(minPhi, maxPhi);
fNExclLeadJets = 1;
AliAnalysisTaskRho::Run();
fRhoNearSide = fOutRho->GetVal();
return kTRUE;
}
Bool_t AliAnalysisTaskRhoFlow::FillHistograms()
{
fHistRhoNearVsCent->Fill(fCent, fRhoNearSide);
fHistRhoAwayVsCent->Fill(fCent, fRhoAwaySide);
fHistRhoPerp1VsCent->Fill(fCent, fRhoPerpSide1);
fHistRhoPerp2VsCent->Fill(fCent, fRhoPerpSide2);
if (fCompareRho) {
fHistDeltaRhoNearVsCent->Fill(fCent, fRhoNearSide - fCompareRho->GetVal());
fHistDeltaRhoAwayVsCent->Fill(fCent, fRhoAwaySide - fCompareRho->GetVal());
fHistDeltaRhoPerp1VsCent->Fill(fCent, fRhoPerpSide1 - fCompareRho->GetVal());
fHistDeltaRhoPerp2VsCent->Fill(fCent, fRhoPerpSide2 - fCompareRho->GetVal());
}
return kTRUE;
}
AliAnalysisTaskRhoFlow.cxx:1 AliAnalysisTaskRhoFlow.cxx:2 AliAnalysisTaskRhoFlow.cxx:3 AliAnalysisTaskRhoFlow.cxx:4 AliAnalysisTaskRhoFlow.cxx:5 AliAnalysisTaskRhoFlow.cxx:6 AliAnalysisTaskRhoFlow.cxx:7 AliAnalysisTaskRhoFlow.cxx:8 AliAnalysisTaskRhoFlow.cxx:9 AliAnalysisTaskRhoFlow.cxx:10 AliAnalysisTaskRhoFlow.cxx:11 AliAnalysisTaskRhoFlow.cxx:12 AliAnalysisTaskRhoFlow.cxx:13 AliAnalysisTaskRhoFlow.cxx:14 AliAnalysisTaskRhoFlow.cxx:15 AliAnalysisTaskRhoFlow.cxx:16 AliAnalysisTaskRhoFlow.cxx:17 AliAnalysisTaskRhoFlow.cxx:18 AliAnalysisTaskRhoFlow.cxx:19 AliAnalysisTaskRhoFlow.cxx:20 AliAnalysisTaskRhoFlow.cxx:21 AliAnalysisTaskRhoFlow.cxx:22 AliAnalysisTaskRhoFlow.cxx:23 AliAnalysisTaskRhoFlow.cxx:24 AliAnalysisTaskRhoFlow.cxx:25 AliAnalysisTaskRhoFlow.cxx:26 AliAnalysisTaskRhoFlow.cxx:27 AliAnalysisTaskRhoFlow.cxx:28 AliAnalysisTaskRhoFlow.cxx:29 AliAnalysisTaskRhoFlow.cxx:30 AliAnalysisTaskRhoFlow.cxx:31 AliAnalysisTaskRhoFlow.cxx:32 AliAnalysisTaskRhoFlow.cxx:33 AliAnalysisTaskRhoFlow.cxx:34 AliAnalysisTaskRhoFlow.cxx:35 AliAnalysisTaskRhoFlow.cxx:36 AliAnalysisTaskRhoFlow.cxx:37 AliAnalysisTaskRhoFlow.cxx:38 AliAnalysisTaskRhoFlow.cxx:39 AliAnalysisTaskRhoFlow.cxx:40 AliAnalysisTaskRhoFlow.cxx:41 AliAnalysisTaskRhoFlow.cxx:42 AliAnalysisTaskRhoFlow.cxx:43 AliAnalysisTaskRhoFlow.cxx:44 AliAnalysisTaskRhoFlow.cxx:45 AliAnalysisTaskRhoFlow.cxx:46 AliAnalysisTaskRhoFlow.cxx:47 AliAnalysisTaskRhoFlow.cxx:48 AliAnalysisTaskRhoFlow.cxx:49 AliAnalysisTaskRhoFlow.cxx:50 AliAnalysisTaskRhoFlow.cxx:51 AliAnalysisTaskRhoFlow.cxx:52 AliAnalysisTaskRhoFlow.cxx:53 AliAnalysisTaskRhoFlow.cxx:54 AliAnalysisTaskRhoFlow.cxx:55 AliAnalysisTaskRhoFlow.cxx:56 AliAnalysisTaskRhoFlow.cxx:57 AliAnalysisTaskRhoFlow.cxx:58 AliAnalysisTaskRhoFlow.cxx:59 AliAnalysisTaskRhoFlow.cxx:60 AliAnalysisTaskRhoFlow.cxx:61 AliAnalysisTaskRhoFlow.cxx:62 AliAnalysisTaskRhoFlow.cxx:63 AliAnalysisTaskRhoFlow.cxx:64 AliAnalysisTaskRhoFlow.cxx:65 AliAnalysisTaskRhoFlow.cxx:66 AliAnalysisTaskRhoFlow.cxx:67 AliAnalysisTaskRhoFlow.cxx:68 AliAnalysisTaskRhoFlow.cxx:69 AliAnalysisTaskRhoFlow.cxx:70 AliAnalysisTaskRhoFlow.cxx:71 AliAnalysisTaskRhoFlow.cxx:72 AliAnalysisTaskRhoFlow.cxx:73 AliAnalysisTaskRhoFlow.cxx:74 AliAnalysisTaskRhoFlow.cxx:75 AliAnalysisTaskRhoFlow.cxx:76 AliAnalysisTaskRhoFlow.cxx:77 AliAnalysisTaskRhoFlow.cxx:78 AliAnalysisTaskRhoFlow.cxx:79 AliAnalysisTaskRhoFlow.cxx:80 AliAnalysisTaskRhoFlow.cxx:81 AliAnalysisTaskRhoFlow.cxx:82 AliAnalysisTaskRhoFlow.cxx:83 AliAnalysisTaskRhoFlow.cxx:84 AliAnalysisTaskRhoFlow.cxx:85 AliAnalysisTaskRhoFlow.cxx:86 AliAnalysisTaskRhoFlow.cxx:87 AliAnalysisTaskRhoFlow.cxx:88 AliAnalysisTaskRhoFlow.cxx:89 AliAnalysisTaskRhoFlow.cxx:90 AliAnalysisTaskRhoFlow.cxx:91 AliAnalysisTaskRhoFlow.cxx:92 AliAnalysisTaskRhoFlow.cxx:93 AliAnalysisTaskRhoFlow.cxx:94 AliAnalysisTaskRhoFlow.cxx:95 AliAnalysisTaskRhoFlow.cxx:96 AliAnalysisTaskRhoFlow.cxx:97 AliAnalysisTaskRhoFlow.cxx:98 AliAnalysisTaskRhoFlow.cxx:99 AliAnalysisTaskRhoFlow.cxx:100 AliAnalysisTaskRhoFlow.cxx:101 AliAnalysisTaskRhoFlow.cxx:102 AliAnalysisTaskRhoFlow.cxx:103 AliAnalysisTaskRhoFlow.cxx:104 AliAnalysisTaskRhoFlow.cxx:105 AliAnalysisTaskRhoFlow.cxx:106 AliAnalysisTaskRhoFlow.cxx:107 AliAnalysisTaskRhoFlow.cxx:108 AliAnalysisTaskRhoFlow.cxx:109 AliAnalysisTaskRhoFlow.cxx:110 AliAnalysisTaskRhoFlow.cxx:111 AliAnalysisTaskRhoFlow.cxx:112 AliAnalysisTaskRhoFlow.cxx:113 AliAnalysisTaskRhoFlow.cxx:114 AliAnalysisTaskRhoFlow.cxx:115 AliAnalysisTaskRhoFlow.cxx:116 AliAnalysisTaskRhoFlow.cxx:117 AliAnalysisTaskRhoFlow.cxx:118 AliAnalysisTaskRhoFlow.cxx:119 AliAnalysisTaskRhoFlow.cxx:120 AliAnalysisTaskRhoFlow.cxx:121 AliAnalysisTaskRhoFlow.cxx:122 AliAnalysisTaskRhoFlow.cxx:123 AliAnalysisTaskRhoFlow.cxx:124 AliAnalysisTaskRhoFlow.cxx:125 AliAnalysisTaskRhoFlow.cxx:126 AliAnalysisTaskRhoFlow.cxx:127 AliAnalysisTaskRhoFlow.cxx:128 AliAnalysisTaskRhoFlow.cxx:129 AliAnalysisTaskRhoFlow.cxx:130 AliAnalysisTaskRhoFlow.cxx:131 AliAnalysisTaskRhoFlow.cxx:132 AliAnalysisTaskRhoFlow.cxx:133 AliAnalysisTaskRhoFlow.cxx:134 AliAnalysisTaskRhoFlow.cxx:135 AliAnalysisTaskRhoFlow.cxx:136 AliAnalysisTaskRhoFlow.cxx:137 AliAnalysisTaskRhoFlow.cxx:138 AliAnalysisTaskRhoFlow.cxx:139 AliAnalysisTaskRhoFlow.cxx:140 AliAnalysisTaskRhoFlow.cxx:141 AliAnalysisTaskRhoFlow.cxx:142 AliAnalysisTaskRhoFlow.cxx:143 AliAnalysisTaskRhoFlow.cxx:144 AliAnalysisTaskRhoFlow.cxx:145 AliAnalysisTaskRhoFlow.cxx:146 AliAnalysisTaskRhoFlow.cxx:147 AliAnalysisTaskRhoFlow.cxx:148 AliAnalysisTaskRhoFlow.cxx:149 AliAnalysisTaskRhoFlow.cxx:150 AliAnalysisTaskRhoFlow.cxx:151 AliAnalysisTaskRhoFlow.cxx:152 AliAnalysisTaskRhoFlow.cxx:153 AliAnalysisTaskRhoFlow.cxx:154 AliAnalysisTaskRhoFlow.cxx:155 AliAnalysisTaskRhoFlow.cxx:156 AliAnalysisTaskRhoFlow.cxx:157 AliAnalysisTaskRhoFlow.cxx:158 AliAnalysisTaskRhoFlow.cxx:159 AliAnalysisTaskRhoFlow.cxx:160 AliAnalysisTaskRhoFlow.cxx:161 AliAnalysisTaskRhoFlow.cxx:162 AliAnalysisTaskRhoFlow.cxx:163 AliAnalysisTaskRhoFlow.cxx:164 AliAnalysisTaskRhoFlow.cxx:165 AliAnalysisTaskRhoFlow.cxx:166 AliAnalysisTaskRhoFlow.cxx:167 AliAnalysisTaskRhoFlow.cxx:168 AliAnalysisTaskRhoFlow.cxx:169 AliAnalysisTaskRhoFlow.cxx:170 AliAnalysisTaskRhoFlow.cxx:171 AliAnalysisTaskRhoFlow.cxx:172 AliAnalysisTaskRhoFlow.cxx:173 AliAnalysisTaskRhoFlow.cxx:174 AliAnalysisTaskRhoFlow.cxx:175 AliAnalysisTaskRhoFlow.cxx:176 AliAnalysisTaskRhoFlow.cxx:177 AliAnalysisTaskRhoFlow.cxx:178 AliAnalysisTaskRhoFlow.cxx:179 AliAnalysisTaskRhoFlow.cxx:180 AliAnalysisTaskRhoFlow.cxx:181 AliAnalysisTaskRhoFlow.cxx:182 AliAnalysisTaskRhoFlow.cxx:183 AliAnalysisTaskRhoFlow.cxx:184 AliAnalysisTaskRhoFlow.cxx:185 AliAnalysisTaskRhoFlow.cxx:186 AliAnalysisTaskRhoFlow.cxx:187 AliAnalysisTaskRhoFlow.cxx:188