ROOT logo
void AddTasksFlavourJet(const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
   const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
   const Double_t dJetPtCut   = 1.,
   const Double_t dJetAreaCut = 0.,
   const char *acctype = "TPC",
   const TString sRunPeriod = "LHC10b",
   const Int_t    uBeamType = 0,
   const UInt_t uTriggerMask = AliVEvent::kMB, /*for jets; the D mesons trigger is defined in the cut object*/
   const Bool_t bIsMC = kFALSE,
   const Bool_t bIsReco = kFALSE,
   const Bool_t bIsMap = kFALSE,
   TString sText="",/*completes the name of the candidate task lists*/
   const Bool_t bUseEMCalTrig = kFALSE,
   const Bool_t bIsTrain=kFALSE
   )
{
   const TString sInputTrkMC  = "MCParticlesSelected";
   const TString sInputTrkRec  = "tracks";
   const TString sUsedTrks  = "PicoTracks";
   const TString sUsedClus  = "";
   TString sInputTrk = bIsReco ? sInputTrkRec : sInputTrkMC;
   const Int_t iJetAlgo = 1;
   const Int_t iJetType = 1;
 
   const Int_t    nRadius = 1;
   const Double_t aRadius[] = {  0.4  };
   const TString  sRadius[] = { "R04" };
   
   //=============================================================================
   
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   
   if (!mgr) {
      ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "No analysis manager to connect to.");
      return;
   }
   
   TString type = mgr->GetInputEventHandler()->GetDataType();
   if (!type.Contains("ESD") && !type.Contains("AOD")) {
      ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "Task manager to have an ESD or AOD input handler.");
      return;
   }
   
   if (!mgr->GetInputEventHandler()) {
      ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "This task requires an input event handler");
      return;
   }
   //=============================================================================
   
   UInt_t uAnaType = (((iJetType==0) ||     (iJetType==2)) ? 1 : 0);
   Int_t  iLeading =  ((iJetType==0) ? 3 : ((iJetType==1)  ? 0 : 1));
   Int_t leadHadType=0; /* 0=charged, 1=neutral, 2=both*/
   //D mesons -- PID
   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
   AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bIsMC);
   
   // -- D meson selection
  
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/FlavourJetTasks/macros/AddTaskDFilterAndCorrelations.C");


   // EMCal framework
   // -- Physics selection task
   if(!bIsMC){
      gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
      AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, uTriggerMask, 5, 5, 10, kTRUE, -1, -1, -1, -1);
      
      if (!physSelTask) {
      	 cout << "no physSelTask"; 
      	 return; 
      }
   }
   // -- 
   gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
   AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
   //taskSetupEMCal->SetOcdbPath("raw://"); //needed for period LHC12h and i
   taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
   taskSetupEMCal->SelectCollisionCandidates(uTriggerMask);
   
   // Jet preparation
   //gROOT->LoadMacro("/data/Work/jets/testEMCalJetFramework/code/v4/AddTaskJetPreparation.C");
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetPreparation.C");
   AddTaskJetPreparation(sRunPeriod,"PicoTracks",bIsMC ? "MCParticlesSelected" : "",/*next 7 emcal default settings*/"","",2.,0.,0.03,0.015,0.15,uTriggerMask, kFALSE /*track cluster*/,kFALSE /*do histos*/,kTRUE /*make pico tracks*/,bUseEMCalTrig /*make emcal trigger*/,bIsTrain /*is emcal train*/);
   
   
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
   //gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSample.C");
   
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetResponseMaker.C");
   
   for (Int_t i=0; i<nRadius; i++) {
      //jet reconstruction for correlation
      //AliEmcalJetTask *taskFJ = AddTaskEmcalJet(bIsMC&&!bIsReco ? sInputTrkMC.Data() : sUsedTrks.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i],iJetType);
      //I think like follows it's fine: sUsedTrks contains the picotracks of MC or reco tracks according to IsReco
      AliEmcalJetTask *taskFJ = AddTaskEmcalJet(sUsedTrks.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i],iJetType);
      
      taskFJ->SelectCollisionCandidates(uTriggerMask);
      
            
     // AliAnalysisTaskEmcalJetSample *taskjetsample=AddTaskEmcalJetSample(sUsedTrks.Data(),"",taskFJ->GetName(),
      	// "Rho",aRadius[i],dJetPtCut,dJetAreaCut,AliAnalysisTaskEmcalJet::kTPC,iLeading,
      	// "AliAnalysisTaskEmcalJetSample");
      //taskjetsample->SelectCollisionCandidates(uTriggerMask);
      
      //Filter and correlation with D meson
      
      AddTaskDFilterAndCorrelations(
	 iCandType,
      	 sCutFile,
      	 bIsMC,
      	 bIsReco,
	 "",
      	 taskFJ->GetName(),
      	 sInputTrk,
      	 //Form("JetR%s",sRadius[i].Data()),
      	 iLeading,
      	 leadHadType,
      	 aRadius[i],
      	 dJetPtCut,
      	 acctype
      	//percjetareacut=1.
	  );
      
      AliEmcalJetTask *taskMCJ;
      //jet reconstruction for correction map
      if(bIsMap){ 
	taskMCJ = AddTaskEmcalJet(sInputTrkMC.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i], iJetType);

	AddTaskDFilterAndCorrelations(
				      iCandType,
				      sCutFile,
				      bIsMC,
				      kFALSE,
				      sText,
				      taskFJ->GetName(),
				      sInputTrk,
				      iLeading,
				      leadHadType,
				      aRadius[i],
				      dJetPtCut,
				      acctype
				      //percjetareacut=1.
				      );

      	 
	// definition of correction map
	Int_t tag=0;
	if(iCandType == 0) tag=AliEmcalJet::kD0;
	if(iCandType == 1) tag=AliEmcalJet::kDStar;
	Printf("************** tag = %d", tag&0x1);
	AliJetResponseMaker* taskResp=AddTaskJetResponseMaker(
							      sUsedTrks.Data(),sUsedClus.Data(),taskFJ->GetName(),"",aRadius[i],
							      sInputTrkMC.Data(),"",taskMCJ->GetName(),"",aRadius[i],dJetPtCut,dJetAreaCut,5,0,AliJetResponseMaker::kGeometrical, 0.25,0.25,"TPC",-999,-999,-999,"AliJetResponseMaker", kFALSE, 0, -10,10, tag );
	taskResp->SetMinJetMCPt(0); //added to bypass a return not needed (feature of PrepareJetTask)
	//taskResp->SetHistoType(1);
      	 
      }
   }
   
   return;
}

//run with multiple R
void AddTasksFlavourJet(
   /*input for Jet Finder*/   
   const UInt_t uTriggerMask = AliVEvent::kMB, /*for jets; the D mesons trigger is defined in the cut object*/
   const TString sRunPeriod = "LHC13b", /*for track selection*/
   Bool_t tmpoadb2012flag=kFALSE, /*kTRUE for LHC12h and LHC12i*/
   const Bool_t bIsMC = kFALSE,
   /*input for D mesons*/ 
   const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
   const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
   const Double_t dJetPtCut   = 1.,
   const Double_t dJetAreaCut = 0.,
   const char *acctype = "TPC",
   const Bool_t bIsReco = kFALSE,
   const Bool_t bIsMap = kFALSE,
   TString sText="",/*completes the name of the candidate task lists*/
   Bool_t triggerOnLeadingJet = kFALSE,
   const Bool_t bUseEMCalTrig = kFALSE,
   const Bool_t bIsTrain=kFALSE

){
   Printf("############## JETS WITH RESOLUTION PARAMETER 0.2, 0.4, 0.6 ####################");

   const Int_t    nRadius = 3;
   const Double_t aRadius[] = {  0.2,   0.4,   0.6  };
   const TString  sRadius[] = { "R02", "R04", "R06" };

   const TString sInputTrkMC  = "MCParticlesSelected";
   const TString sInputTrkRec  = "tracks";
   const TString sUsedTrks  = "PicoTracks";
   const TString sUsedClus  = "";
   TString sInputTrk = bIsReco ? sInputTrkRec : sInputTrkMC;
   const Int_t iJetAlgo = 1;
   const Int_t iJetType = 1;

   //=============================================================================
   
   UInt_t uAnaType = (((iJetType==0) ||     (iJetType==2)) ? 1 : 0);
   Int_t  iLeading =  ((iJetType==0) ? 3 : ((iJetType==1)  ? 0 : 1));
   Int_t leadHadType=0; /* 0=charged, 1=neutral, 2=both*/
   
   // EMCal framework
   // -- Physics selection task
   if(!bIsMC){
      gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
      AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, uTriggerMask, 5, 5, 10, kTRUE, -1, -1, -1, -1);
      
      if (!physSelTask) {
      	 cout << "no physSelTask"; 
      	 return; 
      }
   }
   // -- EMCal setup
   gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
   AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
   if(tmpoadb2012flag) taskSetupEMCal->SetOcdbPath("raw://"); //needed for period LHC12h and i
   else taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
   taskSetupEMCal->SelectCollisionCandidates(uTriggerMask);
   
   // Jet preparation
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetPreparation.C");
   AddTaskJetPreparation(sRunPeriod,"PicoTracks",bIsMC ? "MCParticlesSelected" : "",/*next 7 emcal default settings*/"","",2.,0.,0.03,0.015,0.15,uTriggerMask, kFALSE /*track cluster*/,kFALSE /*do histos*/,kTRUE /*make pico tracks*/,bUseEMCalTrig /*make emcal trigger*/,bIsTrain /*is emcal train*/);
   
   
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
   
   TString jetname[nRadius];
   
     for (Int_t i=0; i<nRadius; i++) {
      //jet reconstruction
      AliEmcalJetTask *taskFJ = AddTaskEmcalJet(sUsedTrks.Data(),sUsedClus.Data(),iJetAlgo,aRadius[i],iJetType);
      
      taskFJ->SelectCollisionCandidates(uTriggerMask);
      
      Printf("Now Jet Finder with R = %f",aRadius[i]);
      jetname[i] = taskFJ->GetName();
 
  }
   
  for (Int_t i=0; i<nRadius; i++) {
   
      AddMyAnalysis(jetname[i],aRadius[i],iCandType,sCutFile,dJetPtCut,dJetAreaCut,
      	 acctype,bIsMC,bIsReco,bIsMap,sText,triggerOnLeadingJet);
  }
}

//run with HF tracks cuts (filterbit 4 and 9  -> 16, 512)
void AddTasksFlavourJet(
   /*input for Jet Finder*/   
   const UInt_t uTriggerMask = AliVEvent::kMB, /*for jets; the D mesons trigger is defined in the cut object*/
   const Bool_t bIsMC = kFALSE,
   const Double_t R=0.4,
   /*input for D mesons*/ 
   const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
   const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
   const Double_t dJetPtCut   = 1.,
   const Double_t dJetAreaCut = 0.,
   const char *acctype = "TPC",
   const Bool_t bIsReco = kFALSE,
   const Bool_t bIsMap = kFALSE,
   TString sText="",/*completes the name of the candidate task lists*/
   Bool_t triggerOnLeadingJet = kFALSE

   ){


Printf("############## SELECT TRACKS WITH FILTER BIT 4 AND 9 ####################");
//=============================================================================

AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();

if (!mgr) {
   ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "No analysis manager to connect to.");
   return;
}

TString type = mgr->GetInputEventHandler()->GetDataType();
if (!type.Contains("ESD") && !type.Contains("AOD")) {
   ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "Task manager to have an ESD or AOD input handler.");
   return;
}

if (!mgr->GetInputEventHandler()) {
   ::Error("AddTasksFlavourJet.C::AddTasksFlavourJet", "This task requires an input event handler");
   return;
}
//=============================================================================

// EMCal framework
// -- Physics selection task
if(!bIsMC){
   gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
   AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, uTriggerMask, 5, 5, 10, kTRUE, -1, -1, -1, -1);
   
   if (!physSelTask) {
      cout << "no physSelTask"; 
      return; 
   }
}
// -- 
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
AliEmcalSetupTask *taskSetupEMCal = AddTaskEmcalSetup();
//taskSetupEMCal->SetOcdbPath("raw://"); //needed for period LHC12h and i
taskSetupEMCal->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
taskSetupEMCal->SelectCollisionCandidates(uTriggerMask);

//define the track sample
TString tracksHFname="HFTrackBits";
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalAodTrackFilter.C");
AliEmcalAodTrackFilterTask *trackfilter=AddTaskEmcalAodTrackFilter(tracksHFname,"tracks","","AliEmcalAodTrackFilterTask4HF" );
trackfilter->SetAODfilterBits(16,512);

//transofm into picotracks
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
AliEmcalPicoTrackMaker* picotracksHF=AddTaskEmcalPicoTrackMaker(Form("Pico%s",tracksHFname.Data()), tracksHFname,0,1000,-10,10,-10,10,1,"AliEmcalPicoTrackMakerHF");

//run the jet finder
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
AliEmcalJetTask* taskFJ=AddTaskEmcalJet(Form("Pico%s",tracksHFname.Data()), "caloClusters", 1, R);
TString jetname = taskFJ->GetName();
AddMyAnalysis(jetname,R,iCandType,sCutFile,dJetPtCut,dJetAreaCut,
   acctype,bIsMC,bIsReco,bIsMap,sText,triggerOnLeadingJet,Form("Pico%s",tracksHFname.Data()));


}
void AddMyAnalysis(TString& jetname, Double_t aRadius,
   const Int_t iCandType = 1 /*0 = D0, 1=Dstar...*/,
   const TString sCutFile = "cutsHF/D0toKpiCutsppRecVtxNoPileupRejNoEMCAL.root",
   const Double_t dJetPtCut   = 1.,
   const Double_t dJetAreaCut = 0.,
   const char *acctype = "TPC",
   const Bool_t bIsMC = kFALSE,
   const Bool_t bIsReco = kFALSE,
   const Bool_t bIsMap = kFALSE,
   TString sText="",/*completes the name of the candidate task lists*/
   Bool_t triggerOnLeadingJet = kFALSE,
   const TString& trackArrName = "PicoTracks"
){
   
   AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
   //D mesons -- PID
   TString pidTaskName="PIDResponseTask";
   if(!mgr->GetTask(pidTaskName)){
      gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
      AliAnalysisTaskSE *taskRespPID = AddTaskPIDResponse(bIsMC);
   }
   
   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/FlavourJetTasks/macros/AddTaskDFilterAndCorrelations.C");
  
   //Filter and correlation with D meson
   
   AddTaskDFilterAndCorrelations(
      iCandType,
      sCutFile,
      bIsMC,
      bIsReco,
      sText,
      jetname,
      trackArrName,
      //Form("JetR%s",sRadius[i].Data()),
      triggerOnLeadingJet,
      0,
      aRadius,
      dJetPtCut,
      acctype
      //percjetareacut=1.
      );
   
}


 AddTasksFlavourJet.C:1
 AddTasksFlavourJet.C:2
 AddTasksFlavourJet.C:3
 AddTasksFlavourJet.C:4
 AddTasksFlavourJet.C:5
 AddTasksFlavourJet.C:6
 AddTasksFlavourJet.C:7
 AddTasksFlavourJet.C:8
 AddTasksFlavourJet.C:9
 AddTasksFlavourJet.C:10
 AddTasksFlavourJet.C:11
 AddTasksFlavourJet.C:12
 AddTasksFlavourJet.C:13
 AddTasksFlavourJet.C:14
 AddTasksFlavourJet.C:15
 AddTasksFlavourJet.C:16
 AddTasksFlavourJet.C:17
 AddTasksFlavourJet.C:18
 AddTasksFlavourJet.C:19
 AddTasksFlavourJet.C:20
 AddTasksFlavourJet.C:21
 AddTasksFlavourJet.C:22
 AddTasksFlavourJet.C:23
 AddTasksFlavourJet.C:24
 AddTasksFlavourJet.C:25
 AddTasksFlavourJet.C:26
 AddTasksFlavourJet.C:27
 AddTasksFlavourJet.C:28
 AddTasksFlavourJet.C:29
 AddTasksFlavourJet.C:30
 AddTasksFlavourJet.C:31
 AddTasksFlavourJet.C:32
 AddTasksFlavourJet.C:33
 AddTasksFlavourJet.C:34
 AddTasksFlavourJet.C:35
 AddTasksFlavourJet.C:36
 AddTasksFlavourJet.C:37
 AddTasksFlavourJet.C:38
 AddTasksFlavourJet.C:39
 AddTasksFlavourJet.C:40
 AddTasksFlavourJet.C:41
 AddTasksFlavourJet.C:42
 AddTasksFlavourJet.C:43
 AddTasksFlavourJet.C:44
 AddTasksFlavourJet.C:45
 AddTasksFlavourJet.C:46
 AddTasksFlavourJet.C:47
 AddTasksFlavourJet.C:48
 AddTasksFlavourJet.C:49
 AddTasksFlavourJet.C:50
 AddTasksFlavourJet.C:51
 AddTasksFlavourJet.C:52
 AddTasksFlavourJet.C:53
 AddTasksFlavourJet.C:54
 AddTasksFlavourJet.C:55
 AddTasksFlavourJet.C:56
 AddTasksFlavourJet.C:57
 AddTasksFlavourJet.C:58
 AddTasksFlavourJet.C:59
 AddTasksFlavourJet.C:60
 AddTasksFlavourJet.C:61
 AddTasksFlavourJet.C:62
 AddTasksFlavourJet.C:63
 AddTasksFlavourJet.C:64
 AddTasksFlavourJet.C:65
 AddTasksFlavourJet.C:66
 AddTasksFlavourJet.C:67
 AddTasksFlavourJet.C:68
 AddTasksFlavourJet.C:69
 AddTasksFlavourJet.C:70
 AddTasksFlavourJet.C:71
 AddTasksFlavourJet.C:72
 AddTasksFlavourJet.C:73
 AddTasksFlavourJet.C:74
 AddTasksFlavourJet.C:75
 AddTasksFlavourJet.C:76
 AddTasksFlavourJet.C:77
 AddTasksFlavourJet.C:78
 AddTasksFlavourJet.C:79
 AddTasksFlavourJet.C:80
 AddTasksFlavourJet.C:81
 AddTasksFlavourJet.C:82
 AddTasksFlavourJet.C:83
 AddTasksFlavourJet.C:84
 AddTasksFlavourJet.C:85
 AddTasksFlavourJet.C:86
 AddTasksFlavourJet.C:87
 AddTasksFlavourJet.C:88
 AddTasksFlavourJet.C:89
 AddTasksFlavourJet.C:90
 AddTasksFlavourJet.C:91
 AddTasksFlavourJet.C:92
 AddTasksFlavourJet.C:93
 AddTasksFlavourJet.C:94
 AddTasksFlavourJet.C:95
 AddTasksFlavourJet.C:96
 AddTasksFlavourJet.C:97
 AddTasksFlavourJet.C:98
 AddTasksFlavourJet.C:99
 AddTasksFlavourJet.C:100
 AddTasksFlavourJet.C:101
 AddTasksFlavourJet.C:102
 AddTasksFlavourJet.C:103
 AddTasksFlavourJet.C:104
 AddTasksFlavourJet.C:105
 AddTasksFlavourJet.C:106
 AddTasksFlavourJet.C:107
 AddTasksFlavourJet.C:108
 AddTasksFlavourJet.C:109
 AddTasksFlavourJet.C:110
 AddTasksFlavourJet.C:111
 AddTasksFlavourJet.C:112
 AddTasksFlavourJet.C:113
 AddTasksFlavourJet.C:114
 AddTasksFlavourJet.C:115
 AddTasksFlavourJet.C:116
 AddTasksFlavourJet.C:117
 AddTasksFlavourJet.C:118
 AddTasksFlavourJet.C:119
 AddTasksFlavourJet.C:120
 AddTasksFlavourJet.C:121
 AddTasksFlavourJet.C:122
 AddTasksFlavourJet.C:123
 AddTasksFlavourJet.C:124
 AddTasksFlavourJet.C:125
 AddTasksFlavourJet.C:126
 AddTasksFlavourJet.C:127
 AddTasksFlavourJet.C:128
 AddTasksFlavourJet.C:129
 AddTasksFlavourJet.C:130
 AddTasksFlavourJet.C:131
 AddTasksFlavourJet.C:132
 AddTasksFlavourJet.C:133
 AddTasksFlavourJet.C:134
 AddTasksFlavourJet.C:135
 AddTasksFlavourJet.C:136
 AddTasksFlavourJet.C:137
 AddTasksFlavourJet.C:138
 AddTasksFlavourJet.C:139
 AddTasksFlavourJet.C:140
 AddTasksFlavourJet.C:141
 AddTasksFlavourJet.C:142
 AddTasksFlavourJet.C:143
 AddTasksFlavourJet.C:144
 AddTasksFlavourJet.C:145
 AddTasksFlavourJet.C:146
 AddTasksFlavourJet.C:147
 AddTasksFlavourJet.C:148
 AddTasksFlavourJet.C:149
 AddTasksFlavourJet.C:150
 AddTasksFlavourJet.C:151
 AddTasksFlavourJet.C:152
 AddTasksFlavourJet.C:153
 AddTasksFlavourJet.C:154
 AddTasksFlavourJet.C:155
 AddTasksFlavourJet.C:156
 AddTasksFlavourJet.C:157
 AddTasksFlavourJet.C:158
 AddTasksFlavourJet.C:159
 AddTasksFlavourJet.C:160
 AddTasksFlavourJet.C:161
 AddTasksFlavourJet.C:162
 AddTasksFlavourJet.C:163
 AddTasksFlavourJet.C:164
 AddTasksFlavourJet.C:165
 AddTasksFlavourJet.C:166
 AddTasksFlavourJet.C:167
 AddTasksFlavourJet.C:168
 AddTasksFlavourJet.C:169
 AddTasksFlavourJet.C:170
 AddTasksFlavourJet.C:171
 AddTasksFlavourJet.C:172
 AddTasksFlavourJet.C:173
 AddTasksFlavourJet.C:174
 AddTasksFlavourJet.C:175
 AddTasksFlavourJet.C:176
 AddTasksFlavourJet.C:177
 AddTasksFlavourJet.C:178
 AddTasksFlavourJet.C:179
 AddTasksFlavourJet.C:180
 AddTasksFlavourJet.C:181
 AddTasksFlavourJet.C:182
 AddTasksFlavourJet.C:183
 AddTasksFlavourJet.C:184
 AddTasksFlavourJet.C:185
 AddTasksFlavourJet.C:186
 AddTasksFlavourJet.C:187
 AddTasksFlavourJet.C:188
 AddTasksFlavourJet.C:189
 AddTasksFlavourJet.C:190
 AddTasksFlavourJet.C:191
 AddTasksFlavourJet.C:192
 AddTasksFlavourJet.C:193
 AddTasksFlavourJet.C:194
 AddTasksFlavourJet.C:195
 AddTasksFlavourJet.C:196
 AddTasksFlavourJet.C:197
 AddTasksFlavourJet.C:198
 AddTasksFlavourJet.C:199
 AddTasksFlavourJet.C:200
 AddTasksFlavourJet.C:201
 AddTasksFlavourJet.C:202
 AddTasksFlavourJet.C:203
 AddTasksFlavourJet.C:204
 AddTasksFlavourJet.C:205
 AddTasksFlavourJet.C:206
 AddTasksFlavourJet.C:207
 AddTasksFlavourJet.C:208
 AddTasksFlavourJet.C:209
 AddTasksFlavourJet.C:210
 AddTasksFlavourJet.C:211
 AddTasksFlavourJet.C:212
 AddTasksFlavourJet.C:213
 AddTasksFlavourJet.C:214
 AddTasksFlavourJet.C:215
 AddTasksFlavourJet.C:216
 AddTasksFlavourJet.C:217
 AddTasksFlavourJet.C:218
 AddTasksFlavourJet.C:219
 AddTasksFlavourJet.C:220
 AddTasksFlavourJet.C:221
 AddTasksFlavourJet.C:222
 AddTasksFlavourJet.C:223
 AddTasksFlavourJet.C:224
 AddTasksFlavourJet.C:225
 AddTasksFlavourJet.C:226
 AddTasksFlavourJet.C:227
 AddTasksFlavourJet.C:228
 AddTasksFlavourJet.C:229
 AddTasksFlavourJet.C:230
 AddTasksFlavourJet.C:231
 AddTasksFlavourJet.C:232
 AddTasksFlavourJet.C:233
 AddTasksFlavourJet.C:234
 AddTasksFlavourJet.C:235
 AddTasksFlavourJet.C:236
 AddTasksFlavourJet.C:237
 AddTasksFlavourJet.C:238
 AddTasksFlavourJet.C:239
 AddTasksFlavourJet.C:240
 AddTasksFlavourJet.C:241
 AddTasksFlavourJet.C:242
 AddTasksFlavourJet.C:243
 AddTasksFlavourJet.C:244
 AddTasksFlavourJet.C:245
 AddTasksFlavourJet.C:246
 AddTasksFlavourJet.C:247
 AddTasksFlavourJet.C:248
 AddTasksFlavourJet.C:249
 AddTasksFlavourJet.C:250
 AddTasksFlavourJet.C:251
 AddTasksFlavourJet.C:252
 AddTasksFlavourJet.C:253
 AddTasksFlavourJet.C:254
 AddTasksFlavourJet.C:255
 AddTasksFlavourJet.C:256
 AddTasksFlavourJet.C:257
 AddTasksFlavourJet.C:258
 AddTasksFlavourJet.C:259
 AddTasksFlavourJet.C:260
 AddTasksFlavourJet.C:261
 AddTasksFlavourJet.C:262
 AddTasksFlavourJet.C:263
 AddTasksFlavourJet.C:264
 AddTasksFlavourJet.C:265
 AddTasksFlavourJet.C:266
 AddTasksFlavourJet.C:267
 AddTasksFlavourJet.C:268
 AddTasksFlavourJet.C:269
 AddTasksFlavourJet.C:270
 AddTasksFlavourJet.C:271
 AddTasksFlavourJet.C:272
 AddTasksFlavourJet.C:273
 AddTasksFlavourJet.C:274
 AddTasksFlavourJet.C:275
 AddTasksFlavourJet.C:276
 AddTasksFlavourJet.C:277
 AddTasksFlavourJet.C:278
 AddTasksFlavourJet.C:279
 AddTasksFlavourJet.C:280
 AddTasksFlavourJet.C:281
 AddTasksFlavourJet.C:282
 AddTasksFlavourJet.C:283
 AddTasksFlavourJet.C:284
 AddTasksFlavourJet.C:285
 AddTasksFlavourJet.C:286
 AddTasksFlavourJet.C:287
 AddTasksFlavourJet.C:288
 AddTasksFlavourJet.C:289
 AddTasksFlavourJet.C:290
 AddTasksFlavourJet.C:291
 AddTasksFlavourJet.C:292
 AddTasksFlavourJet.C:293
 AddTasksFlavourJet.C:294
 AddTasksFlavourJet.C:295
 AddTasksFlavourJet.C:296
 AddTasksFlavourJet.C:297
 AddTasksFlavourJet.C:298
 AddTasksFlavourJet.C:299
 AddTasksFlavourJet.C:300
 AddTasksFlavourJet.C:301
 AddTasksFlavourJet.C:302
 AddTasksFlavourJet.C:303
 AddTasksFlavourJet.C:304
 AddTasksFlavourJet.C:305
 AddTasksFlavourJet.C:306
 AddTasksFlavourJet.C:307
 AddTasksFlavourJet.C:308
 AddTasksFlavourJet.C:309
 AddTasksFlavourJet.C:310
 AddTasksFlavourJet.C:311
 AddTasksFlavourJet.C:312
 AddTasksFlavourJet.C:313
 AddTasksFlavourJet.C:314
 AddTasksFlavourJet.C:315
 AddTasksFlavourJet.C:316
 AddTasksFlavourJet.C:317
 AddTasksFlavourJet.C:318
 AddTasksFlavourJet.C:319
 AddTasksFlavourJet.C:320
 AddTasksFlavourJet.C:321
 AddTasksFlavourJet.C:322
 AddTasksFlavourJet.C:323
 AddTasksFlavourJet.C:324
 AddTasksFlavourJet.C:325
 AddTasksFlavourJet.C:326
 AddTasksFlavourJet.C:327
 AddTasksFlavourJet.C:328
 AddTasksFlavourJet.C:329
 AddTasksFlavourJet.C:330
 AddTasksFlavourJet.C:331
 AddTasksFlavourJet.C:332
 AddTasksFlavourJet.C:333
 AddTasksFlavourJet.C:334
 AddTasksFlavourJet.C:335
 AddTasksFlavourJet.C:336
 AddTasksFlavourJet.C:337
 AddTasksFlavourJet.C:338
 AddTasksFlavourJet.C:339
 AddTasksFlavourJet.C:340
 AddTasksFlavourJet.C:341
 AddTasksFlavourJet.C:342
 AddTasksFlavourJet.C:343
 AddTasksFlavourJet.C:344
 AddTasksFlavourJet.C:345
 AddTasksFlavourJet.C:346
 AddTasksFlavourJet.C:347
 AddTasksFlavourJet.C:348
 AddTasksFlavourJet.C:349
 AddTasksFlavourJet.C:350
 AddTasksFlavourJet.C:351
 AddTasksFlavourJet.C:352
 AddTasksFlavourJet.C:353
 AddTasksFlavourJet.C:354
 AddTasksFlavourJet.C:355
 AddTasksFlavourJet.C:356
 AddTasksFlavourJet.C:357
 AddTasksFlavourJet.C:358
 AddTasksFlavourJet.C:359
 AddTasksFlavourJet.C:360
 AddTasksFlavourJet.C:361
 AddTasksFlavourJet.C:362
 AddTasksFlavourJet.C:363
 AddTasksFlavourJet.C:364
 AddTasksFlavourJet.C:365
 AddTasksFlavourJet.C:366
 AddTasksFlavourJet.C:367
 AddTasksFlavourJet.C:368
 AddTasksFlavourJet.C:369
 AddTasksFlavourJet.C:370
 AddTasksFlavourJet.C:371
 AddTasksFlavourJet.C:372
 AddTasksFlavourJet.C:373
 AddTasksFlavourJet.C:374