ATLAS Offline Software
IEnhancedBiasWeighter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ENHANCEDBIASWEIGHTER_IENHANCEDBIASWEIGHTER_H
6 #define ENHANCEDBIASWEIGHTER_IENHANCEDBIASWEIGHTER_H 1
7 
8 //#include "AsgTools/IAsgTool.h"
11 #include <unordered_map>
12 
13 struct ChainDetail;
14 
15 //class IEnhancedBiasWeighter : public virtual asg::IAsgTool {
16 
21  public:
22  ASG_TOOL_INTERFACE( IEnhancedBiasWeighter ) //declares the interface to athena
23 
24  virtual double getEBWeight(const xAOD::EventInfo* eventInfo) const = 0;
25  virtual double getEBWeight(const EventContext& context) const = 0;
26  virtual double getEBLiveTime(const xAOD::EventInfo* eventInfo) const = 0;
27  virtual double getEBLiveTime(const EventContext& context) const = 0;
28  virtual double getLBLumi(const xAOD::EventInfo* eventInfo) const = 0;
29  virtual double getLBLumi(const EventContext& context) const = 0;
30  virtual double getLBLength(const xAOD::EventInfo* eventInfo) const = 0;
31  virtual double getLBLength(const EventContext& context) const = 0;
32  virtual double getAverageLumi() const = 0;
33  virtual double getAverageMu() const = 0;
34  virtual double getDeadtime(const int lumiblock = -1) const = 0;
35  virtual uint32_t getPairedBunches() const = 0;
36  virtual StatusCode getDistanceIntoTrain(const xAOD::EventInfo* eventInfo, uint32_t& distance) const = 0;
37  virtual uint32_t getRunNumber() const = 0;
38  virtual bool isUnbiasedEvent(const xAOD::EventInfo* eventInfo) const = 0;
39  virtual bool isGoodLB(const xAOD::EventInfo* eventInfo) const = 0;
40  virtual bool isGoodLB(const EventContext& context) const = 0;
41  virtual bool isMC() const = 0;
42  virtual std::unordered_map<std::string, ChainDetail> parsePrescaleXML(const std::string& prescaleXML) const = 0;
43  virtual const std::vector<int32_t>& getBunchGroups() const = 0;
44 
45 };
46 
47 #endif //> !ENHANCEDBIASWEIGHTER_IENHANCEDBIASWEIGHTER_H
IEnhancedBiasWeighter::getAverageLumi
virtual double getAverageLumi() const =0
python.MagFieldUtils.lumiblock
lumiblock
Definition: MagFieldUtils.py:188
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
IAugmentationTool.h
IEnhancedBiasWeighter::getDistanceIntoTrain
virtual StatusCode getDistanceIntoTrain(const xAOD::EventInfo *eventInfo, uint32_t &distance) const =0
IEnhancedBiasWeighter::isMC
virtual bool isMC() const =0
IEnhancedBiasWeighter::getEBLiveTime
virtual double getEBLiveTime(const xAOD::EventInfo *eventInfo) const =0
IEnhancedBiasWeighter::getLBLength
virtual double getLBLength(const xAOD::EventInfo *eventInfo) const =0
IEnhancedBiasWeighter::isGoodLB
virtual bool isGoodLB(const xAOD::EventInfo *eventInfo) const =0
IEnhancedBiasWeighter::parsePrescaleXML
virtual std::unordered_map< std::string, ChainDetail > parsePrescaleXML(const std::string &prescaleXML) const =0
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
IEnhancedBiasWeighter::getLBLumi
virtual double getLBLumi(const EventContext &context) const =0
IEnhancedBiasWeighter::getLBLumi
virtual double getLBLumi(const xAOD::EventInfo *eventInfo) const =0
IEnhancedBiasWeighter
Define interface of EnhancedBias weighting class.
Definition: IEnhancedBiasWeighter.h:20
IEnhancedBiasWeighter::getDeadtime
virtual double getDeadtime(const int lumiblock=-1) const =0
IEnhancedBiasWeighter::isGoodLB
virtual bool isGoodLB(const EventContext &context) const =0
IEnhancedBiasWeighter::getAverageMu
virtual double getAverageMu() const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
IEnhancedBiasWeighter::getPairedBunches
virtual uint32_t getPairedBunches() const =0
IEnhancedBiasWeighter::getRunNumber
virtual uint32_t getRunNumber() const =0
IEnhancedBiasWeighter::isUnbiasedEvent
virtual bool isUnbiasedEvent(const xAOD::EventInfo *eventInfo) const =0
IEnhancedBiasWeighter::getLBLength
virtual double getLBLength(const EventContext &context) const =0
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
IEnhancedBiasWeighter::getEBLiveTime
virtual double getEBLiveTime(const EventContext &context) const =0
IEnhancedBiasWeighter::getBunchGroups
virtual const std::vector< int32_t > & getBunchGroups() const =0
ChainDetail
Structure to encompass the data stored in a prescales XML generated by the RuleBook.
Definition: EnhancedBiasWeighter.h:25