]>
Commit | Line | Data |
---|---|---|
43d6f3d4 | 1 | // -*- c++ -*- |
a742e0d7 | 2 | // $Id: AddTaskLongRangeCorrelations.C 371 2013-11-30 19:23:47Z cmayer $ |
43d6f3d4 | 3 | |
4 | const Double_t centMin[] = { 0, 0, 10, 20, 30, 40, 50, 60, 70, 80 }; | |
5 | const Double_t centMax[] = { 5, 10, 20, 30, 40, 50, 60, 70, 80, 100 }; | |
6 | const Int_t nMin[] = { -1, 120, 70, 35, 20, 5, 0, 0, 0, -1 }; | |
7 | const Int_t nMax[] = { -1, 400, 275, 200, 145, 100, 68, 46, 30, -1 }; | |
8 | ||
a742e0d7 | 9 | const Double_t deltaEta[] = { -1, 0, 0.2, 0.4, 0.6, 1.4 }; |
10 | ||
43d6f3d4 | 11 | AliAnalysisTaskLongRangeCorrelations* |
12 | AddTaskLongRangeCorrelations(Int_t trackFilter = 128, // TPC only | |
13 | Bool_t runMixing = !kTRUE, | |
14 | Int_t mixingTracks = 50000, | |
15 | Int_t selPrimMC = 0, Int_t selPrimMCData = 0, | |
16 | Double_t ptMin = 0.2, | |
17 | Double_t phiMin = 0, Double_t phiMax = TMath::TwoPi()) { | |
18 | ||
19 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
20 | if (NULL == mgr) { | |
21 | ::Error("AddTaskLongRangeCorrelations", "No analysis manager to connect to."); | |
22 | return NULL; | |
23 | } | |
24 | if (NULL == mgr->GetInputEventHandler()) { | |
25 | ::Error("AddTaskLongRangeCorrelations", "This task requires an input event handler"); | |
26 | return NULL; | |
27 | } | |
28 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
29 | if (type != "AOD") { | |
30 | ::Error("AddTaskLongRangeCorrelations", "This task runs only on AOD data"); | |
31 | return NULL; | |
32 | } | |
33 | ||
34 | AliAnalysisTaskLongRangeCorrelations *taskLRC = NULL; | |
35 | AliAnalysisDataContainer *listLRC = NULL; | |
36 | TString outputFileName = AliAnalysisManager::GetCommonFileName(); | |
37 | outputFileName += ":PWGCFEbyE.outputLongRangeCorrelations.root"; | |
38 | ||
39 | for (Int_t i=0; i<sizeof(centMin)/sizeof(Double_t); ++i) { | |
a742e0d7 | 40 | size_t jMin = (nMin[i] < 0) ? 0 : 1; |
41 | size_t jMax = (nMin[i] < 0) ? 1 : sizeof(deltaEta)/sizeof(Double_t); | |
42 | for (Int_t j=jMin; j<jMax; ++j) { | |
43 | taskLRC = new AliAnalysisTaskLongRangeCorrelations("TaskLongRangeCorrelations"); | |
44 | taskLRC->SetRunMixing(runMixing); | |
45 | taskLRC->SetMixingTracks(mixingTracks); | |
46 | taskLRC->SetTrackFilter(trackFilter); | |
47 | taskLRC->SetCentralityRange(centMin[i], centMax[i]); | |
48 | taskLRC->SetPtRange(ptMin, 1e20); | |
49 | taskLRC->SetPhiRange(phiMin, phiMax); | |
50 | taskLRC->SelectCollisionCandidates(AliVEvent::kMB); | |
51 | taskLRC->SetSelectPrimaryMCParticles(selPrimMC, selPrimMCData); | |
52 | taskLRC->SetRangeN(nMin[i], nMax[i], deltaEta[j]); | |
53 | Printf("%f %f %d %d %f", centMin[i], centMax[i], nMin[i], nMax[i], deltaEta[j]); | |
54 | listLRC = mgr->CreateContainer(taskLRC->GetOutputListName(), TList::Class(), | |
55 | AliAnalysisManager::kOutputContainer, | |
56 | outputFileName.Data()); | |
57 | mgr->AddTask(taskLRC); | |
58 | mgr->ConnectInput(taskLRC, 0, mgr->GetCommonInputContainer()); | |
59 | mgr->ConnectOutput(taskLRC, 1, listLRC); | |
60 | } | |
43d6f3d4 | 61 | } |
62 | ||
63 | return taskLRC; | |
64 | } |