]>
Commit | Line | Data |
---|---|---|
764cabcb | 1 | /// |
2 | /// Configure a task to get invariant mass spectrum of dimuons | |
3 | /// | |
4 | /// author: L. Aphecetche (Subatech) (laurent.aphecetche - at - subatech.in2p3.fr) | |
5 | /// | |
6 | ||
2f331ac9 | 7 | AliAnalysisTask* AddTaskMuMu(const char* outputname, TList* triggerClassesToConsider, const char* beamYear, TArrayF* centralities) |
764cabcb | 8 | { |
9 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
10 | if (!mgr) { | |
11 | ::Error("AddTaskMuMu", "No analysis manager to connect to."); | |
12 | return NULL; | |
13 | } | |
14 | ||
15 | // Check the analysis type using the event handlers connected to the analysis manager. | |
16 | //============================================================================== | |
17 | if (!mgr->GetInputEventHandler()) { | |
18 | ::Error("AddTaskMuMu", "This task requires an input event handler"); | |
19 | return NULL; | |
20 | } | |
21 | TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD" | |
22 | ||
23 | // Configure analysis | |
24 | //=========================================================================== | |
25 | ||
2f331ac9 | 26 | AliAnalysisTaskMuMu* task; |
764cabcb | 27 | |
28 | if ( triggerClassesToConsider ) | |
29 | { | |
2f331ac9 | 30 | task = new AliAnalysisTaskMuMu((inputDataType=="ESD"),triggerClassesToConsider,beamYear,centralities); |
764cabcb | 31 | } |
32 | else | |
33 | { | |
2f331ac9 | 34 | task = new AliAnalysisTaskMuMu((inputDataType=="ESD"),beamYear,centralities); |
764cabcb | 35 | } |
36 | ||
2f331ac9 | 37 | task->AddEventCut("ALL",AliAnalysisTaskMuMu::kEventAll); |
38 | ||
39 | // task->AddEventCut("PSALL",AliAnalysisTaskMuMu::kEventAll | AliAnalysisTaskMuMu::kEventPS); | |
40 | // task->AddEventCut("PSALLZSPD",AliAnalysisTaskMuMu::kEventAll | AliAnalysisTaskMuMu::kEventPS | AliAnalysisTaskMuMu::kEventZSPD); | |
41 | ||
42 | task->AddEventCut("PSALLV0ANDZSPD",AliAnalysisTaskMuMu::kEventAll | AliAnalysisTaskMuMu::kEventPS | AliAnalysisTaskMuMu::kEventV0AND | AliAnalysisTaskMuMu::kEventZSPD); | |
43 | ||
44 | task->AddEventCut("PSALLTVXZSPD",AliAnalysisTaskMuMu::kEventAll | AliAnalysisTaskMuMu::kEventPS | AliAnalysisTaskMuMu::kEventTVX | AliAnalysisTaskMuMu::kEventZSPD); | |
45 | ||
46 | task->AddEventCut("PSALLTVXV0ANDZSPD",AliAnalysisTaskMuMu::kEventAll | AliAnalysisTaskMuMu::kEventPS | AliAnalysisTaskMuMu::kEventTVX | AliAnalysisTaskMuMu::kEventV0AND | AliAnalysisTaskMuMu::kEventZSPD); | |
47 | ||
48 | ||
49 | task->AddSingleCut("MATCHLOWRABSDCA", | |
50 | AliAnalysisTaskMuMu::kAll|AliAnalysisTaskMuMu::kMatchedLow|AliAnalysisTaskMuMu::kRabs|AliAnalysisTaskMuMu::kDCA); | |
51 | task->AddSingleCut("MATCHLOWRABSDCAP10", | |
52 | AliAnalysisTaskMuMu::kAll|AliAnalysisTaskMuMu::kMatchedLow|AliAnalysisTaskMuMu::kRabs|AliAnalysisTaskMuMu::kDCA|AliAnalysisTaskMuMu::kP10); | |
764cabcb | 53 | |
2f331ac9 | 54 | task->AddPairCut("MATCHLOWRABSDCABOTH", |
55 | AliAnalysisTaskMuMu::kAll|AliAnalysisTaskMuMu::kMatchedLow|AliAnalysisTaskMuMu::kRabs|AliAnalysisTaskMuMu::kDCA, | |
56 | AliAnalysisTaskMuMu::kAll|AliAnalysisTaskMuMu::kMatchedLow|AliAnalysisTaskMuMu::kRabs|AliAnalysisTaskMuMu::kDCA); | |
764cabcb | 57 | |
58 | mgr->AddTask(task); | |
59 | ||
60 | static int n(0); | |
61 | ||
62 | ++n; | |
63 | ||
64 | TString containerName("chist"); | |
65 | ||
66 | if ( n > 1 ) containerName += Form("%d",n); | |
67 | ||
68 | // Create containers for input/output | |
69 | AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); | |
70 | AliAnalysisDataContainer *coutput = | |
71 | mgr->CreateContainer(containerName.Data(), TList::Class(), | |
72 | AliAnalysisManager::kOutputContainer,outputname); | |
73 | ||
74 | // Connect input/output | |
75 | mgr->ConnectInput(task, 0, cinput); | |
76 | mgr->ConnectOutput(task, 1, coutput); | |
77 | ||
78 | return task; | |
79 | } | |
80 |