ATLAS Offline Software
Loading...
Searching...
No Matches
ISelectionReadAccessor.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef SELECTION_HELPERS__I_SELECTION_READ_ACCESSOR_H
9#define SELECTION_HELPERS__I_SELECTION_READ_ACCESSOR_H
10
13#include <memory>
14
15class StatusCode;
16
17namespace CP
18{
19 class ISystematicsSvc;
20 class SystematicSet;
21
22
37
39 {
40 // no slicing
42
44 public:
45 virtual ~ISelectionReadAccessor () noexcept = default;
46
48 public:
49 virtual SelectionType
50 getBits (const SG::AuxElement& element,
51 const CP::SystematicSet *sys = nullptr) const = 0;
52
54 public:
55 virtual bool getBool (const SG::AuxElement& element,
56 const CP::SystematicSet *sys = nullptr) const = 0;
57
59 public:
60 virtual std::string label () const = 0;
61
63 public:
64 virtual bool isBool () const = 0;
65
67 public:
68 virtual CP::SystematicSet
70 const std::string& objectName) const = 0;
71
73 public:
74 virtual StatusCode
76 const std::vector<CP::SystematicSet>& sysList,
77 const std::string& objectName) = 0;
78 };
79
80
95 StatusCode
96 makeSelectionReadAccessor (const std::string& expr,
98 bool defaultToChar = false);
99
107 StatusCode
110 bool defaultToChar = false);
111}
112
113#endif
Base class for elements of a container that can have aux data.
a specialized accessor to read a selection decoration from/to an xAOD object
virtual SelectionType getBits(const SG::AuxElement &element, const CP::SystematicSet *sys=nullptr) const =0
get the selection decoration
virtual std::string label() const =0
get the label of the accessor
virtual bool isBool() const =0
whether this accessor returns a simple boolean
virtual bool getBool(const SG::AuxElement &element, const CP::SystematicSet *sys=nullptr) const =0
get the selection decoration
ISelectionReadAccessor & operator=(const ISelectionReadAccessor &)=delete
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const std::vector< CP::SystematicSet > &sysList, const std::string &objectName)=0
fill the systematic variations
virtual CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc, const std::string &objectName) const =0
get the systematics when reading from the decoration
virtual ~ISelectionReadAccessor() noexcept=default
standard (virtual) destructor
the interface for the central systematics service
Class to wrap a set of SystematicVariations.
STL class.
Select isolated Photons, Electrons and Muons.
StatusCode makeSelectionReadAccessorVar(const std::string &name, std::unique_ptr< ISelectionReadAccessor > &accessor, bool defaultToChar)
Produces a simple ISelectionReadAccessor accessing the given decoration.
StatusCode makeSelectionReadAccessor(const std::string &expr, std::unique_ptr< ISelectionReadAccessor > &accessor, bool defaultToChar)
make the ISelectionReadAccessor for the given name
uint32_t SelectionType
the type for selection decorations that are meant to hold a asg::AcceptData
Forward declaration.
STL namespace.