ROOT logo
//___________________________________________________________________________

LoadLibraries()
{
  gSystem->Load("libANALYSIS");
  gSystem->Load("libANALYSISalice");
  gSystem->Load("libTOFcalib");
}

//___________________________________________________________________________

MakeOCDB(const Char_t *filename = "TOFCalibPass0.root", const Char_t *dbString = "local://$HOME/OCDB")
{
  LoadLibraries();
  AliTOFAnalysisTaskCalibPass0 calibTask;
  calibTask.ProcessOutput(filename, dbString);
  printf("TOF calibration status code: %d\n", calibTask.GetStatus()); 
}

//___________________________________________________________________________

SteerTask(const Char_t *inputfilename, Int_t maxFiles = kMaxInt, Int_t maxEv = kMaxInt)
{

  LoadLibraries();

  /* setup input chain */
  TString str = inputfilename;
  const Char_t *filename;
  TChain *chain = new TChain("esdTree");
  if (str.EndsWith(".xml")) {
    TGrid::Connect("alien://");
    Info("SteerTaskEventTime", "reading data list from collection:");
    TAlienCollection coll(inputfilename, maxFiles);
    coll.Reset();
    while (coll.Next()) {
      filename = coll.GetTURL();
      Info("SteerTaskEventTime", Form("%s", filename));
      chain->Add(filename);
    }
  }
  else if (str.EndsWith(".txt")) {
    Info("SteerTaskEventTime", "reading data list from text file:");
    ifstream is(inputfilename);
    Char_t buf[4096];
    while(!is.eof()) {
      is.getline(buf, 4096);
      if (is.eof()) break;
      chain->Add(buf);
      Info("SteerTaskEventTime", Form("%s", buf));
    }
    is.close();
  }
  else {
    Info("SteerTaskEventTime", "single file:");
    filename = inputfilename;
    Info("SteerTaskEventTime", Form("%s", filename));
    chain->Add(filename);
  }
  Info("SteerTaskEventTime", Form("chain is ready: %d events", chain->GetEntries()));

  /* create analysis manager */
  AliAnalysisManager *mgr = new AliAnalysisManager("EventTime");

  /* define input event handler */
  AliESDInputHandler *esdh = new AliESDInputHandler();
  esdh->SetReadFriends(kFALSE);
  mgr->SetInputEventHandler(esdh);

  /* add tasks */
  gROOT->LoadMacro("$ALICE_ROOT/TOF/AddTOFAnalysisTaskCalibPass0.C");
  AliTOFAnalysisTaskCalibPass0 *thisTask = AddTOFAnalysisTaskCalibPass0();

  /* start analysis */
  mgr->SetDebugLevel(0);
  if (!mgr->InitAnalysis()) return;
  mgr->PrintStatus();
  mgr->StartAnalysis("local", chain, maxEv);

  /* create dummy file to tell we are done */
  gSystem->Exec("touch done");

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