ROOT logo
AliAnalysisTask *AddTaskTender(Bool_t useV0 = kTRUE)
{
  // get the current analysis manager
  Bool_t checkEvtSelection = useV0;
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTask_tender_Tender", "No analysis manager found.");
    return 0;
  }
  // currently don't accept AOD input
  //if (!mgr->GetInputEventHandler()->InheritsFrom(AliESDInputHandler::Class())) {
  //  Error("AddTask_tender_Tender","The analysis tender only works with ESD input!");
  //  return 0;
  // }

  
  //========= Add tender to the ANALYSIS manager and set default storage =====
  AliTender *tender=new AliTender("AnalysisTender");
  tender->SetCheckEventSelection(checkEvtSelection);
  tender->SetDefaultCDBStorage("raw://");
  mgr->AddTask(tender);
  if (checkEvtSelection) {
     if (mgr->GetTasks()->First() != (TObject*)tender) {
        ::Error("When setting the tender to check the event selection, it has to be the first wagon ! Aborting.");
        return NULL;
     }
  }   
  
  //========= Attach VZERO supply ======
  if (useV0) {
     AliVZEROTenderSupply *vzeroSupply=new AliVZEROTenderSupply("VZEROtender");
     vzeroSupply->SetDebug(kFALSE);
     tender->AddSupply(vzeroSupply);
  }   
  //========= Attach TPC supply ======
  AliTPCTenderSupply *tpcSupply=new AliTPCTenderSupply("TPCtender");
  tpcSupply->SetDebugLevel(2);
  //tpcSupply->SetMip(50.);
  tender->AddSupply(tpcSupply);

  //========= Attach TOF supply ======
  AliTOFTenderSupply *tofTender = new AliTOFTenderSupply("TOFtender");
  tender->AddSupply(tofTender);
  
  //========= Attach TRD supply ======
  AliTRDTenderSupply *trdSupply=new AliTRDTenderSupply("TRDtender");
  tender->AddSupply(trdSupply);

  //========= Attach PID supply ======
  tender->AddSupply(new AliPIDTenderSupply("PIDtender"));

  //========= Attach Primary Vertex supply ======
  tender->AddSupply(new AliVtxTenderSupply("PriVtxtender"));
  
  //================================================
  //              data containers
  //================================================

    //            define output containers, please use 'username'_'somename'
  AliAnalysisDataContainer *coutput1 =
      mgr->CreateContainer("tender_event", AliESDEvent::Class(),
                           AliAnalysisManager::kExchangeContainer,"default_tender");
 
  //           connect containers
  mgr->ConnectInput  (tender,  0, mgr->GetCommonInputContainer() );
  mgr->ConnectOutput (tender,  1, coutput1);
 
  return tender;
}
 AddTaskTender.C:1
 AddTaskTender.C:2
 AddTaskTender.C:3
 AddTaskTender.C:4
 AddTaskTender.C:5
 AddTaskTender.C:6
 AddTaskTender.C:7
 AddTaskTender.C:8
 AddTaskTender.C:9
 AddTaskTender.C:10
 AddTaskTender.C:11
 AddTaskTender.C:12
 AddTaskTender.C:13
 AddTaskTender.C:14
 AddTaskTender.C:15
 AddTaskTender.C:16
 AddTaskTender.C:17
 AddTaskTender.C:18
 AddTaskTender.C:19
 AddTaskTender.C:20
 AddTaskTender.C:21
 AddTaskTender.C:22
 AddTaskTender.C:23
 AddTaskTender.C:24
 AddTaskTender.C:25
 AddTaskTender.C:26
 AddTaskTender.C:27
 AddTaskTender.C:28
 AddTaskTender.C:29
 AddTaskTender.C:30
 AddTaskTender.C:31
 AddTaskTender.C:32
 AddTaskTender.C:33
 AddTaskTender.C:34
 AddTaskTender.C:35
 AddTaskTender.C:36
 AddTaskTender.C:37
 AddTaskTender.C:38
 AddTaskTender.C:39
 AddTaskTender.C:40
 AddTaskTender.C:41
 AddTaskTender.C:42
 AddTaskTender.C:43
 AddTaskTender.C:44
 AddTaskTender.C:45
 AddTaskTender.C:46
 AddTaskTender.C:47
 AddTaskTender.C:48
 AddTaskTender.C:49
 AddTaskTender.C:50
 AddTaskTender.C:51
 AddTaskTender.C:52
 AddTaskTender.C:53
 AddTaskTender.C:54
 AddTaskTender.C:55
 AddTaskTender.C:56
 AddTaskTender.C:57
 AddTaskTender.C:58
 AddTaskTender.C:59
 AddTaskTender.C:60
 AddTaskTender.C:61
 AddTaskTender.C:62
 AddTaskTender.C:63
 AddTaskTender.C:64
 AddTaskTender.C:65
 AddTaskTender.C:66
 AddTaskTender.C:67
 AddTaskTender.C:68
 AddTaskTender.C:69
 AddTaskTender.C:70