|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    7 #ifndef TRIGGER_DECISION_TOOL_FeatureContainer_H 
    8 #define TRIGGER_DECISION_TOOL_FeatureContainer_H 
   36 #include <unordered_set> 
   41   class FeatureContainer
 
   58     template<
class T> 
const std::vector<Trig::Feature<T> > 
get(
const std::string& 
label = 
"", 
unsigned int condition = TrigDefs::Physics,
 
   59                                    const std::string& 
teName = 
"") 
const;
 
   64       return FeatureAccessImpl::typedGet<xAOD::IParticle,xAOD::IParticleContainer,xAOD::IParticleContainer>(features,
 
   70     template<
typename CONTAINER> 
using ELEMENT_OF = 
typename CONTAINER::base_value_type;
 
   72     template<
typename CONTAINER>
 
   73     std::vector<Feature<ELEMENT_OF<CONTAINER> > > 
elementFeature(
const std::string& 
label = 
"", 
unsigned int condition = TrigDefs::Physics, 
const std::string& 
teName = 
"")
 const{
 
   78     template<
typename CONTAINER>
 
   81       return FeatureAccessImpl::typedGet<CONTAINER,CONTAINER,CONTAINER>(features,
navigation(),
m_cgm->
store());
 
   84     template<
typename CONTAINER>
 
   87       return FeatureAccessImpl::typedGet<ELEMENT_OF<CONTAINER>,CONTAINER,CONTAINER>(features,
navigation(),
m_cgm->
store());
 
  104 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS) // Full Athena only 
  131     class ordering_by_objects_attached {
 
  134       bool operator()(
const Feature<T>& 
a, 
const Feature<T>& 
b) 
const;
 
  136                      const void* obj_a, 
const void* obj_b) 
const;
 
  150 template<
class T> 
const std::vector<Trig::Feature<T> >
 
  154     throw std::runtime_error(
"Only two flags can be supplied to features");
 
  166       if (!comb.active()) 
continue;
 
  175       uniqnessHelper.insert(
f);
 
  182   return std::vector<Trig::Feature<T> >(uniqnessHelper.begin(), uniqnessHelper.end());
 
  194 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS) // Full Athena only 
  203   std::string sourceLabel;
 
  209   if(!success || !
flags) 
 
  
std::vector< Combination >::const_iterator combination_const_iterator
std::vector< Identifier > ID
The common trigger namespace for trigger analysis tools.
std::vector< Trig::Feature< xAOD::IParticle > > getIParticle(HLT::class_id_type clid, const std::string &container_name, const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
bool weakOrder(const HLT::TriggerElement *te_a, const HLT::TriggerElement *te_b, const void *obj_a, const void *obj_b) const
std::unordered_set< Trig::Combination > m_combinations_unique
set for ensuring uniqueness in the above container
helper class to support ordered set of features
std::vector< Feature< CONTAINER > > containerFeature(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
std::vector< Feature< ELEMENT_OF< CONTAINER > > > elementFeature(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
const TrigPassFlags * getFlags(size_t size, const HLT::TriggerElement *te, const std::string &label, const HLT::NavigationCore *navigation)
const std::vector< Trig::TypelessFeature > typelessGet(HLT::class_id_type clid, const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
typeless version of get
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
const asg::EventStoreType * store() const
Get the event store that the object is using.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
Default, invalid implementation of ClassID_traits.
const HLT::TrigNavStructure * navigation() const
typename CONTAINER::base_value_type ELEMENT_OF
std::vector< Trig::Combination > m_combinations
container preserving insertion order
const Trig::CacheGlobalMemory * m_cgm
bool getRecentFeature(const TriggerElement *te, const T *&feature, const std::string &label="", const TriggerElement *&source=::HLT::TrigNavStructure::m_unspecifiedTE, std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const
const std::vector< Trig::Feature< T > > get(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
returns flattened vector of Features of given type This method is in fact sullied by 3 arguments.
TrigPassFlags getFlags(const Trig::Feature< T > &f, const std::string &flagsLabel="") const
access to TrigPassFlags for given trigger object or container in given TE
bool operator()(const Feature< T > &a, const Feature< T > &b) const
void addWithChecking(const Combination &newComb)
add new combination to the container checking for overlap
A Flag is an ordered collection of bits (vector<bool>) that can hold additional (boolean) information...
std::vector< Feature< ELEMENT_OF< CONTAINER > > > flattenedContainerFeature(const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
const std::vector< Trig::Combination > & getCombinations() const
gives back reference to combinations collected through append
FeatureContainer(const CacheGlobalMemory *cgm=0)
constructors, destructor
void append(const FeatureContainer &other)