]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskHJetDphi.C
Charged jets (pPb): Enhanced macro
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskHJetDphi.C
CommitLineData
aac81e6b 1AliAnalysisTaskHJetDphi *AddTaskHJetDphi(const char *name = "HJetDphi",
2 const TString period = "lhc11h",
3 const UInt_t pSel = AliVEvent::kAnyINT | AliVEvent::kCentral | AliVEvent::kSemiCentral,
4 const Bool_t isEmbed = kFALSE,
5 const Bool_t ismc = kFALSE,
6 const Bool_t anaTruth = kFALSE,
7 const char *nonStdFile = "",
8 const char *mcParticleArrayName = "",
9 const char *trkArrayName = "",
10 const char *trkHybridName = "",
11 const char *jetArrayName = "",
12 const char *jetDLArrayName = "",
13 const char *jetPLArrayName = "",
14 const char *rhoName = "",
15 const Double_t radius = 0.4,
16 const UInt_t filterMask = 768,
17 const Bool_t requireITSrefit = kTRUE,
18 const Double_t minTT = 20,
19 const Double_t maxTT = 50,
20 const Double_t ptTrk = 0.15,
21 const Double_t ptJet = 10,
22 const Bool_t runSingleInclHJet = kTRUE,
23 const Bool_t runBkgFlow = kTRUE,
24 const Bool_t runTrkQA = kTRUE,
25 const Bool_t runJetQA = kTRUE,
26 const Bool_t runPLHJet = kFALSE,
27 const Bool_t runDLHJet = kFALSE,
28 const Bool_t runLeadTrkQA = kFALSE,
29 const Int_t aodTrkBit0 = 256,
30 const Int_t aodTrkBit1 = 512)
31{
32 Printf("Adding h+jet dphi task\n");
33
34 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
35 if(!mgr){
36 ::Error("AddTaskHJetDphi", "No analysis manager to connect to.");
37 return NULL;
38 }
39 if(!mgr->GetInputEventHandler()){
40 ::Error("AddTaskHJetDphi", "This task requires an input event handler.");
41 return NULL;
42 }
43
44 if(period.Contains("lhc11a",TString::kIgnoreCase))
45 pSel = AliVEvent::kMB | AliVEvent::kEMC1;
46 if(period.Contains("lhc12a15e",TString::kIgnoreCase))
47 pSel = 0;
48
49 char *tname = Form("%s_Charged_ANTIKT%02d_Filter%d_Cut%05d",name,(Int_t)(radius*10),filterMask,(Int_t)(ptTrk*1e3));
50 AliAnalysisTaskHJetDphi *hJetTask = new AliAnalysisTaskHJetDphi(tname);
51 hJetTask->SetIsEmbedding(isEmbed);
52 hJetTask->SetAnaType(1);
53 hJetTask->SetRunPeriod(period.Data());
54 if(period.Contains("lhc10h",TString::kIgnoreCase) || period.Contains("lhc11h",TString::kIgnoreCase))
55 hJetTask->SetCollisionSystem("PbPb");
56 else
57 hJetTask->SetCollisionSystem("pp");
58 hJetTask->SetIsMC(ismc);
59 hJetTask->SetAnalyzeMCTruth(anaTruth);
60 hJetTask->SetOfflineTrgMask(pSel);
61 hJetTask->SetMaxVtxZ(10);
62 hJetTask->SetFilterMask(filterMask);
63 hJetTask->SetRequireITSRefit(requireITSrefit);
64 hJetTask->SetNonStdFile(nonStdFile);
65 hJetTask->SetMcParticleArrName(mcParticleArrayName);
66 hJetTask->SetEmbTrkArrName(trkHybridName);
67 hJetTask->SetTrackArrName(trkArrayName);
68 hJetTask->SetJetArrName(jetArrayName);
69 hJetTask->SetPLJetArrName(jetPLArrayName);
70 hJetTask->SetDLJetArrName(jetDLArrayName);
71 hJetTask->SetRhoName(rhoName);
72 hJetTask->SetRadius(radius);
73 hJetTask->SetTrkPtRange(ptTrk,1e4);
74 hJetTask->SetTrkPhiRange(0,2*TMath::Pi());
75 hJetTask->SetTrkEtaRange(-0.9,0.9);
76 hJetTask->SetTTRange(minTT,maxTT);
77 hJetTask->SetJetPtMin(ptJet);
78 hJetTask->SetRunSingleInclHJet(runSingleInclHJet);
79 hJetTask->SetRunTrkQA(runTrkQA);
80 hJetTask->SetRunJetQA(runJetQA);
81 hJetTask->SetRunPLHJet(runPLHJet);
82 hJetTask->SetRunDLHJet(runDLHJet);
83 hJetTask->SetRunLeadTrkQA(runLeadTrkQA);
84 hJetTask->SetRunBkgFlow(runBkgFlow);
85 hJetTask->SetAODfilterBits(aodTrkBit0,aodTrkBit1);
86
87 mgr->AddTask(hJetTask);
88 TString foutputrmaAliAnalysisTaskHJetDphi = Form("rma_AliHadJetQATask.root");
89 AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("%s_TT%1.0f%1.0f",tname,minTT,maxTT),
90 TList::Class(),
91 AliAnalysisManager::kOutputContainer,Form("%s:%s_TT%1.0f%1.0f",AliAnalysisManager::GetCommonFileName(),tname,minTT,maxTT));
92 mgr->ConnectInput (hJetTask, 0, mgr->GetCommonInputContainer());
93 mgr->ConnectOutput(hJetTask, 0, mgr->GetCommonOutputContainer());
94 mgr->ConnectOutput(hJetTask, 1, coutput);
95
96 return hJetTask;
97}