]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/macros/AddTasksEmcalJetV0Filter.C
Split: fix refs to AddTaskCentrality.C
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / macros / AddTasksEmcalJetV0Filter.C
CommitLineData
b254f323 1const Bool_t bIsInfoAOD = kTRUE;
2const Bool_t bIsPhysSel = kFALSE;
3const Bool_t bIsCentSel = kFALSE;
4const Bool_t bIsEvPnSel = kFALSE;
5const Bool_t bIsRespPID = kTRUE;
6
7const Bool_t bAnaJetR02 = kTRUE;
8const Bool_t bAnaJetR03 = kTRUE;
9const Bool_t bAnaJetR04 = kTRUE;
10const Bool_t bAnaInfoMC = kFALSE;
11
12const UInt_t wTriggerMask = AliVEvent::kINT7;
13const UInt_t wCollisionType = AliPicoHeaderCJ::kPA;
14//=============================================================================
15
16const TString sPeriodIn = "LHC13b";
17const TString sCentEsti = "V0A"; // "V0M"; "V0A"; "V0C"
18const Double_t dCentMin = 0.;
19const Double_t dCentMax = 100.;
20
21const TString sInputTrkRD = (bIsInfoAOD ? "tracks" : "Tracks");
22const TString sInputClsRD = (bIsInfoAOD ? "caloClusters" : "CaloClusters");
23const TString sFilterTrks = (bIsInfoAOD ? "AODFilterTracks" : "ESDFilterTracks");
24
25const TString sUsedTrksRD = "PicoTracks";
26const TString sUsedClusRD = "CaloClustersCorr";
27
28const TString sUsedTrksMC = "MCParticles";
29const TString sUsedClusMC = "";
30
31const TString sUsedRhoRD02 = "RhoRD02"; // "RhoRD"
32const TString sUsedRhoRD03 = "RhoRD03"; // "RhoRD"
33const TString sUsedRhoRD04 = "RhoRD04"; // "RhoRD"
34
35const TString sUsedRhoMC02 = ""; // "RhoMC"
36const TString sUsedRhoMC03 = ""; // "RhoMC"
37const TString sUsedRhoMC04 = ""; // "RhoMC"
38
39const TString sAnaType = "TPC"; // "TPC"; "EMCAL"; "USER"
40const Int_t nLeading = 0; // 0: charged; 1: neutral; 2: both
41//=============================================================================
42
43const Int_t nJetAlgo = 1; // 0: KT; 1: AKT
44const Int_t nJetType = 1; // 0: FullJet; 1: ChargedJet; 2: NeutralJet
45
46const Double_t dJetPtCut = 8.0;
47const Double_t dJetAreaCut = 0.6;
48
49const Double_t dTrkPtCut = 0.15;
50const Double_t dCluEnCut = 0.30;
51//=============================================================================
52
53Bool_t AddTasksEmcalJetV0Filter()
54{
55 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
56
57 if (bIsInfoAOD) {
58 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddAODHandler.C");
59 AliAODInputHandler *aodIH = AddAODHandler();
60 } else {
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddESDHandler.C");
62 AliESDInputHandler *esdIH = AddESDHandler();
63// esdIH->SetReadFriends(kFALSE);
64 }
65
66 if (bAnaInfoMC && (!bIsInfoAOD)) {
67 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCHandler.C");
68 AliMCEventHandler *mctEH = AddMCHandler(kTRUE);
69 }
70
71 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddAODOutputHandler.C");
72 AliAODHandler *aodH = AddAODOutputHandler();
73 aodH->SetOutputFileName("AliAOD.PicoV0Jets.root");
74 aodH->SetFillAOD(kTRUE);
75 aodH->SetCreateNonStandardAOD();
76 mgr->SetOutputEventHandler(aodH);
77//=============================================================================
78
79 if (bIsPhysSel) {
80 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
81 AliEmcalPhysicsSelectionTask *taksPhysSel = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, wTriggerMask, 5., 5., 10., kTRUE, -1, -1, -1, -1);
82 if (bAnaInfoMC) {
83 AliEmcalPhysicsSelection *pPhysSel = static_cast<AliEmcalPhysicsSelection*>(taksPhysSel->GetPhysicsSelection());
84 if (!pPhysSel) return kTRUE; pPhysSel->SetAnalyzeMC();
85 }
86 }
87
88 if (bIsCentSel) {
1c06a186 89 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
b254f323 90 AliCentralitySelectionTask *taskCentSel = AddTaskCentrality(kTRUE, bIsAOD);
91 if (wTriggerMask) taskCentSel->SelectCollisionCandidates(wTriggerMask);
92 if (bAnaInfoMC) taskCentSel->SetMCInput();
93 }
94
95 if (bIsEvPnSel) {
96 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
97 AliEPSelectionTask *taskEventPlane = AddTaskEventplane();
98 if (wTriggerMask) taskEventPlane->SelectCollisionCandidates(wTriggerMask);
99 if (bAnaInfoMC) taskEventPlane->SetUseMCRP();
100 }
101
102 if (bIsRespPID) {
103 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
104 AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bAnaInfoMC);
105 if (wTriggerMask) taskRespPID->SelectCollisionCandidates(wTriggerMask);
106 }
107//=============================================================================
108
109 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
110 AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
111 if (wTriggerMask) taskSetupEMCal->SelectCollisionCandidates(wTriggerMask);
112 taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
113
114 if (bIsInfoAOD) {
115 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalAodTrackFilter.C");
116 AliEmcalAodTrackFilterTask *taskTrkFilterAOD = AddTaskEmcalAodTrackFilter(sFilterTrks.Data(),
117 sInputTrkRD.Data(),
118 sPeriodIn.Data());
119 if (wTriggerMask) taskTrkFilterAOD->SelectCollisionCandidates(wTriggerMask);
120 } else {
121 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalEsdTrackFilter.C");
122 AliEmcalEsdTrackFilterTask *taskTrkFilterESD = AddTaskEmcalEsdTrackFilter(sFilterTrks.Data(),
123 Form("Hybrid_%s",sPeriodIn.Data()));
124 if (wTriggerMask) taskTrkFilterESD->SelectCollisionCandidates(wTriggerMask);
125 esdfilter->SetDoPropagation(kTRUE);
126 esdfilter->SetDist(440.);
127 }
128
129 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
130 AliEmcalPicoTrackMaker *taskPicoTrackRD = AddTaskEmcalPicoTrackMaker(sUsedTrksRD.Data(),
131 sFilterTrks.Data());
132 if (wTriggerMask) taskPicoTrackRD->SelectCollisionCandidates(wTriggerMask);
133 if (bAnaInfoMC) taskPicoTrackRD->SetMC(kTRUE);
134//=============================================================================
135
136 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
137 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRhoSparse.C");
138
139 if (bAnaJetR02) {
140 AliEmcalJetTask *taskAktRD02 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
141 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
142 nJetAlgo,
143 0.2,
144 nJetType,
145 dTrkPtCut,
146 dCluEnCut);
147 if (wTriggerMask) taskAktRD02->SelectCollisionCandidates(wTriggerMask);
148
149 if (!sUsedRhoRD02.IsNull()) {
150 AliEmcalJetTask *taskKtRD02 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
151 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
152 0, // KT
153 0.2,
154 nJetType);
155 if (wTriggerMask) taskKtRD02->SelectCollisionCandidates(wTriggerMask);
156 taskKtRD02->SetMinJetPt(0.);
157
158 AliAnalysisTaskRhoSparse *taskRhoRD02 = AddTaskRhoSparse(taskKtRD02->GetName(),
159 taskAktRD02->GetName(),
160 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
161 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
162 sUsedRhoRD02.Data(),
163 0.2,
164 sAnaType.Data(),
165 0.01, // jet area cut
166 0.15, // jet pT cut
167 0., // EMC area
168 0x0, // scale fxn
169 2, // excluded leadings
170 kTRUE, // output histogram
171 sUsedRhoRD02.Data(), // task name
172 kTRUE); // use CMS rho
173 if (wTriggerMask) taskRhoRD02->SelectCollisionCandidates(wTriggerMask);
174 taskRhoRD02->SetCentRange(dCentMin, dCentMax);
175 taskRhoRD02->SetCentralityEstimator(sCentEsti.Data());
176 }
177 }
178
179 if (bAnaJetR03) {
180 AliEmcalJetTask *taskAktRD03 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
181 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
182 nJetAlgo,
183 0.3,
184 nJetType,
185 dTrkPtCut,
186 dCluEnCut);
187 if (wTriggerMask) taskAktRD03->SelectCollisionCandidates(wTriggerMask);
188
189 if (!sUsedRhoRD03.IsNull()) {
190 AliEmcalJetTask *taskKtRD03 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
191 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
192 0, // KT
193 0.3,
194 nJetType);
195 if (wTriggerMask) taskKtRD03->SelectCollisionCandidates(wTriggerMask);
196 taskKtRD03->SetMinJetPt(0.);
197
198 AliAnalysisTaskRhoSparse *taskRhoRD03 = AddTaskRhoSparse(taskKtRD03->GetName(),
199 taskAktRD03->GetName(),
200 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
201 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
202 sUsedRhoRD03.Data(),
203 0.3,
204 sAnaType.Data(),
205 0.01, // jet area cut
206 0.15, // jet pT cut
207 0., // EMC area
208 0x0, // scale fxn
209 2, // excluded leadings
210 kTRUE, // output histogram
211 sUsedRhoRD03.Data(), // task name
212 kTRUE); // use CMS rho
213 if (wTriggerMask) taskRhoRD03->SelectCollisionCandidates(wTriggerMask);
214 taskRhoRD03->SetCentRange(dCentMin, dCentMax);
215 taskRhoRD03->SetCentralityEstimator(sCentEsti.Data());
216 }
217 }
218
219 if (bAnaJetR04) {
220 AliEmcalJetTask *taskAktRD04 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
221 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
222 nJetAlgo,
223 0.4,
224 nJetType,
225 dTrkPtCut,
226 dCluEnCut);
227 if (wTriggerMask) taskAktRD04->SelectCollisionCandidates(wTriggerMask);
228
229 if (!sUsedRhoRD04.IsNull()) {
230 AliEmcalJetTask *taskKtRD04 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
231 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
232 0, // KT
233 0.4,
234 nJetType);
235 if (wTriggerMask) taskKtRD04->SelectCollisionCandidates(wTriggerMask);
236 taskKtRD04->SetMinJetPt(0.);
237
238 AliAnalysisTaskRhoSparse *taskRhoRD04 = AddTaskRhoSparse(taskKtRD04->GetName(),
239 taskAktRD04->GetName(),
240 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
241 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
242 sUsedRhoRD04.Data(),
243 0.4,
244 sAnaType.Data(),
245 0.01, // jet area cut
246 0.15, // jet pT cut
247 0., // EMC area
248 0x0, // scale fxn
249 2, // excluded leadings
250 kTRUE, // output histogram
251 sUsedRhoRD04.Data(), // task name
252 kTRUE); // use CMS rho
253 if (wTriggerMask) taskRhoRD04->SelectCollisionCandidates(wTriggerMask);
254 taskRhoRD04->SetCentRange(dCentMin, dCentMax);
255 taskRhoRD04->SetCentralityEstimator(sCentEsti.Data());
256 }
257 }
258//=============================================================================
259
260 if (bAnaInfoMC) {
261 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskMCTrackSelector.C");
262 AliEmcalMCTrackSelector *taskPicoTrackMC = AddTaskMCTrackSelector(sUsedTrksMC.Data(),
263 kFALSE, // NK
264 kTRUE); // CH
265 if (wTriggerMask) taskPicoTrackMC->SelectCollisionCandidates(wTriggerMask);
266 }
267//=============================================================================
268
269 AliAnalysisTaskSEPicoV0Maker *taskPicoV0Maker = new AliAnalysisTaskSEPicoV0Maker("AliAnalysisTaskSEPicoV0Maker", bAnaInfoMC);
270 if (wTriggerMask) {
271 taskPicoV0Maker->SetTriggerMask(wTriggerMask);
272 taskPicoV0Maker->SelectCollisionCandidates(wTriggerMask);
273 }
274
275 taskPicoV0Maker->SetCollitionType(wCollisionType);
276 taskPicoV0Maker->SetCentralityEstimator(sCentEsti.Data());
277 taskPicoV0Maker->SetVertexContributorN(2);
278//taskPicoV0Maker->SetRefitV0ESD();
279//taskPicoV0Maker->SetSkipFastOnly();
280//taskPicoV0Maker->SetDMPjetMC();
281
282 mgr->AddTask(taskPicoV0Maker);
283 mgr->ConnectInput(taskPicoV0Maker, 0, mgr->GetCommonInputContainer());
284 mgr->ConnectOutput(taskPicoV0Maker, 1, mgr->CreateContainer("listPicoV0MakerEH",
285 TList::Class(),
286 AliAnalysisManager::kOutputContainer,
287 AliAnalysisManager::GetCommonFileName()));
288
289 if (bAnaInfoMC) mgr->ConnectOutput(taskPicoV0Maker, 2, mgr->CreateContainer("listPicoV0MakerMC",
290 TList::Class(),
291 AliAnalysisManager::kOutputContainer,
292 AliAnalysisManager::GetCommonFileName()));
293//=============================================================================
294
295 AliAnalysisTaskEmcalJetV0Filter *taskEmcalJetV0Filter = new AliAnalysisTaskEmcalJetV0Filter("AliAnalysisTaskEmcalJetV0Filter");
296 if (wTriggerMask) taskEmcalJetV0Filter->SelectCollisionCandidates(wTriggerMask);
297
298 taskEmcalJetV0Filter->SetIsAnaPicoV0(kTRUE);
299 taskEmcalJetV0Filter->SetAnaPicoV0MC(bAnaInfoMC);
300
301 taskEmcalJetV0Filter->SetCentRange(dCentMin, dCentMax);
302 taskEmcalJetV0Filter->SetCentralityEstimator(sCentEsti.Data());
303//taskEmcalJetV0Filter->SetForceBeamType(0);
304//taskEmcalJetV0Filter->SetIsPythia(kTRUE);
305
306 if (bAnaJetR02) {
307 AliJetContainer *pContJetsRD02 = taskEmcalJetV0Filter->AddJetContainer(taskAktRD02->GetName(), sAnaType.Data(), 0.2);
308 pContJetsRD02->SetPercAreaCut(dJetAreaCut);
309 pContJetsRD02->SetJetPtCut(dJetPtCut);
310 pContJetsRD02->SetRhoName(sUsedRhoRD02.Data());
311// pContJetsRD02->SetLocalRhoName();
312 pContJetsRD02->SetLeadingHadronType(nLeading);
313 pContJetsRD02->ConnectParticleContainer(taskEmcalJetV0Filter->AddParticleContainer((nJetType!=2) ? sUsedTrksRD.Data() : ""));
314 pContJetsRD02->ConnectClusterContainer( taskEmcalJetV0Filter->AddClusterContainer( (nJetType!=1) ? sUsedClusRD.Data() : ""));
315 pContJetsRD02->SetNameTitle("AliEMcalJetContainerRD02", "AliEMcalJetContainerRD02");
316 taskEmcalJetV0Filter->SetNameJetRD02("AliEMcalJetContainerRD02");
317 }
318
319 if (bAnaJetR03) {
320 AliJetContainer *pContJetsRD03 = taskEmcalJetV0Filter->AddJetContainer(taskAktRD03->GetName(), sAnaType.Data(), 0.3);
321 pContJetsRD03->SetPercAreaCut(dJetAreaCut);
322 pContJetsRD03->SetJetPtCut(dJetPtCut);
323 pContJetsRD03->SetRhoName(sUsedRhoRD03.Data());
324// pContJetsRD03->SetLocalRhoName();
325 pContJetsRD03->SetLeadingHadronType(nLeading);
326 pContJetsRD03->ConnectParticleContainer(taskEmcalJetV0Filter->AddParticleContainer((nJetType!=2) ? sUsedTrksRD.Data() : ""));
327 pContJetsRD03->ConnectClusterContainer( taskEmcalJetV0Filter->AddClusterContainer( (nJetType!=1) ? sUsedClusRD.Data() : ""));
328 pContJetsRD03->SetNameTitle("AliEMcalJetContainerRD03", "AliEMcalJetContainerRD03");
329 taskEmcalJetV0Filter->SetNameJetRD03("AliEMcalJetContainerRD03");
330 }
331
332 if (bAnaJetR04) {
333 AliJetContainer *pContJetsRD04 = taskEmcalJetV0Filter->AddJetContainer(taskAktRD04->GetName(), sAnaType.Data(), 0.4);
334 pContJetsRD04->SetPercAreaCut(dJetAreaCut);
335 pContJetsRD04->SetJetPtCut(dJetPtCut);
336 pContJetsRD04->SetRhoName(sUsedRhoRD04.Data());
337// pContJetsRD04->SetLocalRhoName();
338 pContJetsRD04->SetLeadingHadronType(nLeading);
339 pContJetsRD04->ConnectParticleContainer(taskEmcalJetV0Filter->AddParticleContainer((nJetType!=2) ? sUsedTrksRD.Data() : ""));
340 pContJetsRD04->ConnectClusterContainer( taskEmcalJetV0Filter->AddClusterContainer( (nJetType!=1) ? sUsedClusRD.Data() : ""));
341 pContJetsRD04->SetNameTitle("AliEMcalJetContainerRD04", "AliEMcalJetContainerRD04");
342 taskEmcalJetV0Filter->SetNameJetRD04("AliEMcalJetContainerRD04");
343 }
344
345 mgr->AddTask(taskEmcalJetV0Filter);
346 mgr->ConnectInput(taskEmcalJetV0Filter, 0, mgr->GetCommonInputContainer());
347 mgr->ConnectOutput(taskEmcalJetV0Filter, 1, mgr->CreateContainer("listEmcalJet",
348 TList::Class(),
349 AliAnalysisManager::kOutputContainer,
350 AliAnalysisManager::GetCommonFileName()));
351
352 return kFALSE;
353}