]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskRhoBase.C
Add possibility to enable trigger patch QA in the jet preparation
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskRhoBase.C
CommitLineData
95170bf5 1// $Id$
2
3AliAnalysisTaskRhoBase* AddTaskRhoBase(
a487deae 4 const char *nJets = "Jets",
5 const char *nTracks = "PicoTracks",
6 const char *nClusters = "CaloClusters",
7 const char *nRho = "Rho",
8 Double_t jetradius = 0.2,
7cd832c7 9 const char *cutType = "TPC",
a487deae 10 Double_t jetareacut = 0.01,
11 Double_t emcareacut = 0,
a487deae 12 TF1 *sfunc = 0,
13 TF1 *rfunc = 0,
14 const Bool_t histo = kFALSE,
15 const char *taskname = "RhoBase"
16
95170bf5 17)
18{
19 // Get the pointer to the existing analysis manager via the static access method.
20 //==============================================================================
21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22 if (!mgr)
23 {
24 ::Error("AddTaskRhoBase", "No analysis manager to connect to.");
25 return NULL;
26 }
27
28 // Check the analysis type using the event handlers connected to the analysis manager.
29 //==============================================================================
30 if (!mgr->GetInputEventHandler())
31 {
32 ::Error("AddTaskRho", "This task requires an input event handler");
33 return NULL;
34 }
35
36 //-------------------------------------------------------
37 // Init the task and do settings
38 //-------------------------------------------------------
39
a487deae 40 AliAnalysisTaskRhoBase *rhotask = new AliAnalysisTaskRhoBase(taskname,histo);
95170bf5 41 rhotask->SetRhoFunction(rfunc);
a487deae 42 rhotask->SetScaleFunction(sfunc);
7cd832c7 43 rhotask->SetOutRhoName(nRho);
44
45 AliParticleContainer *trackCont = rhotask->AddParticleContainer(nTracks);
46 AliClusterContainer *clusterCont = rhotask->AddClusterContainer(nClusters);
47
48 AliJetContainer *jetCont = rhotask->AddJetContainer(nJets,cutType,jetradius);
49 if (jetCont) {
50 jetCont->SetJetAreaCut(jetareacut);
51 jetCont->SetAreaEmcCut(emcareacut);
52 jetCont->SetJetPtCut(0);
53 jetCont->ConnectParticleContainer(trackCont);
54 jetCont->ConnectClusterContainer(clusterCont);
55 }
95170bf5 56
57 //-------------------------------------------------------
58 // Final settings, pass to manager and set the containers
59 //-------------------------------------------------------
60
61 mgr->AddTask(rhotask);
62
63 // Create containers for input/output
a487deae 64 mgr->ConnectInput(rhotask, 0, mgr->GetCommonInputContainer());
65
66 if (histo) {
67 TString contname(taskname);
68 contname += "_histos";
69 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
70 TList::Class(),AliAnalysisManager::kOutputContainer,
71 Form("%s", AliAnalysisManager::GetCommonFileName()));
72 mgr->ConnectOutput(rhotask, 1, coutput1);
73 }
95170bf5 74
75 return rhotask;
76}