]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/PilotTrain/AddTaskHIMultCorr.C
Dump object functionality
[u/mrichter/AliRoot.git] / PWGPP / PilotTrain / AddTaskHIMultCorr.C
CommitLineData
44a84424 1AliAnalysisTaskHIMultCorr *AddTaskHIMultCorr(){
2
3#define USE_STREAMER 0
4
5 //===============================================
6 //-- Get the current analysis manager
7
8 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9 if (!mgr) {
10 Error("AddTask_jthaeder_HIMultCorr", "No analysis manager found.");
11 return 0;
12 }
13
14 //===============================================
15 // -- Check for MC
16
17 Bool_t isMC=(mgr->GetMCtruthEventHandler() != NULL);
18 if (isMC){
19 Info("AddTask_jthaeder_HIMultCorr", "This task has MC.");
20 }
21
22 //===============================================
23 // -- Create ESD cuts
24
25 AliESDtrackCuts* esdCuts = new AliESDtrackCuts("AliESDtrackCuts");
26 AliESDtrackCuts* esdCuts2 = new AliESDtrackCuts("AliESDtrackCuts2");
27
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);
35
36 esdCuts->SetMaxChi2PerClusterTPC(4.0);
37
38 esdCuts->SetMaxDCAToVertexXY(2.4); // cm
39 esdCuts->SetMaxDCAToVertexZ(3.2); // cm
40 esdCuts->SetDCAToVertex2D(kTRUE);
41
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);
48
49 esdCuts2->SetMaxChi2PerClusterTPC(4.0);
50 esdCuts2->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
51
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);
55
56 // -- acceptance
57 esdCuts->SetEtaRange(-0.8,0.8);
58 esdCuts2->SetEtaRange(-0.8,0.8);
59
60 //===============================================
61 // -- Add task to the ANALYSIS manager
62
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();
70 mgr->AddTask(task);
71
72#ifdef USE_SPD
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);
81#endif
82
83 //================================================
84 // -- Output for Streamer
85#if USE_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());
90#endif
91 //================================================
92 // -- data containers - input
93
94 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
95
96 //================================================
97 // -- data containers - VZERO
98
99 TString outputFileName = AliAnalysisManager::GetCommonFileName();
100 AliAnalysisDataContainer *coutput =
101 mgr->CreateContainer("HIMultCorr_VZERO", TList::Class(),
102 AliAnalysisManager::kOutputContainer,
103 outputFileName);
104
105 mgr->ConnectInput (task, 0, cinput );
106 mgr->ConnectOutput (task, 1, coutput);
107
108 //================================================
109 // -- data containers - SPD
110
111#ifdef USE_SPD
112 AliAnalysisDataContainer *coutputSPD =
113 mgr->CreateContainer("HIMultCorr_SPD", TList::Class(),
114 AliAnalysisManager::kOutputContainer,
115 outputFileName);
116
117 mgr->ConnectInput (taskSPD, 0, cinput );
118 mgr->ConnectOutput (taskSPD, 1, coutputSPD);
119#endif
120
121 return task;
122}