CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Provenance.cc
Go to the documentation of this file.
5 
6 namespace edm {
7  static std::string const triggerResults("TriggerResults");
8  static std::string const source("source");
9  static std::string const triggerResultsInserter("TriggerResultsInserter");
10 
11  ParameterSet const& parameterSet(Provenance const& provenance) {
13  provenance.getProcessConfiguration(pc);
14  ParameterSet const& processParameterSet = *pset::Registry::instance()->getMapped(pc.parameterSetID());
15  std::string const& label = provenance.moduleLabel();
16  if (!processParameterSet.existsAs<ParameterSet>(label)) {
17  // Trigger results and input sources are special cases
18  if(label == triggerResults) {
19  return processParameterSet.getParameterSet("@trigger_paths");
20  } else if(label == source) {
21  return processParameterSet.getParameterSet("@main_input");
22  }
23  }
24  return processParameterSet.getParameterSet(label);
25  }
26 
27  std::string moduleName(Provenance const& provenance) {
28  // Trigger results ia a special case
29  if(provenance.moduleLabel() == triggerResults) {
30  return triggerResultsInserter;
31  }
32  return parameterSet(provenance).getParameter<std::string>("@module_type");
33  }
34 }
T getParameter(std::string const &) const
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:186
static std::string const source("source")
bool getProcessConfiguration(ProcessConfiguration &pc) const
Definition: Provenance.cc:45
std::string moduleName(Provenance const &provenance)
Definition: Provenance.cc:27
ParameterSetID const & parameterSetID() const
static std::string const triggerResultsInserter("TriggerResultsInserter")
bool getMapped(key_type const &k, value_type &result) const
Definition: Registry.cc:18
ParameterSet const & getParameterSet(std::string const &) const
static std::string const triggerResults("TriggerResults")
std::string const & moduleLabel() const
Definition: Provenance.h:60
ParameterSet const & parameterSet(Provenance const &provenance)
Definition: Provenance.cc:11
static Registry * instance()
Definition: Registry.cc:12