CMS 3D CMS Logo

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

Member Typedef Documentation

◆ PosMap

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

Definition at line 46 of file TriggerNamesService.h.

◆ size_type

Definition at line 47 of file TriggerNamesService.h.

◆ Strings

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

Definition at line 45 of file TriggerNamesService.h.

Constructor & Destructor Documentation

◆ TriggerNamesService()

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

Definition at line 19 of file TriggerNamesService.cc.

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

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

Member Function Documentation

◆ find()

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

Definition at line 98 of file TriggerNamesService.h.

References Skims_PA_cff::name.

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  }

◆ findEndPath()

size_type edm::service::TriggerNamesService::findEndPath ( std::string const &  name) const
inline

Definition at line 77 of file TriggerNamesService.h.

References end_pos_, find(), and Skims_PA_cff::name.

77 { return find(end_pos_, name); }
size_type find(PosMap const &posmap, std::string const &name) const

◆ findTrigPath()

size_type edm::service::TriggerNamesService::findTrigPath ( std::string const &  name) const
inline

Definition at line 58 of file TriggerNamesService.h.

References find(), Skims_PA_cff::name, and trigpos_.

58 { return find(trigpos_, name); }
size_type find(PosMap const &posmap, std::string const &name) const

◆ getEndPath()

std::string const& edm::service::TriggerNamesService::getEndPath ( size_type const  i) const
inline

Definition at line 76 of file TriggerNamesService.h.

References end_names_, and mps_fire::i.

Referenced by ProcessCallGraph::preBeginJob().

◆ getEndPathModule() [1/2]

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_, find(), dqmiolumiharvest::j, and Skims_PA_cff::name.

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_

◆ getEndPathModule() [2/2]

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_, mps_fire::i, and dqmiolumiharvest::j.

94  {
95  return (end_modulenames_.at(i)).at(j);
96  }
std::vector< Strings > end_modulenames_

◆ getEndPathModules() [1/2]

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_, find(), and Skims_PA_cff::name.

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_

◆ getEndPathModules() [2/2]

Strings const& edm::service::TriggerNamesService::getEndPathModules ( size_type const  i) const
inline

Definition at line 90 of file TriggerNamesService.h.

References end_modulenames_, and mps_fire::i.

90 { return end_modulenames_.at(i); }
std::vector< Strings > end_modulenames_

◆ getEndPaths()

Strings const& edm::service::TriggerNamesService::getEndPaths ( ) const
inline

◆ getProcessName()

std::string const& edm::service::TriggerNamesService::getProcessName ( ) const
inline

◆ getTriggerPSet()

edm::ParameterSet const& edm::service::TriggerNamesService::getTriggerPSet ( ) const
inline

Definition at line 111 of file TriggerNamesService.h.

References trigger_pset_.

111 { return trigger_pset_; }

◆ getTrigPath()

std::string const& edm::service::TriggerNamesService::getTrigPath ( size_type const  i) const
inline

Definition at line 57 of file TriggerNamesService.h.

References mps_fire::i, and trignames_.

Referenced by ProcessCallGraph::preBeginJob().

◆ getTrigPathModule() [1/2]

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

Definition at line 81 of file TriggerNamesService.h.

References find(), dqmiolumiharvest::j, modulenames_, Skims_PA_cff::name, and trigpos_.

81  {
82  return (modulenames_.at(find(trigpos_, name))).at(j);
83  }
size_type find(PosMap const &posmap, std::string const &name) const

◆ getTrigPathModule() [2/2]

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

Definition at line 84 of file TriggerNamesService.h.

References mps_fire::i, dqmiolumiharvest::j, and modulenames_.

84  {
85  return (modulenames_.at(i)).at(j);
86  }

◆ getTrigPathModules() [1/2]

Strings const& edm::service::TriggerNamesService::getTrigPathModules ( std::string const &  name) const
inline

Definition at line 79 of file TriggerNamesService.h.

References find(), modulenames_, Skims_PA_cff::name, and trigpos_.

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

79 { return modulenames_.at(find(trigpos_, name)); }
size_type find(PosMap const &posmap, std::string const &name) const

◆ getTrigPathModules() [2/2]

Strings const& edm::service::TriggerNamesService::getTrigPathModules ( size_type const  i) const
inline

Definition at line 80 of file TriggerNamesService.h.

References mps_fire::i, and modulenames_.

80 { return modulenames_.at(i); }

◆ getTrigPaths() [1/3]

Strings const& edm::service::TriggerNamesService::getTrigPaths ( ) const
inline

◆ getTrigPaths() [2/3]

bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths 
)

Definition at line 90 of file TriggerNamesService.cc.

References getTrigPaths(), and edm::triggerResults().

90  {
91  bool dummy;
92  return getTrigPaths(triggerResults, trigPaths, dummy);
93  }
Strings const & getTrigPaths() const
static std::string const triggerResults("TriggerResults")

◆ getTrigPaths() [3/3]

bool edm::service::TriggerNamesService::getTrigPaths ( TriggerResults const &  triggerResults,
Strings trigPaths,
bool &  fromPSetRegistry 
)

Definition at line 45 of file TriggerNamesService.cc.

References Exception, edm::pset::Registry::getMapped(), edm::pset::Registry::instance(), Skims_PA_cff::name, muonDTDigis_cfi::pset, edm::search_all(), AlCaHLTBitMon_QueryRunRegistry::string, edm::triggerResults(), and edm::errors::Unknown.

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

◆ loadPosMap()

void edm::service::TriggerNamesService::loadPosMap ( PosMap posmap,
Strings const &  names 
)
inlineprivate

Definition at line 114 of file TriggerNamesService.h.

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

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  }
const std::string names[nVars_]

◆ size()

size_type edm::service::TriggerNamesService::size ( void  ) const
inline

◆ wantSummary()

bool edm::service::TriggerNamesService::wantSummary ( ) const
inline

Definition at line 108 of file TriggerNamesService.h.

References wantSummary_.

Member Data Documentation

◆ end_modulenames_

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

Definition at line 129 of file TriggerNamesService.h.

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

◆ end_names_

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

Definition at line 125 of file TriggerNamesService.h.

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

◆ end_pos_

PosMap edm::service::TriggerNamesService::end_pos_
private

◆ modulenames_

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

◆ process_name_

std::string edm::service::TriggerNamesService::process_name_
private

Definition at line 131 of file TriggerNamesService.h.

Referenced by getProcessName(), and TriggerNamesService().

◆ trigger_pset_

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

Definition at line 121 of file TriggerNamesService.h.

Referenced by getTriggerPSet(), and TriggerNamesService().

◆ trignames_

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

Definition at line 123 of file TriggerNamesService.h.

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

◆ trigpos_

PosMap edm::service::TriggerNamesService::trigpos_
private

◆ wantSummary_

bool edm::service::TriggerNamesService::wantSummary_
private

Definition at line 132 of file TriggerNamesService.h.

Referenced by TriggerNamesService(), and wantSummary().