ROOT logo
// $Id$

AliAnalysisTaskSATR* AddTaskSATR(
  const char* triggerType = "L0",
  AliAnalysisTaskEMCALClusterizeFast *clusterizer = 0, 
  AliAnalysisTaskEMCALClusterizeFast *trgClusterizer = 0)
{
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskSATR", "No analysis manager to connect to.");
    return NULL;
  }  
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler())
  {
    ::Error("AddTaskSATR", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------

  TString caloClusName, trgClusName, taskName;
  if (!strcmp(triggerType, "L0")) {
    caloClusName = "ClustersL0FEE";
    trgClusName = "ClustersL0FOR";
    taskName = "TriggerAnaL0";
  }
  else if (!strcmp(triggerType, "L1GAMMA")) {
    caloClusName = "ClustersL1GAMMAFEE";
    trgClusName = "ClustersL1GAMMAFOR";
    taskName = "TriggerAnaL1GAMMA";
  }
  else if (!strcmp(triggerType, "L1JET")) {
    caloClusName = "ClustersL1JETFEE";
    trgClusName = "ClustersL1JETFOR";
    taskName = "TriggerAnaL1JET";
  }
	
  AliAnalysisTaskSATR* task = new AliAnalysisTaskSATR(taskName.Data());
  task->SetTimeCutOn(kTRUE);
  task->SetL0TimeCut(-20, 20);
  task->SetClusTimeCut(-1, 1);
  task->SetCheckDeadClusters(kFALSE);
  task->SetLoadPed(kFALSE);
  task->SetCaloClustersName(caloClusName.Data());
  task->SetTriggerClustersName(trgClusName.Data());
  task->SetClusterizer(clusterizer);
  task->SetTriggerClusterizer(trgClusterizer);
  task->SetCutL0Amp(-1, 999);
  task->SetCutClusEnergy(-1, 999);

  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------
  mgr->AddTask(task);

  // Create containers for input/output
  AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;

  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput", 
							    TList::Class(),AliAnalysisManager::kOutputContainer,
							    Form("%s", AliAnalysisManager::GetCommonFileName()));
  mgr->ConnectInput  (task, 0,  cinput1 );
  mgr->ConnectOutput (task, 1, coutput1 );

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