ROOT logo
// $Id$

AliJetModelCopyTracks* AddTaskModelCopyTracks(
					     const char     *tracksName1   = "Tracks",
					     const char     *tracksName2   = "Tracks2",
					     Int_t           massType      = AliJetModelCopyTracks::kMassless,
					     const char     *taskName      = "JetModelCopyTracks"
					    )
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskModelCopyTracks", "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("AddTaskModelCopyTracks", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------

  AliJetModelCopyTracks *copyTask = new AliJetModelCopyTracks(taskName);
  copyTask->SetTracksName(tracksName1);
  copyTask->SetTracksOutName(tracksName2);
  copyTask->SetParticleMassType(massType);

  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------
  mgr->AddTask(copyTask);
    
  // Create containers for input/output
  mgr->ConnectInput (copyTask, 0, mgr->GetCommonInputContainer() );

  TString contName = taskName;
  contName += "_histos";
  TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
  AliAnalysisDataContainer *outc = mgr->CreateContainer(contName.Data(),
							TList::Class(),
							AliAnalysisManager::kOutputContainer,
							outputfile);
  mgr->ConnectOutput(copyTask, 1, outc);

  return copyTask;
}
 AddTaskModelCopyTracks.C:1
 AddTaskModelCopyTracks.C:2
 AddTaskModelCopyTracks.C:3
 AddTaskModelCopyTracks.C:4
 AddTaskModelCopyTracks.C:5
 AddTaskModelCopyTracks.C:6
 AddTaskModelCopyTracks.C:7
 AddTaskModelCopyTracks.C:8
 AddTaskModelCopyTracks.C:9
 AddTaskModelCopyTracks.C:10
 AddTaskModelCopyTracks.C:11
 AddTaskModelCopyTracks.C:12
 AddTaskModelCopyTracks.C:13
 AddTaskModelCopyTracks.C:14
 AddTaskModelCopyTracks.C:15
 AddTaskModelCopyTracks.C:16
 AddTaskModelCopyTracks.C:17
 AddTaskModelCopyTracks.C:18
 AddTaskModelCopyTracks.C:19
 AddTaskModelCopyTracks.C:20
 AddTaskModelCopyTracks.C:21
 AddTaskModelCopyTracks.C:22
 AddTaskModelCopyTracks.C:23
 AddTaskModelCopyTracks.C:24
 AddTaskModelCopyTracks.C:25
 AddTaskModelCopyTracks.C:26
 AddTaskModelCopyTracks.C:27
 AddTaskModelCopyTracks.C:28
 AddTaskModelCopyTracks.C:29
 AddTaskModelCopyTracks.C:30
 AddTaskModelCopyTracks.C:31
 AddTaskModelCopyTracks.C:32
 AddTaskModelCopyTracks.C:33
 AddTaskModelCopyTracks.C:34
 AddTaskModelCopyTracks.C:35
 AddTaskModelCopyTracks.C:36
 AddTaskModelCopyTracks.C:37
 AddTaskModelCopyTracks.C:38
 AddTaskModelCopyTracks.C:39
 AddTaskModelCopyTracks.C:40
 AddTaskModelCopyTracks.C:41
 AddTaskModelCopyTracks.C:42
 AddTaskModelCopyTracks.C:43
 AddTaskModelCopyTracks.C:44
 AddTaskModelCopyTracks.C:45
 AddTaskModelCopyTracks.C:46
 AddTaskModelCopyTracks.C:47
 AddTaskModelCopyTracks.C:48
 AddTaskModelCopyTracks.C:49
 AddTaskModelCopyTracks.C:50
 AddTaskModelCopyTracks.C:51
 AddTaskModelCopyTracks.C:52
 AddTaskModelCopyTracks.C:53
 AddTaskModelCopyTracks.C:54
 AddTaskModelCopyTracks.C:55