]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AddTaskMuMu.C
small updates (Laurent)
[u/mrichter/AliRoot.git] / PWG / muon / AddTaskMuMu.C
CommitLineData
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 7AliAnalysisTask* 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