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{
20 class ISystematicsSvc;
21 class SystematicSet;
22
23
38
40 {
41 // no slicing
43
45 public:
46 virtual ~ISelectionReadAccessor () noexcept = default;
47
49 public:
50 virtual SelectionType
51 getBits (const SG::AuxElement& element,
52 const CP::SystematicSet *sys = nullptr) const = 0;
53
55 public:
56 virtual bool getBool (const SG::AuxElement& element,
57 const CP::SystematicSet *sys = nullptr) const = 0;
58
60 public:
61 virtual std::string label () const = 0;
62
64 public:
65 virtual bool isBool () const = 0;
66
68 public:
69 virtual CP::SystematicSet
71 const std::string& objectName) const = 0;
72
74 public:
75 virtual StatusCode
77 const std::vector<CP::SystematicSet>& sysList,
78 ISysObjectHandleBase& objectHandle) = 0;
79 };
80
81
96 StatusCode
97 makeSelectionReadAccessor (const std::string& expr,
99 bool defaultToChar = false);
100
108 StatusCode
111 bool defaultToChar = false);
112}
113
114#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, ISysObjectHandleBase &objectHandle)=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
a ISysHandleBase for a handle to a specific object/container
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.