macro dir
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEmcalTrackPropagator.C
1 // $Id$
2
3 AliEmcalTrackPropagatorTask* AddTaskEmcalTrackPropagator(
4   const char *name         = "Tracks",
5   const Double_t d         = -1,
6   const Double_t pt        = -1
7 )
8 {  
9   // Get the pointer to the existing analysis manager via the static access method.
10   //==============================================================================
11   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12   if (!mgr)
13   {
14     ::Error("AddTaskEmcalTrackPropagator", "No analysis manager to connect to.");
15     return NULL;
16   }  
17   
18   // Check the analysis type using the event handlers connected to the analysis manager.
19   //==============================================================================
20   if (!mgr->GetInputEventHandler())
21   {
22     ::Error("AddTaskEmcalTrackPropagator", "This task requires an input event handler");
23     return NULL;
24   }
25   
26   //-------------------------------------------------------
27   // Init the task and do settings
28   //-------------------------------------------------------
29   AliEmcalTrackPropagatorTask* propagator = new AliEmcalTrackPropagatorTask();
30   propagator->SetTracksName(name);
31   if (d > -1) propagator->SetDist(d);
32   if (pt > -1) propagator->SetMinPt(pt);
33
34   //-------------------------------------------------------
35   // Final settings, pass to manager and set the containers
36   //-------------------------------------------------------
37   mgr->AddTask(propagator);
38   
39   // Create containers for input/output
40   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
41   mgr->ConnectInput  (propagator, 0,  cinput1 );
42   
43   return propagator;
44 }