CMS 3D CMS Logo

PayloadInspector.cc
Go to the documentation of this file.
5 
6 #include <sstream>
7 #include <iostream>
8 #include <boost/python/extract.hpp>
9 
10 namespace cond {
11 
12  namespace payloadInspector {
13 
15 
17  std::string ret("");
18  auto im = m.find(key);
19  if (im != m.end())
20  ret = im->second;
21  return ret;
22  }
23 
24  constexpr const char* const ModuleVersion::label;
25 
27  : m_plotAnnotations(),
28  m_inputParams(),
29  m_tagNames(),
30  m_tagBoundaries(),
31  m_tagIovs(),
32  m_inputParamValues(),
33  m_data("") {}
34 
35  void PlotBase::addInputParam(const std::string& paramName) {
36  // maybe add a check for existing params - returning an Exception when found...
37  m_inputParams.insert(paramName);
38  }
39 
41 
43 
45 
47 
48  unsigned int PlotBase::ntags() const { return m_plotAnnotations.ntags; }
49 
50  bool PlotBase::isTwoTags() const { return m_plotAnnotations.ntags == 2; }
51 
54  for (auto ip : m_inputParams) {
55  tmp.append(ip);
56  }
57  return tmp;
58  }
59 
60  void PlotBase::setInputParamValues(const boost::python::dict& values) {
61  for (auto ip : m_inputParams) {
62  if (values.has_key(ip)) {
63  std::string val = boost::python::extract<std::string>(values.get(ip));
64  m_inputParamValues.insert(std::make_pair(ip, val));
65  }
66  }
67  }
68 
69  std::string PlotBase::data() const { return m_data; }
70 
71  bool PlotBase::process(const std::string& connectionString, const boost::python::list& tagsWithTimeBoundaries) {
72  size_t nt = boost::python::len(tagsWithTimeBoundaries);
73  bool ret = false;
74  if (nt) {
75  std::vector<std::tuple<std::string, cond::Time_t, cond::Time_t> > tags;
76  tags.resize(nt);
77  for (size_t i = 0; i < nt; i++) {
78  boost::python::tuple entry = boost::python::extract<boost::python::tuple>(tagsWithTimeBoundaries[i]);
79  std::string tagName = boost::python::extract<std::string>(entry[0]);
80  std::string time0s = boost::python::extract<std::string>(entry[1]);
81  std::string time1s = boost::python::extract<std::string>(entry[2]);
82  cond::Time_t time0 = boost::lexical_cast<cond::Time_t>(time0s);
83  cond::Time_t time1 = boost::lexical_cast<cond::Time_t>(time1s);
84  tags[i] = std::make_tuple(tagName, time0, time1);
85  }
87  }
88  return ret;
89  }
90 
93  const std::vector<std::tuple<std::string, cond::Time_t, cond::Time_t> >& tagsWithTimeBoundaries) {
94  m_tagNames.clear();
95  m_tagBoundaries.clear();
96  m_tagIovs.clear();
97  init();
98 
99  std::vector<edm::ParameterSet> psets;
100  edm::ParameterSet pSet;
101  pSet.addParameter("@service_type", std::string("SiteLocalConfigService"));
102  psets.push_back(pSet);
103  static const edm::ServiceToken services(edm::ServiceRegistry::createSet(psets));
104  static const edm::ServiceRegistry::Operate operate(services);
105  bool ret = false;
106  size_t nt = tagsWithTimeBoundaries.size();
107  if (nt) {
111  m_tagNames.resize(nt);
112  m_tagBoundaries.resize(nt);
113  m_tagIovs.resize(nt);
114  for (size_t i = 0; i < nt; i++) {
115  const std::string& tagName = std::get<0>(tagsWithTimeBoundaries[i]);
116  cond::Time_t time0 = std::get<1>(tagsWithTimeBoundaries[i]);
117  cond::Time_t time1 = std::get<2>(tagsWithTimeBoundaries[i]);
118  m_tagNames[i] = tagName;
119  m_tagBoundaries[i] = std::make_pair(time0, time1);
120  auto proxy = m_dbSession.readIov(tagName);
121  proxy.selectRange(time0, time1, m_tagIovs[i]);
122  }
123  m_data = processData();
125  ret = true;
126  }
127  return ret;
128  }
129 
130  void PlotBase::init() {}
131 
133 
136  return info;
137  }
138 
139  const std::map<std::string, std::string>& PlotBase::inputParamValues() const { return m_inputParamValues; }
140 
142 
143  } // namespace payloadInspector
144 
145 } // namespace cond
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
cond::payloadInspector::PlotBase::m_data
std::string m_data
Definition: PayloadInspector.h:262
mps_fire.i
i
Definition: mps_fire.py:355
ConnectionPool.h
ServiceRegistry.h
cond::payloadInspector::PlotBase::process
bool process(const std::string &connectionString, const boost::python::list &tagsWithTimeBoundaries)
Definition: PayloadInspector.cc:71
nt
int nt
Definition: AMPTWrapper.h:42
cond::payloadInspector::PlotBase::payloadType
std::string payloadType() const
Definition: PayloadInspector.cc:40
cond::payloadInspector::PlotAnnotations::ntags
int ntags
Definition: PayloadInspector.h:54
mps_splice.entry
entry
Definition: mps_splice.py:68
PayloadInspector.h
cond::payloadInspector::PlotBase::m_dbSession
cond::persistency::Session m_dbSession
Definition: PayloadInspector.h:261
cond::payloadInspector::PlotBase::m_tagBoundaries
std::vector< std::pair< cond::Time_t, cond::Time_t > > m_tagBoundaries
Definition: PayloadInspector.h:255
cond::payloadInspector::PlotAnnotations::PLOT_TYPE_K
static constexpr const char *const PLOT_TYPE_K
Definition: PayloadInspector.h:44
cond::persistency::IOVProxy::selectRange
IOVArray selectRange(const cond::Time_t &begin, const cond::Time_t &end)
Definition: IOVProxy.cc:187
cond::payloadInspector::PlotAnnotations::get
std::string get(const std::string &key) const
Definition: PayloadInspector.cc:16
edm::ServiceRegistry::createSet
static ServiceToken createSet(std::vector< ParameterSet > &)
Definition: ServiceRegistry.cc:75
cond::payloadInspector::PlotBase::inputParamValues
const std::map< std::string, std::string > & inputParamValues() const
Definition: PayloadInspector.cc:139
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
cond::payloadInspector::PlotBase::inputParams
boost::python::list inputParams() const
Definition: PayloadInspector.cc:52
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
cond::persistency::ConnectionPool::createSession
Session createSession(const std::string &connectionString, bool writeCapable=false)
Definition: ConnectionPool.cc:154
cond::payloadInspector::PlotBase::exec_process
bool exec_process(const std::string &connectionString, const std::vector< std::tuple< std::string, cond::Time_t, cond::Time_t >> &tagsWithTimeBoundaries)
Definition: PayloadInspector.cc:91
edm::ServiceToken
Definition: ServiceToken.h:40
cond::payloadInspector::PlotAnnotations::m
std::map< std::string, std::string > m
Definition: PayloadInspector.h:53
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
contentValuesCheck.values
values
Definition: contentValuesCheck.py:38
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
cond::payloadInspector::PlotBase::ntags
unsigned int ntags() const
Definition: PayloadInspector.cc:48
cond::persistency::ConnectionPool
Definition: ConnectionPool.h:31
cond::payloadInspector::PlotBase::m_tagNames
std::vector< std::string > m_tagNames
Definition: PayloadInspector.h:254
cond::payloadInspector::PlotBase::dbSession
cond::persistency::Session dbSession()
Definition: PayloadInspector.cc:141
cond::payloadInspector::PlotBase::m_inputParamValues
std::map< std::string, std::string > m_inputParamValues
Definition: PayloadInspector.h:257
cond::payloadInspector::PlotBase::getTagInfo
cond::Tag_t getTagInfo(const std::string &tag)
Definition: PayloadInspector.cc:134
cond::payloadInspector::ModuleVersion::label
static constexpr const char *const label
Definition: PayloadInspector.h:163
cond::persistency::Session::readIov
IOVProxy readIov(const std::string &tag)
Definition: Session.cc:63
cond::payloadInspector::PlotBase::type
std::string type() const
Definition: PayloadInspector.cc:44
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cond::payloadInspector::PlotBase::title
std::string title() const
Definition: PayloadInspector.cc:42
cond
Definition: plugin.cc:23
cond::payloadInspector::PlotBase::setInputParamValues
void setInputParamValues(const boost::python::dict &values)
Definition: PayloadInspector.cc:60
edm::ParameterSet
Definition: ParameterSet.h:36
cond::payloadInspector::PlotAnnotations::singleIov
bool singleIov
Definition: PayloadInspector.h:56
cond::persistency::Session
Definition: Session.h:63
cond::Time_t
unsigned long long Time_t
Definition: Time.h:14
cond::payloadInspector::PlotAnnotations::TITLE_K
static constexpr const char *const TITLE_K
Definition: PayloadInspector.h:45
edm::ParameterSet::addParameter
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:124
cond::persistency::Transaction::commit
void commit()
Definition: Session.cc:23
cond::payloadInspector::PlotBase::isTwoTags
bool isTwoTags() const
Definition: PayloadInspector.cc:50
cond::Tag_t
Definition: Types.h:58
cond::payloadInspector::PlotBase::m_inputParams
std::set< std::string > m_inputParams
Definition: PayloadInspector.h:253
cond::payloadInspector::PlotAnnotations::PAYLOAD_TYPE_K
static constexpr const char *const PAYLOAD_TYPE_K
Definition: PayloadInspector.h:46
cond::payloadInspector::PlotBase::init
virtual void init()
Definition: PayloadInspector.cc:130
cond::payloadInspector::PlotBase::m_tagIovs
std::vector< std::vector< std::tuple< cond::Time_t, cond::Hash > > > m_tagIovs
Definition: PayloadInspector.h:256
cond::payloadInspector::PlotBase::processData
virtual std::string processData()
Definition: PayloadInspector.cc:132
cond::payloadInspector::PlotBase::isSingleIov
bool isSingleIov() const
Definition: PayloadInspector.cc:46
cond::persistency::Session::transaction
Transaction & transaction()
Definition: Session.cc:52
cond::payloadInspector::PlotBase::data
std::string data() const
Definition: PayloadInspector.cc:69
cond::persistency::Transaction::start
void start(bool readOnly=true)
Definition: Session.cc:18
cond::time::time0
const boost::posix_time::ptime time0
Definition: TimeConversions.h:37
heppy_batch.val
val
Definition: heppy_batch.py:351
cond::payloadInspector::PlotBase::PlotBase
PlotBase()
Definition: PayloadInspector.cc:26
cond::payloadInspector::PlotAnnotations::PlotAnnotations
PlotAnnotations()
Definition: PayloadInspector.cc:14
triggerMatcherToHLTDebug_cfi.tags
tags
Definition: triggerMatcherToHLTDebug_cfi.py:9
list
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 list("!*", "!HLTx*" if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL. It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of "!*" before the partial wildcard feature was incorporated). Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
ParameterSet.h
cond::payloadInspector::PlotBase::addInputParam
void addInputParam(const std::string &paramName)
Definition: PayloadInspector.cc:35
l1RCTOmdsFedVectorProducer_cfi.connectionString
connectionString
Definition: l1RCTOmdsFedVectorProducer_cfi.py:4
crabWrapper.key
key
Definition: crabWrapper.py:19
edm::ServiceRegistry::Operate
Definition: ServiceRegistry.h:40
cond::persistency::IOVProxy::tagInfo
cond::Tag_t tagInfo() const
Definition: IOVProxy.cc:243
JetPartonCorrections_cff.tagName
tagName
Definition: JetPartonCorrections_cff.py:12
cond::payloadInspector::PlotBase::m_plotAnnotations
PlotAnnotations m_plotAnnotations
Definition: PayloadInspector.h:252