]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWG / EMCAL / macros / AddTaskEmcalPicoTrackMaker.C
1 // $Id$
2
3 AliEmcalPicoTrackMaker* AddTaskEmcalPicoTrackMaker(
4   const char *name         = "PicoTracks",
5   const char *inname       = "FilterTracks",
6   Double_t ptmin           = 0,
7   Double_t ptmax           = 1000,
8   Double_t etamin          = -10,
9   Double_t etamax          = +10,
10   Double_t phimin          = -10,
11   Double_t phimax          = +10,
12   Double_t trackeff        = 1.0,
13   const char *taskName     = "AliEmcalPicoTrackMaker"
14 )
15 {  
16   // Get the pointer to the existing analysis manager via the static access method.
17   //==============================================================================
18   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19   if (!mgr)
20   {
21     ::Error("AddTaskEmcalPicoTrackMaker", "No analysis manager to connect to.");
22     return NULL;
23   }  
24   
25   // Check the analysis type using the event handlers connected to the analysis manager.
26   //==============================================================================
27   if (!mgr->GetInputEventHandler())
28   {
29     ::Error("AddTaskEmcalPicoTrackMaker", "This task requires an input event handler");
30     return NULL;
31   }
32   
33   //-------------------------------------------------------
34   // Init the task and do settings
35   //-------------------------------------------------------
36
37   AliEmcalPicoTrackMaker *eTask = new AliEmcalPicoTrackMaker(taskName);
38   eTask->SetTracksOutName(name);
39   eTask->SetTracksInName(inname);
40   eTask->SetTrackPtLimits(ptmin, ptmax);
41   eTask->SetTrackEtaLimits(etamin, etamax);
42   eTask->SetTrackPhiLimits(phimin, phimax);
43   eTask->SetTrackEfficiency(trackeff);
44
45   //-------------------------------------------------------
46   // Final settings, pass to manager and set the containers
47   //-------------------------------------------------------
48   mgr->AddTask(eTask);
49   
50   // Create containers for input/output
51   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer();
52   mgr->ConnectInput(eTask, 0, cinput1 );
53   
54   return eTask;
55 }