ROOT logo
AliAnalysisTaskKinkResonance *AddTaskKinkResonanceL1520ESD(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("AddTaskKinkResonanceL1520ESD", "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("AddTaskKinkResonanceL1520ESD", "This task requires an input event handler");
 return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
 if (type != "ESD") {
 ::Error("AddTaskKinkResonanceL1520ESD", "This task needs an ESD input handler");
return NULL;
}
if (!mgr->GetMCtruthEventHandler()) {
 ::Error("AddTaskKinkResonanceL1520ESD", "This task needs an MC handler");
 return NULL;
}

// Setup the analysis object
  
  AliResonanceKink  *kinkResonanceObjectLESD=new AliResonanceKink();
  kinkResonanceObjectLESD->InitOutputHistograms(100,1.4,1.8, 36, -0.9, 0.9, 100, 0.0, 10.0);
  kinkResonanceObjectLESD->SetPDGCodes(kProton, kKPlus, AliResonanceKink::kLambda1520); 
  kinkResonanceObjectLESD->SetAnalysisType("ESD"); // "ESD" or "MC" or "DATA"
  kinkResonanceObjectLESD->SetMaxNsigmaToVertex(4.0);
  kinkResonanceObjectLESD->SetMaxDCAxy(3.0);
  kinkResonanceObjectLESD->SetMaxDCAzaxis(3.0);
  kinkResonanceObjectLESD->SetPtTrackCut(0.25);
  kinkResonanceObjectLESD->SetMinTPCclusters(50);
  kinkResonanceObjectLESD->SetMaxChi2PerTPCcluster(3.5);
  kinkResonanceObjectLESD->SetMaxCov0(2.0);
  kinkResonanceObjectLESD->SetMaxCov2(2.0);
  kinkResonanceObjectLESD->SetMaxCov5(0.5);
  kinkResonanceObjectLESD->SetMaxCov9(0.5);
  kinkResonanceObjectLESD->SetMaxCov14(2.0);
  kinkResonanceObjectLESD->SetMinKinkRadius(120.);
  kinkResonanceObjectLESD->SetMaxKinkRadius(220.);
  kinkResonanceObjectLESD->SetQtLimits(0.05, 0.5);
  kinkResonanceObjectLESD->SetUpperAbsEtaCut(0.9);

// Create and configure the task
AliAnalysisTaskKinkResonance *taskresonanceL1520ESD = new AliAnalysisTaskKinkResonance("TaskResL1520ESDKinkPID");
taskresonanceL1520ESD->SetAnalysisKinkObject(kinkResonanceObjectLESD);
mgr->AddTask(taskresonanceL1520ESD);

// 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 += ":PWG2KINKResonanceL1520ESD";
   if (lCollidingSystems) outputFileName += "_AA";
   else outputFileName += "_PP";
   if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";

   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResL1520ESD",
							     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );

mgr->ConnectInput(taskresonanceL1520ESD, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskresonanceL1520ESD, 1, coutput1);
return taskresonanceL1520ESD;
} 
 AddTaskKinkResonanceL1520ESD.C:1
 AddTaskKinkResonanceL1520ESD.C:2
 AddTaskKinkResonanceL1520ESD.C:3
 AddTaskKinkResonanceL1520ESD.C:4
 AddTaskKinkResonanceL1520ESD.C:5
 AddTaskKinkResonanceL1520ESD.C:6
 AddTaskKinkResonanceL1520ESD.C:7
 AddTaskKinkResonanceL1520ESD.C:8
 AddTaskKinkResonanceL1520ESD.C:9
 AddTaskKinkResonanceL1520ESD.C:10
 AddTaskKinkResonanceL1520ESD.C:11
 AddTaskKinkResonanceL1520ESD.C:12
 AddTaskKinkResonanceL1520ESD.C:13
 AddTaskKinkResonanceL1520ESD.C:14
 AddTaskKinkResonanceL1520ESD.C:15
 AddTaskKinkResonanceL1520ESD.C:16
 AddTaskKinkResonanceL1520ESD.C:17
 AddTaskKinkResonanceL1520ESD.C:18
 AddTaskKinkResonanceL1520ESD.C:19
 AddTaskKinkResonanceL1520ESD.C:20
 AddTaskKinkResonanceL1520ESD.C:21
 AddTaskKinkResonanceL1520ESD.C:22
 AddTaskKinkResonanceL1520ESD.C:23
 AddTaskKinkResonanceL1520ESD.C:24
 AddTaskKinkResonanceL1520ESD.C:25
 AddTaskKinkResonanceL1520ESD.C:26
 AddTaskKinkResonanceL1520ESD.C:27
 AddTaskKinkResonanceL1520ESD.C:28
 AddTaskKinkResonanceL1520ESD.C:29
 AddTaskKinkResonanceL1520ESD.C:30
 AddTaskKinkResonanceL1520ESD.C:31
 AddTaskKinkResonanceL1520ESD.C:32
 AddTaskKinkResonanceL1520ESD.C:33
 AddTaskKinkResonanceL1520ESD.C:34
 AddTaskKinkResonanceL1520ESD.C:35
 AddTaskKinkResonanceL1520ESD.C:36
 AddTaskKinkResonanceL1520ESD.C:37
 AddTaskKinkResonanceL1520ESD.C:38
 AddTaskKinkResonanceL1520ESD.C:39
 AddTaskKinkResonanceL1520ESD.C:40
 AddTaskKinkResonanceL1520ESD.C:41
 AddTaskKinkResonanceL1520ESD.C:42
 AddTaskKinkResonanceL1520ESD.C:43
 AddTaskKinkResonanceL1520ESD.C:44
 AddTaskKinkResonanceL1520ESD.C:45
 AddTaskKinkResonanceL1520ESD.C:46
 AddTaskKinkResonanceL1520ESD.C:47
 AddTaskKinkResonanceL1520ESD.C:48
 AddTaskKinkResonanceL1520ESD.C:49
 AddTaskKinkResonanceL1520ESD.C:50
 AddTaskKinkResonanceL1520ESD.C:51
 AddTaskKinkResonanceL1520ESD.C:52
 AddTaskKinkResonanceL1520ESD.C:53
 AddTaskKinkResonanceL1520ESD.C:54
 AddTaskKinkResonanceL1520ESD.C:55
 AddTaskKinkResonanceL1520ESD.C:56
 AddTaskKinkResonanceL1520ESD.C:57
 AddTaskKinkResonanceL1520ESD.C:58
 AddTaskKinkResonanceL1520ESD.C:59
 AddTaskKinkResonanceL1520ESD.C:60
 AddTaskKinkResonanceL1520ESD.C:61
 AddTaskKinkResonanceL1520ESD.C:62
 AddTaskKinkResonanceL1520ESD.C:63
 AddTaskKinkResonanceL1520ESD.C:64
 AddTaskKinkResonanceL1520ESD.C:65
 AddTaskKinkResonanceL1520ESD.C:66
 AddTaskKinkResonanceL1520ESD.C:67
 AddTaskKinkResonanceL1520ESD.C:68
 AddTaskKinkResonanceL1520ESD.C:69
 AddTaskKinkResonanceL1520ESD.C:70
 AddTaskKinkResonanceL1520ESD.C:71
 AddTaskKinkResonanceL1520ESD.C:72
 AddTaskKinkResonanceL1520ESD.C:73