]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetMass.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetMass.C
CommitLineData
c10cf894 1AliAnalysisTaskEmcalJetMass* AddTaskEmcalJetMass(const char * njetsBase,
8612dfc8 2 const Double_t R,
3 const char * nrhoBase,
8612dfc8 4 const char * ntracks,
5 const char * nclusters,
6 const char *type,
7 const char *CentEst,
8 Int_t pSel,
9 TString trigClass = "",
ba7663ad 10 TString kEmcalTriggers = "",
1b62352b 11 TString tag = "",
12 TString nJetsUnsub = "") {
8612dfc8 13
14 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 if (!mgr)
16 {
17 Error("AddTaskEmcalJetMass","No analysis manager found.");
18 return 0;
19 }
20 Bool_t ismc=kFALSE;
21 ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
22
23 // Check the analysis type using the event handlers connected to the analysis manager.
24 //==============================================================================
25 if (!mgr->GetInputEventHandler())
26 {
27 ::Error("AddTaskEmcalJetMass", "This task requires an input event handler");
28 return NULL;
29 }
30
ba7663ad 31 TString wagonName = Form("JetMass_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
8612dfc8 32
33 //Configure jet tagger task
34 AliAnalysisTaskEmcalJetMass *task = new AliAnalysisTaskEmcalJetMass(wagonName.Data());
35
36 task->SetNCentBins(4);
37 //task->SetVzRange(-10.,10.);
38
39 AliParticleContainer *trackCont = task->AddParticleContainer(ntracks);
40 AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
41
42 task->SetJetContainerBase(0);
43
44 TString strType(type);
45 AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
46 if(jetContBase) {
47 jetContBase->SetRhoName(nrhoBase);
48 jetContBase->ConnectParticleContainer(trackCont);
49 jetContBase->ConnectClusterContainer(clusterCont);
02e33ee8 50 jetContBase->SetPercAreaCut(0.6);
8612dfc8 51 }
1b62352b 52 if(!nJetsUnsub.IsNull()) {
53 AliJetContainer *jetContUS = task->AddJetContainer(nJetsUnsub.Data(),strType,R);
54 if(jetContUS) {
55 jetContUS->SetRhoName(nrhoBase);
56 jetContUS->ConnectParticleContainer(trackCont);
57 jetContUS->ConnectClusterContainer(clusterCont);
58 jetContUS->SetPercAreaCut(0.6);
59 }
60 }
8612dfc8 61
62 task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
8612dfc8 63 task->SetCentralityEstimator(CentEst);
8612dfc8 64 task->SelectCollisionCandidates(pSel);
8612dfc8 65 task->SetUseAliAnaUtils(kFALSE);
66
67 mgr->AddTask(task);
68
69 //Connnect input
70 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
71
72 //Connect output
73 TString contName(wagonName);
74 TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
75 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
76 mgr->ConnectOutput(task,1,coutput1);
77
78 return task;
79
80}
81