]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskDeltaPt.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskDeltaPt.C
CommitLineData
624bef5b 1// $Id$
a487deae 2
3AliAnalysisTaskDeltaPt* AddTaskDeltaPt(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
7 const char *nembtracks = "TracksEmbedded",
8 const char *nembclusters = "CaloClustersEmbedded",
9 const char *nembjets = "EmbJets",
10 const char *nrandtracks = "TracksRandomized",
11 const char *nrandclusters = "CaloClustersRandomized",
12 const char *nrho = "Rho",
13 Double_t jetradius = 0.2,
624bef5b 14 Double_t jetareacut = 0.557,
15 Double_t trackptcut = 0.15,
16 Double_t clusptcut = 0.30,
6421eeb0 17 const char *type = "TPC",
a487deae 18 const char *taskname = "AliAnalysisTaskDeltaPt"
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 {
1103d43d 26 ::Error("AddTaskDeltaPt", "No analysis manager to connect to.");
a487deae 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 {
1103d43d 34 ::Error("AddTaskDeltaPt", "This task requires an input event handler");
a487deae 35 return NULL;
36 }
37
38 //-------------------------------------------------------
39 // Init the task and do settings
40 //-------------------------------------------------------
ca5c29fa 41 TString name;
42 if (strcmp(ntracks, "") == 0 && strcmp(nclusters, "") == 0)
6421eeb0 43 name = Form("%s_%s_R0%d_%s",taskname,nrho,(Int_t)floor(jetradius*100+0.5),type);
ca5c29fa 44 else if (strcmp(ntracks, "") == 0)
6421eeb0 45 name = Form("%s_%s_%s_R0%d_%s",taskname,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);
ca5c29fa 46 else if (strcmp(nclusters, "") == 0)
6421eeb0 47 name = Form("%s_%s_%s_R0%d_%s",taskname,ntracks,nrho,(Int_t)floor(jetradius*100+0.5),type);
ca5c29fa 48 else
6421eeb0 49 name = Form("%s_%s_%s_%s_R0%d_%s",taskname,ntracks,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);
a487deae 50
51 AliAnalysisTaskDeltaPt* jetTask = new AliAnalysisTaskDeltaPt(name);
6421eeb0 52 jetTask->SetConeRadius(jetradius);
53 jetTask->SetRhoName(nrho,-1);
54 if (strcmp(type,"TPC")==0)
55 jetTask->SetConeEtaPhiTPC();
56 else if (strcmp(type,"EMCAL")==0)
57 jetTask->SetConeEtaPhiEMCAL();
58
7cd832c7 59 AliParticleContainer *partCont = jetTask->AddParticleContainer(ntracks);
60 if (partCont) {
6421eeb0 61 partCont->SetName("Tracks");
62 partCont->SetParticlePtCut(trackptcut);
63 }
64
7cd832c7 65 AliClusterContainer *clusCont = jetTask->AddClusterContainer(nclusters);
66 if (clusCont) {
6421eeb0 67 clusCont->SetName("CaloClusters");
68 clusCont->SetClusPtCut(clusptcut);
69 }
70
7cd832c7 71 AliJetContainer *jetCont = jetTask->AddJetContainer(njets,type,jetradius);
72 if (jetCont) {
6421eeb0 73 jetCont->SetName("Jets");
74 jetCont->SetPercAreaCut(jetareacut);
75 jetCont->SetRhoName(nrho);
7cd832c7 76 jetCont->ConnectParticleContainer(partCont);
77 jetCont->ConnectClusterContainer(clusCont);
6421eeb0 78 }
79
7cd832c7 80 AliParticleContainer *embPartCont = jetTask->AddParticleContainer(nembtracks);
81 if (embPartCont) {
6421eeb0 82 embPartCont->SetName("EmbTracks");
83 embPartCont->SetParticlePtCut(trackptcut);
84 }
85
7cd832c7 86 AliClusterContainer *embClusCont = jetTask->AddClusterContainer(nembclusters);
87 if (embClusCont) {
6421eeb0 88 embClusCont->SetName("EmbClusters");
89 embClusCont->SetClusPtCut(clusptcut);
90 }
91
7cd832c7 92 AliJetContainer *embJetCont = jetTask->AddJetContainer(nembjets,type,jetradius);
93 if (embJetCont) {
6421eeb0 94 embJetCont->SetName("EmbJets");
95 embJetCont->SetPercAreaCut(jetareacut);
96 embJetCont->SetRhoName(nrho);
7cd832c7 97 embJetCont->ConnectParticleContainer(embPartCont);
98 embJetCont->ConnectClusterContainer(embClusCont);
6421eeb0 99 }
100
7cd832c7 101 AliParticleContainer *randPartCont = jetTask->AddParticleContainer(nrandtracks);
102 if (randPartCont) {
6421eeb0 103 randPartCont->SetName("RandTracks");
104 randPartCont->SetParticlePtCut(trackptcut);
105 }
106
7cd832c7 107 AliClusterContainer *randClusCont = jetTask->AddClusterContainer(nrandclusters);
108 if (randClusCont) {
6421eeb0 109 randClusCont->SetName("RandClusters");
110 randClusCont->SetClusPtCut(clusptcut);
111 }
a487deae 112
113 //-------------------------------------------------------
114 // Final settings, pass to manager and set the containers
115 //-------------------------------------------------------
116
117 mgr->AddTask(jetTask);
118
119 // Create containers for input/output
120 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
121 TString contname(name);
122 contname += "_histos";
123 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
124 TList::Class(),AliAnalysisManager::kOutputContainer,
125 Form("%s", AliAnalysisManager::GetCommonFileName()));
ca5c29fa 126 mgr->ConnectInput(jetTask, 0, cinput1);
127 mgr->ConnectOutput(jetTask, 1, coutput1);
a487deae 128
129 return jetTask;
130}