ROOT logo
AliAnalysisTaskMuonResolution *AddTaskMuonResolution(Bool_t selectPhysics = kFALSE, Bool_t selectTrigger = kFALSE,
						     Bool_t matchTrig = kTRUE, Bool_t applyAccCut = kTRUE,
						     Double_t minMomentum = 0., Bool_t correctForSystematics = kTRUE,
						     Int_t extrapMode = 1)
{
  /// Add AliAnalysisTaskMuonResolution to the train (Philippe Pillot)
  
  
  // Get the pointer to the existing analysis manager via the static access method.
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr) { 
    Error("AddTaskMuonResolution","AliAnalysisManager not set!");
    return NULL;
  }
  
  // This task run on ESDs
  TString type = mgr->GetInputEventHandler()->GetDataType();
  if (!type.Contains("ESD")) {
    Error("AddTaskMuonResolution", "ESD input handler needed!");
    return NULL;
  }
  
  // Create and configure task
  AliAnalysisTaskMuonResolution *task = new AliAnalysisTaskMuonResolution("MuonResolution");
  if (!task) {
    Error("AddTaskMuonResolution", "Muon resolution task cannot be created!");
    return NULL;
  }
  task->SelectPhysics(selectPhysics);
  task->SelectTrigger(selectTrigger);
//  task->SelectTrigger(selectTrigger, AliVEvent::kMB);
  task->MatchTrigger(matchTrig);
  task->ApplyAccCut(applyAccCut);
  task->SetMinMomentum(minMomentum);
  task->CorrectForSystematics(correctForSystematics);
  task->SetExtrapMode(extrapMode);
  
  // 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("AddTaskMuonResolution", "Common output file is not defined!");
    return NULL;
  }
  outputfile += ":MUON_Resolution";
  
  // Create and connect output containers
  AliAnalysisDataContainer *cout_histo1 = mgr->CreateContainer("Residuals", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
  AliAnalysisDataContainer *cout_histo2 = mgr->CreateContainer("ResidualsVsP", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
  AliAnalysisDataContainer *cout_histo3 = mgr->CreateContainer("ResidualsVsCent", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
  AliAnalysisDataContainer *cout_histo4 = mgr->CreateContainer("ResidualsVsAngle", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
  AliAnalysisDataContainer *cout_histo5 = mgr->CreateContainer("TrackRes", TObjArray::Class(), AliAnalysisManager::kOutputContainer, outputfile);
  AliAnalysisDataContainer *cout_histo6 = mgr->CreateContainer("LocalChi2", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
  AliAnalysisDataContainer *cout_histo7 = mgr->CreateContainer("ChamberRes", TObjArray::Class(), AliAnalysisManager::kParamContainer, outputfile);
  mgr->ConnectOutput(task, 1, cout_histo1);
  mgr->ConnectOutput(task, 2, cout_histo2);
  mgr->ConnectOutput(task, 3, cout_histo3);
  mgr->ConnectOutput(task, 4, cout_histo4);
  mgr->ConnectOutput(task, 5, cout_histo5);
  mgr->ConnectOutput(task, 6, cout_histo6);
  mgr->ConnectOutput(task, 7, cout_histo7);
  
  return task;
}   
 AddTaskMuonResolution.C:1
 AddTaskMuonResolution.C:2
 AddTaskMuonResolution.C:3
 AddTaskMuonResolution.C:4
 AddTaskMuonResolution.C:5
 AddTaskMuonResolution.C:6
 AddTaskMuonResolution.C:7
 AddTaskMuonResolution.C:8
 AddTaskMuonResolution.C:9
 AddTaskMuonResolution.C:10
 AddTaskMuonResolution.C:11
 AddTaskMuonResolution.C:12
 AddTaskMuonResolution.C:13
 AddTaskMuonResolution.C:14
 AddTaskMuonResolution.C:15
 AddTaskMuonResolution.C:16
 AddTaskMuonResolution.C:17
 AddTaskMuonResolution.C:18
 AddTaskMuonResolution.C:19
 AddTaskMuonResolution.C:20
 AddTaskMuonResolution.C:21
 AddTaskMuonResolution.C:22
 AddTaskMuonResolution.C:23
 AddTaskMuonResolution.C:24
 AddTaskMuonResolution.C:25
 AddTaskMuonResolution.C:26
 AddTaskMuonResolution.C:27
 AddTaskMuonResolution.C:28
 AddTaskMuonResolution.C:29
 AddTaskMuonResolution.C:30
 AddTaskMuonResolution.C:31
 AddTaskMuonResolution.C:32
 AddTaskMuonResolution.C:33
 AddTaskMuonResolution.C:34
 AddTaskMuonResolution.C:35
 AddTaskMuonResolution.C:36
 AddTaskMuonResolution.C:37
 AddTaskMuonResolution.C:38
 AddTaskMuonResolution.C:39
 AddTaskMuonResolution.C:40
 AddTaskMuonResolution.C:41
 AddTaskMuonResolution.C:42
 AddTaskMuonResolution.C:43
 AddTaskMuonResolution.C:44
 AddTaskMuonResolution.C:45
 AddTaskMuonResolution.C:46
 AddTaskMuonResolution.C:47
 AddTaskMuonResolution.C:48
 AddTaskMuonResolution.C:49
 AddTaskMuonResolution.C:50
 AddTaskMuonResolution.C:51
 AddTaskMuonResolution.C:52
 AddTaskMuonResolution.C:53
 AddTaskMuonResolution.C:54
 AddTaskMuonResolution.C:55
 AddTaskMuonResolution.C:56
 AddTaskMuonResolution.C:57
 AddTaskMuonResolution.C:58
 AddTaskMuonResolution.C:59
 AddTaskMuonResolution.C:60
 AddTaskMuonResolution.C:61
 AddTaskMuonResolution.C:62
 AddTaskMuonResolution.C:63
 AddTaskMuonResolution.C:64
 AddTaskMuonResolution.C:65
 AddTaskMuonResolution.C:66
 AddTaskMuonResolution.C:67
 AddTaskMuonResolution.C:68
 AddTaskMuonResolution.C:69
 AddTaskMuonResolution.C:70