]>
Commit | Line | Data |
---|---|---|
befb009c | 1 | AliAnalysisTask *AddTaskPtFluc(){ |
2 | //get the current analysis manager | |
3 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
4 | if (!mgr) { | |
5 | Error("AddTask_sheckel_PtFluc", "No analysis manager found."); | |
6 | return 0; | |
7 | } | |
8 | ||
9 | ||
10 | // --- Check for MC --- | |
11 | AliMCEventHandler *mcH = static_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler()); | |
12 | ||
13 | ||
14 | //============= Set Task Name =================== | |
15 | TString taskName=("AliAnalysisTaskPtFluc.cxx+"); | |
16 | //=============================================== | |
17 | // Load the task | |
18 | gROOT->LoadMacro(taskName.Data()); | |
19 | if (gProof){ | |
20 | TString taskSO=gSystem->pwd(); | |
21 | taskSO+="/"; | |
22 | taskSO+=taskName(0,taskName.First('.'))+"_cxx.so"; | |
23 | gProof->Exec(Form("gSystem->Load(\"%s\")",taskSO.Data()),kTRUE); | |
24 | } | |
25 | ||
26 | ||
27 | //========= Add task to the ANALYSIS manager ===== | |
28 | AliAnalysisTaskPtFluc *task = new AliAnalysisTaskPtFluc("sheckelTaskPtFluc"); | |
29 | ||
30 | ||
31 | // --- Set ESD track Cuts --- | |
32 | ||
33 | AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("esdTrackCuts"); // My pp track cuts (ITS+TPC) | |
34 | AliESDtrackCuts *esdCuts = new AliESDtrackCuts("esdCuts"); // TPC-only track cuts | |
35 | ||
36 | // -- My pp track cuts (ITS+TPC) | |
37 | // TPC | |
38 | esdTrackCuts->SetRequireTPCStandAlone(kFALSE); | |
39 | esdTrackCuts->SetMinNClustersTPC(70); | |
40 | esdTrackCuts->SetMaxChi2PerClusterTPC(4.0); | |
41 | esdTrackCuts->SetAcceptKinkDaughters(kFALSE); | |
42 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
43 | // ITS | |
44 | esdTrackCuts->SetRequireITSRefit(kTRUE); | |
45 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kAny); | |
46 | // DCA to vertex | |
47 | esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01"); // 7*(0.0026+0.0050/pt^1.01) | |
48 | esdTrackCuts->SetMaxDCAToVertexZ(2.); | |
49 | esdTrackCuts->SetDCAToVertex2D(kFALSE); | |
50 | esdTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
51 | // Pt range and acceptance in eta | |
52 | esdTrackCuts->SetPtRange(0.15,2.); | |
53 | esdTrackCuts->SetEtaRange(-0.8,0.8); | |
54 | ||
55 | ||
56 | // -- TPC-only track cuts | |
57 | // TPC | |
58 | esdCuts->SetRequireTPCStandAlone(kTRUE); | |
59 | esdCuts->SetMinNClustersTPC(70); | |
60 | esdCuts->SetMaxChi2PerClusterTPC(4.0); | |
61 | esdCuts->SetAcceptKinkDaughters(kFALSE); | |
62 | esdCuts->SetRequireTPCRefit(kFALSE); | |
63 | // ITS | |
64 | esdCuts->SetRequireITSRefit(kFALSE); | |
65 | // DCA to vertex | |
66 | esdCuts->SetMaxDCAToVertexXY(2.4); // cm | |
67 | esdCuts->SetMaxDCAToVertexZ(3.2); // cm | |
68 | esdCuts->SetDCAToVertex2D(kTRUE); | |
69 | esdCuts->SetRequireSigmaToVertex(kFALSE); | |
70 | // Pt range and acceptance in eta | |
71 | esdCuts->SetPtRange(0.15,2.); | |
72 | esdCuts->SetEtaRange(-0.8,0.8); | |
73 | ||
74 | // --- End track Cuts --- | |
75 | ||
76 | ||
e86642d5 | 77 | // task->SetAliESDtrackCuts(esdTrackCuts); |
78 | task->SetAliESDtrackCuts(esdCuts); | |
befb009c | 79 | |
80 | task->SelectCollisionCandidates(AliVEvent::kMB); | |
81 | task->SetMaxVertexZ(10.); // cm | |
e86642d5 | 82 | task->SetMaxVertexZDiff1(-1.); // <= 0. -> off, > 0. -> diff in cm |
befb009c | 83 | task->SetNContributors(1); |
84 | ||
85 | if (mcH) task->SetMC(kTRUE); | |
e86642d5 | 86 | if (mcH) task->SetMCType(0); // 0 = ESD, 1 = MC truth with ESD, 2 = mod. MC truth with ESD, |
87 | // 3 = MC truth only, 4 = mod. MC truth only | |
befb009c | 88 | |
89 | ||
90 | mgr->AddTask(task); | |
91 | ||
92 | ||
93 | //================================================ | |
94 | // data containers | |
95 | //================================================ | |
96 | ||
97 | // input container | |
98 | AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); | |
99 | ||
100 | // output container | |
101 | AliAnalysisDataContainer *coutput = | |
102 | mgr->CreateContainer("sheckel_PtFluc", TList::Class(), | |
103 | AliAnalysisManager::kOutputContainer,"sheckel_PtFluc.root"); | |
104 | ||
105 | // connect containers | |
106 | mgr->ConnectInput (task, 0, cinput ); | |
107 | mgr->ConnectOutput (task, 1, coutput ); | |
108 | ||
109 | return task; | |
110 | ||
111 | } |