CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
edm::service::TriggerNamesService Class Reference

#include <TriggerNamesService.h>

Public Types

typedef std::map< std::string,
unsigned int > 
PosMap
 
typedef PosMap::size_type size_type
 
typedef std::vector< std::string > Strings
 

Public Member Functions

size_type find (PosMap const &posmap, std::string const &name) const
 
size_type findEndPath (std::string const &name) const
 
size_type findTrigPath (std::string const &name) const
 
std::string const & getEndPath (size_type const i) const
 
std::string const & getEndPathModule (std::string const &name, size_type const j) const
 
std::string const & getEndPathModule (size_type const i, size_type const j) const
 
Strings const & getEndPathModules (std::string const &name) const
 
Strings const & getEndPathModules (size_type const i) const
 
Strings const & getEndPaths () const
 
std::string const & getProcessName () const
 
edm::ParameterSet const & getTriggerPSet () const
 
std::string const & getTrigPath (size_type const i) const
 
std::string const & getTrigPathModule (std::string const &name, size_type const j) const
 
std::string const & getTrigPathModule (size_type const i, size_type const j) const
 
Strings const & getTrigPathModules (std::string const &name) const
 
Strings const & getTrigPathModules (size_type const i) const
 
Strings const & getTrigPaths () const
 
bool getTrigPaths (TriggerResults const &triggerResults, Strings &trigPaths)
 
bool getTrigPaths (TriggerResults const &triggerResults, Strings &trigPaths, bool &fromPSetRegistry)
 
void loadPosMap (PosMap &posmap, Strings const &names)
 
size_type size () const
 
 TriggerNamesService (ParameterSet const &proc_pset)
 
bool wantSummary () const
 

Private Attributes

std::vector< Stringsend_modulenames_
 
Strings end_names_
 
PosMap end_pos_
 
std::vector< Stringsmodulenames_
 
std::string process_name_
 
edm::ParameterSet trigger_pset_
 
Strings trignames_
 
PosMap trigpos_
 
bool wantSummary_
 

Detailed Description

Definition at line 43 of file TriggerNamesService.h.

Member Typedef Documentation

typedef std::map<std::string, unsigned int> edm::service::TriggerNamesService::PosMap

Definition at line 48 of file TriggerNamesService.h.

Definition at line 49 of file TriggerNamesService.h.

typedef std::vector<std::string> edm::service::TriggerNamesService::Strings

Definition at line 47 of file TriggerNamesService.h.

Constructor & Destructor Documentation

edm::service::TriggerNamesService::TriggerNamesService ( ParameterSet const &  proc_pset)
explicit

Definition at line 20 of file TriggerNamesService.cc.

References end_modulenames_, end_names_, end_pos_, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), i, loadPosMap(), modulenames_, n, geometryDiff::opts, process_name_, AlCaHLTBitMon_QueryRunRegistry::string, trigger_pset_, trignames_, trigpos_, and wantSummary_.

20  {
21 
22  trigger_pset_ =
23  pset.getParameterSet("@trigger_paths");
24 
25  trignames_ = trigger_pset_.getParameter<Strings>("@trigger_paths");
26  end_names_ = pset.getParameter<Strings>("@end_paths");
27 
28  ParameterSet defopts;
29  ParameterSet const& opts =
30  pset.getUntrackedParameterSet("options", defopts);
31  wantSummary_ =
32  opts.getUntrackedParameter("wantSummary", false);
33 
34  process_name_ = pset.getParameter<std::string>("@process_name");
35 
37  loadPosMap(end_pos_,end_names_);
38 
39  const unsigned int n(trignames_.size());
40  for(unsigned int i=0;i!=n;++i) {
41  modulenames_.push_back(pset.getParameter<Strings>(trignames_[i]));
42  }
43  for(unsigned int i = 0; i != end_names_.size(); ++i) {
44  end_modulenames_.push_back(pset.getParameter<Strings>(end_names_[i]));
45  }
46  }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
std::vector< std::string > Strings
Definition: MsgTools.h:18
void loadPosMap(PosMap &posmap, Strings const &names)
ParameterSet const & getParameterSet(std::string const &) const
std::vector< Strings > end_modulenames_

Member Function Documentation

size_type edm::service::TriggerNamesService::find ( PosMap const &  posmap,
std::string const &  name 
) const
inline

Definition at line 110 of file TriggerNamesService.h.

References pos.

Referenced by BeautifulSoup.Tag::_invert(), findEndPath(), findTrigPath(), getEndPathModule(), getEndPathModules(), getTrigPathModule(), getTrigPathModules(), and BeautifulSoup.PageElement::insert().

110  {
111  PosMap::const_iterator const pos(posmap.find(name));
112  if (pos == posmap.end()) {
113  return posmap.size();
114  } else {
115  return pos->second;
116  }
117  }
size_type edm::service::TriggerNamesService::findEndPath ( std::string const &  name) const
inline

Definition at line 82 of file TriggerNamesService.h.

References end_pos_, and find().

Referenced by FastTimerService::preBeginRun().

82 { return find(end_pos_,name);}
size_type find(PosMap const &posmap, std::string const &name) const
size_type edm::service::TriggerNamesService::findTrigPath ( std::string const &  name) const
inline

Definition at line 60 of file TriggerNamesService.h.

References find(), and trigpos_.

Referenced by FastTimerService::preBeginRun().

60 { return find(trigpos_,name);}
size_type find(PosMap const &posmap, std::string const &name) const
std::string const& edm::service::TriggerNamesService::getEndPath ( size_type const  i) const
inline

Definition at line 81 of file TriggerNamesService.h.

References end_names_.

Referenced by FastTimerService::preBeginRun().

81 { return end_names_.at(i);}
int i
Definition: DBlmapReader.cc:9
std::string const& edm::service::TriggerNamesService::getEndPathModule ( std::string const &  name,
size_type const  j 
) const
inline

Definition at line 103 of file TriggerNamesService.h.

References asciidump::at, end_modulenames_, end_pos_, and find().

103  {
104  return (end_modulenames_.at(find(end_pos_,name))).at(j);
105  }
int j
Definition: DBlmapReader.cc:9
size_type find(PosMap const &posmap, std::string const &name) const
std::vector< Strings > end_modulenames_
list at
Definition: asciidump.py:428
std::string const& edm::service::TriggerNamesService::getEndPathModule ( size_type const  i,
size_type const  j 
) const
inline

Definition at line 106 of file TriggerNamesService.h.

References asciidump::at, and end_modulenames_.

106  {
107  return (end_modulenames_.at(i)).at(j);
108  }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
std::vector< Strings > end_modulenames_
list at
Definition: asciidump.py:428
Strings const& edm::service::TriggerNamesService::getEndPathModules ( std::string const &  name) const
inline

Definition at line 97 of file TriggerNamesService.h.

References end_modulenames_, end_pos_, and find().

Referenced by FastTimerService::preBeginRun().

97  {
98  return end_modulenames_.at(find(end_pos_,name));
99  }
size_type find(PosMap const &posmap, std::string const &name) const
std::vector< Strings > end_modulenames_
Strings const& edm::service::TriggerNamesService::getEndPathModules ( size_type const  i) const
inline

Definition at line 100 of file TriggerNamesService.h.

References end_modulenames_.

100  {
101  return end_modulenames_.at(i);
102  }
int i
Definition: DBlmapReader.cc:9
std::vector< Strings > end_modulenames_
Strings const& edm::service::TriggerNamesService::getEndPaths ( ) const
inline
std::string const& edm::service::TriggerNamesService::getProcessName ( ) const
inline
edm::ParameterSet const& edm::service::TriggerNamesService::getTriggerPSet ( ) const
inline

Definition at line 130 of file TriggerNamesService.h.

References trigger_pset_.

130 { return trigger_pset_; }
std::string const& edm::service::TriggerNamesService::getTrigPath ( size_type const  i) const
inline

Definition at line 59 of file TriggerNamesService.h.

References trignames_.

Referenced by FastTimerService::preBeginRun().

59 { return trignames_.at(i);}
int i
Definition: DBlmapReader.cc:9
std::string const& edm::service::TriggerNamesService::getTrigPathModule ( std::string const &  name,
size_type const  j 
) const
inline

Definition at line 90 of file TriggerNamesService.h.

References asciidump::at, find(), modulenames_, and trigpos_.

90  {
91  return (modulenames_.at(find(trigpos_,name))).at(j);
92  }
int j
Definition: DBlmapReader.cc:9
size_type find(PosMap const &posmap, std::string const &name) const
list at
Definition: asciidump.py:428
std::string const& edm::service::TriggerNamesService::getTrigPathModule ( size_type const  i,
size_type const  j 
) const
inline

Definition at line 93 of file TriggerNamesService.h.

References asciidump::at, and modulenames_.

93  {
94  return (modulenames_.at(i)).at(j);
95  }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
list at
Definition: asciidump.py:428
Strings const& edm::service::TriggerNamesService::getTrigPathModules ( std::string const &  name) const
inline

Definition at line 84 of file TriggerNamesService.h.

References find(), modulenames_, and trigpos_.

Referenced by edm::service::PathTimerService::postBeginJob(), and FastTimerService::preBeginRun().

84  {
85  return modulenames_.at(find(trigpos_,name));
86  }
size_type find(PosMap const &posmap, std::string const &name) const
Strings const& edm::service::TriggerNamesService::getTrigPathModules ( size_type const  i) const
inline

Definition at line 87 of file TriggerNamesService.h.

References modulenames_.

87  {
88  return modulenames_.at(i);
89  }
int i
Definition: DBlmapReader.cc:9
Strings const& edm::service::TriggerNamesService::getTrigPaths ( ) const
inline
bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths 
)

Definition at line 97 of file TriggerNamesService.cc.

References getTrigPaths().

98  {
99  bool dummy;
100  return getTrigPaths(triggerResults, trigPaths, dummy);
101  }
Strings const & getTrigPaths() const
bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths,
bool &  fromPSetRegistry 
)

Definition at line 49 of file TriggerNamesService.cc.

References edm::hlt::Exception, edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNamesForType(), edm::TriggerResults::getTriggerNames(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), mergeVDriftHistosByStation::name, edm::TriggerResults::parameterSetID(), edm::search_all(), edm::HLTGlobalStatus::size(), AlCaHLTBitMon_QueryRunRegistry::string, and edm::errors::Unknown.

51  {
52 
53  // Get the parameter set containing the trigger names from the parameter set registry
54  // using the ID from TriggerResults as the key used to find it.
55  ParameterSet const* pset=0;
56  pset::Registry* psetRegistry = pset::Registry::instance();
57  if (0 != (pset=psetRegistry->getMapped(triggerResults.parameterSetID()))) {
58 
59  // Check to make sure the parameter set contains
60  // a Strings parameter named "trigger_paths".
61  // We do not want to throw an exception if it is not there
62  // for reasons of backward compatibility
63  Strings const & psetNames = pset->getParameterNamesForType<Strings>();
64  std::string name("@trigger_paths");
65  if (search_all(psetNames, name)) {
66  // It is there, get it
67  trigPaths = pset->getParameter<Strings>("@trigger_paths");
68 
69  // This should never happen
70  if (trigPaths.size() != triggerResults.size()) {
72  << "TriggerNamesService::getTrigPaths, Trigger names vector and\n"
73  "TriggerResults are different sizes. This should be impossible,\n"
74  "please send information to reproduce this problem to\n"
75  "the edm developers.\n";
76  }
77 
78  fromPSetRegistry = true;
79  return true;
80  }
81  }
82 
83  fromPSetRegistry = false;
84 
85  // In older versions of the code the the trigger names were stored
86  // inside of the TriggerResults object. This will provide backward
87  // compatibility.
88  if (triggerResults.size() == triggerResults.getTriggerNames().size()) {
89  trigPaths = triggerResults.getTriggerNames();
90  return true;
91  }
92 
93  return false;
94  }
static ThreadSafeRegistry * instance()
std::vector< std::string > Strings
Definition: MsgTools.h:18
detail::ThreadSafeRegistry< ParameterSetID, ParameterSet, ProcessParameterSetIDCache > Registry
Definition: Registry.h:37
bool search_all(ForwardSequence const &s, Datum const &d)
Definition: Algorithms.h:46
void edm::service::TriggerNamesService::loadPosMap ( PosMap posmap,
Strings const &  names 
)
inline

Definition at line 119 of file TriggerNamesService.h.

References i, and n.

Referenced by TriggerNamesService().

119  {
120  size_type const n(names.size());
121  for (size_type i = 0; i != n; ++i) {
122  posmap[names[i]] = i;
123  }
124  }
int i
Definition: DBlmapReader.cc:9
static const HistoName names[]
size_type edm::service::TriggerNamesService::size ( void  ) const
inline

Definition at line 57 of file TriggerNamesService.h.

References trignames_.

57 { return trignames_.size(); }
bool edm::service::TriggerNamesService::wantSummary ( ) const
inline

Definition at line 127 of file TriggerNamesService.h.

References wantSummary_.

Member Data Documentation

std::vector<Strings> edm::service::TriggerNamesService::end_modulenames_
private

Definition at line 142 of file TriggerNamesService.h.

Referenced by getEndPathModule(), getEndPathModules(), and TriggerNamesService().

Strings edm::service::TriggerNamesService::end_names_
private

Definition at line 138 of file TriggerNamesService.h.

Referenced by getEndPath(), getEndPaths(), and TriggerNamesService().

PosMap edm::service::TriggerNamesService::end_pos_
private
std::vector<Strings> edm::service::TriggerNamesService::modulenames_
private
std::string edm::service::TriggerNamesService::process_name_
private

Definition at line 144 of file TriggerNamesService.h.

Referenced by getProcessName(), and TriggerNamesService().

edm::ParameterSet edm::service::TriggerNamesService::trigger_pset_
private

Definition at line 134 of file TriggerNamesService.h.

Referenced by getTriggerPSet(), and TriggerNamesService().

Strings edm::service::TriggerNamesService::trignames_
private

Definition at line 136 of file TriggerNamesService.h.

Referenced by getTrigPath(), getTrigPaths(), size(), and TriggerNamesService().

PosMap edm::service::TriggerNamesService::trigpos_
private
bool edm::service::TriggerNamesService::wantSummary_
private

Definition at line 145 of file TriggerNamesService.h.

Referenced by TriggerNamesService(), and wantSummary().