CMS 3D CMS Logo

LumiCorrectionSource.h
Go to the documentation of this file.
1 #ifndef RecoLuminosity_LumiProducer_LumiCorrectionSource_h
2 #define RecoLuminosity_LumiProducer_LumiCorrectionSource_h
3 
9 #include <memory>
10 #include <xercesc/dom/DOM.hpp>
11 #include <xercesc/parsers/XercesDOMParser.hpp>
13 #include <xercesc/util/XMLString.hpp>
14 namespace coral{
15  class ISchema;
16 }
17 namespace edm{
18  class IOVSyncValue;
19 }
26  public:
28  typedef std::shared_ptr<const LumiCorrectionParam> ReturnParamType;
29  ReturnParamType produceLumiCorrectionParam(const LumiCorrectionParamRcd&);
30  ~LumiCorrectionSource() override;
31  protected:
32  void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&,
33  const edm::IOVSyncValue&,
34  edm::ValidityInterval& ) override;
35  private:
36  std::string translateFrontierConnect(const std::string& connectStr);
37  void reloadAuth();
38  const std::string servletTranslation(const std::string& servlet) const;
39  std::string x2s(const XMLCh* input)const;
40  XMLCh* s2x(const std::string& input)const;
41  std::string toParentString(const xercesc::DOMNode &nodeToConvert)const;
42  private:
49  std::map< unsigned int,std::shared_ptr<const LumiCorrectionParam> > m_paramcache;
50  bool m_isNullRun; //if lumi data exist for this run
51  unsigned int m_paramcachedrun;
52  unsigned int m_cachesize;
53  std::shared_ptr<const LumiCorrectionParam> m_paramresult;
55  private:
56  void fillparamcache(unsigned int runnumber);
57  void parseGlobaltagForLumi(coral::ISchema& schema,const std::string& globaltag);
58  float fetchIntglumi(coral::ISchema& schema,unsigned int runnumber);
59 };
60 #endif
std::shared_ptr< const LumiCorrectionParam > ReturnParamType
std::map< unsigned int, std::shared_ptr< const LumiCorrectionParam > > m_paramcache
const edm::IOVSyncValue * m_pcurrentTime
static std::string const input
Definition: EdmProvDump.cc:48
std::shared_ptr< const LumiCorrectionParam > m_paramresult
Definition: Binary.h:9
HLT enums.