AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstarMC(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("AddTaskKinkResonanceKstarMC", "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("AddTaskKinkResonanceKstarMC", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
if (type != "ESD") {
::Error("AddTaskKinkResonanceKstarMC", "This task needs an ESD input handler");
return NULL;
}
if (!mgr->GetMCtruthEventHandler()) {
::Error("AddTaskKinkResonanceKstarMC", "This task needs an MC handler");
return NULL;
}
// Setup the analysis object
AliResonanceKink *kinkResonanceObjectKMC=new AliResonanceKink();
kinkResonanceObjectKMC->InitOutputHistograms(60, 0.6, 1.2, 36, -0.9, 0.9, 100, 0.0, 10.0);
kinkResonanceObjectKMC->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0);
kinkResonanceObjectKMC->SetAnalysisType("MC"); // "ESD" or "MC" or "DATA"
kinkResonanceObjectKMC->SetMaxNsigmaToVertex(4.0);
kinkResonanceObjectKMC->SetMaxDCAxy(3.0);
kinkResonanceObjectKMC->SetMaxDCAzaxis(3.0);
kinkResonanceObjectKMC->SetPtTrackCut(0.25);
kinkResonanceObjectKMC->SetMinTPCclusters(50);
kinkResonanceObjectKMC->SetMaxChi2PerTPCcluster(3.5);
kinkResonanceObjectKMC->SetMaxCov0(2.0);
kinkResonanceObjectKMC->SetMaxCov2(2.0);
kinkResonanceObjectKMC->SetMaxCov5(0.5);
kinkResonanceObjectKMC->SetMaxCov9(0.5);
kinkResonanceObjectKMC->SetMaxCov14(2.0);
kinkResonanceObjectKMC->SetMinKinkRadius(120.);
kinkResonanceObjectKMC->SetMaxKinkRadius(220.);
kinkResonanceObjectKMC->SetQtLimits(0.05, 0.5);
kinkResonanceObjectKMC->SetUpperAbsEtaCut(0.9);
// Create and configure the task
AliAnalysisTaskKinkResonance *taskresonanceKstarMC = new AliAnalysisTaskKinkResonance("TaskResKstarMCKinkPID");
taskresonanceKstarMC->SetAnalysisKinkObject(kinkResonanceObjectKMC);
mgr->AddTask(taskresonanceKstarMC);
// 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 += ":PWG2KINKResonanceKstarMC";
if (lCollidingSystems) outputFileName += "_AA";
else outputFileName += "_PP";
if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstarMC",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
mgr->ConnectInput(taskresonanceKstarMC, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskresonanceKstarMC, 1, coutput1);
return taskresonanceKstarMC;
}
AddTaskKinkResonanceKstarMC.C:1 AddTaskKinkResonanceKstarMC.C:2 AddTaskKinkResonanceKstarMC.C:3 AddTaskKinkResonanceKstarMC.C:4 AddTaskKinkResonanceKstarMC.C:5 AddTaskKinkResonanceKstarMC.C:6 AddTaskKinkResonanceKstarMC.C:7 AddTaskKinkResonanceKstarMC.C:8 AddTaskKinkResonanceKstarMC.C:9 AddTaskKinkResonanceKstarMC.C:10 AddTaskKinkResonanceKstarMC.C:11 AddTaskKinkResonanceKstarMC.C:12 AddTaskKinkResonanceKstarMC.C:13 AddTaskKinkResonanceKstarMC.C:14 AddTaskKinkResonanceKstarMC.C:15 AddTaskKinkResonanceKstarMC.C:16 AddTaskKinkResonanceKstarMC.C:17 AddTaskKinkResonanceKstarMC.C:18 AddTaskKinkResonanceKstarMC.C:19 AddTaskKinkResonanceKstarMC.C:20 AddTaskKinkResonanceKstarMC.C:21 AddTaskKinkResonanceKstarMC.C:22 AddTaskKinkResonanceKstarMC.C:23 AddTaskKinkResonanceKstarMC.C:24 AddTaskKinkResonanceKstarMC.C:25 AddTaskKinkResonanceKstarMC.C:26 AddTaskKinkResonanceKstarMC.C:27 AddTaskKinkResonanceKstarMC.C:28 AddTaskKinkResonanceKstarMC.C:29 AddTaskKinkResonanceKstarMC.C:30 AddTaskKinkResonanceKstarMC.C:31 AddTaskKinkResonanceKstarMC.C:32 AddTaskKinkResonanceKstarMC.C:33 AddTaskKinkResonanceKstarMC.C:34 AddTaskKinkResonanceKstarMC.C:35 AddTaskKinkResonanceKstarMC.C:36 AddTaskKinkResonanceKstarMC.C:37 AddTaskKinkResonanceKstarMC.C:38 AddTaskKinkResonanceKstarMC.C:39 AddTaskKinkResonanceKstarMC.C:40 AddTaskKinkResonanceKstarMC.C:41 AddTaskKinkResonanceKstarMC.C:42 AddTaskKinkResonanceKstarMC.C:43 AddTaskKinkResonanceKstarMC.C:44 AddTaskKinkResonanceKstarMC.C:45 AddTaskKinkResonanceKstarMC.C:46 AddTaskKinkResonanceKstarMC.C:47 AddTaskKinkResonanceKstarMC.C:48 AddTaskKinkResonanceKstarMC.C:49 AddTaskKinkResonanceKstarMC.C:50 AddTaskKinkResonanceKstarMC.C:51 AddTaskKinkResonanceKstarMC.C:52 AddTaskKinkResonanceKstarMC.C:53 AddTaskKinkResonanceKstarMC.C:54 AddTaskKinkResonanceKstarMC.C:55 AddTaskKinkResonanceKstarMC.C:56 AddTaskKinkResonanceKstarMC.C:57 AddTaskKinkResonanceKstarMC.C:58 AddTaskKinkResonanceKstarMC.C:59 AddTaskKinkResonanceKstarMC.C:60 AddTaskKinkResonanceKstarMC.C:61 AddTaskKinkResonanceKstarMC.C:62 AddTaskKinkResonanceKstarMC.C:63 AddTaskKinkResonanceKstarMC.C:64 AddTaskKinkResonanceKstarMC.C:65 AddTaskKinkResonanceKstarMC.C:66 AddTaskKinkResonanceKstarMC.C:67 AddTaskKinkResonanceKstarMC.C:68 AddTaskKinkResonanceKstarMC.C:69 AddTaskKinkResonanceKstarMC.C:70 AddTaskKinkResonanceKstarMC.C:71 AddTaskKinkResonanceKstarMC.C:72 AddTaskKinkResonanceKstarMC.C:73