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