6#ifndef TRIGT1CTP_RESULTBUILDER_H
7#define TRIGT1CTP_RESULTBUILDER_H
17#include "CTPfragment/CTPdataformatVersion.h"
18#include "GaudiKernel/EventIDBase.h"
34#include "CLHEP/Random/RandomEngine.h"
55 ResultBuilder(
const std::string&
type,
const std::string& name,
const IInterface* parent );
62 StatusCode
buildItemDecision(
const std::map<std::string, unsigned int> & thrMultiMap,
63 std::map<std::string, unsigned int> & itemDecisionMap,
64 CLHEP::HepRandomEngine* rndmEngine )
const;
68 std::vector<uint32_t> & tbp, std::vector<uint32_t> & tap, std::vector<uint32_t> & tav,
69 unsigned char & triggerType )
const;
72 StatusCode
constructTIPVector(
const std::map<std::string, unsigned int> & thrMultiMap,
73 std::vector<uint32_t> & tip )
const;
78 const std::vector<uint32_t> & tbp,
const std::vector<uint32_t> & tap,
79 const std::vector<uint32_t> & tav,
const std::vector<uint32_t> & tip,
80 const std::vector<uint32_t> & extra,
81 const unsigned char triggerType )
const;
85 const std::vector<uint32_t> & tbp,
const std::vector<uint32_t> & tap,
86 const std::vector<uint32_t> & tav,
const std::vector<uint32_t> & tip,
87 const std::vector<uint32_t> & extra )
const;
90 std::pair< std::unique_ptr<xAOD::CTPResult>, std::unique_ptr<xAOD::CTPResultAuxInfo> >
constructCTPResult(
const EventIDBase & eventID,
91 const std::vector<uint32_t> & tbp,
const std::vector<uint32_t> & tap,
92 const std::vector<uint32_t> & tav,
const std::vector<uint32_t> & tip,
93 const std::vector<uint32_t> & extra,
const unsigned char triggerType )
const;
103 std::vector<std::string>
firedItems(
const std::vector<uint32_t>& triggerWords)
const;
Class used to create the CTP output (RDO, SLink and TriggerInfo)
StatusCode createTriggerConfigMaps(const TrigConf::L1Menu &l1menu)
ResultBuilder(const std::string &type, const std::string &name, const IInterface *parent)
void setRandomEngine(CLHEP::HepRandomEngine *rndmEngine)
StatusCode setConfiguration(const TrigConf::L1Menu &l1menu)
StatusCode constructResultVectors(const std::map< std::string, unsigned int > &itemDecisionMap, std::vector< uint32_t > &tbp, std::vector< uint32_t > &tap, std::vector< uint32_t > &tav, unsigned char &triggerType) const
std::pair< std::unique_ptr< xAOD::CTPResult >, std::unique_ptr< xAOD::CTPResultAuxInfo > > constructCTPResult(const EventIDBase &eventID, const std::vector< uint32_t > &tbp, const std::vector< uint32_t > &tap, const std::vector< uint32_t > &tav, const std::vector< uint32_t > &tip, const std::vector< uint32_t > &extra, const unsigned char triggerType) const
build RDO result (CTPResult)
StatusCode constructTIPVector(const std::map< std::string, unsigned int > &thrMultiMap, std::vector< uint32_t > &tip) const
InternalTriggerMap m_internalTrigger
internal triggers BGRP and RNDM
std::unique_ptr< ItemMap > m_itemConfigMap
Map between item objects and their CTP-internal description.
CTPdataformatVersion * m_ctpDataFormat
CTP data format details.
StatusCode buildItemDecision(const std::map< std::string, unsigned int > &thrMultiMap, std::map< std::string, unsigned int > &itemDecisionMap, CLHEP::HepRandomEngine *rndmEngine) const
std::vector< std::string > firedItems(const std::vector< uint32_t > &triggerWords) const
build list of fired items and dump to string
unsigned int m_ctpVersionNumber
CTP data format version (4 in most of Run 2 and in Run 3)
std::unique_ptr< CTP_RDO > constructRDOResult(const EventIDBase &eventID, const std::vector< uint32_t > &tbp, const std::vector< uint32_t > &tap, const std::vector< uint32_t > &tav, const std::vector< uint32_t > &tip, const std::vector< uint32_t > &extra) const
build RDO result (CTP_RDO) - TODO obsolete it in favor of xAOD::CTPResult
std::unique_ptr< CTPSLink > constructRoIResult(const EventIDBase &eventID, const std::vector< uint32_t > &tbp, const std::vector< uint32_t > &tap, const std::vector< uint32_t > &tav, const std::vector< uint32_t > &tip, const std::vector< uint32_t > &extra, const unsigned char triggerType) const
build RoI result (LVL1CTP::CTPSLink)
std::unique_ptr< ThresholdMap > m_thrConfigMap
Map between threshold objects and their CTP-internal description.
std::map< std::string, const ISpecialTrigger * > InternalTriggerMap
std::vector< uint32_t >(ResultBuilder::* Result)() const