ROOT logo
#if ! defined (__CINT__) || defined (__MAKECINT__)
#include "TError.h"
#include "AliLog.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisDataContainer.h"
#include "PWGPP/TRD/AliTRDpwgppHelper.h"
#include "PWGPP/TRD/AliTRDcheckDET.h"
#include "PWGPP/TRD/AliTRDcalibration.h"
#endif

void AddTRDcheckDET(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
{
  Info("AddTRDcheckDET", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\" [3]=\"%s\" [4]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName(), ci[3]->GetName(), ci[4]->GetName()));
  AliAnalysisDataContainer *evInfoContainer = ci[3];

  //AliLog::SetClassDebugLevel("AliTRDcheckDET", 5);
  AliTRDcheckDET *task(NULL);
  mgr->AddTask(task = new AliTRDcheckDET((char*)"TRDcheckDET"));
  task->UseClustersOutsideChamber();
  task->SetDebugLevel(0);
  task->SetMCdata(mgr->GetMCtruthEventHandler());
  
  // Create containers for input/output
  Int_t trackStatus = 0; // barrel tracks
//                    = 1; // kink tracks
//                    = 2; // SA tracks
  mgr->ConnectInput ( task, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
  mgr->ConnectInput ( task, 1, ci[trackStatus]);                // conect track info container
  mgr->ConnectInput ( task, 2, evInfoContainer);                // conect event info container
  mgr->ConnectInput ( task, 3, ci[4]);                          // conect clusters container
  mgr->ConnectOutput( task, 1, mgr->CreateContainer(task->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance",mgr->GetCommonFileName())));
  

  // CALIBRATION
  if(!(TESTBIT(map, AliTRDpwgppHelper::kCalibration))) return;
  AliTRDcalibration *ctask(NULL);
  mgr->AddTask(ctask = new AliTRDcalibration((char*)"calibration"));
  ctask->SetHisto2d(kTRUE);
  ctask->SetVector2d(kTRUE);
  ctask->SetVdriftLinear(kTRUE);
  ctask->SetNz(0,0);
  ctask->SetNrphi(0,0);
  ctask->SetNz(0,1);
  ctask->SetNrphi(0,1);
  ctask->SetNz(0,2);
  ctask->SetNrphi(0,2);
  ctask->SetLow(0);
  ctask->SetHigh(30);
  ctask->SetFillZero(kFALSE);
  ctask->SetDebugLevel(1);

  // Create containers for input/output
  mgr->ConnectInput(ctask,  0, mgr->GetCommonInputContainer());
  mgr->ConnectInput(ctask,  1, ci[0]);
  mgr->ConnectOutput(ctask, 1, mgr->CreateContainer(ctask->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
}
 AddTRDcheckDET.C:1
 AddTRDcheckDET.C:2
 AddTRDcheckDET.C:3
 AddTRDcheckDET.C:4
 AddTRDcheckDET.C:5
 AddTRDcheckDET.C:6
 AddTRDcheckDET.C:7
 AddTRDcheckDET.C:8
 AddTRDcheckDET.C:9
 AddTRDcheckDET.C:10
 AddTRDcheckDET.C:11
 AddTRDcheckDET.C:12
 AddTRDcheckDET.C:13
 AddTRDcheckDET.C:14
 AddTRDcheckDET.C:15
 AddTRDcheckDET.C:16
 AddTRDcheckDET.C:17
 AddTRDcheckDET.C:18
 AddTRDcheckDET.C:19
 AddTRDcheckDET.C:20
 AddTRDcheckDET.C:21
 AddTRDcheckDET.C:22
 AddTRDcheckDET.C:23
 AddTRDcheckDET.C:24
 AddTRDcheckDET.C:25
 AddTRDcheckDET.C:26
 AddTRDcheckDET.C:27
 AddTRDcheckDET.C:28
 AddTRDcheckDET.C:29
 AddTRDcheckDET.C:30
 AddTRDcheckDET.C:31
 AddTRDcheckDET.C:32
 AddTRDcheckDET.C:33
 AddTRDcheckDET.C:34
 AddTRDcheckDET.C:35
 AddTRDcheckDET.C:36
 AddTRDcheckDET.C:37
 AddTRDcheckDET.C:38
 AddTRDcheckDET.C:39
 AddTRDcheckDET.C:40
 AddTRDcheckDET.C:41
 AddTRDcheckDET.C:42
 AddTRDcheckDET.C:43
 AddTRDcheckDET.C:44
 AddTRDcheckDET.C:45
 AddTRDcheckDET.C:46
 AddTRDcheckDET.C:47
 AddTRDcheckDET.C:48
 AddTRDcheckDET.C:49
 AddTRDcheckDET.C:50
 AddTRDcheckDET.C:51
 AddTRDcheckDET.C:52
 AddTRDcheckDET.C:53
 AddTRDcheckDET.C:54
 AddTRDcheckDET.C:55
 AddTRDcheckDET.C:56
 AddTRDcheckDET.C:57