]>
Commit | Line | Data |
---|---|---|
86088042 | 1 | // $Id$ |
7e990b20 | 2 | |
86088042 | 3 | AliMuonEffMC* AddTaskMuonEffMC( |
4 | Bool_t IsMc = kTRUE, | |
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" | |
17 | ) | |
7e990b20 | 18 | { |
19 | // Get the pointer to the existing analysis manager via the static access method. | |
20 | //============================================================================== | |
21 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
22 | if (!mgr) | |
23 | { | |
24 | ::Error("AddTaskSOH", "No analysis manager to connect to."); | |
25 | return NULL; | |
26 | } | |
27 | ||
28 | // Check the analysis type using the event handlers connected to the analysis manager. | |
29 | //============================================================================== | |
30 | if (!mgr->GetInputEventHandler()) | |
31 | { | |
32 | ::Error("AddTaskSOH", "This task requires an input event handler"); | |
33 | return NULL; | |
34 | } | |
35 | ||
7e990b20 | 36 | //------------------------------------------------------- |
37 | // Init the task and do settings | |
38 | //------------------------------------------------------- | |
39 | ||
40 | AliMuonEffMC *MuonEff = new AliMuonEffMC("MuonEffMC"); | |
fe76c976 | 41 | |
7e990b20 | 42 | MuonEff->SetMcAna(IsMc); |
43 | MuonEff->SetMDProcess(MDProcess); | |
d06985ba | 44 | MuonEff->SetFeynmanXProcess(FeynmanXProcess); |
45 | MuonEff->SetScatFX(ScatFXProcess); | |
7e990b20 | 46 | MuonEff->SetCentEstimator(centralityEstimator); |
47 | MuonEff->SetNEtaBins(NEtaBins); | |
48 | MuonEff->SetNpTBins(NpTBins); | |
49 | MuonEff->SetNCentBins(NCentBins); | |
50 | MuonEff->SetNZvtxBins(NZvtxBins); | |
51 | MuonEff->SetNPhiBins(NPhiBins); | |
d06985ba | 52 | MuonEff->SetNPBins(NPBins); |
7e990b20 | 53 | MuonEff->SelectCollisionCandidates(AliVEvent::kAnyINT); |
54 | ||
55 | // Add task(s) | |
56 | mgr->AddTask(MuonEff); | |
57 | ||
58 | // Create containers for input/output | |
59 | if (!outputFileName) | |
60 | outputFileName = AliAnalysisManager::GetCommonFileName(); | |
61 | ||
62 | AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); | |
63 | AliAnalysisDataContainer *coutputpt = mgr->CreateContainer(Form("MuonEff_%s",centralityEstimator.Data()), | |
64 | TList::Class(), | |
65 | AliAnalysisManager::kOutputContainer, | |
496d9bc6 | 66 | Form("%s:%s", outputFileName, folderName)); |
7e990b20 | 67 | // Connect input/output |
68 | mgr->ConnectInput(MuonEff, 0, cinput); | |
69 | mgr->ConnectOutput(MuonEff, 1, coutputpt); | |
70 | ||
71 | return MuonEff; | |
72 | } |