]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/macros/AddTaskLongRangeCorrelations.C
Update in LHC code
[u/mrichter/AliRoot.git] / PWGCF / Correlations / macros / AddTaskLongRangeCorrelations.C
CommitLineData
43d6f3d4 1// -*- c++ -*-
a742e0d7 2// $Id: AddTaskLongRangeCorrelations.C 371 2013-11-30 19:23:47Z cmayer $
43d6f3d4 3
4const Double_t centMin[] = { 0, 0, 10, 20, 30, 40, 50, 60, 70, 80 };
5const Double_t centMax[] = { 5, 10, 20, 30, 40, 50, 60, 70, 80, 100 };
6const Int_t nMin[] = { -1, 120, 70, 35, 20, 5, 0, 0, 0, -1 };
7const Int_t nMax[] = { -1, 400, 275, 200, 145, 100, 68, 46, 30, -1 };
8
a742e0d7 9const Double_t deltaEta[] = { -1, 0, 0.2, 0.4, 0.6, 1.4 };
10
43d6f3d4 11AliAnalysisTaskLongRangeCorrelations*
12AddTaskLongRangeCorrelations(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}