]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/EBYE/macros/AddTaskPtFlucPbPb.C
CMakeLists.txt are generated for the moment
[u/mrichter/AliRoot.git] / PWG2 / EBYE / macros / AddTaskPtFlucPbPb.C
1 AliAnalysisTask *AddTaskPtFlucPbPb(){
2   //get the current analysis manager
3   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4   if (!mgr) {
5     Error("AddTask_sheckel_PtFlucPbPb", "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=("AliAnalysisTaskPtFlucPbPb.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   AliAnalysisTaskPtFlucPbPb *task = new AliAnalysisTaskPtFlucPbPb("sheckelTaskPtFlucPbPb");
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
77 //   task->SetAliESDtrackCuts(esdTrackCuts);
78   task->SetAliESDtrackCuts(esdCuts);
79
80   task->SelectCollisionCandidates(AliVEvent::kMB);
81   task->SetMaxVertexZ(10.);    // cm
82   task->SetNContributors(1);
83   task->SetUseCentrality(1);   // 0=off, 1=VZERO, 2=SPD(not implemented)
84
85   if (mcH) task->SetMC(kTRUE);
86
87
88   mgr->AddTask(task);
89
90
91   //================================================
92   //              data containers
93   //================================================
94
95   // input container
96   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
97
98   // output container
99   AliAnalysisDataContainer *coutput =
100       mgr->CreateContainer("sheckel_PtFlucPbPb", TList::Class(),
101                            AliAnalysisManager::kOutputContainer,"sheckel_PtFlucPbPb.root");
102
103   // connect containers
104   mgr->ConnectInput  (task,  0, cinput );
105   mgr->ConnectOutput (task,  1, coutput );
106
107   return task;
108
109 }