]>
Commit | Line | Data |
---|---|---|
44a84424 | 1 | AliAnalysisTaskHIMultCorr *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 | } |