#include "AliPhiCorrelationsQATask.h"
#include <TH2F.h>
#include <TParticle.h>
#include <TFile.h>
#include <AliLog.h>
#include <AliESDVertex.h>
#include <AliESDEvent.h>
#include <AliMCEvent.h>
#include <AliStack.h>
#include <AliHeader.h>
#include <AliAnalysisManager.h>
#include <AliCentrality.h>
#include "AliESDtrackCuts.h"
ClassImp(AliPhiCorrelationsQATask)
AliPhiCorrelationsQATask::AliPhiCorrelationsQATask(const char* opt) :
AliAnalysisTaskSE("AliPhiCorrelationsQATask"),
fOutput(0),
fOption(opt),
fTPCOnly(0),
fEsdTrackCuts(0),
fEsdTrackCuts2(0),
fCheckITS(0),
fGlobalTracks(0),
fCentralityCorrelation(0),
fDCAPrimaries(0),
fDCASecondaries(0),
fUseUncheckedCentrality(kFALSE)
{
DefineOutput(1, TList::Class());
AliLog::SetClassDebugLevel("AliPhiCorrelationsQATask", AliLog::kWarning);
}
AliPhiCorrelationsQATask::~AliPhiCorrelationsQATask()
{
if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
delete fOutput;
fOutput = 0;
}
}
void AliPhiCorrelationsQATask::UserCreateOutputObjects()
{
Printf("AliPhiCorrelationsQATask::CreateOutputObjects");
fOutput = new TList;
fOutput->SetOwner();
fCentralityCorrelation = new TH2F("fCentralityCorrelation", ";v0 centr;spd centr", 100, 0, 100.001, 100, 0, 100.001);
fOutput->Add(fCentralityCorrelation);
if (fEsdTrackCuts)
fOutput->Add(fEsdTrackCuts);
if (fEsdTrackCuts2)
fOutput->Add(fEsdTrackCuts2);
fGlobalTracks = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011();
fGlobalTracks->SetName("global_cuts");
fGlobalTracks->DefineHistograms();
fOutput->Add(fGlobalTracks);
fCheckITS = new AliESDtrackCuts;
fCheckITS->SetRequireITSRefit(kTRUE);
fCheckITS->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
AliESDtrackCuts::kAny);
fCheckITS->SetDCAToVertex2D(kFALSE);
fCheckITS->SetRequireSigmaToVertex(kFALSE);
fCheckITS->SetName("check_its");
fCheckITS->DefineHistograms();
fOutput->Add(fCheckITS);
Int_t nBins[] = { 20, 10, 200, 100 };
Double_t xMin[] = { 0, 0, -5, -5 };
Double_t xMax[] = { 20, 100, 5, 5 };
fDCAPrimaries = new THnF("fDCAPrimaries", ";pT;centrality;dca_xy;dca_z", 4, nBins, xMin, xMax);
fDCASecondaries = (THnF*) fDCAPrimaries->Clone("fDCASecondaries");
fOutput->Add(fDCAPrimaries);
fOutput->Add(fDCASecondaries);
PostData(1, fOutput);
}
void AliPhiCorrelationsQATask::UserExec(Option_t*)
{
AliESDEvent* esd = (AliESDEvent*) fInputEvent;
if (!esd)
AliFatal("No input event");
const AliESDVertex* vtxESD = esd->GetPrimaryVertex();
const AliESDVertex *vtxSPD = esd->GetPrimaryVertexSPD();
if (!vtxESD)
return;
if (!vtxSPD)
return;
Double_t vtx[3];
vtxESD->GetXYZ(vtx);
if (TMath::Abs(vtx[2]) > 10)
return;
AliCentrality *centralityObj = esd->GetCentrality();
Float_t v0Centrality = -1;
if (centralityObj)
{
Float_t spdCentrality = -1;
if (fUseUncheckedCentrality)
{
v0Centrality = centralityObj->GetCentralityPercentileUnchecked("V0M");
spdCentrality = centralityObj->GetCentralityPercentileUnchecked("CL1");
}
else
{
v0Centrality = centralityObj->GetCentralityPercentile("V0M");
spdCentrality = centralityObj->GetCentralityPercentile("CL1");
}
fCentralityCorrelation->Fill(v0Centrality, spdCentrality);
}
AliStack* stack = 0;
if (fMCEvent)
{
stack = fMCEvent->Stack();
if (!stack)
AliFatal("Stack is 0");
}
Int_t count = 0;
for (Int_t i=0; i<esd->GetNumberOfTracks(); i++)
{
AliESDtrack* esdTrack = esd->GetTrack(i);
if (0)
{
if (!fGlobalTracks->AcceptTrack(esdTrack))
continue;
}
Bool_t accept = kFALSE;
if (fEsdTrackCuts->AcceptTrack(esdTrack))
accept = kTRUE;
if (fEsdTrackCuts2 && fEsdTrackCuts2->AcceptTrack(esdTrack))
accept = kTRUE;
if (!accept)
continue;
if (fTPCOnly)
{
AliESDtrack* track = AliESDtrackCuts::GetTPCOnlyTrack(esd, i);
if(!track) continue;
if(track->Pt()>0.){
AliExternalTrackParam exParam;
Bool_t relate = kFALSE;
relate = track->RelateToVertexTPC(vtxSPD,esd->GetMagneticField(),kVeryBig,&exParam);
if(!relate)
{
delete track;
continue;
}
track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
}
esdTrack = track;
}
count++;
Float_t b[2];
Float_t bCov[3];
esdTrack->GetImpactParameters(b, bCov);
Bool_t primary = kTRUE;
if (stack)
primary = stack->IsPhysicalPrimary(TMath::Abs(esdTrack->GetLabel()));
Double_t fillArray[4] = { esdTrack->Pt(), v0Centrality, b[0], b[1] };
if (primary)
fDCAPrimaries->Fill(fillArray);
else
fDCASecondaries->Fill(fillArray);
if (fTPCOnly)
delete esdTrack;
}
}
void AliPhiCorrelationsQATask::Terminate(Option_t *)
{
Printf("In AliPhiCorrelationsQATask::Terminate...");
fOutput = dynamic_cast<TList*> (GetOutputData(1));
if (!fOutput)
{
Printf("ERROR: fOutput not available");
return;
}
fEsdTrackCuts = dynamic_cast<AliESDtrackCuts*> (fOutput->FindObject("cuts_quality_only"));
if (!fEsdTrackCuts)
{
Printf("ERROR: fEsdTrackCuts not available");
return;
}
fEsdTrackCuts2 = dynamic_cast<AliESDtrackCuts*> (fOutput->FindObject("cuts_quality_dca"));
if (!fEsdTrackCuts2)
{
Printf("ERROR: fEsdTrackCuts2 not available");
return;
}
fGlobalTracks = dynamic_cast<AliESDtrackCuts*> (fOutput->FindObject("global_cuts"));
if (!fGlobalTracks)
{
Printf("ERROR: fGlobalTracks not available");
return;
}
TFile* file = TFile::Open("track_cuts.root", "RECREATE");
fEsdTrackCuts->SaveHistograms();
fEsdTrackCuts2->SaveHistograms();
fGlobalTracks->SaveHistograms();
file->Close();
}
AliPhiCorrelationsQATask.cxx:1 AliPhiCorrelationsQATask.cxx:2 AliPhiCorrelationsQATask.cxx:3 AliPhiCorrelationsQATask.cxx:4 AliPhiCorrelationsQATask.cxx:5 AliPhiCorrelationsQATask.cxx:6 AliPhiCorrelationsQATask.cxx:7 AliPhiCorrelationsQATask.cxx:8 AliPhiCorrelationsQATask.cxx:9 AliPhiCorrelationsQATask.cxx:10 AliPhiCorrelationsQATask.cxx:11 AliPhiCorrelationsQATask.cxx:12 AliPhiCorrelationsQATask.cxx:13 AliPhiCorrelationsQATask.cxx:14 AliPhiCorrelationsQATask.cxx:15 AliPhiCorrelationsQATask.cxx:16 AliPhiCorrelationsQATask.cxx:17 AliPhiCorrelationsQATask.cxx:18 AliPhiCorrelationsQATask.cxx:19 AliPhiCorrelationsQATask.cxx:20 AliPhiCorrelationsQATask.cxx:21 AliPhiCorrelationsQATask.cxx:22 AliPhiCorrelationsQATask.cxx:23 AliPhiCorrelationsQATask.cxx:24 AliPhiCorrelationsQATask.cxx:25 AliPhiCorrelationsQATask.cxx:26 AliPhiCorrelationsQATask.cxx:27 AliPhiCorrelationsQATask.cxx:28 AliPhiCorrelationsQATask.cxx:29 AliPhiCorrelationsQATask.cxx:30 AliPhiCorrelationsQATask.cxx:31 AliPhiCorrelationsQATask.cxx:32 AliPhiCorrelationsQATask.cxx:33 AliPhiCorrelationsQATask.cxx:34 AliPhiCorrelationsQATask.cxx:35 AliPhiCorrelationsQATask.cxx:36 AliPhiCorrelationsQATask.cxx:37 AliPhiCorrelationsQATask.cxx:38 AliPhiCorrelationsQATask.cxx:39 AliPhiCorrelationsQATask.cxx:40 AliPhiCorrelationsQATask.cxx:41 AliPhiCorrelationsQATask.cxx:42 AliPhiCorrelationsQATask.cxx:43 AliPhiCorrelationsQATask.cxx:44 AliPhiCorrelationsQATask.cxx:45 AliPhiCorrelationsQATask.cxx:46 AliPhiCorrelationsQATask.cxx:47 AliPhiCorrelationsQATask.cxx:48 AliPhiCorrelationsQATask.cxx:49 AliPhiCorrelationsQATask.cxx:50 AliPhiCorrelationsQATask.cxx:51 AliPhiCorrelationsQATask.cxx:52 AliPhiCorrelationsQATask.cxx:53 AliPhiCorrelationsQATask.cxx:54 AliPhiCorrelationsQATask.cxx:55 AliPhiCorrelationsQATask.cxx:56 AliPhiCorrelationsQATask.cxx:57 AliPhiCorrelationsQATask.cxx:58 AliPhiCorrelationsQATask.cxx:59 AliPhiCorrelationsQATask.cxx:60 AliPhiCorrelationsQATask.cxx:61 AliPhiCorrelationsQATask.cxx:62 AliPhiCorrelationsQATask.cxx:63 AliPhiCorrelationsQATask.cxx:64 AliPhiCorrelationsQATask.cxx:65 AliPhiCorrelationsQATask.cxx:66 AliPhiCorrelationsQATask.cxx:67 AliPhiCorrelationsQATask.cxx:68 AliPhiCorrelationsQATask.cxx:69 AliPhiCorrelationsQATask.cxx:70 AliPhiCorrelationsQATask.cxx:71 AliPhiCorrelationsQATask.cxx:72 AliPhiCorrelationsQATask.cxx:73 AliPhiCorrelationsQATask.cxx:74 AliPhiCorrelationsQATask.cxx:75 AliPhiCorrelationsQATask.cxx:76 AliPhiCorrelationsQATask.cxx:77 AliPhiCorrelationsQATask.cxx:78 AliPhiCorrelationsQATask.cxx:79 AliPhiCorrelationsQATask.cxx:80 AliPhiCorrelationsQATask.cxx:81 AliPhiCorrelationsQATask.cxx:82 AliPhiCorrelationsQATask.cxx:83 AliPhiCorrelationsQATask.cxx:84 AliPhiCorrelationsQATask.cxx:85 AliPhiCorrelationsQATask.cxx:86 AliPhiCorrelationsQATask.cxx:87 AliPhiCorrelationsQATask.cxx:88 AliPhiCorrelationsQATask.cxx:89 AliPhiCorrelationsQATask.cxx:90 AliPhiCorrelationsQATask.cxx:91 AliPhiCorrelationsQATask.cxx:92 AliPhiCorrelationsQATask.cxx:93 AliPhiCorrelationsQATask.cxx:94 AliPhiCorrelationsQATask.cxx:95 AliPhiCorrelationsQATask.cxx:96 AliPhiCorrelationsQATask.cxx:97 AliPhiCorrelationsQATask.cxx:98 AliPhiCorrelationsQATask.cxx:99 AliPhiCorrelationsQATask.cxx:100 AliPhiCorrelationsQATask.cxx:101 AliPhiCorrelationsQATask.cxx:102 AliPhiCorrelationsQATask.cxx:103 AliPhiCorrelationsQATask.cxx:104 AliPhiCorrelationsQATask.cxx:105 AliPhiCorrelationsQATask.cxx:106 AliPhiCorrelationsQATask.cxx:107 AliPhiCorrelationsQATask.cxx:108 AliPhiCorrelationsQATask.cxx:109 AliPhiCorrelationsQATask.cxx:110 AliPhiCorrelationsQATask.cxx:111 AliPhiCorrelationsQATask.cxx:112 AliPhiCorrelationsQATask.cxx:113 AliPhiCorrelationsQATask.cxx:114 AliPhiCorrelationsQATask.cxx:115 AliPhiCorrelationsQATask.cxx:116 AliPhiCorrelationsQATask.cxx:117 AliPhiCorrelationsQATask.cxx:118 AliPhiCorrelationsQATask.cxx:119 AliPhiCorrelationsQATask.cxx:120 AliPhiCorrelationsQATask.cxx:121 AliPhiCorrelationsQATask.cxx:122 AliPhiCorrelationsQATask.cxx:123 AliPhiCorrelationsQATask.cxx:124 AliPhiCorrelationsQATask.cxx:125 AliPhiCorrelationsQATask.cxx:126 AliPhiCorrelationsQATask.cxx:127 AliPhiCorrelationsQATask.cxx:128 AliPhiCorrelationsQATask.cxx:129 AliPhiCorrelationsQATask.cxx:130 AliPhiCorrelationsQATask.cxx:131 AliPhiCorrelationsQATask.cxx:132 AliPhiCorrelationsQATask.cxx:133 AliPhiCorrelationsQATask.cxx:134 AliPhiCorrelationsQATask.cxx:135 AliPhiCorrelationsQATask.cxx:136 AliPhiCorrelationsQATask.cxx:137 AliPhiCorrelationsQATask.cxx:138 AliPhiCorrelationsQATask.cxx:139 AliPhiCorrelationsQATask.cxx:140 AliPhiCorrelationsQATask.cxx:141 AliPhiCorrelationsQATask.cxx:142 AliPhiCorrelationsQATask.cxx:143 AliPhiCorrelationsQATask.cxx:144 AliPhiCorrelationsQATask.cxx:145 AliPhiCorrelationsQATask.cxx:146 AliPhiCorrelationsQATask.cxx:147 AliPhiCorrelationsQATask.cxx:148 AliPhiCorrelationsQATask.cxx:149 AliPhiCorrelationsQATask.cxx:150 AliPhiCorrelationsQATask.cxx:151 AliPhiCorrelationsQATask.cxx:152 AliPhiCorrelationsQATask.cxx:153 AliPhiCorrelationsQATask.cxx:154 AliPhiCorrelationsQATask.cxx:155 AliPhiCorrelationsQATask.cxx:156 AliPhiCorrelationsQATask.cxx:157 AliPhiCorrelationsQATask.cxx:158 AliPhiCorrelationsQATask.cxx:159 AliPhiCorrelationsQATask.cxx:160 AliPhiCorrelationsQATask.cxx:161 AliPhiCorrelationsQATask.cxx:162 AliPhiCorrelationsQATask.cxx:163 AliPhiCorrelationsQATask.cxx:164 AliPhiCorrelationsQATask.cxx:165 AliPhiCorrelationsQATask.cxx:166 AliPhiCorrelationsQATask.cxx:167 AliPhiCorrelationsQATask.cxx:168 AliPhiCorrelationsQATask.cxx:169 AliPhiCorrelationsQATask.cxx:170 AliPhiCorrelationsQATask.cxx:171 AliPhiCorrelationsQATask.cxx:172 AliPhiCorrelationsQATask.cxx:173 AliPhiCorrelationsQATask.cxx:174 AliPhiCorrelationsQATask.cxx:175 AliPhiCorrelationsQATask.cxx:176 AliPhiCorrelationsQATask.cxx:177 AliPhiCorrelationsQATask.cxx:178 AliPhiCorrelationsQATask.cxx:179 AliPhiCorrelationsQATask.cxx:180 AliPhiCorrelationsQATask.cxx:181 AliPhiCorrelationsQATask.cxx:182 AliPhiCorrelationsQATask.cxx:183 AliPhiCorrelationsQATask.cxx:184 AliPhiCorrelationsQATask.cxx:185 AliPhiCorrelationsQATask.cxx:186 AliPhiCorrelationsQATask.cxx:187 AliPhiCorrelationsQATask.cxx:188 AliPhiCorrelationsQATask.cxx:189 AliPhiCorrelationsQATask.cxx:190 AliPhiCorrelationsQATask.cxx:191 AliPhiCorrelationsQATask.cxx:192 AliPhiCorrelationsQATask.cxx:193 AliPhiCorrelationsQATask.cxx:194 AliPhiCorrelationsQATask.cxx:195 AliPhiCorrelationsQATask.cxx:196 AliPhiCorrelationsQATask.cxx:197 AliPhiCorrelationsQATask.cxx:198 AliPhiCorrelationsQATask.cxx:199 AliPhiCorrelationsQATask.cxx:200 AliPhiCorrelationsQATask.cxx:201 AliPhiCorrelationsQATask.cxx:202 AliPhiCorrelationsQATask.cxx:203 AliPhiCorrelationsQATask.cxx:204 AliPhiCorrelationsQATask.cxx:205 AliPhiCorrelationsQATask.cxx:206 AliPhiCorrelationsQATask.cxx:207 AliPhiCorrelationsQATask.cxx:208 AliPhiCorrelationsQATask.cxx:209 AliPhiCorrelationsQATask.cxx:210 AliPhiCorrelationsQATask.cxx:211 AliPhiCorrelationsQATask.cxx:212 AliPhiCorrelationsQATask.cxx:213 AliPhiCorrelationsQATask.cxx:214 AliPhiCorrelationsQATask.cxx:215 AliPhiCorrelationsQATask.cxx:216 AliPhiCorrelationsQATask.cxx:217 AliPhiCorrelationsQATask.cxx:218 AliPhiCorrelationsQATask.cxx:219 AliPhiCorrelationsQATask.cxx:220 AliPhiCorrelationsQATask.cxx:221 AliPhiCorrelationsQATask.cxx:222 AliPhiCorrelationsQATask.cxx:223 AliPhiCorrelationsQATask.cxx:224 AliPhiCorrelationsQATask.cxx:225 AliPhiCorrelationsQATask.cxx:226 AliPhiCorrelationsQATask.cxx:227 AliPhiCorrelationsQATask.cxx:228 AliPhiCorrelationsQATask.cxx:229 AliPhiCorrelationsQATask.cxx:230 AliPhiCorrelationsQATask.cxx:231 AliPhiCorrelationsQATask.cxx:232 AliPhiCorrelationsQATask.cxx:233 AliPhiCorrelationsQATask.cxx:234 AliPhiCorrelationsQATask.cxx:235 AliPhiCorrelationsQATask.cxx:236 AliPhiCorrelationsQATask.cxx:237 AliPhiCorrelationsQATask.cxx:238 AliPhiCorrelationsQATask.cxx:239 AliPhiCorrelationsQATask.cxx:240 AliPhiCorrelationsQATask.cxx:241 AliPhiCorrelationsQATask.cxx:242 AliPhiCorrelationsQATask.cxx:243 AliPhiCorrelationsQATask.cxx:244 AliPhiCorrelationsQATask.cxx:245 AliPhiCorrelationsQATask.cxx:246 AliPhiCorrelationsQATask.cxx:247 AliPhiCorrelationsQATask.cxx:248 AliPhiCorrelationsQATask.cxx:249 AliPhiCorrelationsQATask.cxx:250 AliPhiCorrelationsQATask.cxx:251 AliPhiCorrelationsQATask.cxx:252 AliPhiCorrelationsQATask.cxx:253 AliPhiCorrelationsQATask.cxx:254 AliPhiCorrelationsQATask.cxx:255 AliPhiCorrelationsQATask.cxx:256 AliPhiCorrelationsQATask.cxx:257 AliPhiCorrelationsQATask.cxx:258 AliPhiCorrelationsQATask.cxx:259 AliPhiCorrelationsQATask.cxx:260 AliPhiCorrelationsQATask.cxx:261 AliPhiCorrelationsQATask.cxx:262 AliPhiCorrelationsQATask.cxx:263 AliPhiCorrelationsQATask.cxx:264 AliPhiCorrelationsQATask.cxx:265 AliPhiCorrelationsQATask.cxx:266 AliPhiCorrelationsQATask.cxx:267 AliPhiCorrelationsQATask.cxx:268 AliPhiCorrelationsQATask.cxx:269 AliPhiCorrelationsQATask.cxx:270 AliPhiCorrelationsQATask.cxx:271 AliPhiCorrelationsQATask.cxx:272 AliPhiCorrelationsQATask.cxx:273 AliPhiCorrelationsQATask.cxx:274 AliPhiCorrelationsQATask.cxx:275 AliPhiCorrelationsQATask.cxx:276 AliPhiCorrelationsQATask.cxx:277 AliPhiCorrelationsQATask.cxx:278 AliPhiCorrelationsQATask.cxx:279 AliPhiCorrelationsQATask.cxx:280 AliPhiCorrelationsQATask.cxx:281 AliPhiCorrelationsQATask.cxx:282 AliPhiCorrelationsQATask.cxx:283 AliPhiCorrelationsQATask.cxx:284 AliPhiCorrelationsQATask.cxx:285 AliPhiCorrelationsQATask.cxx:286 AliPhiCorrelationsQATask.cxx:287 AliPhiCorrelationsQATask.cxx:288 AliPhiCorrelationsQATask.cxx:289 AliPhiCorrelationsQATask.cxx:290 AliPhiCorrelationsQATask.cxx:291 AliPhiCorrelationsQATask.cxx:292 AliPhiCorrelationsQATask.cxx:293 AliPhiCorrelationsQATask.cxx:294 AliPhiCorrelationsQATask.cxx:295 AliPhiCorrelationsQATask.cxx:296 AliPhiCorrelationsQATask.cxx:297 AliPhiCorrelationsQATask.cxx:298 AliPhiCorrelationsQATask.cxx:299 AliPhiCorrelationsQATask.cxx:300 AliPhiCorrelationsQATask.cxx:301 AliPhiCorrelationsQATask.cxx:302 AliPhiCorrelationsQATask.cxx:303 AliPhiCorrelationsQATask.cxx:304 AliPhiCorrelationsQATask.cxx:305 AliPhiCorrelationsQATask.cxx:306 AliPhiCorrelationsQATask.cxx:307 AliPhiCorrelationsQATask.cxx:308 AliPhiCorrelationsQATask.cxx:309 AliPhiCorrelationsQATask.cxx:310 AliPhiCorrelationsQATask.cxx:311 AliPhiCorrelationsQATask.cxx:312 AliPhiCorrelationsQATask.cxx:313 AliPhiCorrelationsQATask.cxx:314 AliPhiCorrelationsQATask.cxx:315 AliPhiCorrelationsQATask.cxx:316 AliPhiCorrelationsQATask.cxx:317 AliPhiCorrelationsQATask.cxx:318 AliPhiCorrelationsQATask.cxx:319 AliPhiCorrelationsQATask.cxx:320 AliPhiCorrelationsQATask.cxx:321 AliPhiCorrelationsQATask.cxx:322 AliPhiCorrelationsQATask.cxx:323 AliPhiCorrelationsQATask.cxx:324