2 AliMuonEffMC* AddTaskMuonEFFMC(Bool_t MDProcess = kTRUE,
3 TString centralityEstimator = "V0M",
4 const Int_t NEtaBins = 15,
5 const Int_t NpTBins = 100,
6 const Int_t NCentBins = 1,
7 const Int_t NZvtxBins = 10,
8 const Int_t NPhiBins = 12,
9 const char* outputFileName = 0,
10 const char* folderName = "Muon_TrkEff")
12 // Get the pointer to the existing analysis manager via the static access method.
13 //==============================================================================
14 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
17 ::Error("AddTaskSOH", "No analysis manager to connect to.");
21 // Check the analysis type using the event handlers connected to the analysis manager.
22 //==============================================================================
23 if (!mgr->GetInputEventHandler())
25 ::Error("AddTaskSOH", "This task requires an input event handler");
29 TString analysisType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
30 if(dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler())) analysisType = "MC";
33 if (analysisType !="MC") IsMc = kFALSE;
35 //-------------------------------------------------------
36 // Init the task and do settings
37 //-------------------------------------------------------
39 AliMuonEffMC *MuonEff = new AliMuonEffMC("MuonEffMC");
40 MuonEff->SetMcAna(IsMc);
41 MuonEff->SetMDProcess(MDProcess);
42 MuonEff->SetCentEstimator(centralityEstimator);
43 MuonEff->SetNEtaBins(NEtaBins);
44 MuonEff->SetNpTBins(NpTBins);
45 MuonEff->SetNCentBins(NCentBins);
46 MuonEff->SetNZvtxBins(NZvtxBins);
47 MuonEff->SetNPhiBins(NPhiBins);
48 MuonEff->SelectCollisionCandidates(AliVEvent::kAnyINT);
51 mgr->AddTask(MuonEff);
53 // Create containers for input/output
55 outputFileName = AliAnalysisManager::GetCommonFileName();
57 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
58 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(Form("MuonEff_%s",centralityEstimator.Data()),
60 AliAnalysisManager::kOutputContainer,
61 Form("%s:%s", outputFileName, folderName));
63 // Connect input/output
64 mgr->ConnectInput(MuonEff, 0, cinput);
65 mgr->ConnectOutput(MuonEff, 1, coutputpt);