3 AliAnalysisTaskRhoAverage* AddTaskRhoAverage(
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 Double_t ptcut = 0.15,
14 const UInt_t exclPart = 2,
15 const UInt_t rhotype = 1,
16 const Bool_t histo = kFALSE,
17 const char *taskname = "RhoAverage"
20 // Get the pointer to the existing analysis manager via the static access method.
21 //==============================================================================
22 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 ::Error("AddTaskRhoAverage", "No analysis manager to connect to.");
29 // Check the analysis type using the event handlers connected to the analysis manager.
30 //==============================================================================
31 if (!mgr->GetInputEventHandler())
33 ::Error("AddTaskRhoAverage", "This task requires an input event handler");
37 //-------------------------------------------------------
38 // Init the task and do settings
39 //-------------------------------------------------------
41 TString name(Form("%s_%s_%s_", taskname, nTracks, nClusters));
42 if (type == AliAnalysisTaskEmcal::kTPC)
44 else if (type == AliAnalysisTaskEmcal::kEMCAL)
46 else if (type == AliAnalysisTaskEmcal::kUser)
48 AliAnalysisTaskRhoAverage *rhotask = new AliAnalysisTaskRhoAverage(name, histo);
49 rhotask->SetAnaType(type);
50 rhotask->SetScaleFunction(sfunc);
51 rhotask->SetJetsName(nJets);
52 rhotask->SetTracksName(nTracks);
53 rhotask->SetClusName(nClusters);
54 rhotask->SetRhoName(nRho);
55 rhotask->SetJetAreaCut(jetareacut);
56 rhotask->SetAreaEmcCut(emcareacut);
57 rhotask->SetPtCut(ptcut);
58 rhotask->SetJetPtCut(0);
59 rhotask->SetJetRadius(jetradius);
60 rhotask->SetExcludeLeadPart(exclPart);
61 rhotask->SetRhoType(rhotype);
63 //-------------------------------------------------------
64 // Final settings, pass to manager and set the containers
65 //-------------------------------------------------------
67 mgr->AddTask(rhotask);
69 // Create containers for input/output
70 mgr->ConnectInput(rhotask, 0, mgr->GetCommonInputContainer());
73 TString contname(name);
74 contname += "_histos";
75 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
76 TList::Class(),AliAnalysisManager::kOutputContainer,
77 Form("%s", AliAnalysisManager::GetCommonFileName()));
78 mgr->ConnectOutput(rhotask, 1, coutput1);