#include <Fireworks/Core/interface/FWHLTTriggerTableView.h>
Public Member Functions | |
FWHLTTriggerTableView (TEveWindowSlot *) | |
virtual | ~FWHLTTriggerTableView () |
Protected Member Functions | |
virtual void | fillTable (fwlite::Event *event) |
Private Types | |
typedef boost::unordered_map < std::string, double > | acceptmap_t |
Private Member Functions | |
void | fillAverageAcceptFractions () |
Private Attributes | |
acceptmap_t | m_averageAccept |
fwlite::Event * | m_event |
Description: [one line class summary]
Usage: <usage>
Definition at line 29 of file FWHLTTriggerTableView.h.
typedef boost::unordered_map<std::string,double> FWHLTTriggerTableView::acceptmap_t [private] |
Definition at line 39 of file FWHLTTriggerTableView.h.
FWHLTTriggerTableView::FWHLTTriggerTableView | ( | TEveWindowSlot * | iParent | ) |
Definition at line 27 of file FWHLTTriggerTableView.cc.
References FWTriggerTableView::dataChanged(), and FWTriggerTableView::m_columns.
: FWTriggerTableView(iParent, FWViewType::kTableHLT), m_event(0) { m_columns[0].title = "Filter Name"; m_columns.push_back(Column("Accept")); m_columns.push_back(Column("Average Accept")); dataChanged(); }
virtual FWHLTTriggerTableView::~FWHLTTriggerTableView | ( | ) | [inline, virtual] |
Definition at line 33 of file FWHLTTriggerTableView.h.
{}
void FWHLTTriggerTableView::fillAverageAcceptFractions | ( | ) | [private] |
Definition at line 65 of file FWHLTTriggerTableView.cc.
References fwlite::Event::atEnd(), RecoTauValidation_cfi::denominator, fwLog, fwlite::Handle< T >::getByLabel(), i, edm::EventBase::id(), fwlog::kError, m_averageAccept, m_event, fwlite::Event::size(), edm::TriggerNames::size(), fwlite::Event::to(), fwlite::Event::toBegin(), edm::TriggerNames::triggerName(), and fwlite::Event::triggerNames().
Referenced by fillTable().
{ edm::EventID currentEvent = m_event->id(); // better to keep the keys and just set to zero the values for (acceptmap_t::iterator it = m_averageAccept.begin(), ed = m_averageAccept.end(); it != ed; ++it) { it->second = 0; } // loop over events fwlite::Handle<edm::TriggerResults> hTriggerResults; for (m_event->toBegin(); !m_event->atEnd(); ++(*m_event)) { hTriggerResults.getByLabel(*m_event,"TriggerResults","","HLT"); edm::TriggerNames const* triggerNames(0); try{ triggerNames = &m_event->triggerNames(*hTriggerResults); } catch (cms::Exception&) { fwLog(fwlog::kError) <<" exception caught while trying to get trigger info"<<std::endl; break; } for(unsigned int i=0; i<triggerNames->size(); ++i) { if ( hTriggerResults->accept(i) ) { m_averageAccept[triggerNames->triggerName(i)]++; } } } m_event->to(currentEvent); double denominator = 1.0/m_event->size(); for (acceptmap_t::iterator it = m_averageAccept.begin(), ed = m_averageAccept.end(); it != ed; ++it) { it->second *= denominator; } }
void FWHLTTriggerTableView::fillTable | ( | fwlite::Event * | event | ) | [protected, virtual] |
Implements FWTriggerTableView.
Definition at line 39 of file FWHLTTriggerTableView.cc.
References FWTriggerTableViewTableManager::dataChanged(), event(), fillAverageAcceptFractions(), alcazmumu_cfi::filter, fwLog, fwlite::Handle< T >::getByLabel(), i, fwlog::kWarning, m_averageAccept, FWTriggerTableView::m_columns, m_event, FWTriggerTableView::m_process, FWTriggerTableView::m_regex, FWTriggerTableView::m_tableManager, edm::TriggerNames::size(), edm::TriggerNames::triggerName(), edm::TriggerNames::triggerNames(), and FWGenericParameter< T >::value().
{ if ( event != m_event ) { m_event = event; fillAverageAcceptFractions(); } fwlite::Handle<edm::TriggerResults> hTriggerResults; edm::TriggerNames const* triggerNames(0); try{ hTriggerResults.getByLabel(*event,"TriggerResults","",m_process.value().c_str()); triggerNames = &event->triggerNames(*hTriggerResults); } catch (cms::Exception&) { fwLog(fwlog::kWarning) << " no trigger results with process name HLT is available" << std::endl; m_tableManager->dataChanged(); return; } boost::regex filter(m_regex.value()); for(unsigned int i=0; i<triggerNames->size(); ++i) { if ( !boost::regex_search(triggerNames->triggerName(i),filter) ) continue; m_columns.at(0).values.push_back(triggerNames->triggerName(i)); m_columns.at(1).values.push_back(Form("%d",hTriggerResults->accept(i))); m_columns.at(2).values.push_back(Form("%6.1f%%",m_averageAccept[triggerNames->triggerName(i)]*100)); } }
Definition at line 42 of file FWHLTTriggerTableView.h.
Referenced by fillAverageAcceptFractions(), and fillTable().
fwlite::Event* FWHLTTriggerTableView::m_event [private] |
Definition at line 41 of file FWHLTTriggerTableView.h.
Referenced by fillAverageAcceptFractions(), and fillTable().