CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
FWHLTTriggerTableView Class Reference

#include <Fireworks/Core/interface/FWHLTTriggerTableView.h>

Inheritance diagram for FWHLTTriggerTableView:
FWTriggerTableView FWViewBase FWConfigurableParameterizable FWParameterizable FWConfigurable

Public Member Functions

 FWHLTTriggerTableView (TEveWindowSlot *)
 
 ~FWHLTTriggerTableView () override
 
- Public Member Functions inherited from FWTriggerTableView
void addTo (FWConfiguration &) const override
 
Color_t backgroundColor () const
 
void columnSelected (Int_t iCol, Int_t iButton, Int_t iKeyMod)
 
void dataChanged (void)
 
 FWTriggerTableView (TEveWindowSlot *, FWViewType::EType)
 
void processChanged (const char *)
 
void resetCombo () const
 
void saveImageTo (const std::string &iName) const override
 
void setBackgroundColor (Color_t)
 
void setFrom (const FWConfiguration &) override
 
void setProcessList (std::vector< std::string > *x)
 
 ~FWTriggerTableView (void) override
 
- Public Member Functions inherited from FWViewBase
virtual FWViewContextMenuHandlerBasecontextMenuHandler () const
 
void destroy ()
 
 FWViewBase (FWViewType::EType, unsigned int iVersion=1)
 
void promptForSaveImageTo (TGFrame *) const
 
FWViewType::EType typeId () const
 
const std::string & typeName () const
 
- Public Member Functions inherited from FWConfigurableParameterizable
 FWConfigurableParameterizable (unsigned int iVersion=1)
 
unsigned int version () const
 
 ~FWConfigurableParameterizable () override
 
- Public Member Functions inherited from FWParameterizable
void add (FWParameterBase *)
 
const_iterator begin () const
 
const_iterator end () const
 
 FWParameterizable ()
 
virtual ~FWParameterizable ()
 
- Public Member Functions inherited from FWConfigurable
 FWConfigurable ()
 
virtual ~FWConfigurable ()
 

Protected Member Functions

void fillTable (fwlite::Event *event) override
 
- Protected Member Functions inherited from FWViewBase
 ~FWViewBase () override
 

Private Types

typedef boost::unordered_map< std::string, double > acceptmap_t
 

Private Member Functions

void fillAverageAcceptFractions ()
 

Private Attributes

acceptmap_t m_averageAccept
 
fwlite::Eventm_event
 

Additional Inherited Members

- Public Types inherited from FWParameterizable
typedef std::vector< FWParameterBase * >::const_iterator const_iterator
 
- Public Attributes inherited from FWViewBase
sigc::signal< void, const FWViewBase * > beingDestroyed_
 
sigc::signal< void, Int_t, Int_t > openSelectedModelContextMenu_
 
- Protected Attributes inherited from FWTriggerTableView
std::vector< Columnm_columns
 
FWStringParameter m_process
 
FWStringParameter m_regex
 
FWTriggerTableViewTableManagerm_tableManager
 
- Protected Attributes inherited from FWViewBase
FWViewType m_type
 

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 28 of file FWHLTTriggerTableView.h.

Member Typedef Documentation

typedef boost::unordered_map<std::string, double> FWHLTTriggerTableView::acceptmap_t
private

Definition at line 37 of file FWHLTTriggerTableView.h.

Constructor & Destructor Documentation

FWHLTTriggerTableView::FWHLTTriggerTableView ( TEveWindowSlot *  iParent)

Definition at line 25 of file FWHLTTriggerTableView.cc.

References FWTriggerTableView::dataChanged(), and FWTriggerTableView::m_columns.

26  : FWTriggerTableView(iParent, FWViewType::kTableHLT), m_event(nullptr) {
27  m_columns[0].title = "Filter Name";
28  m_columns.push_back(Column("Accept"));
29  m_columns.push_back(Column("Average Accept"));
30  dataChanged();
31 }
std::vector< Column > m_columns
FWTriggerTableView(TEveWindowSlot *, FWViewType::EType)
FWHLTTriggerTableView::~FWHLTTriggerTableView ( )
inlineoverride

Definition at line 31 of file FWHLTTriggerTableView.h.

References fillTable().

31 {}

Member Function Documentation

void FWHLTTriggerTableView::fillAverageAcceptFractions ( )
private

Definition at line 58 of file FWHLTTriggerTableView.cc.

References edm::HLTGlobalStatus::accept(), fwlite::Event::atEnd(), HLTTauDQMOffline_cfi::denominator, fwLog, fwlite::Handle< T >::getByLabel(), mps_fire::i, edm::EventBase::id(), fwlog::kError, m_averageAccept, m_event, edm::TriggerNames::size(), fwlite::Event::size(), fwlite::Event::to(), fwlite::Event::toBegin(), edm::TriggerNames::triggerName(), L1TEGammaOffline_cfi::triggerNames, and fwlite::Event::triggerNames().

Referenced by fillTable().

58  {
59  edm::EventID currentEvent = m_event->id();
60  // better to keep the keys and just set to zero the values
61  for (acceptmap_t::iterator it = m_averageAccept.begin(), ed = m_averageAccept.end(); it != ed; ++it) {
62  it->second = 0;
63  }
64 
65  // loop over events
67  for (m_event->toBegin(); !m_event->atEnd(); ++(*m_event)) {
68  hTriggerResults.getByLabel(*m_event, "TriggerResults", "", "HLT");
69  edm::TriggerNames const* triggerNames(nullptr);
70  try {
71  triggerNames = &m_event->triggerNames(*hTriggerResults);
72  } catch (cms::Exception&) {
73  fwLog(fwlog::kError) << " exception caught while trying to get trigger info" << std::endl;
74  break;
75  }
76 
77  for (unsigned int i = 0; i < triggerNames->size(); ++i) {
78  if (hTriggerResults->accept(i)) {
79  m_averageAccept[triggerNames->triggerName(i)]++;
80  }
81  }
82  }
83  m_event->to(currentEvent);
84 
85  double denominator = 1.0 / m_event->size();
86  for (acceptmap_t::iterator it = m_averageAccept.begin(), ed = m_averageAccept.end(); it != ed; ++it) {
87  it->second *= denominator;
88  }
89 }
Event const & toBegin() override
Go to the very first Event.
Definition: Event.cc:217
bool accept() const
Has at least one path accepted the event?
Long64_t size() const
Returns number of events in the file.
Definition: Event.cc:245
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
Definition: Handle.h:100
bool atEnd() const override
Definition: Event.cc:254
bool to(Long64_t iIndex)
Go to the event at index iIndex.
Definition: Event.cc:195
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:381
#define fwLog(_level_)
Definition: fwLog.h:45
edm::EventID id() const
Definition: EventBase.h:59
void FWHLTTriggerTableView::fillTable ( fwlite::Event event)
overrideprotectedvirtual

Implements FWTriggerTableView.

Definition at line 33 of file FWHLTTriggerTableView.cc.

References edm::HLTGlobalStatus::accept(), FWTriggerTableViewTableManager::dataChanged(), event(), fillAverageAcceptFractions(), ALCARECOTkAlBeamHalo_cff::filter, fwLog, fwlite::Handle< T >::getByLabel(), mps_fire::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(), L1TEGammaOffline_cfi::triggerNames, edm::TriggerNames::triggerNames(), and FWGenericParameter< T >::value().

Referenced by ~FWHLTTriggerTableView().

33  {
34  if (event != m_event) {
35  m_event = event;
37  }
39  edm::TriggerNames const* triggerNames(nullptr);
40  try {
41  hTriggerResults.getByLabel(*event, "TriggerResults", "", m_process.value().c_str());
42  triggerNames = &event->triggerNames(*hTriggerResults);
43  } catch (cms::Exception&) {
44  fwLog(fwlog::kWarning) << " no trigger results with process name HLT is available" << std::endl;
46  return;
47  }
48  boost::regex filter(m_regex.value());
49  for (unsigned int i = 0; i < triggerNames->size(); ++i) {
50  if (!boost::regex_search(triggerNames->triggerName(i), filter))
51  continue;
52  m_columns.at(0).values.push_back(triggerNames->triggerName(i));
53  m_columns.at(1).values.push_back(Form("%d", hTriggerResults->accept(i)));
54  m_columns.at(2).values.push_back(Form("%6.1f%%", m_averageAccept[triggerNames->triggerName(i)] * 100));
55  }
56 }
std::vector< Column > m_columns
FWStringParameter m_regex
bool accept() const
Has at least one path accepted the event?
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
Definition: Handle.h:100
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
#define fwLog(_level_)
Definition: fwLog.h:45
FWStringParameter m_process
FWTriggerTableViewTableManager * m_tableManager

Member Data Documentation

acceptmap_t FWHLTTriggerTableView::m_averageAccept
private

Definition at line 40 of file FWHLTTriggerTableView.h.

Referenced by fillAverageAcceptFractions(), and fillTable().

fwlite::Event* FWHLTTriggerTableView::m_event
private

Definition at line 39 of file FWHLTTriggerTableView.h.

Referenced by fillAverageAcceptFractions(), and fillTable().