ATLAS Offline Software
Loading...
Searching...
No Matches
SelectionWriteAccessorSys.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__SELECTION_WRITE_ACCESSOR_SYS_H
9#define SELECTION_HELPERS__SELECTION_WRITE_ACCESSOR_SYS_H
10
13
14#include <memory>
15#include <vector>
16
17namespace CP
18{
21
23 {
24 //
25 // public interface
26 //
27
28 public:
29 SelectionWriteAccessorSys (const std::string& val_selectionName);
30
31
32 virtual void setBits (const SG::AuxElement& element,
34 const CP::SystematicSet *sys) const override;
35
36
37 virtual void setBool (const SG::AuxElement& element,
38 bool selection,
39 const CP::SystematicSet *sys) const override;
40
41
42 virtual std::string label () const override;
43
44
45 virtual StatusCode
47 const CP::SystematicSet& fullAffecting,
48 const std::vector<CP::SystematicSet>& sysList,
49 const std::string& objectName) override;
50
51
52
53 //
54 // private interface
55 //
56
58 private:
59 std::unordered_map<CP::SystematicSet,std::tuple<std::string,std::unique_ptr<ISelectionWriteAccessor>>> m_dataCache;
60
62 private:
63 std::string m_selectionName;
64 };
65}
66
67#endif
a specialized accessor to write a selection decoration to an xAOD object
the interface for the central systematics service
virtual std::string label() const override
get the label of the accessor
SelectionWriteAccessorSys(const std::string &val_selectionName)
std::unordered_map< CP::SystematicSet, std::tuple< std::string, std::unique_ptr< ISelectionWriteAccessor > > > m_dataCache
the map of accessor we use
virtual void setBits(const SG::AuxElement &element, SelectionType selection, const CP::SystematicSet *sys) const override
set the selection decoration
std::string m_selectionName
the selectionName for this accessor
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList, const std::string &objectName) override
fill the systematic variations
virtual void setBool(const SG::AuxElement &element, bool selection, const CP::SystematicSet *sys) const override
set the selection decoration
Class to wrap a set of SystematicVariations.
Base class for elements of a container that can have aux data.
Definition AuxElement.h:483
const std::string selection
Select isolated Photons, Electrons and Muons.
uint32_t SelectionType
the type for selection decorations that are meant to hold a asg::AcceptData