]>
Commit | Line | Data |
---|---|---|
65f7c00b | 1 | AliAnalysisTaskKinkResonance *AddTaskKinkResonance(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/) |
e3475d46 | 2 | { |
f9afc48d | 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 | } | |
e3475d46 | 11 | |
f9afc48d | 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 | } | |
e3475d46 | 27 | |
f9afc48d | 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" | |
92adf4f6 | 34 | kinkResonanceObject->SetMaxNsigmaToVertex(4.0); |
35 | kinkResonanceObject->SetMaxDCAxy(3.0); | |
36 | kinkResonanceObject->SetMaxDCAzaxis(3.0); | |
37 | kinkResonanceObject->SetPtTrackCut(0.25); | |
38 | kinkResonanceObject->SetMinTPCclusters(50); | |
39 | kinkResonanceObject->SetMaxChi2PerTPCcluster(3.5); | |
40 | kinkResonanceObject->SetMaxCov0(2.0); | |
41 | kinkResonanceObject->SetMaxCov2(2.0); | |
42 | kinkResonanceObject->SetMaxCov5(0.5); | |
43 | kinkResonanceObject->SetMaxCov9(0.5); | |
44 | kinkResonanceObject->SetMaxCov14(2.0); | |
e3475d46 | 45 | |
f9afc48d | 46 | // Create and configure the task |
47 | AliAnalysisTaskKinkResonance *taskresonanceKstar = new AliAnalysisTaskKinkResonance("TaskResKinkPID"); | |
48 | taskresonanceKstar->SetAnalysisKinkObject(kinkResonanceObject); | |
49 | mgr->AddTask(taskresonanceKstar); | |
50 | ||
51 | // Create ONLY the output containers for the data produced by the task. | |
52 | // Get and connect other common input/output containers via the manager as below | |
53 | //============================================================================== | |
54 | TString outname = "PP"; | |
55 | if (lCollidingSystems) outname = "AA"; | |
56 | if (mgr->GetMCtruthEventHandler()) outname += "-MC-"; | |
57 | outname += "KinkResonanceList.root"; | |
58 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstar", | |
59 | TList::Class(), | |
60 | AliAnalysisManager::kOutputContainer, | |
61 | outname ); | |
62 | ||
63 | mgr->ConnectInput(taskresonanceKstar, 0, mgr->GetCommonInputContainer()); | |
64 | mgr->ConnectOutput(taskresonanceKstar, 1, coutput1); | |
65 | return taskresonanceKstar; | |
66 | } |