]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/macros/AddTaskRhoAverage.C
create general emcal task lib
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / macros / AddTaskRhoAverage.C
1 // $Id$
2
3 AliAnalysisTaskRhoAverage* AddTaskRhoAverage(
4    const char *nJets          = "Jets",
5    const char *nTracks        = "PicoTracks",   
6    const char *nClusters      = "CaloClustersCorr",  
7    const char *nRho           = "RhoAverage",
8    const Double_t minPhi      = 0,
9    const Double_t maxPhi      = 2 * TMath::Pi(),
10    const Double_t minEta      = -0.9,
11    const Double_t maxEta      = 0.9,
12    const Double_t minPt       = 0.15,
13    const char *taskname       = "RhoAverage"
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("AddTaskRhoAverage", "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("AddTaskRhoAverage", "This task requires an input event handler");
30     return NULL;
31   }
32   
33   //-------------------------------------------------------
34   // Init the task and do settings
35   //-------------------------------------------------------
36
37   TString name(Form("%s_%s_%s", taskname, nTracks, nClusters));
38   AliAnalysisTaskRhoAverage *rhotask = new AliAnalysisTaskRhoAverage(name);
39   rhotask->SetJetsName(nJets);
40   rhotask->SetTracksName(nTracks);
41   rhotask->SetClustersName(nClusters);
42   rhotask->SetRhoName(nRho);
43   rhotask->SetPhiLimits(minPhi,maxPhi);
44   rhotask->SetEtaLimits(minEta,maxEta);
45   rhotask->SetPtMin(minPt);
46
47   //-------------------------------------------------------
48   // Final settings, pass to manager and set the containers
49   //-------------------------------------------------------
50
51   mgr->AddTask(rhotask);
52
53   // Create containers for input/output
54   mgr->ConnectInput (rhotask, 0, mgr->GetCommonInputContainer() );
55
56   return rhotask;
57 }