ROOT logo
/// \ingroup macros
/// \file AddTaskMuonReAlign.C
/// \brief Macro to add an AliMUONReAlignTask to an analysis train
///
/// \author Javier Castillo, CEA/Saclay - Irfu/SPhN

AliMUONReAlignTask *AddTaskMuonReAlign()
{
/// Creates a filter task and adds it to the analysis manager.

   // Get the pointer to the existing analysis manager via the static access method.
   //==============================================================================
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
      ::Error("AddTaskMuonReAlign", "No analysis manager to connect to.");
      return NULL;
   }   
   
   // This task requires an ESD input handler.
   // Check this using the analysis manager.
   //===============================================================================
   TString type = mgr->GetInputEventHandler()->GetDataType();
   if (!type.Contains("ESD")) {
      ::Error("AddTaskMuonReAlign", "ESD filtering task needs the manager to have an ESD input handler.");
      return NULL;
   }   

   // Create the task, add it to the manager and configure it.
   //===========================================================================   
   // Muons
   AliMUONReAlignTask *muonrealign = new AliMUONReAlignTask("Muon realign");
   mgr->AddTask(muonrealign);
   
//    // Cuts on primary tracks
//    AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
//    esdTrackCutsL->SetMinNClustersTPC(50);

//    AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
//    trackFilter->AddCuts(esdTrackCutsL);

//    muonalign->SetTrackFilter(trackFilter);



   // Create ONLY the output containers for the data produced by the task.
   // Get and connect other common input/output containers via the manager as below
   //==============================================================================
   AliAnalysisDataContainer *treeOut = mgr->CreateContainer("output", TTree::Class(), AliAnalysisManager::kOutputContainer, "clusterInfo.root");
   mgr->ConnectInput  (muonrealign,  0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput (muonrealign,  0, treeOut);
   return muonrealign;
}   
 AddTaskMuonReAlign.C:1
 AddTaskMuonReAlign.C:2
 AddTaskMuonReAlign.C:3
 AddTaskMuonReAlign.C:4
 AddTaskMuonReAlign.C:5
 AddTaskMuonReAlign.C:6
 AddTaskMuonReAlign.C:7
 AddTaskMuonReAlign.C:8
 AddTaskMuonReAlign.C:9
 AddTaskMuonReAlign.C:10
 AddTaskMuonReAlign.C:11
 AddTaskMuonReAlign.C:12
 AddTaskMuonReAlign.C:13
 AddTaskMuonReAlign.C:14
 AddTaskMuonReAlign.C:15
 AddTaskMuonReAlign.C:16
 AddTaskMuonReAlign.C:17
 AddTaskMuonReAlign.C:18
 AddTaskMuonReAlign.C:19
 AddTaskMuonReAlign.C:20
 AddTaskMuonReAlign.C:21
 AddTaskMuonReAlign.C:22
 AddTaskMuonReAlign.C:23
 AddTaskMuonReAlign.C:24
 AddTaskMuonReAlign.C:25
 AddTaskMuonReAlign.C:26
 AddTaskMuonReAlign.C:27
 AddTaskMuonReAlign.C:28
 AddTaskMuonReAlign.C:29
 AddTaskMuonReAlign.C:30
 AddTaskMuonReAlign.C:31
 AddTaskMuonReAlign.C:32
 AddTaskMuonReAlign.C:33
 AddTaskMuonReAlign.C:34
 AddTaskMuonReAlign.C:35
 AddTaskMuonReAlign.C:36
 AddTaskMuonReAlign.C:37
 AddTaskMuonReAlign.C:38
 AddTaskMuonReAlign.C:39
 AddTaskMuonReAlign.C:40
 AddTaskMuonReAlign.C:41
 AddTaskMuonReAlign.C:42
 AddTaskMuonReAlign.C:43
 AddTaskMuonReAlign.C:44
 AddTaskMuonReAlign.C:45
 AddTaskMuonReAlign.C:46
 AddTaskMuonReAlign.C:47
 AddTaskMuonReAlign.C:48
 AddTaskMuonReAlign.C:49
 AddTaskMuonReAlign.C:50
 AddTaskMuonReAlign.C:51
 AddTaskMuonReAlign.C:52
 AddTaskMuonReAlign.C:53