// $Id$ AliEmcalTrackPropagatorTask* AddTaskEmcalTrackPropagator( const char *nameIn = 0, const char *nameOut = 0, const Bool_t onlyifnot = kTRUE, const Double_t d = 440 ) { // Get the pointer to the existing analysis manager via the static access method. //============================================================================== AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { ::Error("AddTaskEmcalTrackPropagator", "No analysis manager to connect to."); return NULL; } // Check the analysis type using the event handlers connected to the analysis manager. //============================================================================== AliVEventHandler *evhand = mgr->GetInputEventHandler(); if (!evhand) { ::Error("AddTaskEmcalTrackPropagator", "This task requires an input event handler"); return NULL; } //------------------------------------------------------- // Init the task and do settings //------------------------------------------------------- AliEmcalTrackPropagatorTask* propagator = new AliEmcalTrackPropagatorTask(); if (nameIn) propagator->SetTracksInName(nameIn); if (nameOut) propagator->SetTracksOutName(nameOut); if (d>0) propagator->SetDist(d); propagator->SetOnlyIfNotSet(onlyifnot); //------------------------------------------------------- // Final settings, pass to manager and set the containers //------------------------------------------------------- mgr->AddTask(propagator); // Create containers for input/output AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ; mgr->ConnectInput (propagator, 0, cinput1 ); return propagator; }