ROOT logo
AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations(
  Bool_t theMCon = kFALSE,
  Bool_t reco = kTRUE /*must be true if theMCon is false*/,
  TString jetArrname = "",
  UInt_t pSel=AliVEvent::kAny,
  TString trigClass="",
  TString suffix = "",
  TString trackArrname = "PicoTracks",
  Bool_t triggerOnLeadingJet = kFALSE,
  Int_t leadingHadType = 0 /*0 = charged, 1 = neutral, 2 = both*/,
  Float_t R = 0.4,
  Float_t jptcut = 10.,
  const char *cutType = "TPC",
  Double_t percjetareacut = 1.,
  Bool_t bJetOnly=kTRUE
  )
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
     ::Error("AddTaskFlavourJetCorrelations::AddTaskFlavourJetCorrelations", "No analysis manager to connect to.");
     return NULL;
  } 
  if(bJetOnly){//only jet histograms, no correlation with D mesons
     
     //used for event selection
     AliRDHFCuts *dummyDcut=new AliRDHFCutsD0toKpi("dummy");
     dummyDcut->SetTriggerMask(pSel);
     dummyDcut->SetTriggerClass(trigClass);
     AliAODPidHF *pidHF=new AliAODPidHF();
     dummyDcut->SetPidHF(pidHF);
     
     Int_t dummycand=AliAnalysisTaskFlavourJetCorrelations::kD0toKpi;
     
     // create the task
     AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations", 
     	dummyDcut, dummycand, bJetOnly);
     task->SetJetArrayName(jetArrname);
     task->SetTrackArrayName(trackArrname);
     task->SetMC(theMCon);
     task->SetUseReco(reco);
     task->SetTriggerOnLeadingJet(triggerOnLeadingJet);
     task->SetJetAcceptanceType(cutType);
     task->SetJetPtCut(jptcut);
     task->SetPercAreaCut(percjetareacut);
     mgr->AddTask(task);

     if(theMCon) {
     	suffix+="MC";
     	if(reco) suffix+="rec";  
     }
     
     // Create and connect containers for input/output
     TString outputfile = AliAnalysisManager::GetCommonFileName();
     outputfile += ":PWGJE_HF_DEmcalJet";
     outputfile += jetArrname;
     outputfile += trigClass;
     TString nameContainer1="listJets";
     TString nameContainer2="evselCut";
     //nameContainer1 += candname;
     
     nameContainer1 += suffix;
     nameContainer2 += suffix;
     
     // ------ input data ------
     AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
     
     // ----- output data -----
     AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
     AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer2, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());

     mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
     mgr->ConnectOutput(task,1,coutput1);
     mgr->ConnectOutput(task,2,coutput2);

     
  } else{
     AliFatal("ERROR: Use AddTaskDFilterAndCorrelations instead");
     
  }

  Printf("Input and Output connected to the manager");
  return task ;
}
 AddTaskFlavourJetCorrelations.C:1
 AddTaskFlavourJetCorrelations.C:2
 AddTaskFlavourJetCorrelations.C:3
 AddTaskFlavourJetCorrelations.C:4
 AddTaskFlavourJetCorrelations.C:5
 AddTaskFlavourJetCorrelations.C:6
 AddTaskFlavourJetCorrelations.C:7
 AddTaskFlavourJetCorrelations.C:8
 AddTaskFlavourJetCorrelations.C:9
 AddTaskFlavourJetCorrelations.C:10
 AddTaskFlavourJetCorrelations.C:11
 AddTaskFlavourJetCorrelations.C:12
 AddTaskFlavourJetCorrelations.C:13
 AddTaskFlavourJetCorrelations.C:14
 AddTaskFlavourJetCorrelations.C:15
 AddTaskFlavourJetCorrelations.C:16
 AddTaskFlavourJetCorrelations.C:17
 AddTaskFlavourJetCorrelations.C:18
 AddTaskFlavourJetCorrelations.C:19
 AddTaskFlavourJetCorrelations.C:20
 AddTaskFlavourJetCorrelations.C:21
 AddTaskFlavourJetCorrelations.C:22
 AddTaskFlavourJetCorrelations.C:23
 AddTaskFlavourJetCorrelations.C:24
 AddTaskFlavourJetCorrelations.C:25
 AddTaskFlavourJetCorrelations.C:26
 AddTaskFlavourJetCorrelations.C:27
 AddTaskFlavourJetCorrelations.C:28
 AddTaskFlavourJetCorrelations.C:29
 AddTaskFlavourJetCorrelations.C:30
 AddTaskFlavourJetCorrelations.C:31
 AddTaskFlavourJetCorrelations.C:32
 AddTaskFlavourJetCorrelations.C:33
 AddTaskFlavourJetCorrelations.C:34
 AddTaskFlavourJetCorrelations.C:35
 AddTaskFlavourJetCorrelations.C:36
 AddTaskFlavourJetCorrelations.C:37
 AddTaskFlavourJetCorrelations.C:38
 AddTaskFlavourJetCorrelations.C:39
 AddTaskFlavourJetCorrelations.C:40
 AddTaskFlavourJetCorrelations.C:41
 AddTaskFlavourJetCorrelations.C:42
 AddTaskFlavourJetCorrelations.C:43
 AddTaskFlavourJetCorrelations.C:44
 AddTaskFlavourJetCorrelations.C:45
 AddTaskFlavourJetCorrelations.C:46
 AddTaskFlavourJetCorrelations.C:47
 AddTaskFlavourJetCorrelations.C:48
 AddTaskFlavourJetCorrelations.C:49
 AddTaskFlavourJetCorrelations.C:50
 AddTaskFlavourJetCorrelations.C:51
 AddTaskFlavourJetCorrelations.C:52
 AddTaskFlavourJetCorrelations.C:53
 AddTaskFlavourJetCorrelations.C:54
 AddTaskFlavourJetCorrelations.C:55
 AddTaskFlavourJetCorrelations.C:56
 AddTaskFlavourJetCorrelations.C:57
 AddTaskFlavourJetCorrelations.C:58
 AddTaskFlavourJetCorrelations.C:59
 AddTaskFlavourJetCorrelations.C:60
 AddTaskFlavourJetCorrelations.C:61
 AddTaskFlavourJetCorrelations.C:62
 AddTaskFlavourJetCorrelations.C:63
 AddTaskFlavourJetCorrelations.C:64
 AddTaskFlavourJetCorrelations.C:65
 AddTaskFlavourJetCorrelations.C:66
 AddTaskFlavourJetCorrelations.C:67
 AddTaskFlavourJetCorrelations.C:68
 AddTaskFlavourJetCorrelations.C:69
 AddTaskFlavourJetCorrelations.C:70
 AddTaskFlavourJetCorrelations.C:71
 AddTaskFlavourJetCorrelations.C:72
 AddTaskFlavourJetCorrelations.C:73
 AddTaskFlavourJetCorrelations.C:74
 AddTaskFlavourJetCorrelations.C:75
 AddTaskFlavourJetCorrelations.C:76
 AddTaskFlavourJetCorrelations.C:77
 AddTaskFlavourJetCorrelations.C:78
 AddTaskFlavourJetCorrelations.C:79
 AddTaskFlavourJetCorrelations.C:80
 AddTaskFlavourJetCorrelations.C:81
 AddTaskFlavourJetCorrelations.C:82
 AddTaskFlavourJetCorrelations.C:83
 AddTaskFlavourJetCorrelations.C:84