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