]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/EBYE/macros/AddTaskPtFluc.C
0a9ebed7f84c822f0e49b2d0db8124f6ab64a546
[u/mrichter/AliRoot.git] / PWG2 / EBYE / macros / AddTaskPtFluc.C
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
77   task->SetAliESDtrackCuts(esdTrackCuts);
78 //   task->SetAliESDtrackCuts(esdCuts);
79
80   task->SelectCollisionCandidates(AliVEvent::kMB);
81   task->SetMaxVertexZ(10.);    // cm
82   task->SetNContributors(1);
83
84   if (mcH) task->SetMC(kTRUE);
85
86
87   mgr->AddTask(task);
88
89
90   //================================================
91   //              data containers
92   //================================================
93
94   // input container
95   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
96
97   // output container
98   AliAnalysisDataContainer *coutput =
99       mgr->CreateContainer("sheckel_PtFluc", TList::Class(),
100                            AliAnalysisManager::kOutputContainer,"sheckel_PtFluc.root");
101
102   // connect containers
103   mgr->ConnectInput  (task,  0, cinput );
104   mgr->ConnectOutput (task,  1, coutput );
105
106   return task;
107
108 }