|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef XAOD_ANALYSIS // Full Athena only
17 namespace FeatureAccessImpl {
27 if ( navigation->
getFeature(te, bits,
"passbits" ) ){
33 if ( bits &&
sz == bits->
size() )
58 std::vector<Trig::Feature<TrigRoiDescriptor> >
rois;
59 collect<TrigRoiDescriptor>(te,
rois,
"initialRoI",
condition,
"", navigation);
63 if ( !navigation || navigation->getAccessProxy()->retrieve(lvl1,
"LVL1_ROI").isFailure() || lvl1 == 0 ) {
68 for(
const T& specific : (lvl1->*(
method))() ) {
69 if (specific.getROIWord() == roi.cptr()->roiWord()) {
92 template<
typename ROI,
typename ROICONTAINER>
99 std::vector<Trig::Feature<TrigRoiDescriptor> >
rois;
100 collect<TrigRoiDescriptor>(te,
rois,
"initialRoI",
condition,
"", navigation);
103 const ROICONTAINER* cont;
104 if (!navigation || navigation->getAccessProxy()->retrieve(cont,
sgkey).isFailure()) {
113 typename ROICONTAINER::const_iterator emtauit;
115 for(
const auto&
it :
rois){
116 for(emtauit=cont->begin();emtauit!=cont->end();++emtauit){
117 if((*emtauit)->roiWord() ==
it.cptr()->roiWord()){
127 xAODcollect<xAOD::EmTauRoI,xAOD::EmTauRoIContainer>(te,
data,
condition, navigation,
"LVL1EmTauRoIs");
132 xAODcollect<xAOD::MuonRoI,xAOD::MuonRoIContainer>(te,
data,
condition, navigation,
"LVL1MuonRoIs");
137 xAODcollect<xAOD::JetRoI,xAOD::JetRoIContainer>(te,
data,
condition, navigation,
"LVL1JetRoIs");
155 #endif // full Athena env
const muons_type & getMuonROIs() const
Get all the muon RoIs in the event.
char data[hepevt_bytes_allocation_ATLAS]
The common trigger namespace for trigger analysis tools.
const TrigPassBits * getBits(size_t sz, const HLT::TriggerElement *te, const std::string &, const HLT::NavigationCore *navigation)
unsigned int size() const
gets size of the bits array
void collect< Muon_ROI >(const HLT::TriggerElement *te, std::vector< Trig::Feature< Muon_ROI > > &data, const std::string &, unsigned int condition, const std::string &, const HLT::TrigNavStructure *navigation)
void collect< EmTau_ROI >(const HLT::TriggerElement *te, std::vector< Trig::Feature< EmTau_ROI > > &data, const std::string &, unsigned int condition, const std::string &, const HLT::TrigNavStructure *navigation)
const TrigPassFlags * getFlags(size_t size, const HLT::TriggerElement *te, const std::string &label, const HLT::NavigationCore *navigation)
bool getFeature(const TriggerElement *te, const T *&features, const std::string &label="", std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const
const jets_type & getJetROIs() const
Get all the jet RoIs in the event.
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
Top level AOD object storing LVL1 RoIs.
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
void l1collect(const HLT::TriggerElement *te, std::vector< Trig::Feature< T > > &data, unsigned int condition, const std::vector< T > &(LVL1_ROI::*method)() const, const HLT::TrigNavStructure *navstructure)
void collect< Jet_ROI >(const HLT::TriggerElement *te, std::vector< Trig::Feature< Jet_ROI > > &data, const std::string &, unsigned int condition, const std::string &, const HLT::TrigNavStructure *navigation)
A Flag is an ordered collection of bits (vector<bool>) that can hold additional (boolean) information...
void xAODcollect(const HLT::TriggerElement *te, std::vector< Trig::Feature< ROI > > &data, unsigned int condition, const HLT::TrigNavStructure *navstructure, const std::string &sgkey)
const emtaus_type & getEmTauROIs() const
Get all the em/tau RoIs in the event.