]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C
from Ruediger
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJet.C
CommitLineData
2096d71d 1// $Id$
2
25283b37 3AliEmcalJetTask* AddTaskEmcalJet(
2096d71d 4 const char *nTracks = "Tracks",
5 const char *nClusters = "CaloClusters",
2096d71d 6 const Int_t algo = 1,
7 const Double_t radius = 0.4,
8 const Int_t type = 0,
9 const Double_t minTrPt = 0.15,
1f9c287f 10 const Double_t minClPt = 0.30,
11 const Double_t ghostArea = 0.01
2096d71d 12)
25283b37 13{
14 // Get the pointer to the existing analysis manager via the static access method.
15 //==============================================================================
16 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
17 if (!mgr)
18 {
19 ::Error("AddTaskAliEmcalJet", "No analysis manager to connect to.");
20 return NULL;
21 }
22
23 // Check the analysis type using the event handlers connected to the analysis manager.
24 //==============================================================================
25 if (!mgr->GetInputEventHandler())
26 {
27 ::Error("AddTaskAliEmcalJet", "This task requires an input event handler");
28 return NULL;
29 }
30
31 //-------------------------------------------------------
32 // Init the task and do settings
33 //-------------------------------------------------------
34
89d03e5a 35 Double_t minJetPt = 0;
36
c683922f 37 char *algoString;
89d03e5a 38 if (algo == 0) {
c683922f 39 algoString = "KT";
89d03e5a 40 minJetPt = 0.1;
41 } else if (algo == 1) {
c683922f 42 algoString = "AKT";
89d03e5a 43 minJetPt = 1.0;
44 }
45
c683922f 46 char *typeString;
47 if (type == 0)
48 typeString = "Full";
49 else if (type == 1)
50 typeString = "Charged";
51 else if (type == 2)
52 typeString = "Neutral";
89d03e5a 53
c683922f 54 char radiusString[200];
55 sprintf(radiusString,"R0%2.0f",radius*100.0);
89d03e5a 56
c683922f 57 char pTString[200];
01cb0d1f 58 if (minTrPt==0)
59 sprintf(pTString,"pT0000");
60 else if (minTrPt<1.0)
c683922f 61 sprintf(pTString,"pT0%3.0f",minTrPt*1000.0);
62 else if (minTrPt>=1.0)
63 sprintf(pTString,"pT%4.0f",minTrPt*1000.0);
89d03e5a 64
c683922f 65 char ETString[200];
01cb0d1f 66 if (minClPt==0)
67 sprintf(ETString,"ET0000");
68 else if (minClPt<1.0)
c683922f 69 sprintf(ETString,"ET0%3.0f",minClPt*1000.0);
70 else if (minClPt>=1.0)
71 sprintf(ETString,"ET%4.0f",minClPt*1000.0);
72
73 TString name;
74 if (type == 0)
70ff7133 75 name = TString(Form("Jet_%s%s%s_%s_%s_%s_%s",
89d03e5a 76 algoString,typeString,radiusString,nTracks,pTString,nClusters,ETString));
77 else if (type == 1)
70ff7133 78 name = TString(Form("Jet_%s%s%s_%s_%s",
89d03e5a 79 algoString,typeString,radiusString,nTracks,pTString));
80 else if (type == 2)
70ff7133 81 name = TString(Form("Jet_%s%s%s_%s_%s",
89d03e5a 82 algoString,typeString,radiusString,nClusters,ETString));
c683922f 83
89d03e5a 84 AliEmcalJetTask* mgrTask = mgr->GetTask(name.Data());
c683922f 85 if (mgrTask)
86 return mgrTask;
87
2096d71d 88 AliEmcalJetTask* jetTask = new AliEmcalJetTask(name);
89 jetTask->SetTracksName(nTracks);
90 jetTask->SetClusName(nClusters);
c683922f 91 jetTask->SetJetsName(name);
2096d71d 92 jetTask->SetAlgo(algo);
25283b37 93 jetTask->SetMinJetTrackPt(minTrPt);
94 jetTask->SetMinJetClusPt(minClPt);
89d03e5a 95 jetTask->SetMinJetPt(minJetPt);
2096d71d 96 jetTask->SetRadius(radius);
97 jetTask->SetType(type);
1f9c287f 98 jetTask->SetGhostArea(ghostArea);
25283b37 99
100 //-------------------------------------------------------
101 // Final settings, pass to manager and set the containers
102 //-------------------------------------------------------
103
104 mgr->AddTask(jetTask);
105
106 // Create containers for input/output
2096d71d 107 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer() ;
108 mgr->ConnectInput (jetTask, 0, cinput);
109
25283b37 110 return jetTask;
25283b37 111}