ATLAS Offline Software
Loading...
Searching...
No Matches
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
13struct 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 getBunchCrossingRate() const = 0;
27 virtual double getEBLiveTime(const xAOD::EventInfo* eventInfo) const = 0;
28 virtual double getEBLiveTime(const EventContext& context) const = 0;
29 virtual double getLBLumi(const xAOD::EventInfo* eventInfo) const = 0;
30 virtual double getLBLumi(const EventContext& context) const = 0;
31 virtual double getLBLength(const xAOD::EventInfo* eventInfo) const = 0;
32 virtual double getLBLength(const EventContext& context) const = 0;
33 virtual double getAverageLumi() const = 0;
34 virtual double getAverageMu() const = 0;
35 virtual double getDeadtime(const int lumiblock = -1) const = 0;
36 virtual uint32_t getPairedBunches() const = 0;
37 virtual StatusCode getDistanceIntoTrain(const xAOD::EventInfo* eventInfo, uint32_t& distance, const EventContext& ctx) const = 0;
38 virtual uint32_t getRunNumber() const = 0;
39 virtual bool isUnbiasedEvent(const xAOD::EventInfo* eventInfo) const = 0;
40 virtual bool isGoodLB(const xAOD::EventInfo* eventInfo) const = 0;
41 virtual bool isGoodLB(const EventContext& context) const = 0;
42 virtual bool isMC() const = 0;
43 virtual std::unordered_map<std::string, ChainDetail> parsePrescaleXML(const std::string& prescaleXML) const = 0;
44 virtual const std::vector<int32_t>& getBunchGroups() const = 0;
45
46};
47
48#endif //> !ENHANCEDBIASWEIGHTER_IENHANCEDBIASWEIGHTER_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Define interface of EnhancedBias weighting class.
virtual bool isMC() const =0
virtual std::unordered_map< std::string, ChainDetail > parsePrescaleXML(const std::string &prescaleXML) const =0
virtual double getAverageLumi() const =0
virtual double getDeadtime(const int lumiblock=-1) const =0
virtual double getAverageMu() const =0
virtual uint32_t getPairedBunches() const =0
virtual double getEBWeight(const xAOD::EventInfo *eventInfo) const =0
virtual bool isGoodLB(const xAOD::EventInfo *eventInfo) const =0
virtual StatusCode getDistanceIntoTrain(const xAOD::EventInfo *eventInfo, uint32_t &distance, const EventContext &ctx) const =0
virtual double getEBLiveTime(const xAOD::EventInfo *eventInfo) const =0
virtual double getBunchCrossingRate() const =0
virtual double getLBLumi(const xAOD::EventInfo *eventInfo) const =0
virtual uint32_t getRunNumber() const =0
virtual bool isUnbiasedEvent(const xAOD::EventInfo *eventInfo) const =0
virtual double getLBLength(const xAOD::EventInfo *eventInfo) const =0
virtual const std::vector< int32_t > & getBunchGroups() const =0
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Structure to encompass the data stored in a prescales XML generated by the RuleBook.