]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskJetJTJT.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetJTJT.C
CommitLineData
11476c41 1// $Id$
2
3AliAnalysisTaskJetJTJT* AddTaskJetJTJT(
435283af 4 const char *runPeriod = "LHC13b",
11476c41 5 const char *ntracks = "Tracks",
6 const char *nclusters = "CaloClusters",
7 const char *njets = "Jets",
8 const char *nrho = "Rho",
435283af 9 Int_t trigger = AliVEvent::kMB,
11476c41 10 Int_t nCentBins = 1,
11 Double_t jetradius = 0.2,
12 Double_t jetptcut = 1,
13 Double_t jetareacut = 0.6,
14 const char *type = "EMCAL",
15 Int_t leadhadtype = 0,
435283af 16 const char *taskname = "AliAnalysisTaskJetJTJT",
17 Int_t debug = 0
11476c41 18)
19{
20 // Get the pointer to the existing analysis manager via the static access method.
21 //==============================================================================
22 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
23 if (!mgr)
24 {
25 ::Error("AddTaskJetJTJT", "No analysis manager to connect to.");
26 return NULL;
27 }
28
29 // Check the analysis type using the event handlers connected to the analysis manager.
30 //==============================================================================
31 if (!mgr->GetInputEventHandler())
32 {
33 ::Error("AddTaskJetJTJT", "This task requires an input event handler");
34 return NULL;
35 }
36
37 //-------------------------------------------------------
38 // Init the task and do settings
39 //-------------------------------------------------------
40
41 TString name(taskname);
42 if (strcmp(njets,"")) {
43 name += "_";
44 name += njets;
45 }
46 if (strcmp(nrho,"")) {
47 name += "_";
48 name += nrho;
49 }
50 if (strcmp(type,"")) {
51 name += "_";
52 name += type;
53 }
435283af 54 name += "_R";
55 name += jetradius*10;
56 name += "_T";
57 name += trigger;
11476c41 58
59 TString tracksName = "PicoTracks";
60 TString clustersName = "EmcCaloClusters";
61 TString clustersCorrName = "CaloClustersCorr";
62 TString rhoName = "";
63
64
65 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
66 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(tracksName,clustersCorrName,1,0.4,1,0.15,0.300); // anti-kt
67
68 ntracks = tracksName;
69 nclusters = clustersCorrName;
70 nrho = rhoName;
71 Printf("name: %s",name.Data());
72
73 AliAnalysisTaskJetJTJT* jtTask = new AliAnalysisTaskJetJTJT(name);
74 jtTask->SetCentRange(0.,100.);
75 jtTask->SetNCentBins(nCentBins);
435283af 76 if(debug > 1){
77 cout << "SetTrackArrayName: " << ntracks << endl;
78 }
11476c41 79 jtTask->SetTrackArrayName(ntracks);
435283af 80 jtTask->setDebug(debug);
81 jtTask->setRunPeriod(runPeriod);
11476c41 82 Double_t borders[5] = {0,10,20,40,100};
83 Double_t triggpt[8] = {0,5,10,20,40,80,100,150};
84 Double_t triggpta[2] = {0,100};
85 //cout << "Size of {0,10,20,40,100}: " << borders->size() << endl;
86 jtTask->setCentBinBorders(5,borders);
87 jtTask->setTriggPtBorders(8,triggpt);
88 jtTask->setAssocPtBorders(2,triggpta);
435283af 89 jtTask->SelectCollisionCandidates(trigger);
11476c41 90
91 AliParticleContainer *trackCont = jtTask->AddParticleContainer(ntracks);
92 trackCont->SetClassName("AliVTrack");
93 AliClusterContainer *clusterCont = jtTask->AddClusterContainer(nclusters);
94
95 TString strType(type);
96 AliJetContainer *jetCont = jtTask->AddJetContainer(jetFinderTask->GetName(),strType,jetradius);
97 if(jetCont) {
98 jetCont->SetRhoName(nrho);
99 jetCont->ConnectParticleContainer(trackCont);
100 jetCont->ConnectClusterContainer(clusterCont);
101 jetCont->SetZLeadingCut(0.98,0.98);
102 jetCont->SetPercAreaCut(0.6);
103 jetCont->SetJetPtCut(jetptcut);
104 jetCont->SetLeadingHadronType(leadhadtype);
105 }
106
107 //-------------------------------------------------------
108 // Final settings, pass to manager and set the containers
109 //-------------------------------------------------------
110
111 mgr->AddTask(jtTask);
112
113 // Create containers for input/output
114 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
115 TString contname(name);
116 contname += "_histos";
435283af 117 cout << "Create container " << contname << endl;
11476c41 118 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
119 TList::Class(),AliAnalysisManager::kOutputContainer,
120 Form("%s", AliAnalysisManager::GetCommonFileName()));
121
122 mgr->ConnectInput (jtTask, 0, cinput1 );
123 mgr->ConnectOutput (jtTask, 1, coutput1 );
124
125 return jtTask;
126}