]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/KINK/macros/AddTaskKinkResonance.C
Update Kink Analysis from Evi Ganoti
[u/mrichter/AliRoot.git] / PWG2 / KINK / macros / AddTaskKinkResonance.C
1 AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstar(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 //==============================================================================
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7  if (!mgr) {
8  ::Error("AddTaskKinkResonanceKstar", "No analysis manager to connect to.");
9 return NULL;
10 }
11
12 // Check the analysis type using the event handlers connected to the analysis manager.
13 //==============================================================================
14 if (!mgr->GetInputEventHandler()) {
15  ::Error("AddTaskKinkResonanceKstar", "This task requires an input event handler");
16  return NULL;
17 }
18 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
19  if (type != "ESD") {
20  ::Error("AddTaskKinkResonanceKstar", "This task needs an ESD input handler");
21 return NULL;
22 }
23 if (!mgr->GetMCtruthEventHandler()) {
24  ::Error("AddTaskKinkResonanceKstar", "This task needs an MC handler");
25  return NULL;
26 }
27
28 // Setup the analysis object
29   
30   AliResonanceKink  *kinkResonanceObject=new AliResonanceKink();
31   kinkResonanceObject->InitOutputHistograms(60, 0.6, 1.2);
32   kinkResonanceObject->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0); 
33   kinkResonanceObject->SetAnalysisType("ESD"); // "ESD" or "MC"
34
35 // Create and configure the task
36 AliAnalysisTaskKinkResonance *taskresonanceKstar = new AliAnalysisTaskKinkResonance("TaskResKinkPID");
37 taskresonanceKstar->SetAnalysisKinkObject(kinkResonanceObject);
38 mgr->AddTask(taskresonanceKstar);
39
40 // Create ONLY the output containers for the data produced by the task.
41 // Get and connect other common input/output containers via the manager as below
42 //==============================================================================
43 TString outname = "PP";
44 if (lCollidingSystems) outname = "AA";
45 if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
46 outname += "KinkResonanceList.root";
47 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstar",
48                                                            TList::Class(),
49                                                            AliAnalysisManager::kOutputContainer,
50                                                            outname );
51
52 mgr->ConnectInput(taskresonanceKstar, 0, mgr->GetCommonInputContainer());
53 mgr->ConnectOutput(taskresonanceKstar, 1, coutput1);
54 return taskresonanceKstar;
55