7#ifndef TRIGGER_DECISION_TOOL_Feature_H
8#define TRIGGER_DECISION_TOOL_Feature_H
40#if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
50#if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
78#if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
81 std::is_same<T,Muon_ROI>::value ||
82 std::is_same<T,EmTau_ROI>::value ||
83 std::is_same<T,Jet_ROI>::value ||
84 std::is_same<T,xAOD::EmTauRoI>::value ||
85 std::is_same<T,xAOD::MuonRoI>::value ||
86 std::is_same<T,xAOD::JetRoI>::value ||
87 std::is_same<T,xAOD::IParticle>::value
90 static const bool value =
false;
97#if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
166 operator const T*()
const {
return cptr(); }
187 operator const std::string()
const {
return m_label; }
222 return a.cptr() == b.cptr();
229 m <<
"TE id: " << d.te()->getId() <<
"obj ptr: " << d.cptr()
MsgStream & operator<<(MsgStream &m, const Trig::Feature< T > &d)
Em/Tau RoI class for analysis.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
Jet RoI class for analysis.
Muon RoI class for analysis.
is basic vehicle of object access in TDT
const HLT::TriggerElement * m_te
link_or_not< T, is_storable_type< T >::value >::type link_type
const T * cptr() const
explicit conversion to object
~Feature()
destructor taking care of removal
const HLT::TriggerElement * te() const
explicit conversion to TriggerElement
std::shared_ptr< const T > m_owning_feature
Feature(const TypelessFeature &feat, const std::shared_ptr< const T > &feature)
Feature(const TypelessFeature &feat, const T *const feature)
T ValueType
$brief constructor of empty Feature
Feature(Feature &&) noexcept=default
Add move operator.
const std::string & label() const
explicit conversion to feature label
bool empty() const
test method to check if the object is truly there
Feature(const T *feature, const HLT::TriggerElement *te, const std::string &label="", const bool own=false, const link_type link=link_type())
constructor of valid Feature object
Feature class, holding information on Feature attached to navigation.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
The common trigger namespace for trigger analysis tools.
bool sameObject(const Feature< T > &a, const Feature< T > &b)
comarison
static const std::string & typeName()
master_search< typenameEDMLIST::map, HLT::TypeInformation::get_feat, FEATURE >::result::search_result::container type
lnk_helper< CONTAINER, isCont >::type type
ElementLink_is_not_available_for_non_storable_types type
Features2Container< T >::type container_type
Features2LinkHelper< T, container_type >::type type