3 AliAnalysisTaskDcalDijetPerf* AddTaskDcalDijetPerf(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
7 const char *njets2 = "Jets2",
8 const char *nrho = "Rho",
10 Double_t jetradius = 0.2,
11 Double_t jetradius2 = 0.2,
12 Double_t jetptcut = 1,
13 Double_t jetareacut = 0.6,
14 const char *type = "TPC",
15 Int_t leadhadtype = 0,
16 const char *taskname = "AliAnalysisTaskDcalDijetPerf"
19 // Get the pointer to the existing analysis manager via the static access method.
20 //==============================================================================
21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24 ::Error("AddTaskDcalDijetPerf", "No analysis manager to connect to.");
28 // Check the analysis type using the event handlers connected to the analysis manager.
29 //==============================================================================
30 if (!mgr->GetInputEventHandler())
32 ::Error("AddTaskDcalDijetPerf", "This task requires an input event handler");
36 //-------------------------------------------------------
37 // Init the task and do settings
38 //-------------------------------------------------------
40 TString name(taskname);
41 if (strcmp(njets,"")) {
45 if (strcmp(njets,"")) {
49 if (strcmp(nrho,"")) {
53 if (strcmp(type,"")) {
58 Printf("name: %s",name.Data());
60 AliAnalysisTaskDcalDijetPerf* jetTask = new AliAnalysisTaskDcalDijetPerf(name);
61 jetTask->SetCentRange(0.,100.);
62 jetTask->SetNCentBins(nCentBins);
64 AliParticleContainer *trackCont = jetTask->AddParticleContainer(ntracks);
65 trackCont->SetClassName("AliVTrack");
66 AliClusterContainer *clusterCont = jetTask->AddClusterContainer(nclusters);
68 TString strType(type);
69 AliJetContainer *jetCont = jetTask->AddJetContainer(njets,strType,jetradius);
70 AliJetContainer *jetCont2 = jetTask->AddJetContainer(njets2,strType,jetradius2);
72 jetCont->SetRhoName(nrho);
73 jetCont->ConnectParticleContainer(trackCont);
74 jetCont->ConnectClusterContainer(clusterCont);
75 //jetCont->SetZLeadingCut(0.98,0.98);
76 //jetCont->SetPercAreaCut(0.6);
77 jetCont->SetJetPtCut(jetptcut);
78 jetCont->SetLeadingHadronType(leadhadtype);
81 jetCont2->SetRhoName(nrho);
82 jetCont2->ConnectParticleContainer(trackCont);
83 jetCont2->ConnectClusterContainer(clusterCont);
84 //jetCont->SetZLeadingCut(0.98,0.98);
85 //jetCont->SetPercAreaCut(0.6);
86 jetCont2->SetJetPtCut(jetptcut);
87 jetCont2->SetLeadingHadronType(leadhadtype);
90 //-------------------------------------------------------
91 // Final settings, pass to manager and set the containers
92 //-------------------------------------------------------
94 mgr->AddTask(jetTask);
96 // Create containers for input/output
97 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
98 TString contname(name);
99 contname += "_histos";
100 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
101 TList::Class(),AliAnalysisManager::kOutputContainer,
102 Form("%s", AliAnalysisManager::GetCommonFileName()));
103 mgr->ConnectInput (jetTask, 0, cinput1 );
104 mgr->ConnectOutput (jetTask, 1, coutput1 );
109 AliAnalysisTaskDcalDijetPerf* AddTaskDcalDijetPerf( AliEmcalJetTask* jetFinderTask,
111 Double_t jetareacut = 0.6,
112 const char *type = "EMCAL",
113 Int_t leadhadtype = 0,
114 const char *taskname = "AliAnalysisTaskDcalDijetPerf"
117 const char* ntracks = jetFinderTask->GetTracksName();
118 const char* nclusters = jetFinderTask->GetClusName();
119 const char* njets = jetFinderTask->GetJetsName();
120 const char* nrho = jetFinderTask->GetRhoName();
121 Double_t jetradius = jetFinderTask->GetRadius();
122 Double_t jetptcut = jetFinderTask->GetMinJetPt();
124 AliAnalysisTaskDcalDijetPerf* jetTask = AddTaskDcalDijetPerf(ntracks , nclusters, njets, nrho, nCentBins, jetradius, jetptcut, jetareacut, type, leadhadtype, taskname);