]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskDcalDijetPerf.C
Update User Task
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskDcalDijetPerf.C
CommitLineData
b52f1329 1// $Id$
2
3AliAnalysisTaskDcalDijetPerf* AddTaskDcalDijetPerf(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
7 const char *njets2 = "Jets2",
0b724f76 8 const char *njets3 = "Jets3",
b52f1329 9 const char *nrho = "Rho",
10 Int_t nCentBins = 1,
11 Double_t jetradius = 0.2,
12 Double_t jetradius2 = 0.2,
0b724f76 13 Double_t jetradius3 = 0.3,
b52f1329 14 Double_t jetptcut = 1,
15 Double_t jetareacut = 0.6,
16 const char *type = "TPC",
17 Int_t leadhadtype = 0,
18 const char *taskname = "AliAnalysisTaskDcalDijetPerf"
19)
20{
21 // Get the pointer to the existing analysis manager via the static access method.
22 //==============================================================================
23 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24 if (!mgr)
25 {
26 ::Error("AddTaskDcalDijetPerf", "No analysis manager to connect to.");
27 return NULL;
28 }
29
30 // Check the analysis type using the event handlers connected to the analysis manager.
31 //==============================================================================
32 if (!mgr->GetInputEventHandler())
33 {
34 ::Error("AddTaskDcalDijetPerf", "This task requires an input event handler");
35 return NULL;
36 }
37
38 //-------------------------------------------------------
39 // Init the task and do settings
40 //-------------------------------------------------------
41
42 TString name(taskname);
43 if (strcmp(njets,"")) {
44 name += "_";
45 name += njets;
46 }
0b724f76 47 if (strcmp(njets2,"")) {
b52f1329 48 name += "_";
49 name += njets2;
50 }
0b724f76 51 if (strcmp(njets3,"")) {
52 name += "_";
53 name += njets3;
54 }
b52f1329 55 if (strcmp(nrho,"")) {
56 name += "_";
57 name += nrho;
58 }
59 if (strcmp(type,"")) {
60 name += "_";
61 name += type;
62 }
63
64 Printf("name: %s",name.Data());
65
66 AliAnalysisTaskDcalDijetPerf* jetTask = new AliAnalysisTaskDcalDijetPerf(name);
67 jetTask->SetCentRange(0.,100.);
68 jetTask->SetNCentBins(nCentBins);
69
70 AliParticleContainer *trackCont = jetTask->AddParticleContainer(ntracks);
71 trackCont->SetClassName("AliVTrack");
72 AliClusterContainer *clusterCont = jetTask->AddClusterContainer(nclusters);
73
74 TString strType(type);
75 AliJetContainer *jetCont = jetTask->AddJetContainer(njets,strType,jetradius);
76 AliJetContainer *jetCont2 = jetTask->AddJetContainer(njets2,strType,jetradius2);
0b724f76 77 AliJetContainer *jetCont3 = jetTask->AddJetContainer(njets3,strType,jetradius3);
b52f1329 78 if(jetCont) {
79 jetCont->SetRhoName(nrho);
80 jetCont->ConnectParticleContainer(trackCont);
81 jetCont->ConnectClusterContainer(clusterCont);
82 //jetCont->SetZLeadingCut(0.98,0.98);
83 //jetCont->SetPercAreaCut(0.6);
84 jetCont->SetJetPtCut(jetptcut);
85 jetCont->SetLeadingHadronType(leadhadtype);
86 }
87 if(jetCont2) {
88 jetCont2->SetRhoName(nrho);
89 jetCont2->ConnectParticleContainer(trackCont);
90 jetCont2->ConnectClusterContainer(clusterCont);
91 //jetCont->SetZLeadingCut(0.98,0.98);
92 //jetCont->SetPercAreaCut(0.6);
93 jetCont2->SetJetPtCut(jetptcut);
94 jetCont2->SetLeadingHadronType(leadhadtype);
95 }
0b724f76 96 if(jetCont3) {
97 jetCont3->SetRhoName(nrho);
98 jetCont3->ConnectParticleContainer(trackCont);
99 jetCont3->ConnectClusterContainer(clusterCont);
100 //jetCont->SetZLeadingCut(0.98,0.98);
101 //jetCont->SetPercAreaCut(0.6);
102 jetCont3->SetJetPtCut(jetptcut);
103 jetCont3->SetLeadingHadronType(leadhadtype);
104 }
b52f1329 105
106 //-------------------------------------------------------
107 // Final settings, pass to manager and set the containers
108 //-------------------------------------------------------
109
110 mgr->AddTask(jetTask);
111
112 // Create containers for input/output
113 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
114 TString contname(name);
115 contname += "_histos";
116 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
117 TList::Class(),AliAnalysisManager::kOutputContainer,
118 Form("%s", AliAnalysisManager::GetCommonFileName()));
119 mgr->ConnectInput (jetTask, 0, cinput1 );
120 mgr->ConnectOutput (jetTask, 1, coutput1 );
121
122 return jetTask;
123}
124
125AliAnalysisTaskDcalDijetPerf* AddTaskDcalDijetPerf( AliEmcalJetTask* jetFinderTask,
126 Int_t nCentBins = 1,
127 Double_t jetareacut = 0.6,
128 const char *type = "EMCAL",
129 Int_t leadhadtype = 0,
130 const char *taskname = "AliAnalysisTaskDcalDijetPerf"
131 )
132{
133 const char* ntracks = jetFinderTask->GetTracksName();
134 const char* nclusters = jetFinderTask->GetClusName();
135 const char* njets = jetFinderTask->GetJetsName();
136 const char* nrho = jetFinderTask->GetRhoName();
137 Double_t jetradius = jetFinderTask->GetRadius();
138 Double_t jetptcut = jetFinderTask->GetMinJetPt();
139
140 AliAnalysisTaskDcalDijetPerf* jetTask = AddTaskDcalDijetPerf(ntracks , nclusters, njets, nrho, nCentBins, jetradius, jetptcut, jetareacut, type, leadhadtype, taskname);
141
142 return jetTask;
143}