1 AliAnalysisTaskHIMultCorr *AddTaskHIMultCorr(){
5 //===============================================
6 //-- Get the current analysis manager
8 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10 Error("AddTask_jthaeder_HIMultCorr", "No analysis manager found.");
14 //===============================================
17 Bool_t isMC=(mgr->GetMCtruthEventHandler() != NULL);
19 Info("AddTask_jthaeder_HIMultCorr", "This task has MC.");
22 //===============================================
25 AliESDtrackCuts* esdCuts = new AliESDtrackCuts("AliESDtrackCuts");
26 AliESDtrackCuts* esdCuts2 = new AliESDtrackCuts("AliESDtrackCuts2");
28 // -- dNdPt track cuts 23
29 esdCuts->SetRequireSigmaToVertex(kFALSE);
30 esdCuts->SetRequireITSRefit(kFALSE);
31 esdCuts->SetRequireTPCRefit(kFALSE);
32 esdCuts->SetRequireTPCStandAlone(kTRUE);
33 esdCuts->SetAcceptKinkDaughters(kFALSE);
34 esdCuts->SetMinNClustersTPC(70);
36 esdCuts->SetMaxChi2PerClusterTPC(4.0);
38 esdCuts->SetMaxDCAToVertexXY(2.4); // cm
39 esdCuts->SetMaxDCAToVertexZ(3.2); // cm
40 esdCuts->SetDCAToVertex2D(kTRUE);
42 // -- dNdPt track cuts 72
43 esdCuts2->SetRequireSigmaToVertex(kFALSE);
44 esdCuts2->SetRequireTPCRefit(kTRUE);
45 esdCuts2->SetRequireITSRefit(kTRUE);
46 esdCuts2->SetAcceptKinkDaughters(kFALSE);
47 esdCuts2->SetMinNClustersTPC(70);
49 esdCuts2->SetMaxChi2PerClusterTPC(4.0);
50 esdCuts2->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
52 esdCuts2->SetMaxDCAToVertexZ(2.0);
53 esdCuts2->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01"); // 7*(0.0026+0.0050/pt^1.01)
54 esdCuts2->SetDCAToVertex2D(kFALSE);
57 esdCuts->SetEtaRange(-0.8,0.8);
58 esdCuts2->SetEtaRange(-0.8,0.8);
60 //===============================================
61 // -- Add task to the ANALYSIS manager
63 AliAnalysisTaskHIMultCorr *task = new AliAnalysisTaskHIMultCorr("AliAnalysisTaskHIMultCorrVZERO");
64 task->SelectCollisionCandidates(AliVEvent::kMB);
65 task->SetUseCentrality(1); // V0
66 task->SetESDCuts(esdCuts);
67 task->SetESDCuts2(esdCuts2);
68 task->SetMaxVertexZ(10.); // cm
69 if (isMC) task->SetIsMC();
73 AliAnalysisTaskHIMultCorr *taskSPD = new AliAnalysisTaskHIMultCorr("AliAnalysisTaskHIMultCorrSPD");
74 taskSPD->SelectCollisionCandidates(AliVEvent::kMB);
75 taskSPD->SetUseCentrality(2); // SPD
76 taskSPD->SetESDCuts(esdCuts);
77 taskSPD->SetESDCuts2(esdCuts2);
78 taskSPD->SetMaxVertexZ(10.); // cm
79 if (isMC) task->SetIsMC();
80 mgr->AddTask(taskSPD);
83 //================================================
84 // -- Output for Streamer
86 TString addoutput = gSystem->Getenv("ADD_OUTPUT_FILES");
87 if (addoutput.Length()) addoutput+=",";
88 addoutput+="eventInfoCoirr.root";
89 gSystem->Setenv("ADD_OUTPUT_FILES",addoutput.Data());
91 //================================================
92 // -- data containers - input
94 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
96 //================================================
97 // -- data containers - VZERO
99 TString outputFileName = AliAnalysisManager::GetCommonFileName();
100 AliAnalysisDataContainer *coutput =
101 mgr->CreateContainer("HIMultCorr_VZERO", TList::Class(),
102 AliAnalysisManager::kOutputContainer,
105 mgr->ConnectInput (task, 0, cinput );
106 mgr->ConnectOutput (task, 1, coutput);
108 //================================================
109 // -- data containers - SPD
112 AliAnalysisDataContainer *coutputSPD =
113 mgr->CreateContainer("HIMultCorr_SPD", TList::Class(),
114 AliAnalysisManager::kOutputContainer,
117 mgr->ConnectInput (taskSPD, 0, cinput );
118 mgr->ConnectOutput (taskSPD, 1, coutputSPD);