]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskJetShapeGR.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetShapeGR.C
CommitLineData
15a3ff83 1AliAnalysisTaskJetShapeGR *AddTaskJetShapeGR(const char * njetsBase,
2 const char * njetsSub,
3 const char * njetsTrue,
4 const Double_t R,
5 const char * nrhoBase,
6 const char * nrhoMass,
7 const char * ntracks,
8 const char * nclusters,
9 const char * ntracksTrue,
10 const char * type = "TPC",
11 const char * CentEst = "V0M",
12 Int_t pSel = AliVEvent::kAny,
13 TString trigClass = "",
14 TString kEmcalTriggers = "",
15 TString tag = "MCMatch")
16{
17
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 if (!mgr)
20 {
21 Error("AddTaskJetShapeGR","No analysis manager found.");
22 return 0;
23 }
24 Bool_t ismc=kFALSE;
25 ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
26
27 // Check the analysis type using the event handlers connected to the analysis manager.
28 //==============================================================================
29 if (!mgr->GetInputEventHandler())
30 {
31 ::Error("AddTaskJetShapeGR", "This task requires an input event handler");
32 return NULL;
33 }
34
35 TString wagonName = Form("JetShapeGR_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
36
37 //Configure jet tagger task
38 AliAnalysisTaskJetShapeGR *task = new AliAnalysisTaskJetShapeGR(wagonName.Data());
39
40 task->SetNCentBins(4);
41 //task->SetVzRange(-10.,10.);
42
43 AliParticleContainer *trackCont = task->AddParticleContainer(ntracks);
44 AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
45 AliParticleContainer *trackContTrue = task->AddParticleContainer(ntracksTrue);
46
47 Int_t ic = 0;
48
49 TString strType(type);
50 AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
51 if(jetContBase) {
52 jetContBase->SetRhoName(nrhoBase);
53 jetContBase->SetRhoMassName(nrhoMass);
54 jetContBase->ConnectParticleContainer(trackCont);
55 jetContBase->ConnectClusterContainer(clusterCont);
56 jetContBase->SetPercAreaCut(0.6);
57 task->SetJetContainerBase(ic);
58 ic++;
59 }
60 AliJetContainer *jetContSub = task->AddJetContainer(njetsSub,strType,R);
61 if(jetContSub) {
62 jetContSub->SetRhoName(nrhoBase);
63 jetContSub->SetRhoMassName(nrhoMass);
64 jetContSub->ConnectParticleContainer(trackCont);
65 jetContSub->ConnectClusterContainer(clusterCont);
66 jetContSub->SetPercAreaCut(0.6);
67 jetContSub->SetJetPtCut(-1e6);
68 task->SetJetContainerSub(ic);
69 ic++;
70 }
71 AliJetContainer *jetContTrue = task->AddJetContainer(njetsTrue,strType,R);
72 if(jetContTrue) {
73 jetContTrue->ConnectParticleContainer(trackContTrue);
74 jetContTrue->SetPercAreaCut(0.6);
75 jetContTrue->SetJetPtCut(0.1);
76 task->SetJetContainerTrue(ic);
77 ic++;
78 }
79
80 task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
81 task->SetCentralityEstimator(CentEst);
82 task->SelectCollisionCandidates(pSel);
83 task->SetUseAliAnaUtils(kFALSE);
84
85 mgr->AddTask(task);
86
87 //Connnect input
88 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
89
90 //Connect output
91 TString contName(wagonName);
92 TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
93 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
94 mgr->ConnectOutput(task,1,coutput1);
95 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("%sTree",contName.Data()), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
96 mgr->ConnectOutput(task,2,coutput2);
97
98 return task;
99
100
101
102}