1 AliAnalysisTaskKinkResonance *AddTaskKinkResonancePhiESD(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
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 //==============================================================================
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 ::Error("AddTaskKinkResonancePhiESD", "No analysis manager to connect to.");
12 // Check the analysis type using the event handlers connected to the analysis manager.
13 //==============================================================================
14 if (!mgr->GetInputEventHandler()) {
15 ::Error("AddTaskKinkResonancePhiESD", "This task requires an input event handler");
18 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
20 ::Error("AddTaskKinkResonancePhiESD", "This task needs an ESD input handler");
23 if (!mgr->GetMCtruthEventHandler()) {
24 ::Error("AddTaskKinkResonancePhiESD", "This task needs an MC handler");
28 // Setup the analysis object
30 AliResonanceKink *kinkResonanceObjectPESD=new AliResonanceKink();
31 kinkResonanceObjectPESD->InitOutputHistograms(70,0.99,1.088, 36, -0.9, 0.9, 100, 0.0, 10.0);
32 kinkResonanceObjectPESD->SetPDGCodes(kKPlus, kKPlus, AliResonanceKink::kPhi);
33 kinkResonanceObjectPESD->SetAnalysisType("ESD"); // "ESD" or "MC" or "DATA"
34 kinkResonanceObjectPESD->SetMaxNsigmaToVertex(4.0);
35 kinkResonanceObjectPESD->SetMaxDCAxy(3.0);
36 kinkResonanceObjectPESD->SetMaxDCAzaxis(3.0);
37 kinkResonanceObjectPESD->SetPtTrackCut(0.25);
38 kinkResonanceObjectPESD->SetMinTPCclusters(50);
39 kinkResonanceObjectPESD->SetMaxChi2PerTPCcluster(3.5);
40 kinkResonanceObjectPESD->SetMaxCov0(2.0);
41 kinkResonanceObjectPESD->SetMaxCov2(2.0);
42 kinkResonanceObjectPESD->SetMaxCov5(0.5);
43 kinkResonanceObjectPESD->SetMaxCov9(0.5);
44 kinkResonanceObjectPESD->SetMaxCov14(2.0);
45 kinkResonanceObjectPESD->SetMinKinkRadius(120.);
46 kinkResonanceObjectPESD->SetMaxKinkRadius(220.);
47 kinkResonanceObjectPESD->SetQtLimits(0.05, 0.5);
48 kinkResonanceObjectPESD->SetUpperAbsEtaCut(0.9);
50 // Create and configure the task
51 AliAnalysisTaskKinkResonance *taskresonancePhiESD = new AliAnalysisTaskKinkResonance("TaskResPhiESDKinkPID");
52 taskresonancePhiESD->SetAnalysisKinkObject(kinkResonanceObjectPESD);
53 mgr->AddTask(taskresonancePhiESD);
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 //==============================================================================
58 TString outputFileName = AliAnalysisManager::GetCommonFileName();
59 outputFileName += ":PWG2KINKResonancePhiESD";
60 if (lCollidingSystems) outputFileName += "_AA";
61 else outputFileName += "_PP";
62 if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
64 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResPhiESD",
66 AliAnalysisManager::kOutputContainer,
69 mgr->ConnectInput(taskresonancePhiESD, 0, mgr->GetCommonInputContainer());
70 mgr->ConnectOutput(taskresonancePhiESD, 1, coutput1);
71 return taskresonancePhiESD;