]>
Commit | Line | Data |
---|---|---|
c01f11a1 | 1 | AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstarESD(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("AddTaskKinkResonanceKstarESD", "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("AddTaskKinkResonanceKstarESD", "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("AddTaskKinkResonanceKstarESD", "This task needs an ESD input handler"); | |
21 | return NULL; | |
22 | } | |
23 | if (!mgr->GetMCtruthEventHandler()) { | |
24 | ::Error("AddTaskKinkResonanceKstarESD", "This task needs an MC handler"); | |
25 | return NULL; | |
26 | } | |
27 | ||
28 | // Setup the analysis object | |
29 | ||
30 | AliResonanceKink *kinkResonanceObjectKESD=new AliResonanceKink(); | |
894840ad | 31 | kinkResonanceObjectKESD->InitOutputHistograms(60, 0.6, 1.2, 36, -0.9, 0.9, 100, 0.0, 10.0); |
c01f11a1 | 32 | kinkResonanceObjectKESD->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0); |
894840ad | 33 | kinkResonanceObjectKESD->SetAnalysisType("ESD"); // "ESD" or "MC" or "DATA" |
c01f11a1 | 34 | kinkResonanceObjectKESD->SetMaxNsigmaToVertex(4.0); |
35 | kinkResonanceObjectKESD->SetMaxDCAxy(3.0); | |
36 | kinkResonanceObjectKESD->SetMaxDCAzaxis(3.0); | |
37 | kinkResonanceObjectKESD->SetPtTrackCut(0.25); | |
38 | kinkResonanceObjectKESD->SetMinTPCclusters(50); | |
39 | kinkResonanceObjectKESD->SetMaxChi2PerTPCcluster(3.5); | |
40 | kinkResonanceObjectKESD->SetMaxCov0(2.0); | |
41 | kinkResonanceObjectKESD->SetMaxCov2(2.0); | |
42 | kinkResonanceObjectKESD->SetMaxCov5(0.5); | |
43 | kinkResonanceObjectKESD->SetMaxCov9(0.5); | |
44 | kinkResonanceObjectKESD->SetMaxCov14(2.0); | |
894840ad | 45 | kinkResonanceObjectKESD->SetMinKinkRadius(120.); |
46 | kinkResonanceObjectKESD->SetMaxKinkRadius(220.); | |
47 | kinkResonanceObjectKESD->SetQtLimits(0.05, 0.5); | |
e3c296cd | 48 | kinkResonanceObjectKESD->SetUpperAbsEtaCut(0.9); |
c01f11a1 | 49 | |
50 | // Create and configure the task | |
51 | AliAnalysisTaskKinkResonance *taskresonanceKstarESD = new AliAnalysisTaskKinkResonance("TaskResKstarESDKinkPID"); | |
52 | taskresonanceKstarESD->SetAnalysisKinkObject(kinkResonanceObjectKESD); | |
53 | mgr->AddTask(taskresonanceKstarESD); | |
54 | ||
55 | // Create ONLY the output containers for the data produced by the task. | |
56 | // Get and connect other common input/output containers via the manager as below | |
57 | //============================================================================== | |
4cb65f9e | 58 | TString outputFileName = AliAnalysisManager::GetCommonFileName(); |
59 | outputFileName += ":PWG2KINKResonanceKstarESD"; | |
60 | if (lCollidingSystems) outputFileName += "_AA"; | |
61 | else outputFileName += "_PP"; | |
62 | if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC"; | |
63 | ||
64 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstarESD", | |
65 | TList::Class(), | |
66 | AliAnalysisManager::kOutputContainer, | |
67 | outputFileName ); | |
c01f11a1 | 68 | |
69 | mgr->ConnectInput(taskresonanceKstarESD, 0, mgr->GetCommonInputContainer()); | |
70 | mgr->ConnectOutput(taskresonanceKstarESD, 1, coutput1); | |
71 | return taskresonanceKstarESD; | |
72 | } |