3 AliAnalysisTaskEmcalJetSampleDev* AddTaskEmcalJetSampleDev(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
7 const char *nrho = "Rho",
8 Double_t jetradius = 0.2,
10 Double_t jetareacut = 0.557,
11 UInt_t type = AliAnalysisTaskEmcalJet::kEMCAL,
12 Int_t leadhadtype = 0,
13 const char *taskname = "AliAnalysisTaskEmcalJetSampleDev"
16 // Get the pointer to the existing analysis manager via the static access method.
17 //==============================================================================
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 ::Error("AddTaskEmcalJetSample", "No analysis manager to connect to.");
25 // Check the analysis type using the event handlers connected to the analysis manager.
26 //==============================================================================
27 if (!mgr->GetInputEventHandler())
29 ::Error("AddTaskEmcalJetSample", "This task requires an input event handler");
33 //-------------------------------------------------------
34 // Init the task and do settings
35 //-------------------------------------------------------
37 TString name(taskname);
38 if (strcmp(njets,"")) {
42 if (strcmp(nrho,"")) {
46 if (type == AliAnalysisTaskEmcalDev::kTPC)
48 else if (type == AliAnalysisTaskEmcalDev::kEMCAL)
50 else if (type == AliAnalysisTaskEmcalDev::kUser)
53 Printf("name: %s",name.Data());
55 AliAnalysisTaskEmcalJetSampleDev* jetTask = new AliAnalysisTaskEmcalJetSampleDev(name);
56 jetTask->SetAnaType(type);
57 jetTask->SetTracksName(ntracks);
58 jetTask->SetClusName(nclusters);
59 jetTask->SetJetsName(njets);
60 jetTask->SetRhoName(nrho);
61 jetTask->SetJetRadius(jetradius);
62 jetTask->SetJetPtCut(jetptcut);
63 jetTask->SetPercAreaCut(jetareacut);
64 jetTask->SetLeadingHadronType(leadhadtype);
66 //-------------------------------------------------------
67 // Final settings, pass to manager and set the containers
68 //-------------------------------------------------------
70 mgr->AddTask(jetTask);
72 // Create containers for input/output
73 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
74 TString contname(name);
75 contname += "_histos";
76 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
77 TList::Class(),AliAnalysisManager::kOutputContainer,
78 Form("%s", AliAnalysisManager::GetCommonFileName()));
79 mgr->ConnectInput (jetTask, 0, cinput1 );
80 mgr->ConnectOutput (jetTask, 1, coutput1 );