ROOT logo
#if ! defined (__CINT__) || defined (__MAKECINT__)
#include "AliLog.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisDataContainer.h"
#include "PWGPP/TRD/AliTRDinfoGen.h"
#include "PWGPP/TRD/AliTRDpwgppHelper.h"
#include "PWGPP/TRD/info/AliTRDeventInfo.h"
#include "PWGPP/TRD/info/AliTRDeventCuts.h"
#endif

void AddTRDinfoGen(AliAnalysisManager *mgr, Int_t /*map*/, AliAnalysisDataContainer **/*ci*/, AliAnalysisDataContainer **co)
{
  Bool_t mc = (Bool_t)mgr->GetMCtruthEventHandler();
  //AliLog::SetClassDebugLevel("AliTRDinfoGen", 2);
  AliTRDinfoGen *info(NULL);
  mgr->AddTask(info = new AliTRDinfoGen((char*)"TRDinfoGen"));
  info->SetDebugLevel(0);
  info->SetMCdata(mc);
  info->SetLocalTrkSelection();
  info->UseTrackPoints(kFALSE); // set it to true if track points for alignment are to be saved in trackInfo object
  info->SetOCDB("alien://folder=/alice/data/2010/OCDB");
  // settings for collisions
  info->SetCollision(/*kFALSE*/);
  if(info->IsCollision()){
    AliTRDeventCuts ec;
    if(mc){
      ec.SetEventType(0);
//      ec.AddTrigger("MB1");
    } else {
/*      Int_t bunches[] = ;
      ec.SetBunchSelection();*/
/*      ec.AddTrigger("CINT1B-ABCE-NOPF-ALL");
      ec.AddTrigger("CINT5-B-NOPF-ALL");
      ec.AddTrigger("CINT1WU-B-NOPF-ALL");
      ec.AddTrigger("CINT5WU-B-NOPF-ALL");
      ec.AddTrigger("CINT7WU-I-NOPF-ALL");
      ec.AddTrigger("CSCO1-ABCE-NOPF-CENT"); // cosmic SPD trigger
*/
    }
    info->SetLocalEvSelection(ec);
  }
  
  // Connect IO slots
  mgr->ConnectInput (info, 0, mgr->GetCommonInputContainer());
  co[AliTRDpwgppHelper::kEventInfo] = mgr->CreateContainer("eventInfo", AliTRDeventInfo::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kTracksBarrel] = mgr->CreateContainer("tracksBarrel", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kTracksITS] = mgr->CreateContainer("tracksITS", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kTracksSA] = mgr->CreateContainer("tracksSA", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kTracksKink] = mgr->CreateContainer("tracksKink", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kV0List] = mgr->CreateContainer("v0List", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  co[AliTRDpwgppHelper::kClusters] = mgr->CreateContainer("clusters", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
  for(Int_t ios(1);ios<AliTRDpwgppHelper::kNOutSlots-1;ios++) mgr->ConnectOutput(info, ios, co[ios]);
  
  // add last monitor container
  AliAnalysisDataContainer *mon=mgr->CreateContainer(info->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance",mgr->GetCommonFileName()));
  mgr->ConnectOutput(info, AliTRDpwgppHelper::kNOutSlots-1, mon);
}

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