3 #ifndef ALIHLTGLOBALESDCONVERTERCOMPONENT_H
4 #define ALIHLTGLOBALESDCONVERTERCOMPONENT_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 AliHLTGlobalEsdConverterComponent.h
10 @author Matthias Richter
12 @brief Global ESD converter component.
15 #include "AliHLTProcessor.h"
16 #include "AliHLTComponentBenchmark.h"
19 // forward declarations
22 struct AliHLTTracksData;
25 * @class AliHLTGlobalEsdConverterComponent
26 * Global collector for information designated for the HLT ESD.
28 * componentid: \b GlobalEsdConverter <br>
29 * componentlibrary: \b libAliHLTGlobal.so <br>
31 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
33 * write ESD directly to output (::kAliHLTDataTypeESDObject)
34 * this has been made the default behavior in Sep 2008.
36 * write ESD directly to TTree and to output (::kAliHLTDataTypeESDTree)
38 * @ingroup alihlt_tpc_components
40 class AliHLTGlobalEsdConverterComponent : public AliHLTProcessor
43 /** standard constructor */
44 AliHLTGlobalEsdConverterComponent();
46 virtual ~AliHLTGlobalEsdConverterComponent();
48 // interface methods of base class
49 const char* GetComponentID() {return "GlobalEsdConverter";};
50 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
51 AliHLTComponentDataType GetOutputDataType();
52 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
53 AliHLTComponent* Spawn() {return new AliHLTGlobalEsdConverterComponent;}
56 // interface methods of base class
57 int DoInit(int argc, const char** argv);
59 int DoEvent( const AliHLTComponentEventData& evtData,
60 AliHLTComponentTriggerData& trigData);
62 using AliHLTProcessor::DoEvent;
65 * Process the input data blocks.
66 * @param pTree tree to be filled
67 * @param pESD ESD to be filled
68 * @return neg. error code if failed
70 int ProcessBlocks(TTree* pTree, AliESDEvent* pESD);
73 /** copy constructor prohibited */
74 AliHLTGlobalEsdConverterComponent(const AliHLTGlobalEsdConverterComponent&);
75 /** assignment operator prohibited */
76 AliHLTGlobalEsdConverterComponent& operator=(const AliHLTGlobalEsdConverterComponent&);
79 * (Re)Configure from the CDB
80 * Loads the following objects:
81 * - HLT/ConfigHLT/SolenoidBz
83 int Reconfigure(const char* cdbEntry, const char* chainId);
86 * Configure the component.
87 * Parse a string for the configuration arguments and set the component
90 int Configure(const char* arguments);
92 /// write object to TTree or directly
93 int fWriteTree; //!transient
96 int fVerbosity; //!transient
101 AliESDEvent* fESD; //! transient value
104 Double_t fSolenoidBz; //! transient
105 AliHLTComponentBenchmark fBenchmark; // benchmark
107 ClassDef(AliHLTGlobalEsdConverterComponent, 0)