]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AddTaskNorm.C
Fix for install in EMCAL
[u/mrichter/AliRoot.git] / PWG / muon / AddTaskNorm.C
CommitLineData
6eebc585 1AliAnalysisTaskNorm *AddTaskNorm ( Bool_t isESD = kFALSE, Bool_t isMC = kFALSE, TString sBeamConf = "p-Pb" )
2{
3 /// Add AliAnalysisTaskDimuon to the train
4 Info("AddTaskNorm", Form("beamConf %s isESD %d, isMC %d", sBeamConf.Data(), isESD, isMC));
5
6 // Get the pointer to the existing analysis manager via the static access method.
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 if(!mgr) {
9 Error("AddTaskNorm","AliAnalysisManager not set!");
10 return NULL;
11 }
12
13 // This task run on AOD and ESD
14 TString type = mgr->GetInputEventHandler()->GetDataType();
15 if (!type.Contains("AOD") && !isESD) {
16 Error("AddTaskNorm", "AOD input handler needed!");
17 return NULL;
18 }
19 if ( !type.Contains("ESD") && isESD ) {
20 Error("AddTaskNorm","ESD input handler needed!");
21 return NULL;
22 }
23
24 AliAnalysisTaskNorm *task = new AliAnalysisTaskNorm("TaskNorm");
25 if (!task) {
26 Error("AddTaskNorm", "Analysis task Norm cannot be created!");
27 return NULL;
28 }
29 task->SetIsMC(isMC);
30 task->SetIsESD(isESD);
31 task->SetBeamConf(sBeamConf);
32 ((AliMuonEventCuts*) task->GetMuonEventCuts())->SetFilterMask ( AliMuonEventCuts::kSelectedTrig );
33 ((AliMuonEventCuts*) task->GetMuonEventCuts())->SetTrigInputsMap("0MSL:12,0MUL:14");
34 ((AliMuonEventCuts*) task->GetMuonEventCuts())->SetTrigClassPatterns("CINT7-B-NOPF-ALLNOTRD,CINT7-B-NOPF-ALLNOTRD&0MSL,CINT7-B-NOPF-ALLNOTRD&0MUL,CMSL7-B-NOPF-MUON,CMSL7-B-NOPF-MUON&0MUL,CMUL7-B-NOPF-MUON,CMUL7-B-NOPF-ALLNOTRD");
35 // Add task to analysis manager
36 mgr->AddTask(task);
37
38 // Connect input container
39 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
40
41 // Define output file directory
42 TString outputFile = AliAnalysisManager::GetCommonFileName();
43 if ( outputFile.IsNull() ) {
44 Error("AddTaskMuon", "Common output file is not defined!");
45 return NULL;
46 }
47
48 if ( isESD )
49 outputFile = "Norm.ESD.Rec.root";
50 else
51 outputFile = "Norm.AOD.Rec.root";
52
53 // Create and connect output containers
54 AliAnalysisDataContainer *coutputeventcounter = mgr->CreateContainer("eventCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputFile);
55 AliAnalysisDataContainer *coutputruncounter = mgr->CreateContainer("runCounters", AliCounterCollection::Class(), AliAnalysisManager::kOutputContainer, outputFile);
56 AliAnalysisDataContainer *coutputvertexlist = mgr->CreateContainer("vertex", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputFile);
57 AliAnalysisDataContainer *coutputv0alist = mgr->CreateContainer("V0A", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputFile);
58 AliAnalysisDataContainer *coutputznlist = mgr->CreateContainer("ZN", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputFile);
59
60 mgr->ConnectOutput(task, 1, coutputeventcounter);
61 mgr->ConnectOutput(task, 2, coutputruncounter);
62 mgr->ConnectOutput(task, 3, coutputvertexlist);
63 mgr->ConnectOutput(task, 4, coutputv0alist);
64 mgr->ConnectOutput(task, 5, coutputznlist);
65
66 return task;
67}