ROOT logo
AliAnalysisTaskSESelectHF4Prong *AddTaskSelectHF4Prong()
{
  //
  // Test macro for the AliAnalysisTaskSE for heavy-flavour selection
  // and creation of a stand-alone AOD
  // A.Dainese, andrea.dainese@lnl.infn.it
  // F.Colamaria, fabio.colamaria@ba.infn.it
  //

  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskSelectHF4Prong", "No analysis manager to connect to.");
    return NULL;
  }   

  // Output 
  AliAODHandler *aodHandler   = new AliAODHandler();
  aodHandler->SetOutputFileName("AliAOD.VertexingHF.sa.root");
  aodHandler->SetCreateNonStandardAOD();
  mgr->SetOutputEventHandler(aodHandler);
 
  //Cuts loading
  TFile* filecuts=TFile::Open("Charm4ProngCutsDef.root");
  if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
    cout<<"Input file not found: exit"<<endl;
    return;
  }

  AliRDHFCutsD0toKpipipi* RDHFCharm4Prong=new AliRDHFCutsD0toKpipipi();
  RDHFCharm4Prong = (AliRDHFCutsD0toKpipipi*)filecuts->Get("Charm4ProngCuts");
  RDHFCharm4Prong->SetName(Form("Charm4ProngCuts%d",1));

  if(!RDHFCharm4Prong){
    cout<<"Specific AliRDHFCuts not found"<<endl;
    return;
  }

  // Analysis task    
  AliAnalysisTaskSESelectHF4Prong *hfTask = new AliAnalysisTaskSESelectHF4Prong("SelectHFAnalysis",RDHFCharm4Prong);
  hfTask->SetDebugLevel(2);
  mgr->AddTask(hfTask);  

  // Create containers for input/output
  mgr->ConnectInput(hfTask,0,mgr->GetCommonInputContainer());

  AliAnalysisDataContainer *contHist = mgr->CreateContainer("histos_bin1",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");
  AliAnalysisDataContainer *contHist2 = mgr->CreateContainer("histos_bin2",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");
  AliAnalysisDataContainer *contHist3 = mgr->CreateContainer("histos_bin3",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");
  AliAnalysisDataContainer *contHist4 = mgr->CreateContainer("histos_bin4",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");
  AliAnalysisDataContainer *contHist5 = mgr->CreateContainer("histos_bin5",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");
  AliAnalysisDataContainer *contHistCuts = mgr->CreateContainer("histoscuts",TList::Class(),AliAnalysisManager::kOutputContainer,"HistMassInvAndCuts.root");

  mgr->ConnectOutput(hfTask,0,mgr->GetCommonOutputContainer());
  mgr->ConnectOutput(hfTask,1,contHist);
  mgr->ConnectOutput(hfTask,2,contHist2);
  mgr->ConnectOutput(hfTask,3,contHist3);
  mgr->ConnectOutput(hfTask,4,contHist4);
  mgr->ConnectOutput(hfTask,5,contHist5);
  mgr->ConnectOutput(hfTask,6,contHistCuts);

  return hfTask;
}
 AddTaskSelectHF4Prong.C:1
 AddTaskSelectHF4Prong.C:2
 AddTaskSelectHF4Prong.C:3
 AddTaskSelectHF4Prong.C:4
 AddTaskSelectHF4Prong.C:5
 AddTaskSelectHF4Prong.C:6
 AddTaskSelectHF4Prong.C:7
 AddTaskSelectHF4Prong.C:8
 AddTaskSelectHF4Prong.C:9
 AddTaskSelectHF4Prong.C:10
 AddTaskSelectHF4Prong.C:11
 AddTaskSelectHF4Prong.C:12
 AddTaskSelectHF4Prong.C:13
 AddTaskSelectHF4Prong.C:14
 AddTaskSelectHF4Prong.C:15
 AddTaskSelectHF4Prong.C:16
 AddTaskSelectHF4Prong.C:17
 AddTaskSelectHF4Prong.C:18
 AddTaskSelectHF4Prong.C:19
 AddTaskSelectHF4Prong.C:20
 AddTaskSelectHF4Prong.C:21
 AddTaskSelectHF4Prong.C:22
 AddTaskSelectHF4Prong.C:23
 AddTaskSelectHF4Prong.C:24
 AddTaskSelectHF4Prong.C:25
 AddTaskSelectHF4Prong.C:26
 AddTaskSelectHF4Prong.C:27
 AddTaskSelectHF4Prong.C:28
 AddTaskSelectHF4Prong.C:29
 AddTaskSelectHF4Prong.C:30
 AddTaskSelectHF4Prong.C:31
 AddTaskSelectHF4Prong.C:32
 AddTaskSelectHF4Prong.C:33
 AddTaskSelectHF4Prong.C:34
 AddTaskSelectHF4Prong.C:35
 AddTaskSelectHF4Prong.C:36
 AddTaskSelectHF4Prong.C:37
 AddTaskSelectHF4Prong.C:38
 AddTaskSelectHF4Prong.C:39
 AddTaskSelectHF4Prong.C:40
 AddTaskSelectHF4Prong.C:41
 AddTaskSelectHF4Prong.C:42
 AddTaskSelectHF4Prong.C:43
 AddTaskSelectHF4Prong.C:44
 AddTaskSelectHF4Prong.C:45
 AddTaskSelectHF4Prong.C:46
 AddTaskSelectHF4Prong.C:47
 AddTaskSelectHF4Prong.C:48
 AddTaskSelectHF4Prong.C:49
 AddTaskSelectHF4Prong.C:50
 AddTaskSelectHF4Prong.C:51
 AddTaskSelectHF4Prong.C:52
 AddTaskSelectHF4Prong.C:53
 AddTaskSelectHF4Prong.C:54
 AddTaskSelectHF4Prong.C:55
 AddTaskSelectHF4Prong.C:56
 AddTaskSelectHF4Prong.C:57
 AddTaskSelectHF4Prong.C:58
 AddTaskSelectHF4Prong.C:59
 AddTaskSelectHF4Prong.C:60
 AddTaskSelectHF4Prong.C:61
 AddTaskSelectHF4Prong.C:62
 AddTaskSelectHF4Prong.C:63
 AddTaskSelectHF4Prong.C:64