1 const Bool_t bIsInfoAOD = kTRUE;
2 const Bool_t bIsPhysSel = kFALSE;
3 const Bool_t bIsCentSel = kFALSE;
4 const Bool_t bIsEvPnSel = kFALSE;
5 const Bool_t bIsRespPID = kTRUE;
7 const Bool_t bAnaJetR02 = kTRUE;
8 const Bool_t bAnaJetR03 = kTRUE;
9 const Bool_t bAnaJetR04 = kTRUE;
10 const Bool_t bAnaInfoMC = kFALSE;
12 const UInt_t wTriggerMask = AliVEvent::kINT7;
13 const UInt_t wCollisionType = AliPicoHeaderCJ::kPA;
14 //=============================================================================
16 const TString sPeriodIn = "LHC13b";
17 const TString sCentEsti = "V0A"; // "V0M"; "V0A"; "V0C"
18 const Double_t dCentMin = 0.;
19 const Double_t dCentMax = 100.;
21 const TString sInputTrkRD = (bIsInfoAOD ? "tracks" : "Tracks");
22 const TString sInputClsRD = (bIsInfoAOD ? "caloClusters" : "CaloClusters");
23 const TString sFilterTrks = (bIsInfoAOD ? "AODFilterTracks" : "ESDFilterTracks");
25 const TString sUsedTrksRD = "PicoTracks";
26 const TString sUsedClusRD = "CaloClustersCorr";
28 const TString sUsedTrksMC = "MCParticles";
29 const TString sUsedClusMC = "";
31 const TString sUsedRhoRD02 = "RhoRD02"; // "RhoRD"
32 const TString sUsedRhoRD03 = "RhoRD03"; // "RhoRD"
33 const TString sUsedRhoRD04 = "RhoRD04"; // "RhoRD"
35 const TString sUsedRhoMC02 = ""; // "RhoMC"
36 const TString sUsedRhoMC03 = ""; // "RhoMC"
37 const TString sUsedRhoMC04 = ""; // "RhoMC"
39 const TString sAnaType = "TPC"; // "TPC"; "EMCAL"; "USER"
40 const Int_t nLeading = 0; // 0: charged; 1: neutral; 2: both
41 //=============================================================================
43 const Int_t nJetAlgo = 1; // 0: KT; 1: AKT
44 const Int_t nJetType = 1; // 0: FullJet; 1: ChargedJet; 2: NeutralJet
46 const Double_t dJetPtCut = 8.0;
47 const Double_t dJetAreaCut = 0.6;
49 const Double_t dTrkPtCut = 0.15;
50 const Double_t dCluEnCut = 0.30;
51 //=============================================================================
53 Bool_t AddTasksEmcalJetV0Filter()
55 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
58 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddAODHandler.C");
59 AliAODInputHandler *aodIH = AddAODHandler();
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddESDHandler.C");
62 AliESDInputHandler *esdIH = AddESDHandler();
63 // esdIH->SetReadFriends(kFALSE);
66 if (bAnaInfoMC && (!bIsInfoAOD)) {
67 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCHandler.C");
68 AliMCEventHandler *mctEH = AddMCHandler(kTRUE);
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 //=============================================================================
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);
83 AliEmcalPhysicsSelection *pPhysSel = static_cast<AliEmcalPhysicsSelection*>(taksPhysSel->GetPhysicsSelection());
84 if (!pPhysSel) return kTRUE; pPhysSel->SetAnalyzeMC();
89 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
90 AliCentralitySelectionTask *taskCentSel = AddTaskCentrality(kTRUE, bIsAOD);
91 if (wTriggerMask) taskCentSel->SelectCollisionCandidates(wTriggerMask);
92 if (bAnaInfoMC) taskCentSel->SetMCInput();
96 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskEventplane.C");
97 AliEPSelectionTask *taskEventPlane = AddTaskEventplane();
98 if (wTriggerMask) taskEventPlane->SelectCollisionCandidates(wTriggerMask);
99 if (bAnaInfoMC) taskEventPlane->SetUseMCRP();
103 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
104 AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bAnaInfoMC);
105 if (wTriggerMask) taskRespPID->SelectCollisionCandidates(wTriggerMask);
107 //=============================================================================
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");
115 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalAodTrackFilter.C");
116 AliEmcalAodTrackFilterTask *taskTrkFilterAOD = AddTaskEmcalAodTrackFilter(sFilterTrks.Data(),
119 if (wTriggerMask) taskTrkFilterAOD->SelectCollisionCandidates(wTriggerMask);
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.);
129 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
130 AliEmcalPicoTrackMaker *taskPicoTrackRD = AddTaskEmcalPicoTrackMaker(sUsedTrksRD.Data(),
132 if (wTriggerMask) taskPicoTrackRD->SelectCollisionCandidates(wTriggerMask);
133 if (bAnaInfoMC) taskPicoTrackRD->SetMC(kTRUE);
134 //=============================================================================
136 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
137 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRhoSparse.C");
140 AliEmcalJetTask *taskAktRD02 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
141 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
147 if (wTriggerMask) taskAktRD02->SelectCollisionCandidates(wTriggerMask);
149 if (!sUsedRhoRD02.IsNull()) {
150 AliEmcalJetTask *taskKtRD02 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
151 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
155 if (wTriggerMask) taskKtRD02->SelectCollisionCandidates(wTriggerMask);
156 taskKtRD02->SetMinJetPt(0.);
158 AliAnalysisTaskRhoSparse *taskRhoRD02 = AddTaskRhoSparse(taskKtRD02->GetName(),
159 taskAktRD02->GetName(),
160 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
161 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
165 0.01, // jet area cut
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());
180 AliEmcalJetTask *taskAktRD03 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
181 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
187 if (wTriggerMask) taskAktRD03->SelectCollisionCandidates(wTriggerMask);
189 if (!sUsedRhoRD03.IsNull()) {
190 AliEmcalJetTask *taskKtRD03 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
191 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
195 if (wTriggerMask) taskKtRD03->SelectCollisionCandidates(wTriggerMask);
196 taskKtRD03->SetMinJetPt(0.);
198 AliAnalysisTaskRhoSparse *taskRhoRD03 = AddTaskRhoSparse(taskKtRD03->GetName(),
199 taskAktRD03->GetName(),
200 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
201 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
205 0.01, // jet area cut
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());
220 AliEmcalJetTask *taskAktRD04 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
221 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
227 if (wTriggerMask) taskAktRD04->SelectCollisionCandidates(wTriggerMask);
229 if (!sUsedRhoRD04.IsNull()) {
230 AliEmcalJetTask *taskKtRD04 = AddTaskEmcalJet(((nJetType!=2) ? sUsedTrksRD.Data() : ""),
231 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
235 if (wTriggerMask) taskKtRD04->SelectCollisionCandidates(wTriggerMask);
236 taskKtRD04->SetMinJetPt(0.);
238 AliAnalysisTaskRhoSparse *taskRhoRD04 = AddTaskRhoSparse(taskKtRD04->GetName(),
239 taskAktRD04->GetName(),
240 ((nJetType!=2) ? sUsedTrksRD.Data() : ""),
241 ((nJetType!=1) ? sUsedClusRD.Data() : ""),
245 0.01, // jet area cut
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());
258 //=============================================================================
261 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskMCTrackSelector.C");
262 AliEmcalMCTrackSelector *taskPicoTrackMC = AddTaskMCTrackSelector(sUsedTrksMC.Data(),
265 if (wTriggerMask) taskPicoTrackMC->SelectCollisionCandidates(wTriggerMask);
267 //=============================================================================
269 AliAnalysisTaskSEPicoV0Maker *taskPicoV0Maker = new AliAnalysisTaskSEPicoV0Maker("AliAnalysisTaskSEPicoV0Maker", bAnaInfoMC);
271 taskPicoV0Maker->SetTriggerMask(wTriggerMask);
272 taskPicoV0Maker->SelectCollisionCandidates(wTriggerMask);
275 taskPicoV0Maker->SetCollitionType(wCollisionType);
276 taskPicoV0Maker->SetCentralityEstimator(sCentEsti.Data());
277 taskPicoV0Maker->SetVertexContributorN(2);
278 //taskPicoV0Maker->SetRefitV0ESD();
279 //taskPicoV0Maker->SetSkipFastOnly();
280 //taskPicoV0Maker->SetDMPjetMC();
282 mgr->AddTask(taskPicoV0Maker);
283 mgr->ConnectInput(taskPicoV0Maker, 0, mgr->GetCommonInputContainer());
284 mgr->ConnectOutput(taskPicoV0Maker, 1, mgr->CreateContainer("listPicoV0MakerEH",
286 AliAnalysisManager::kOutputContainer,
287 AliAnalysisManager::GetCommonFileName()));
289 if (bAnaInfoMC) mgr->ConnectOutput(taskPicoV0Maker, 2, mgr->CreateContainer("listPicoV0MakerMC",
291 AliAnalysisManager::kOutputContainer,
292 AliAnalysisManager::GetCommonFileName()));
293 //=============================================================================
295 AliAnalysisTaskEmcalJetV0Filter *taskEmcalJetV0Filter = new AliAnalysisTaskEmcalJetV0Filter("AliAnalysisTaskEmcalJetV0Filter");
296 if (wTriggerMask) taskEmcalJetV0Filter->SelectCollisionCandidates(wTriggerMask);
298 taskEmcalJetV0Filter->SetIsAnaPicoV0(kTRUE);
299 taskEmcalJetV0Filter->SetAnaPicoV0MC(bAnaInfoMC);
301 taskEmcalJetV0Filter->SetCentRange(dCentMin, dCentMax);
302 taskEmcalJetV0Filter->SetCentralityEstimator(sCentEsti.Data());
303 //taskEmcalJetV0Filter->SetForceBeamType(0);
304 //taskEmcalJetV0Filter->SetIsPythia(kTRUE);
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");
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");
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");
345 mgr->AddTask(taskEmcalJetV0Filter);
346 mgr->ConnectInput(taskEmcalJetV0Filter, 0, mgr->GetCommonInputContainer());
347 mgr->ConnectOutput(taskEmcalJetV0Filter, 1, mgr->CreateContainer("listEmcalJet",
349 AliAnalysisManager::kOutputContainer,
350 AliAnalysisManager::GetCommonFileName()));