4#ifndef TRIGOUTPUTHANDLING_TRIGGEREDMSERIALISERTOOL_H
5#define TRIGOUTPUTHANDLING_TRIGGEREDMSERIALISERTOOL_H
9#include "GaudiKernel/IClassIDSvc.h"
10#include "GaudiKernel/ServiceHandle.h"
19#include "Gaudi/Parsers/Factory.h"
43 const std::string& name,
44 const IInterface* parent );
47 virtual StatusCode
fill(
HLT::HLTResultMT& resultToFill,
const EventContext& ctx )
const override;
54 this,
"CollectionsToSerialize", {},
55 "EDM streaming configuration \'collectionKeyType;module1,module2,...[;allowTruncation]\' where collectionKeyType is a string "
56 "formatted like for AthenaOutputStream, e.g. TYPE#SG.aux1.aux2..etc. For xAOD classes the typedef type should be "
57 "used and the _vN version number is automatically detected. For old T/P classes the persistent version has to be "
58 "given. Module IDs following the semicolon are the HLT result ROB module IDs to which the collection should be "
59 "written. ID=0 is the main result, other IDs are used for data scouting. The optional allowTruncation "
60 "indicates if the collection can be truncated without raising an ERROR.",
61 "OrderedSet<std::string>"
64 this,
"SaveDynamic",
true,
"If false skips serialising of dynamic variables. Use for test purpose only."
67 this,
"TruncationThresholds", {},
"HLT result truncation thresholds. Key is module ID, value is max size in bytes"
70 this,
"EventSizeHardLimitMB", -1,
71 "Hard limit for output event size in megabytes. Set automatically in initialize from run parameters. "
72 "In partition, it corresponds to DCM sbaBlockSize_MiB. Value <0 means no limit."
75 this,
"FullResultTruncationFrac", 0.8,
76 "Fraction of EventSizeHardLimitMB which defines the limit on the total size of HLT output (sum of all modules)"
80 this,
"DebugInfoWHKey",
"TruncationDebugInfo"
84 this,
"NavigationSummaryRHKey",
"HLTNav_Summary"
123 "Service to translate class name to CLID" };
125 "Service to translate transient to persistent representation" };
127 ToolHandle<TrigSerTPTool>
m_tpTool{
this,
"TPTool",
"TrigSerTPTool/TrigSerTPTool",
128 "Tool to do Transient/Persistent conversion (Old EDM)"};
130 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Monitoring tool" };
147 StatusCode
fillPayload(
const void*
data,
size_t sz, std::vector<uint32_t>& buffer )
const;
170 StatusCode
serialiseDynAux( DataObject* dObject,
const Address& address, std::vector<uint32_t>& buffer,
size_t& nDynWritten )
const;
176 StatusCode
serialise(
const Address& address, std::vector<uint32_t>& buffer,
SGImplSvc* evtStore )
const;
193 static std::string
version(
const std::string& name );
uint32_t CLID
The Class ID type.
char data[hepevt_bytes_allocation_ATLAS]
Header file to be included by clients of the Monitored infrastructure.
A container class for data required to build online output from HLT.
The Athena Transient Store API.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Class helping in dealing with dynamic branch selection.
TrigCompositeContainer_v1 TrigCompositeContainer
Declare the latest version of the container.