ROOT logo
// $Id$
/*
 * Benchmark macro for transportation of AliExternalTrackParam arrays.
 *
 * Usage:
 * <pre>
 *   aliroot -b -q bench-externaltrackparam.C | tee bench-externaltrackparam.log
 * </pre>
 *
 *
 * @ingroup alihlt_benchmark
 * @author Matthias.Richter@ift.uib.no
 */
void bench_externaltrackparam_sequence(int events=100)
{
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // init the HLT system in order to define the analysis chain below
  //
  AliHLTSystem* gHLT=AliHLTPluginBase::GetInstance();
  gHLT->SetGlobalLoggingLevel(0x7c);

  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // define the analysis chain to be run
  //
  int verbosity=0;
  int levels=11;
  TString lastPublisher;
  TString arg;
  for (int pub=0; pub<levels; pub++) {
    TString publisher;
    // publishers of AliExternalTrackParam arrays
    publisher.Form("PUB_%02d", pub);
    arg="-minsize 9000 -maxsize 10000";
    //arg="-minsize 1 -maxsize 2";
    if (pub<10) {
      // first 10 ones are TClonesArrays with the corresponding compression
      arg+=" -tclonesarray";
      //arg+=" -tobjarray";
      arg+=" -object-compression="; arg+=pub;
    } else {
      // last one is a c-array without compression
      arg+=" -carray";
    }

    arg+=" -rangeoffset -1000 -rangemodulo "; arg+=events/10;
    arg+=" -verbosity "; arg+=verbosity;
    AliHLTConfiguration publisherconf(publisher.Data(), "BenchmarkAliExternalTrackParam", lastPublisher.Data(), arg.Data());
    lastPublisher=publisher;
  }

  arg=" -verbosity "; arg+=verbosity;
  AliHLTConfiguration dumpconf("sink1", "BenchmarkAliExternalTrackParam"   , lastPublisher.Data(), "-verbosity 1");

  AliHLTConfiguration statconf("stat", "StatisticsCollector", /*dumpInput.Data()*/"sink1", "");

  AliHLTConfiguration writer("statwriter", "ROOTFileWriter"   , "stat", "-datafile HLT.statistics.root -concatenate-events -overwrite");

  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // Init and run the chain
  //
  gHLT->LoadComponentLibraries("libAliHLTBenchmark.so libAliHLTUtil.so");
  gHLT->BuildTaskList("statwriter");
  gHLT->Run(events);
}
 bench-externaltrackparam-sequence.C:1
 bench-externaltrackparam-sequence.C:2
 bench-externaltrackparam-sequence.C:3
 bench-externaltrackparam-sequence.C:4
 bench-externaltrackparam-sequence.C:5
 bench-externaltrackparam-sequence.C:6
 bench-externaltrackparam-sequence.C:7
 bench-externaltrackparam-sequence.C:8
 bench-externaltrackparam-sequence.C:9
 bench-externaltrackparam-sequence.C:10
 bench-externaltrackparam-sequence.C:11
 bench-externaltrackparam-sequence.C:12
 bench-externaltrackparam-sequence.C:13
 bench-externaltrackparam-sequence.C:14
 bench-externaltrackparam-sequence.C:15
 bench-externaltrackparam-sequence.C:16
 bench-externaltrackparam-sequence.C:17
 bench-externaltrackparam-sequence.C:18
 bench-externaltrackparam-sequence.C:19
 bench-externaltrackparam-sequence.C:20
 bench-externaltrackparam-sequence.C:21
 bench-externaltrackparam-sequence.C:22
 bench-externaltrackparam-sequence.C:23
 bench-externaltrackparam-sequence.C:24
 bench-externaltrackparam-sequence.C:25
 bench-externaltrackparam-sequence.C:26
 bench-externaltrackparam-sequence.C:27
 bench-externaltrackparam-sequence.C:28
 bench-externaltrackparam-sequence.C:29
 bench-externaltrackparam-sequence.C:30
 bench-externaltrackparam-sequence.C:31
 bench-externaltrackparam-sequence.C:32
 bench-externaltrackparam-sequence.C:33
 bench-externaltrackparam-sequence.C:34
 bench-externaltrackparam-sequence.C:35
 bench-externaltrackparam-sequence.C:36
 bench-externaltrackparam-sequence.C:37
 bench-externaltrackparam-sequence.C:38
 bench-externaltrackparam-sequence.C:39
 bench-externaltrackparam-sequence.C:40
 bench-externaltrackparam-sequence.C:41
 bench-externaltrackparam-sequence.C:42
 bench-externaltrackparam-sequence.C:43
 bench-externaltrackparam-sequence.C:44
 bench-externaltrackparam-sequence.C:45
 bench-externaltrackparam-sequence.C:46
 bench-externaltrackparam-sequence.C:47
 bench-externaltrackparam-sequence.C:48
 bench-externaltrackparam-sequence.C:49
 bench-externaltrackparam-sequence.C:50
 bench-externaltrackparam-sequence.C:51
 bench-externaltrackparam-sequence.C:52
 bench-externaltrackparam-sequence.C:53
 bench-externaltrackparam-sequence.C:54
 bench-externaltrackparam-sequence.C:55
 bench-externaltrackparam-sequence.C:56
 bench-externaltrackparam-sequence.C:57
 bench-externaltrackparam-sequence.C:58
 bench-externaltrackparam-sequence.C:59
 bench-externaltrackparam-sequence.C:60
 bench-externaltrackparam-sequence.C:61
 bench-externaltrackparam-sequence.C:62
 bench-externaltrackparam-sequence.C:63
 bench-externaltrackparam-sequence.C:64
 bench-externaltrackparam-sequence.C:65
 bench-externaltrackparam-sequence.C:66
 bench-externaltrackparam-sequence.C:67
 bench-externaltrackparam-sequence.C:68