3 void AddTasksFlavourJet(const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
4 const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
5 const Double_t dJetPtCut = 1.,
6 const Double_t dJetAreaCut = 0.,
7 const Int_t iAccCut = 1,
8 const TString sRunPeriod = "LHC10b",
9 const Int_t uBeamType = 0,
10 const UInt_t uTriggerMask = AliVEvent::kMB, /*for jets; the D mesons trigger is defined in the cut object*/
11 const Bool_t bIsMC = kFALSE,
12 TString sText=""/*completes the name of the candidate task lists*/
15 const TString sInputTrk = "tracks";
16 const TString sUsedTrks = "PicoTracks";
17 const TString sUsedClus = "";
19 const Int_t iJetAlgo = 1;
20 const Int_t iJetType = 1;
22 const Int_t nRadius = 3;
23 const Double_t aRadius[] = { 0.2, 0.4, 0.6 };
24 const TString sRadius[] = { "R02", "R04", "R06" };
25 //=============================================================================
27 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
30 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "No analysis manager to connect to.");
34 TString type = mgr->GetInputEventHandler()->GetDataType();
35 if (!type.Contains("ESD") && !type.Contains("AOD")) {
36 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "Task manager to have an ESD or AOD input handler.");
40 if (!mgr->GetInputEventHandler()) {
41 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "This task requires an input event handler");
44 //=============================================================================
46 UInt_t uAnaType = (((iJetType==0) || (iJetType==2)) ? 1 : 0);
47 Int_t iLeading = ((iJetType==0) ? 3 : ((iJetType==1) ? 0 : 1));
50 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
51 AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bIsMC);
53 // -- D meson selection
54 gROOT->LoadMacro("AliAnalysisTaskSEDmesonsForJetCorrelations.cxx++g");
55 gROOT->LoadMacro("AddTaskDmesonsForJetCorrelations.C");
56 AliAnalysisTaskSEDmesonsForJetCorrelations *taskDmesonsFilter = AddTaskDmesonsForJetCorrelations(iCandType,sCutFile,bIsMC,sText);
59 // -- Physics selection task
60 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
61 AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, uTriggerMask, 5, 5, 10, kTRUE, -1, -1, -1, -1);
64 cout << "no physSelTask";
69 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
70 AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
71 taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
72 taskSetupEMCal->SelectCollisionCandidates(uTriggerMask);
75 gROOT->LoadMacro("/data/Work/jets/testEMCalJetFramework/code/v4/AddTaskJetPreparation.C");
76 AddTaskJetPreparation(type,bIsMC,sRunPeriod);
78 /*gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
79 AliEmcalPicoTrackMaker *taskPicoTrack = AddTaskEmcalPicoTrackMaker(sUsedTrks.Data(),sInputTrk.Data(),sRunPeriod.Data());
80 taskPicoTrack->SelectCollisionCandidates(uTriggerMask);*/
82 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
83 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSample.C");
84 gROOT->LoadMacro("AliAnalysisTaskRecoJetCorrelations.cxx++g");
85 gROOT->LoadMacro("AddTaskRecoJetCorrelations.C");
87 for (Int_t i=0; i<nRadius; i++) {
88 AliEmcalJetTask *taskFJ = AddTaskEmcalJet(sUsedTrks.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i],iJetType);
89 taskFJ->SelectCollisionCandidates(uTriggerMask);
91 AliAnalysisTaskFlavourJetCorrelations *taskDmesonCJ = AddTaskFlavourJetCorrelations(iCandType,
95 Form("JetR%s",sRadius[i].Data()),
102 taskDmesonCJ->SetName(Form("AliAnalysisTaskSEEmcalJetDmesonsCJ_%s",sRadius[i].Data()));
103 taskDmesonCJ->SetForceBeamType(uBeamType);
104 taskDmesonCJ->SetAnaType(uAnaType);
105 taskDmesonCJ->SetLeadingHadronType(iLeading);
106 // taskDmesonCJ->SelectCollisionCandidates(uTriggerMask);