]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskDeltaPtJEmb.C
improved efficiency by caching leading jet per event, changed cuts on leading jet...
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskDeltaPtJEmb.C
CommitLineData
3a02e8fb 1// $Id$
2
3AliAnalysisTaskDeltaPtJEmb* AddTaskDeltaPtJEmb(
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,
9 Double_t jetareacut = 0.557,
10 Double_t trackptcut = 0.15,
11 Double_t clusptcut = 0.30,
12 const char *type = "TPC",
13 const char *taskname = "AliAnalysisTaskDeltaPtJEmb"
14 )
15{
16 // Get the pointer to the existing analysis manager via the static access method.
17 //==============================================================================
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 if (!mgr)
20 {
21 ::Error("AddTaskDeltaPtJEmb", "No analysis manager to connect to.");
22 return NULL;
23 }
24
25 // Check the analysis type using the event handlers connected to the analysis manager.
26 //==============================================================================
27 if (!mgr->GetInputEventHandler())
28 {
29 ::Error("AddTaskDeltaPtJEmb", "This task requires an input event handler");
30 return NULL;
31 }
32
33 //-------------------------------------------------------
34 // Init the task and do settings
35 //-------------------------------------------------------
36 TString name;
37 if (strcmp(ntracks, "") == 0 && strcmp(nclusters, "") == 0)
38 name = Form("%s_%s_R0%d_%s",taskname,nrho,(Int_t)floor(jetradius*100+0.5),type);
39 else if (strcmp(ntracks, "") == 0)
40 name = Form("%s_%s_%s_R0%d_%s",taskname,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);
41 else if (strcmp(nclusters, "") == 0)
42 name = Form("%s_%s_%s_R0%d_%s",taskname,ntracks,nrho,(Int_t)floor(jetradius*100+0.5),type);
43 else
44 name = Form("%s_%s_%s_%s_R0%d_%s",taskname,ntracks,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);
45
46 AliAnalysisTaskDeltaPtJEmb* jetTask = new AliAnalysisTaskDeltaPtJEmb(name);
47 jetTask->SetRhoName(nrho,-1);
48
49 AliParticleContainer *partCont = jetTask->AddParticleContainer(ntracks);
50 if (partCont) {
51 partCont->SetName("Tracks");
52 partCont->SetParticlePtCut(trackptcut);
53 }
54
55 AliClusterContainer *clusCont = jetTask->AddClusterContainer(nclusters);
56 if (clusCont) {
57 clusCont->SetName("CaloClusters");
58 clusCont->SetClusPtCut(clusptcut);
59 }
60
61 AliJetContainer *jetCont = jetTask->AddJetContainer(njets,type,jetradius);
62 if (jetCont) {
63 jetCont->SetName("Jets");
64 jetCont->SetPercAreaCut(jetareacut);
65 jetCont->SetRhoName(nrho);
66 jetCont->ConnectParticleContainer(partCont);
67 jetCont->ConnectClusterContainer(clusCont);
68 }
69
70 //-------------------------------------------------------
71 // Final settings, pass to manager and set the containers
72 //-------------------------------------------------------
73
74 mgr->AddTask(jetTask);
75
76 // Create containers for input/output
77 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
78 TString contname(name);
79 contname += "_histos";
80 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
81 TList::Class(),AliAnalysisManager::kOutputContainer,
82 Form("%s", AliAnalysisManager::GetCommonFileName()));
83 mgr->ConnectInput(jetTask, 0, cinput1);
84 mgr->ConnectOutput(jetTask, 1, coutput1);
85
86 return jetTask;
87}