]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskHJetDphi.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskHJetDphi.C
1 AliAnalysisTaskHJetDphi *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 }