3 #ifndef ALIHLTGLOBALFLATESDCONVERTERCOMPONENT_H
4 #define ALIHLTGLOBALFLATESDCONVERTERCOMPONENT_H
5 //* This file is property of and copyright by the ALICE HLT Project *
6 //* ALICE Experiment at CERN, All rights reserved. *
7 //* See cxx source for full Copyright notice *
9 // @file AliHLTGlobalFlatEsdConverterComponent.h
10 // @author Matthias Richter
12 // @brief Global ESD converter component.
15 #include "AliHLTProcessor.h"
16 #include "AliHLTComponentBenchmark.h"
21 * @class AliHLTGlobalFlatEsdConverterComponent
22 * Global collector for information designated for the HLT ESD.
24 * componentid: \b GlobalEsdConverter <br>
25 * componentlibrary: \b libAliHLTGlobal.so <br>
27 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
29 * write ESD directly to output (::kAliHLTDataTypeESDObject)
30 * this has been made the default behavior in Sep 2008.
32 * write ESD directly to TTree and to output (::kAliHLTDataTypeESDTree)
33 * \li -skipobject=name1,name2,... <br>
34 * comma separated list of ESD object names to be skipped, default is
35 * AliESDZDC,AliESDFMD,Cascades,Kinks,AliRawDataErrorLogs,AliESDACORDE
36 * leave blank to disable the option
38 * @ingroup alihlt_tpc_components
40 class AliHLTGlobalFlatEsdConverterComponent : public AliHLTProcessor
43 /** standard constructor */
44 AliHLTGlobalFlatEsdConverterComponent();
46 virtual ~AliHLTGlobalFlatEsdConverterComponent();
48 // interface methods of base class
49 const char* GetComponentID() {return "GlobalFlatEsdConverter";};
50 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
51 AliHLTComponentDataType GetOutputDataType();
52 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
53 AliHLTComponent* Spawn() {return new AliHLTGlobalFlatEsdConverterComponent;}
56 // interface methods of base class
57 int DoInit(int argc, const char** argv);
59 int DoEvent( const AliHLTComponentEventData& evtData,
60 const AliHLTComponentBlockData* blocks,
61 AliHLTComponentTriggerData& trigData,
62 AliHLTUInt8_t* outputPtr,
64 AliHLTComponentBlockDataList& outputBlocks);
66 using AliHLTProcessor::DoEvent;
68 void FillBenchmarkHistos(Double_t *statistics, TString *names);
72 /** copy constructor prohibited */
73 AliHLTGlobalFlatEsdConverterComponent(const AliHLTGlobalFlatEsdConverterComponent&);
74 /** assignment operator prohibited */
75 AliHLTGlobalFlatEsdConverterComponent& operator=(const AliHLTGlobalFlatEsdConverterComponent&);
78 * (Re)Configure from the CDB
79 * Loads the following objects:
80 * - HLT/ConfigHLT/SolenoidBz
82 int Reconfigure(const char* cdbEntry, const char* chainId);
85 * Configure the component.
86 * Parse a string for the configuration arguments and set the component
89 int Configure(const char* arguments);
91 int fWriteClusters; //!transient
94 int fVerbosity; //!transient
99 Double_t fSolenoidBz; //! transient
100 AliHLTComponentBenchmark fBenchmark; // benchmark
101 TString fBenchmarkHistosFilename;
103 ClassDef(AliHLTGlobalFlatEsdConverterComponent, 0)