]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/macros/AddTasksFlavourJet.C
Updates from Chiara
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / macros / AddTasksFlavourJet.C
CommitLineData
647ea9aa 1void AddTasksFlavourJet(const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
2 const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
3 const Double_t dJetPtCut = 1.,
4 const Double_t dJetAreaCut = 0.,
5 const Int_t iAccCut = 1,
6 const TString sRunPeriod = "LHC10b",
7 const Int_t uBeamType = 0,
8 const UInt_t uTriggerMask = AliVEvent::kMB, /*for jets; the D mesons trigger is defined in the cut object*/
9 const Bool_t bIsMC = kFALSE,
10 TString sText=""/*completes the name of the candidate task lists*/
11)
f6e094bd 12{
f6e094bd 13 const TString sInputTrk = "tracks";
14 const TString sUsedTrks = "PicoTracks";
15 const TString sUsedClus = "";
f6e094bd 16
17 const Int_t iJetAlgo = 1;
18 const Int_t iJetType = 1;
a429c767 19 /*
f6e094bd 20 const Int_t nRadius = 3;
21 const Double_t aRadius[] = { 0.2, 0.4, 0.6 };
22 const TString sRadius[] = { "R02", "R04", "R06" };
a429c767 23 */
24 const Int_t nRadius = 1;
25 const Double_t aRadius[] = { 0.4 };
26 const TString sRadius[] = { "R04" };
27
f6e094bd 28//=============================================================================
647ea9aa 29
f6e094bd 30 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
31
32 if (!mgr) {
33 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "No analysis manager to connect to.");
647ea9aa 34 return;
f6e094bd 35 }
36
37 TString type = mgr->GetInputEventHandler()->GetDataType();
38 if (!type.Contains("ESD") && !type.Contains("AOD")) {
39 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "Task manager to have an ESD or AOD input handler.");
647ea9aa 40 return;
f6e094bd 41 }
42
43 if (!mgr->GetInputEventHandler()) {
44 ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "This task requires an input event handler");
647ea9aa 45 return;
f6e094bd 46 }
47//=============================================================================
48
49 UInt_t uAnaType = (((iJetType==0) || (iJetType==2)) ? 1 : 0);
50 Int_t iLeading = ((iJetType==0) ? 3 : ((iJetType==1) ? 0 : 1));
51
647ea9aa 52 //D mesons -- PID
f6e094bd 53 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
54 AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bIsMC);
f6e094bd 55
647ea9aa 56 // -- D meson selection
a429c767 57 gROOT->LoadMacro("AliAnalysisTaskSEDmesonsFilterCJ.cxx++g");
58 gROOT->LoadMacro("AddTaskSEDmesonsFilterCJ.C");
59 AliAnalysisTaskSEDmesonsFilterCJ *taskDmesonsFilter = AddTaskSEDmesonsFilterCJ(iCandType,sCutFile,bIsMC,sText);
f6e094bd 60
647ea9aa 61 // EMCal framework
62 // -- Physics selection task
63 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
64 AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, uTriggerMask, 5, 5, 10, kTRUE, -1, -1, -1, -1);
65
66 if (!physSelTask) {
67 cout << "no physSelTask";
68 return;
69 }
70
71 // --
f6e094bd 72 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
73 AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
74 taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
75 taskSetupEMCal->SelectCollisionCandidates(uTriggerMask);
76
647ea9aa 77 // Jet preparation
a429c767 78 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetPreparation.C");
647ea9aa 79 AddTaskJetPreparation(type,bIsMC,sRunPeriod);
80
a429c767 81 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
f6e094bd 82 AliEmcalPicoTrackMaker *taskPicoTrack = AddTaskEmcalPicoTrackMaker(sUsedTrks.Data(),sInputTrk.Data(),sRunPeriod.Data());
a429c767 83 taskPicoTrack->SelectCollisionCandidates(uTriggerMask);
f6e094bd 84
85 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
647ea9aa 86 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSample.C");
a429c767 87 gROOT->LoadMacro("AliAnalysisTaskFlavourJetCorrelations.cxx++g");
88 gROOT->LoadMacro("AddTaskFlavourJetCorrelations.C");
f6e094bd 89
90 for (Int_t i=0; i<nRadius; i++) {
91 AliEmcalJetTask *taskFJ = AddTaskEmcalJet(sUsedTrks.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i],iJetType);
92 taskFJ->SelectCollisionCandidates(uTriggerMask);
93
647ea9aa 94 AliAnalysisTaskFlavourJetCorrelations *taskDmesonCJ = AddTaskFlavourJetCorrelations(iCandType,
95 sCutFile,
96 bIsMC,
97 taskFJ->GetName(),
98 Form("JetR%s",sRadius[i].Data()),
99 iLeading,
100 aRadius[i],
101 dJetPtCut,
102 iAccCut,
103 dJetAreaCut);
104
105 taskDmesonCJ->SetName(Form("AliAnalysisTaskSEEmcalJetDmesonsCJ_%s",sRadius[i].Data()));
a429c767 106 taskDmesonCJ->SetForceBeamType(uBeamType);
647ea9aa 107 taskDmesonCJ->SetAnaType(uAnaType);
108 taskDmesonCJ->SetLeadingHadronType(iLeading);
a429c767 109
647ea9aa 110// taskDmesonCJ->SelectCollisionCandidates(uTriggerMask);
f6e094bd 111 }
112
113 return;
114}