ROOT logo
AliAnalysisTaskNorm *AddTaskNorm ( Bool_t isESD = kFALSE, Bool_t isMC = kFALSE, TString sBeamConf = "p-Pb" )
{
  /// Add AliAnalysisTaskDimuon to the train 
  Info("AddTaskNorm", Form("beamConf %s isESD %d, isMC %d", sBeamConf.Data(), isESD, isMC));
  
  // Get the pointer to the existing analysis manager via the static access method.
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr) { 
    Error("AddTaskNorm","AliAnalysisManager not set!");
    return NULL;
  }
  
  // This task run on AOD and ESD
  TString type = mgr->GetInputEventHandler()->GetDataType();
  if (!type.Contains("AOD") && !isESD) {
    Error("AddTaskNorm", "AOD input handler needed!");
    return NULL;
  }
  if ( !type.Contains("ESD") && isESD ) {
    Error("AddTaskNorm","ESD input handler needed!");
    return NULL;
  }

  AliAnalysisTaskNorm *task = new AliAnalysisTaskNorm("TaskNorm");
  if (!task) {
    Error("AddTaskNorm", "Analysis task Norm cannot be created!");
    return NULL;
  }
  task->SetIsMC(isMC);
  task->SetIsESD(isESD);
  task->SetBeamConf(sBeamConf);
  ((AliMuonEventCuts*) task->GetMuonEventCuts())->SetFilterMask ( AliMuonEventCuts::kSelectedTrig );
  ((AliMuonEventCuts*) task->GetMuonEventCuts())->SetTrigInputsMap("0MSL:12,0MUL:14");
  ((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");
  // Add task to analysis manager
  mgr->AddTask(task);
  
  // Connect input container
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
  
  // Define output file directory
  TString outputFile = AliAnalysisManager::GetCommonFileName();
  if ( outputFile.IsNull() ) {
    Error("AddTaskMuon", "Common output file is not defined!");
    return NULL;
  }

  if ( isESD )
    outputFile = "Norm.ESD.Rec.root";
  else 
    outputFile = "Norm.AOD.Rec.root";

  // Create and connect output containers
  AliAnalysisDataContainer *coutputeventcounter = mgr->CreateContainer("eventCounters", AliCounterCollection::Class(),    AliAnalysisManager::kOutputContainer, outputFile);
  AliAnalysisDataContainer *coutputruncounter = mgr->CreateContainer("runCounters", AliCounterCollection::Class(),    AliAnalysisManager::kOutputContainer, outputFile);
  AliAnalysisDataContainer *coutputvertexlist = mgr->CreateContainer("vertex", TObjArray::Class(),    AliAnalysisManager::kOutputContainer, outputFile);
  AliAnalysisDataContainer *coutputv0alist = mgr->CreateContainer("V0A", TObjArray::Class(),    AliAnalysisManager::kOutputContainer, outputFile);
  AliAnalysisDataContainer *coutputznlist = mgr->CreateContainer("ZN", TObjArray::Class(),    AliAnalysisManager::kOutputContainer, outputFile);
  
  mgr->ConnectOutput(task, 1, coutputeventcounter);
  mgr->ConnectOutput(task, 2, coutputruncounter);
  mgr->ConnectOutput(task, 3, coutputvertexlist);
  mgr->ConnectOutput(task, 4, coutputv0alist);
  mgr->ConnectOutput(task, 5, coutputznlist);

  return task;
}   
 AddTaskNorm.C:1
 AddTaskNorm.C:2
 AddTaskNorm.C:3
 AddTaskNorm.C:4
 AddTaskNorm.C:5
 AddTaskNorm.C:6
 AddTaskNorm.C:7
 AddTaskNorm.C:8
 AddTaskNorm.C:9
 AddTaskNorm.C:10
 AddTaskNorm.C:11
 AddTaskNorm.C:12
 AddTaskNorm.C:13
 AddTaskNorm.C:14
 AddTaskNorm.C:15
 AddTaskNorm.C:16
 AddTaskNorm.C:17
 AddTaskNorm.C:18
 AddTaskNorm.C:19
 AddTaskNorm.C:20
 AddTaskNorm.C:21
 AddTaskNorm.C:22
 AddTaskNorm.C:23
 AddTaskNorm.C:24
 AddTaskNorm.C:25
 AddTaskNorm.C:26
 AddTaskNorm.C:27
 AddTaskNorm.C:28
 AddTaskNorm.C:29
 AddTaskNorm.C:30
 AddTaskNorm.C:31
 AddTaskNorm.C:32
 AddTaskNorm.C:33
 AddTaskNorm.C:34
 AddTaskNorm.C:35
 AddTaskNorm.C:36
 AddTaskNorm.C:37
 AddTaskNorm.C:38
 AddTaskNorm.C:39
 AddTaskNorm.C:40
 AddTaskNorm.C:41
 AddTaskNorm.C:42
 AddTaskNorm.C:43
 AddTaskNorm.C:44
 AddTaskNorm.C:45
 AddTaskNorm.C:46
 AddTaskNorm.C:47
 AddTaskNorm.C:48
 AddTaskNorm.C:49
 AddTaskNorm.C:50
 AddTaskNorm.C:51
 AddTaskNorm.C:52
 AddTaskNorm.C:53
 AddTaskNorm.C:54
 AddTaskNorm.C:55
 AddTaskNorm.C:56
 AddTaskNorm.C:57
 AddTaskNorm.C:58
 AddTaskNorm.C:59
 AddTaskNorm.C:60
 AddTaskNorm.C:61
 AddTaskNorm.C:62
 AddTaskNorm.C:63
 AddTaskNorm.C:64
 AddTaskNorm.C:65
 AddTaskNorm.C:66
 AddTaskNorm.C:67
 AddTaskNorm.C:68