]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskJetShapeConst.C
fix const subtr tracks. Note: array has no gaps
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetShapeConst.C
CommitLineData
f4b02da3 1AliAnalysisTaskJetShapeConst *AddTaskJetShapeConst(const char * njetsBase,
2 const char * njetsSub,
a5a1c51a 3 const char * njetsNoEmb,
f4b02da3 4 const Double_t R,
5 const char * nrhoBase,
6 const char * nrhoMass,
7 const char * ntracks,
8 const char * nclusters,
9 const char * type = "TPC",
10 const char * CentEst = "V0M",
11 Int_t pSel = AliVEvent::kAny,
12 TString trigClass = "",
13 TString kEmcalTriggers = "",
713c5683 14 TString tag = "MCMatch",
15 Bool_t bCreateTree = kFALSE)
f4b02da3 16{
17
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 if (!mgr)
20 {
21 Error("AddTaskJetShapeConst","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("AddTaskJetShapeConst", "This task requires an input event handler");
32 return NULL;
33 }
34
35 TString wagonName = Form("JetShapeConst_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
36
37 //Configure jet tagger task
38 AliAnalysisTaskJetShapeConst *task = new AliAnalysisTaskJetShapeConst(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
46 task->SetJetContainerBase(0);
47
48 TString strType(type);
49 AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
50 if(jetContBase) {
51 jetContBase->SetRhoName(nrhoBase);
52 jetContBase->SetRhoMassName(nrhoMass);
53 jetContBase->ConnectParticleContainer(trackCont);
54 jetContBase->ConnectClusterContainer(clusterCont);
55 jetContBase->SetPercAreaCut(0.6);
56 }
57 AliJetContainer *jetContSub = task->AddJetContainer(njetsSub,strType,R);
58 if(jetContSub) {
59 jetContSub->SetRhoName(nrhoBase);
60 jetContSub->SetRhoMassName(nrhoMass);
61 jetContSub->ConnectParticleContainer(trackCont);
62 jetContSub->ConnectClusterContainer(clusterCont);
63 jetContSub->SetPercAreaCut(0.6);
64 jetContSub->SetJetPtCut(-1e6);
65 }
66
a5a1c51a 67 AliJetContainer *jetContNoEmb = task->AddJetContainer(njetsNoEmb,strType,R);
68 if(jetContNoEmb) {
69 jetContNoEmb->SetRhoName(nrhoBase);
70 jetContNoEmb->SetRhoMassName(nrhoMass);
71 jetContNoEmb->ConnectParticleContainer(trackCont);
72 jetContNoEmb->ConnectClusterContainer(clusterCont);
73 jetContNoEmb->SetPercAreaCut(0.6);
74 jetContNoEmb->SetJetPtCut(-1e6);
75 }
76
f4b02da3 77 task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
78 task->SetCentralityEstimator(CentEst);
79 task->SelectCollisionCandidates(pSel);
80 task->SetUseAliAnaUtils(kFALSE);
713c5683 81 task->SetCreateTree(bCreateTree);
f4b02da3 82
9610ef82 83 mgr->AddTask(task);
84
f4b02da3 85 //Connnect input
86 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
87
88 //Connect output
89 TString contName(wagonName);
90 TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
91 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
92 mgr->ConnectOutput(task,1,coutput1);
713c5683 93 if(bCreateTree) {
94 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("%sTree",contName.Data()), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
95 mgr->ConnectOutput(task,2,coutput2);
96 }
f4b02da3 97
98 return task;
f4b02da3 99}