ATLAS Offline Software
LumiProfileSvc.h
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef PILEUPCOMPS_LUMIPROFILESVC
8 #define PILEUPCOMPS_LUMIPROFILESVC 1
9 
16 #include "Gaudi/Property.h"
17 
18 class LumiProfileSvc : public extends<AthService, IBeamLuminosity>
19 {
20 public:
22 
23  LumiProfileSvc(const std::string& name,ISvcLocator* svc);
24  virtual ~LumiProfileSvc();
26 
28  virtual StatusCode initialize() override final;
30 
32  virtual float scaleFactor(unsigned int run, unsigned int lumi, bool & updated) override final;
34 private:
36  SimpleProperty< std::vector< uint64_t > > m_runlumilist;
37  SimpleProperty< std::vector< float > > m_scalefactorlist;
39  std::map<uint64_t,float> m_scaleFactorMap;
41  float m_currentSF;
44 };
45 #endif
46 
LumiProfileSvc::~LumiProfileSvc
virtual ~LumiProfileSvc()
Definition: LumiProfileSvc.cxx:19
LumiProfileSvc::m_scaleFactorMap
std::map< uint64_t, float > m_scaleFactorMap
map from properties
Definition: LumiProfileSvc.h:39
LumiProfileSvc::initialize
virtual StatusCode initialize() override final
Definition: LumiProfileSvc.cxx:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LumiProfileSvc::scaleFactor
virtual float scaleFactor(unsigned int run, unsigned int lumi, bool &updated) override final
Definition: LumiProfileSvc.cxx:44
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
run
Definition: run.py:1
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LumiProfileSvc::m_runlumilist
SimpleProperty< std::vector< uint64_t > > m_runlumilist
look-up table of lumi scale factor by run, lumiblock
Definition: LumiProfileSvc.h:36
LumiProfileSvc::m_scalefactorlist
SimpleProperty< std::vector< float > > m_scalefactorlist
Definition: LumiProfileSvc.h:37
LumiProfileSvc::m_now
uint64_t m_now
cached iovtime
Definition: LumiProfileSvc.h:43
lumiFormat.lumi
lumi
Definition: lumiFormat.py:113
LumiProfileSvc::m_currentSF
float m_currentSF
cached scale factor
Definition: LumiProfileSvc.h:41
LumiProfileSvc::LumiProfileSvc
LumiProfileSvc(const std::string &name, ISvcLocator *svc)
Definition: LumiProfileSvc.cxx:7
AthService.h
IBeamLuminosity.h
provides the relative beam luminosity as a function of the bunch xing.
LumiProfileSvc
Definition: LumiProfileSvc.h:19