3 AliMuonEffMC* AddTaskMuonEffMC(
5 Bool_t MDProcess = kFALSE,
6 Bool_t FeynmanXProcess = kFALSE,
7 Bool_t ScatFXProcess = kFALSE,
8 TString centralityEstimator = "V0M",
9 const Int_t NEtaBins = 15,
10 const Int_t NpTBins = 50,
11 const Int_t NCentBins = 1,
12 const Int_t NZvtxBins = 1,
13 const Int_t NPhiBins = 12,
14 const Int_t NPBins = 150,
15 const char* outputFileName = 0,
16 const char* folderName = "Muon_TrkEff"
19 // Get the pointer to the existing analysis manager via the static access method.
20 //==============================================================================
21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24 ::Error("AddTaskSOH", "No analysis manager to connect to.");
28 // Check the analysis type using the event handlers connected to the analysis manager.
29 //==============================================================================
30 if (!mgr->GetInputEventHandler())
32 ::Error("AddTaskSOH", "This task requires an input event handler");
36 //-------------------------------------------------------
37 // Init the task and do settings
38 //-------------------------------------------------------
40 AliMuonEffMC *MuonEff = new AliMuonEffMC("MuonEffMC");
42 MuonEff->SetMcAna(IsMc);
43 MuonEff->SetMDProcess(MDProcess);
44 MuonEff->SetFeynmanXProcess(FeynmanXProcess);
45 MuonEff->SetScatFX(ScatFXProcess);
46 MuonEff->SetCentEstimator(centralityEstimator);
47 MuonEff->SetNEtaBins(NEtaBins);
48 MuonEff->SetNpTBins(NpTBins);
49 MuonEff->SetNCentBins(NCentBins);
50 MuonEff->SetNZvtxBins(NZvtxBins);
51 MuonEff->SetNPhiBins(NPhiBins);
52 MuonEff->SetNPBins(NPBins);
53 MuonEff->SelectCollisionCandidates(AliVEvent::kAnyINT);
56 mgr->AddTask(MuonEff);
58 // Create containers for input/output
60 outputFileName = AliAnalysisManager::GetCommonFileName();
62 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
63 AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(Form("MuonEff_%s",centralityEstimator.Data()),
65 AliAnalysisManager::kOutputContainer,
66 Form("%s:%s", outputFileName, folderName));
67 // Connect input/output
68 mgr->ConnectInput(MuonEff, 0, cinput);
69 mgr->ConnectOutput(MuonEff, 1, coutputpt);