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