3 AliMuonEffMC* AddTaskMuonEffMC(Bool_t IsMc = kTRUE,
4 Bool_t MDProcess = kFALSE,
5 Bool_t IsPythia = kFALSE,
7 TString centralityEstimator = "V0M",
8 const Int_t NEtaBins = 100,
9 const Int_t NpTBins = 50,
10 const Int_t NCentBins = 1,
11 const Int_t NZvtxBins = 1,
12 const Int_t NPhiBins = 12,
13 const char* outputFileName = 0,
14 const char* folderName = "Muon_TrkEff")
16 // Get the pointer to the existing analysis manager via the static access method.
17 //==============================================================================
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 ::Error("AddTaskSOH", "No analysis manager to connect to.");
25 // Check the analysis type using the event handlers connected to the analysis manager.
26 //==============================================================================
27 if (!mgr->GetInputEventHandler())
29 ::Error("AddTaskSOH", "This task requires an input event handler");
33 //-------------------------------------------------------
34 // Init the task and do settings
35 //-------------------------------------------------------
37 AliMuonEffMC *MuonEff = new AliMuonEffMC("MuonEffMC");
39 MuonEff->SetMcAna(IsMc);
40 MuonEff->SetIsPYTHIA(IsPythia);
41 MuonEff->SetMDProcess(MDProcess);
42 MuonEff->SetPlotMode(PlotMode);
43 MuonEff->SetCentEstimator(centralityEstimator);
44 MuonEff->SetNEtaBins(NEtaBins);
45 MuonEff->SetNpTBins(NpTBins);
46 MuonEff->SetNCentBins(NCentBins);
47 MuonEff->SetNZvtxBins(NZvtxBins);
48 MuonEff->SetNPhiBins(NPhiBins);
49 MuonEff->SelectCollisionCandidates(AliVEvent::kAnyINT);
52 mgr->AddTask(MuonEff);
54 // Create containers for input/output
56 outputFileName = AliAnalysisManager::GetCommonFileName();
58 const char* ModeTitle[4] = {"Gen", "Mu", "MuMother", "Mother"};
59 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
60 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(Form("MuonEff_%s_%s",centralityEstimator.Data(), ModeTitle[PlotMode]),
62 AliAnalysisManager::kOutputContainer,
63 Form("%s:%s", outputFileName, folderName));
64 // Connect input/output
65 mgr->ConnectInput(MuonEff, 0, cinput);
66 mgr->ConnectOutput(MuonEff, 1, coutputpt);