3 AliEmcalTrackPropagatorTask* AddTaskEmcalTrackPropagator(
4 const char *name = "Tracks",
9 // Get the pointer to the existing analysis manager via the static access method.
10 //==============================================================================
11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
13 ::Error("AddTaskEmcalTrackPropagator", "No analysis manager to connect to.");
17 // Check the analysis type using the event handlers connected to the analysis manager.
18 //==============================================================================
19 AliVEventHandler *evhand = mgr->GetInputEventHandler();
21 ::Error("AddTaskEmcalTrackPropagator", "This task requires an input event handler");
25 if (!evhand->InheritsFrom("AliESDInputHandler")) {
26 ::Info("AddTaskEmcalTrackPropagator", "This task is only needed for ESD analysis. No task added.");
30 //-------------------------------------------------------
31 // Init the task and do settings
32 //-------------------------------------------------------
33 AliEmcalTrackPropagatorTask* propagator = new AliEmcalTrackPropagatorTask();
34 propagator->SetTracksName(name);
35 if (d > -1) propagator->SetDist(d);
36 if (pt > -1) propagator->SetMinPt(pt);
38 //-------------------------------------------------------
39 // Final settings, pass to manager and set the containers
40 //-------------------------------------------------------
41 mgr->AddTask(propagator);
43 // Create containers for input/output
44 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
45 mgr->ConnectInput (propagator, 0, cinput1 );