2 AliMuonEffMC* AddTaskMuonEffMC(Bool_t MDProcess = kTRUE,
4 TString centralityEstimator = "V0M",
5 const Int_t NEtaBins = 15,
6 const Int_t NpTBins = 100,
7 const Int_t NCentBins = 1,
8 const Int_t NZvtxBins = 10,
9 const Int_t NPhiBins = 12,
10 const char* outputFileName = 0,
11 const char* folderName = "Muon_TrkEff")
13 // Get the pointer to the existing analysis manager via the static access method.
14 //==============================================================================
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18 ::Error("AddTaskSOH", "No analysis manager to connect to.");
22 // Check the analysis type using the event handlers connected to the analysis manager.
23 //==============================================================================
24 if (!mgr->GetInputEventHandler())
26 ::Error("AddTaskSOH", "This task requires an input event handler");
30 //-------------------------------------------------------
31 // Init the task and do settings
32 //-------------------------------------------------------
34 AliMuonEffMC *MuonEff = new AliMuonEffMC("MuonEffMC");
36 MuonEff->SetMcAna(IsMc);
37 MuonEff->SetMDProcess(MDProcess);
38 MuonEff->SetCentEstimator(centralityEstimator);
39 MuonEff->SetNEtaBins(NEtaBins);
40 MuonEff->SetNpTBins(NpTBins);
41 MuonEff->SetNCentBins(NCentBins);
42 MuonEff->SetNZvtxBins(NZvtxBins);
43 MuonEff->SetNPhiBins(NPhiBins);
44 MuonEff->SelectCollisionCandidates(AliVEvent::kAnyINT);
47 mgr->AddTask(MuonEff);
49 // Create containers for input/output
51 outputFileName = AliAnalysisManager::GetCommonFileName();
53 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
54 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(Form("MuonEff_%s",centralityEstimator.Data()),
56 AliAnalysisManager::kOutputContainer,
57 Form("%s:%s", outputFileName, folderName));
58 // Connect input/output
59 mgr->ConnectInput(MuonEff, 0, cinput);
60 mgr->ConnectOutput(MuonEff, 1, coutputpt);