]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/AddTaskPtFluc.C
Merge branch 'workdir'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / AddTaskPtFluc.C
CommitLineData
befb009c 1AliAnalysisTask *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}