]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskRhoFlow.C
Updates from Redmer
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskRhoFlow.C
CommitLineData
c683922f 1// $Id$
6231f841 2
3AliAnalysisTaskRhoFlow* AddTaskRhoFlow(
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,
9 UInt_t type = AliAnalysisTaskEmcal::kTPC,
10 Double_t jetareacut = 0.01,
11 Double_t emcareacut = 0,
12 const UInt_t exclJets = 0,
13 const char *taskname = "RhoFlow"
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("AddTaskRho", "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("AddTaskRho", "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_", taskname, nJets));
38 if (type == AliAnalysisTaskEmcal::kTPC)
39 name += "TPC";
40 else if (type == AliAnalysisTaskEmcal::kEMCAL)
41 name += "EMCAL";
42 else if (type == AliAnalysisTaskEmcal::kUser)
43 name += "USER";
44 AliAnalysisTaskRhoFlow *rhotask = new AliAnalysisTaskRhoFlow(name);
45 rhotask->SetAnaType(type);
46 rhotask->SetJetsName(nJets);
47 rhotask->SetTracksName(nTracks);
48 rhotask->SetClusName(nClusters);
49 rhotask->SetRhoName(nRho);
50 rhotask->SetJetAreaCut(jetareacut);
51 rhotask->SetAreaEmcCut(emcareacut);
52 rhotask->SetJetPtCut(0);
53 rhotask->SetJetRadius(jetradius);
54 rhotask->SetExcludeLeadJets(exclJets);
55
56 //-------------------------------------------------------
57 // Final settings, pass to manager and set the containers
58 //-------------------------------------------------------
59
60 mgr->AddTask(rhotask);
61
62 // Create containers for input/output
63 mgr->ConnectInput(rhotask, 0, mgr->GetCommonInputContainer());
64
65 TString contname(name);
66 contname += "_histos";
67 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
68 TList::Class(),AliAnalysisManager::kOutputContainer,
69 Form("%s", AliAnalysisManager::GetCommonFileName()));
70 mgr->ConnectOutput(rhotask, 1, coutput1);
71
72 return rhotask;
73}