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