adding component library for HLT system benchmarks and profiling; not yet part of...
[u/mrichter/AliRoot.git] / HLT / benchmark / macros / bench-externaltrackparam-sequence.C
1 // $Id$
2 /*
3  * Benchmark macro for transportation of AliExternalTrackParam arrays.
4  *
5  * Usage:
6  * <pre>
7  *   aliroot -b -q bench-externaltrackparam.C | tee bench-externaltrackparam.log
8  * </pre>
9  *
10  *
11  * @ingroup alihlt_benchmark
12  * @author Matthias.Richter@ift.uib.no
13  */
14 void bench_externaltrackparam_sequence(int events=100)
15 {
16   ///////////////////////////////////////////////////////////////////////////////////////////////////
17   //
18   // init the HLT system in order to define the analysis chain below
19   //
20   gSystem->Load("libHLTrec.so");
21   AliHLTSystem* gHLT=AliHLTReconstructorBase::GetInstance();
22   gHLT->SetGlobalLoggingLevel(0x7c);
23
24   ///////////////////////////////////////////////////////////////////////////////////////////////////
25   //
26   // define the analysis chain to be run
27   //
28   int verbosity=0;
29   int levels=11;
30   TString lastPublisher;
31   TString arg;
32   for (int pub=0; pub<levels; pub++) {
33     TString publisher;
34     // publishers of AliExternalTrackParam arrays
35     publisher.Form("PUB_%02d", pub);
36     arg="-minsize 9000 -maxsize 10000";
37     //arg="-minsize 1 -maxsize 2";
38     if (pub<10) {
39       // first 10 ones are TClonesArrays with the corresponding compression
40       arg+=" -tclonesarray";
41       //arg+=" -tobjarray";
42       arg+=" -object-compression="; arg+=pub;
43     } else {
44       // last one is a c-array without compression
45       arg+=" -carray";
46     }
47
48     arg+=" -rangeoffset -1000 -rangemodulo "; arg+=events/10;
49     arg+=" -verbosity "; arg+=verbosity;
50     AliHLTConfiguration publisherconf(publisher.Data(), "BenchmarkAliExternalTrackParam", lastPublisher.Data(), arg.Data());
51     lastPublisher=publisher;
52   }
53
54   arg=" -verbosity "; arg+=verbosity;
55   AliHLTConfiguration dumpconf("sink1", "BenchmarkAliExternalTrackParam"   , lastPublisher.Data(), "-verbosity 1");
56
57   AliHLTConfiguration statconf("stat", "StatisticsCollector", /*dumpInput.Data()*/"sink1", "");
58
59   AliHLTConfiguration writer("statwriter", "ROOTFileWriter"   , "stat", "-datafile HLT.statistics.root -concatenate-events -overwrite");
60
61   ///////////////////////////////////////////////////////////////////////////////////////////////////
62   //
63   // Init and run the chain
64   //
65   gHLT->LoadComponentLibraries("libAliHLTBenchmark.so libAliHLTUtil.so");
66   gHLT->BuildTaskList("statwriter");
67   gHLT->Run(events);
68 }