]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/macros/AddTaskEMCALEventPlane.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALEventPlane.C
CommitLineData
3c40321c 1AliEPSelectionTask *AddTaskEventplane(Bool_t useEtaGap=kTRUE,Float_t etaGap=0.4,Bool_t posTPCAOD=kFALSE,TString containername = "EPStat")
2{
3 // Macro to connect an event plane selection task to an existing analysis manager.
4
5 if(useEtaGap && posTPCAOD){
6 ::Error("AddTaskEventplane", "eta-splitting of events and one side of TPC not possible at same time!");
7 return NULL;
8 }
9
10 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11 if (!mgr) {
12 ::Error("AddTaskEventplane", "No analysis manager to connect to.");
13 return NULL;
14 }
15 // Check the analysis type using the event handlers connected to the analysis manager.
16 //==============================================================================
17 if (!mgr->GetInputEventHandler()) {
18 ::Error("AddTaskEventplane", "This task requires an input event handler");
19 return NULL;
20 }
21 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
22
23 AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
24 eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral);
25 if (inputDataType == "AOD"){
26 eventplaneTask->SetInput("AOD");
27 }
28 eventplaneTask->SetTrackType("TPC");
29 eventplaneTask->SetUsePtWeight();
30 eventplaneTask->SetUsePhiWeight();
31 eventplaneTask->SetSaveTrackContribution();
32 if(useEtaGap){
33 eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kEta);
34 eventplaneTask->SetEtaGap(etaGap);
35 }
36 if(posTPCAOD){
37 eventplaneTask->SetPersonalAODtrackCuts(128,0.,0.8,0.15,20.);
38 eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kRandom);
39 }
40 // Cuts on primary tracks
41 AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
42 esdTrackCutsL->SetMinNClustersTPC(50);
43 esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5);
44// esdTrackCutsL->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
45// esdTrackCutsL->SetRequireTPCRefit(kTRUE);
46 esdTrackCutsL->SetMaxDCAToVertexXY(3.0);
47 esdTrackCutsL->SetMaxDCAToVertexZ(3.0);
48 esdTrackCutsL->SetDCAToVertex2D(kTRUE);
49// esdTrackCutsL->SetRequireSigmaToVertex(kFALSE);
50// esdTrackCutsL->SetAcceptKinkDaughters(kFALSE);
51 eventplaneTask->SetPersonalESDtrackCuts(esdTrackCutsL);
52
53
54
55 mgr->AddTask(eventplaneTask);
56
57 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
58 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containername,
59 TList::Class(), AliAnalysisManager::kOutputContainer,
60 "EventStat_temp.root");
61
62 mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
63 mgr->ConnectOutput(eventplaneTask,1,coutput1);
64
65 return eventplaneTask;
66}