]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Kinks/macros/AddTaskKinkResonanceKstarESD.C
PWG2/KINK -> PWGLF/SPECTRA migration
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Kinks / macros / AddTaskKinkResonanceKstarESD.C
CommitLineData
c01f11a1 1AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstarESD(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
2{
3// Creates, configures and attaches to the train a kink resonance task.
4// Get the pointer to the existing analysis manager via the static access method.
5//==============================================================================
6AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7 if (!mgr) {
8 ::Error("AddTaskKinkResonanceKstarESD", "No analysis manager to connect to.");
9return NULL;
10}
11
12// Check the analysis type using the event handlers connected to the analysis manager.
13//==============================================================================
14if (!mgr->GetInputEventHandler()) {
15 ::Error("AddTaskKinkResonanceKstarESD", "This task requires an input event handler");
16 return NULL;
17}
18TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
19 if (type != "ESD") {
20 ::Error("AddTaskKinkResonanceKstarESD", "This task needs an ESD input handler");
21return NULL;
22}
23if (!mgr->GetMCtruthEventHandler()) {
24 ::Error("AddTaskKinkResonanceKstarESD", "This task needs an MC handler");
25 return NULL;
26}
27
28// Setup the analysis object
29
30 AliResonanceKink *kinkResonanceObjectKESD=new AliResonanceKink();
894840ad 31 kinkResonanceObjectKESD->InitOutputHistograms(60, 0.6, 1.2, 36, -0.9, 0.9, 100, 0.0, 10.0);
c01f11a1 32 kinkResonanceObjectKESD->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0);
894840ad 33 kinkResonanceObjectKESD->SetAnalysisType("ESD"); // "ESD" or "MC" or "DATA"
c01f11a1 34 kinkResonanceObjectKESD->SetMaxNsigmaToVertex(4.0);
35 kinkResonanceObjectKESD->SetMaxDCAxy(3.0);
36 kinkResonanceObjectKESD->SetMaxDCAzaxis(3.0);
37 kinkResonanceObjectKESD->SetPtTrackCut(0.25);
38 kinkResonanceObjectKESD->SetMinTPCclusters(50);
39 kinkResonanceObjectKESD->SetMaxChi2PerTPCcluster(3.5);
40 kinkResonanceObjectKESD->SetMaxCov0(2.0);
41 kinkResonanceObjectKESD->SetMaxCov2(2.0);
42 kinkResonanceObjectKESD->SetMaxCov5(0.5);
43 kinkResonanceObjectKESD->SetMaxCov9(0.5);
44 kinkResonanceObjectKESD->SetMaxCov14(2.0);
894840ad 45 kinkResonanceObjectKESD->SetMinKinkRadius(120.);
46 kinkResonanceObjectKESD->SetMaxKinkRadius(220.);
47 kinkResonanceObjectKESD->SetQtLimits(0.05, 0.5);
e3c296cd 48 kinkResonanceObjectKESD->SetUpperAbsEtaCut(0.9);
c01f11a1 49
50// Create and configure the task
51AliAnalysisTaskKinkResonance *taskresonanceKstarESD = new AliAnalysisTaskKinkResonance("TaskResKstarESDKinkPID");
52taskresonanceKstarESD->SetAnalysisKinkObject(kinkResonanceObjectKESD);
53mgr->AddTask(taskresonanceKstarESD);
54
55// Create ONLY the output containers for the data produced by the task.
56// Get and connect other common input/output containers via the manager as below
57//==============================================================================
4cb65f9e 58 TString outputFileName = AliAnalysisManager::GetCommonFileName();
59 outputFileName += ":PWG2KINKResonanceKstarESD";
60 if (lCollidingSystems) outputFileName += "_AA";
61 else outputFileName += "_PP";
62 if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
63
64 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstarESD",
65 TList::Class(),
66 AliAnalysisManager::kOutputContainer,
67 outputFileName );
c01f11a1 68
69mgr->ConnectInput(taskresonanceKstarESD, 0, mgr->GetCommonInputContainer());
70mgr->ConnectOutput(taskresonanceKstarESD, 1, coutput1);
71return taskresonanceKstarESD;
72}