CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private 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)
 
size_type size () const
 
 TriggerNamesService (ParameterSet const &proc_pset)
 
bool wantSummary () const
 

Private Member Functions

void loadPosMap (PosMap &posmap, Strings const &names)
 

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 42 of file TriggerNamesService.h.

Member Typedef Documentation

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

Definition at line 45 of file TriggerNamesService.h.

Definition at line 46 of file TriggerNamesService.h.

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

Definition at line 44 of file TriggerNamesService.h.

Constructor & Destructor Documentation

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

Definition at line 18 of file TriggerNamesService.cc.

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

18  {
19  trigger_pset_ = pset.getParameterSet("@trigger_paths");
20 
21  trignames_ = trigger_pset_.getParameter<Strings>("@trigger_paths");
22  end_names_ = pset.getParameter<Strings>("@end_paths");
23 
24  ParameterSet defopts;
25  ParameterSet const& opts = pset.getUntrackedParameterSet("options", defopts);
26  wantSummary_ = opts.getUntrackedParameter("wantSummary", false);
27 
28  process_name_ = pset.getParameter<std::string>("@process_name");
29 
31  loadPosMap(end_pos_, end_names_);
32 
33  const unsigned int n(trignames_.size());
34  for (unsigned int i = 0; i != n; ++i) {
35  modulenames_.push_back(pset.getParameter<Strings>(trignames_[i]));
36  }
37  for (unsigned int i = 0; i != end_names_.size(); ++i) {
38  end_modulenames_.push_back(pset.getParameter<Strings>(end_names_[i]));
39  }
40  }
std::vector< std::string > Strings
Definition: MsgTools.h:18
void loadPosMap(PosMap &posmap, Strings const &names)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
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 98 of file TriggerNamesService.h.

Referenced by findEndPath(), findTrigPath(), getEndPathModule(), getEndPathModules(), getTrigPathModule(), and getTrigPathModules().

98  {
99  PosMap::const_iterator const pos(posmap.find(name));
100  if (pos == posmap.end()) {
101  return posmap.size();
102  } else {
103  return pos->second;
104  }
105  }
size_type edm::service::TriggerNamesService::findEndPath ( std::string const &  name) const
inline

Definition at line 76 of file TriggerNamesService.h.

References end_pos_, and find().

76 { 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 57 of file TriggerNamesService.h.

References find(), and trigpos_.

57 { 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 75 of file TriggerNamesService.h.

References end_names_.

Referenced by ProcessCallGraph::preBeginJob().

std::string const& edm::service::TriggerNamesService::getEndPathModule ( std::string const &  name,
size_type const  j 
) const
inline

Definition at line 91 of file TriggerNamesService.h.

References end_modulenames_, end_pos_, and find().

91  {
92  return (end_modulenames_.at(find(end_pos_, name))).at(j);
93  }
size_type find(PosMap const &posmap, std::string const &name) const
std::vector< Strings > end_modulenames_
std::string const& edm::service::TriggerNamesService::getEndPathModule ( size_type const  i,
size_type const  j 
) const
inline

Definition at line 94 of file TriggerNamesService.h.

References end_modulenames_.

94  {
95  return (end_modulenames_.at(i)).at(j);
96  }
std::vector< Strings > end_modulenames_
Strings const& edm::service::TriggerNamesService::getEndPathModules ( std::string const &  name) const
inline

Definition at line 87 of file TriggerNamesService.h.

References end_modulenames_, end_pos_, and find().

Referenced by edm::SystemTimeKeeper::SystemTimeKeeper().

87  {
88  return end_modulenames_.at(find(end_pos_, name));
89  }
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 90 of file TriggerNamesService.h.

References end_modulenames_.

90 { return end_modulenames_.at(i); }
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 111 of file TriggerNamesService.h.

References trigger_pset_.

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

Definition at line 56 of file TriggerNamesService.h.

References trignames_.

Referenced by ProcessCallGraph::preBeginJob().

std::string const& edm::service::TriggerNamesService::getTrigPathModule ( std::string const &  name,
size_type const  j 
) const
inline

Definition at line 80 of file TriggerNamesService.h.

References find(), modulenames_, and trigpos_.

80  {
81  return (modulenames_.at(find(trigpos_, name))).at(j);
82  }
size_type find(PosMap const &posmap, std::string const &name) const
std::string const& edm::service::TriggerNamesService::getTrigPathModule ( size_type const  i,
size_type const  j 
) const
inline

Definition at line 83 of file TriggerNamesService.h.

References modulenames_.

83  {
84  return (modulenames_.at(i)).at(j);
85  }
Strings const& edm::service::TriggerNamesService::getTrigPathModules ( std::string const &  name) const
inline

Definition at line 78 of file TriggerNamesService.h.

References find(), modulenames_, and trigpos_.

Referenced by edm::SystemTimeKeeper::SystemTimeKeeper().

78 { return modulenames_.at(find(trigpos_, name)); }
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 79 of file TriggerNamesService.h.

References modulenames_.

79 { return modulenames_.at(i); }
Strings const& edm::service::TriggerNamesService::getTrigPaths ( ) const
inline
bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths 
)

Definition at line 87 of file TriggerNamesService.cc.

References getTrigPaths().

87  {
88  bool dummy;
89  return getTrigPaths(triggerResults, trigPaths, dummy);
90  }
static std::string const triggerResults("TriggerResults")
Strings const & getTrigPaths() const
bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths,
bool &  fromPSetRegistry 
)

Definition at line 42 of file TriggerNamesService.cc.

References Exception, edm::pset::Registry::getMapped(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNamesForType(), edm::TriggerResults::getTriggerNames(), edm::pset::Registry::instance(), mergeVDriftHistosByStation::name, edm::TriggerResults::parameterSetID(), TrackValidation_cff::pset, edm::search_all(), edm::HLTGlobalStatus::size(), AlCaHLTBitMon_QueryRunRegistry::string, and edm::errors::Unknown.

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

Definition at line 114 of file TriggerNamesService.h.

References mps_fire::i, and dqmiodumpmetadata::n.

Referenced by TriggerNamesService().

114  {
115  size_type const n(names.size());
116  for (size_type i = 0; i != n; ++i) {
117  posmap[names[i]] = i;
118  }
119  }
std::vector< std::string > names
size_type edm::service::TriggerNamesService::size ( void  ) const
inline
bool edm::service::TriggerNamesService::wantSummary ( ) const
inline

Definition at line 108 of file TriggerNamesService.h.

References wantSummary_.

Member Data Documentation

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

Definition at line 129 of file TriggerNamesService.h.

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

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

Definition at line 125 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 131 of file TriggerNamesService.h.

Referenced by getProcessName(), and TriggerNamesService().

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

Definition at line 121 of file TriggerNamesService.h.

Referenced by getTriggerPSet(), and TriggerNamesService().

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

Definition at line 123 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 132 of file TriggerNamesService.h.

Referenced by TriggerNamesService(), and wantSummary().