1 AliAnalysisTask *AddTaskPtFlucPbPb(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTask_sheckel_PtFlucPbPb", "No analysis manager found.");
10 // --- Check for MC ---
11 AliMCEventHandler *mcH = static_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
14 // --- For MC: Set AMPT or other MC ---
15 Bool_t isAMPT = kFALSE; // default is kFALSE, e.g. for data
16 if (mcH) isAMPT = kFALSE; // kTRUE = AMPT, kFALSE = other, e.g. HIJING ---> has to be set by the user! <---
19 //============= Set Task Name ===================
20 TString taskName=("AliAnalysisTaskPtFlucPbPb.cxx+");
21 //===============================================
23 gROOT->LoadMacro(taskName.Data());
25 TString taskSO=gSystem->pwd();
27 taskSO+=taskName(0,taskName.First('.'))+"_cxx.so";
28 gProof->Exec(Form("gSystem->Load(\"%s\")",taskSO.Data()),kTRUE);
32 //========= Add task to the ANALYSIS manager =====
33 AliAnalysisTaskPtFlucPbPb *task = new AliAnalysisTaskPtFlucPbPb("sheckelTaskPtFlucPbPb");
36 // --- Set ESD track Cuts ---
38 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("esdTrackCuts"); // My pp track cuts (ITS+TPC)
39 AliESDtrackCuts *esdCuts = new AliESDtrackCuts("esdCuts"); // TPC-only track cuts
41 // -- My pp track cuts (ITS+TPC)
43 esdTrackCuts->SetRequireTPCStandAlone(kFALSE);
44 esdTrackCuts->SetMinNClustersTPC(70);
45 esdTrackCuts->SetMaxChi2PerClusterTPC(4.0);
46 esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
47 esdTrackCuts->SetRequireTPCRefit(kTRUE);
49 esdTrackCuts->SetRequireITSRefit(kTRUE);
50 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kAny);
52 esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01"); // 7*(0.0026+0.0050/pt^1.01)
53 esdTrackCuts->SetMaxDCAToVertexZ(2.);
54 esdTrackCuts->SetDCAToVertex2D(kFALSE);
55 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
56 // Pt range and acceptance in eta
57 esdTrackCuts->SetPtRange(0.15,2.);
58 esdTrackCuts->SetEtaRange(-0.8,0.8);
61 // -- TPC-only track cuts
63 esdCuts->SetRequireTPCStandAlone(kTRUE);
64 esdCuts->SetMinNClustersTPC(70);
65 esdCuts->SetMaxChi2PerClusterTPC(4.0);
66 esdCuts->SetAcceptKinkDaughters(kFALSE);
67 esdCuts->SetRequireTPCRefit(kFALSE);
69 esdCuts->SetRequireITSRefit(kFALSE);
71 esdCuts->SetMaxDCAToVertexXY(2.4); // cm
72 esdCuts->SetMaxDCAToVertexZ(3.2); // cm
73 esdCuts->SetDCAToVertex2D(kTRUE);
74 esdCuts->SetRequireSigmaToVertex(kFALSE);
75 // Pt range and acceptance in eta
76 esdCuts->SetPtRange(0.15,2.);
77 esdCuts->SetEtaRange(-0.8,0.8);
79 // --- End track Cuts ---
82 // task->SetAliESDtrackCuts(esdTrackCuts);
83 task->SetAliESDtrackCuts(esdCuts);
85 if (!isAMPT) task->SelectCollisionCandidates(AliVEvent::kMB);
87 task->SetMaxVertexZ(10.); // cm
88 task->SetMaxVertexZDiff1(-1.); // <= 0. -> off, > 0. -> diff in cm
89 task->SetNContributors(1);
90 task->SetUseCentrality(1); // 0=off, 1=VZERO, 2=SPD(not implemented)
92 if (mcH) task->SetMC(kTRUE);
93 if (mcH) task->SetMCType(0); // 0 = ESD, 1 = MC truth with ESD, 2 = mod. MC truth with ESD,
94 // 3 = MC truth only, 4 = mod. MC truth only
96 if (isAMPT) task->SetMCAMPT(kTRUE);
97 else task->SetMCAMPT(kFALSE);
103 //================================================
105 //================================================
108 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
111 AliAnalysisDataContainer *coutput =
112 mgr->CreateContainer("sheckel_PtFlucPbPb", TList::Class(),
113 AliAnalysisManager::kOutputContainer,"sheckel_PtFlucPbPb.root");
115 // connect containers
116 mgr->ConnectInput (task, 0, cinput );
117 mgr->ConnectOutput (task, 1, coutput );