ATLAS Offline Software
Loading...
Searching...
No Matches
IBPhysBlindingTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5*/
6
13
14#ifndef BPHYSTOOLS_IBPHYSBLINDINGTOOL_H
15#define BPHYSTOOLS_IBPHYSBLINDINGTOOL_H
16
17// Framework includes
18#include "AsgTools/IAsgTool.h"
19
20// System include(s):
21#include <string>
22#include <vector>
23
24// EDM includes
26
27namespace xAOD {
35 class IBPhysBlindingTool : virtual public asg::IAsgTool {
36
37 public:
40
41
42 virtual StatusCode finalize() = 0;
43
49 virtual float doBlind(const float& val) = 0;
50
53 virtual float doUnblind(const float& val) = 0;
54
57 virtual float doBlind(const float& val, const bool& negativeSign,
58 const float& offset, const float& factor) = 0;
59
62 virtual float doUnblind(const float& val, const bool& negativeSign,
63 const float& offset, const float& factor) = 0;
64
67 virtual StatusCode doBlind() = 0;
68
71 virtual StatusCode doUnblind() = 0;
72
74
75 }; // class IBPhysBlindingTool
76
77} // namespace xAOD
78
79#endif // BPHYSTOOLS_IBPHYSBLINDINGTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Interface for dual-use tool for blinding and unblinding certain float values provided as variables in...
virtual float doBlind(const float &val)=0
virtual float doUnblind(const float &val)=0
Simply unblind one positive float value.
virtual StatusCode finalize()=0
Declare the correct interface for Athena.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.