3 AliAnalysisTaskJetJTJT* AddTaskJetJTJT(
4 const char *runPeriod = "LHC13b",
5 const char *ntracks = "Tracks",
6 const char *nclusters = "CaloClusters",
7 const char *njets = "Jets",
8 const char *nrho = "Rho",
9 Int_t trigger = AliVEvent::kMB,
11 Double_t jetradius = 0.2,
12 Double_t jetptcut = 1,
13 Double_t jetareacut = 0.6,
14 const char *type = "EMCAL",
15 Int_t leadhadtype = 0,
16 const char *taskname = "AliAnalysisTaskJetJTJT",
20 // Get the pointer to the existing analysis manager via the static access method.
21 //==============================================================================
22 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 ::Error("AddTaskJetJTJT", "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("AddTaskJetJTJT", "This task requires an input event handler");
37 //-------------------------------------------------------
38 // Init the task and do settings
39 //-------------------------------------------------------
41 TString name(taskname);
42 if (strcmp(njets,"")) {
46 if (strcmp(nrho,"")) {
50 if (strcmp(type,"")) {
59 TString tracksName = "PicoTracks";
60 TString clustersName = "EmcCaloClusters";
61 TString clustersCorrName = "CaloClustersCorr";
65 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
66 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(tracksName,clustersCorrName,1,0.4,1,0.15,0.300); // anti-kt
69 nclusters = clustersCorrName;
71 Printf("name: %s",name.Data());
73 AliAnalysisTaskJetJTJT* jtTask = new AliAnalysisTaskJetJTJT(name);
74 jtTask->SetCentRange(0.,100.);
75 jtTask->SetNCentBins(nCentBins);
77 cout << "SetTrackArrayName: " << ntracks << endl;
79 jtTask->SetTrackArrayName(ntracks);
80 jtTask->setDebug(debug);
81 jtTask->setRunPeriod(runPeriod);
82 Double_t borders[5] = {0,10,20,40,100};
83 Double_t triggpt[8] = {0,5,10,20,40,80,100,150};
84 Double_t triggpta[2] = {0,100};
85 //cout << "Size of {0,10,20,40,100}: " << borders->size() << endl;
86 jtTask->setCentBinBorders(5,borders);
87 jtTask->setTriggPtBorders(8,triggpt);
88 jtTask->setAssocPtBorders(2,triggpta);
89 jtTask->SelectCollisionCandidates(trigger);
91 AliParticleContainer *trackCont = jtTask->AddParticleContainer(ntracks);
92 trackCont->SetClassName("AliVTrack");
93 AliClusterContainer *clusterCont = jtTask->AddClusterContainer(nclusters);
95 TString strType(type);
96 AliJetContainer *jetCont = jtTask->AddJetContainer(jetFinderTask->GetName(),strType,jetradius);
98 jetCont->SetRhoName(nrho);
99 jetCont->ConnectParticleContainer(trackCont);
100 jetCont->ConnectClusterContainer(clusterCont);
101 jetCont->SetZLeadingCut(0.98,0.98);
102 jetCont->SetPercAreaCut(0.6);
103 jetCont->SetJetPtCut(jetptcut);
104 jetCont->SetLeadingHadronType(leadhadtype);
107 //-------------------------------------------------------
108 // Final settings, pass to manager and set the containers
109 //-------------------------------------------------------
111 mgr->AddTask(jtTask);
113 // Create containers for input/output
114 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
115 TString contname(name);
116 contname += "_histos";
117 cout << "Create container " << contname << endl;
118 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
119 TList::Class(),AliAnalysisManager::kOutputContainer,
120 Form("%s", AliAnalysisManager::GetCommonFileName()));
122 mgr->ConnectInput (jtTask, 0, cinput1 );
123 mgr->ConnectOutput (jtTask, 1, coutput1 );