ATLAS Offline Software
SelectionAccessorReadSys.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef SELECTION_HELPERS__SELECTION_ACCESSOR_READ_SYS_H
9 #define SELECTION_HELPERS__SELECTION_ACCESSOR_READ_SYS_H
10 
13 
14 #include <memory>
15 #include <vector>
16 
17 namespace CP
18 {
21 
23  {
24  //
25  // public interface
26  //
27 
28  public:
29  SelectionAccessorReadSys (const std::string& val_selectionName);
30 
31  public:
32  virtual SelectionType
33  getBits (const SG::AuxElement& element,
34  const CP::SystematicSet *sys) const override;
35 
36  public:
37  virtual bool
38  getBool (const SG::AuxElement& element,
39  const CP::SystematicSet *sys) const override;
40 
41  public:
42  virtual std::string label () const override;
43 
44  public:
45  virtual bool isBool () const override;
46 
47  public:
48  virtual CP::SystematicSet
50  const std::string& objectName) const override;
51 
52  public:
53  virtual StatusCode
55  const std::vector<CP::SystematicSet>& sysList,
56  const std::string& objectName) override;
57 
58 
59  //
60  // private interface
61  //
62 
64  private:
65  std::unordered_map<CP::SystematicSet,std::tuple<std::string,std::unique_ptr<ISelectionReadAccessor>>> m_dataCache;
66 
68  private:
69  std::string m_selectionName;
70  };
71 }
72 
73 #endif
CP::SelectionAccessorReadSys::m_dataCache
std::unordered_map< CP::SystematicSet, std::tuple< std::string, std::unique_ptr< ISelectionReadAccessor > > > m_dataCache
the map of accessor we use
Definition: SelectionAccessorReadSys.h:65
CP::ISystematicsSvc
the interface for the central systematics service
Definition: ISystematicsSvc.h:25
CP::SelectionAccessorReadSys::isBool
virtual bool isBool() const override
whether this accessor returns a simple boolean
Definition: SelectionAccessorReadSys.cxx:66
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
CP::SelectionType
uint32_t SelectionType
the type for selection decorations that are meant to hold a asg::AcceptData
Definition: SelectionHelpers.h:26
SystematicSet.h
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CP::SelectionAccessorReadSys
the SelectionAccesor for reading systematically varied decorations
Definition: SelectionAccessorReadSys.h:23
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
CP::SelectionAccessorReadSys::getBool
virtual bool getBool(const SG::AuxElement &element, const CP::SystematicSet *sys) const override
get the selection decoration
Definition: SelectionAccessorReadSys.cxx:45
CP::SelectionAccessorReadSys::getBits
virtual SelectionType getBits(const SG::AuxElement &element, const CP::SystematicSet *sys) const override
get the selection decoration
Definition: SelectionAccessorReadSys.cxx:31
CP::SelectionAccessorReadSys::m_selectionName
std::string m_selectionName
the selectionName for this accessor
Definition: SelectionAccessorReadSys.h:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::SelectionAccessorReadSys::fillSystematics
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const std::vector< CP::SystematicSet > &sysList, const std::string &objectName) override
fill the systematic variations
Definition: SelectionAccessorReadSys.cxx:90
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
CP::SelectionAccessorReadSys::getInputAffecting
virtual CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc, const std::string &objectName) const override
get the systematics when reading from the decoration
Definition: SelectionAccessorReadSys.cxx:77
CP::SelectionAccessorReadSys::label
virtual std::string label() const override
get the label of the accessor
Definition: SelectionAccessorReadSys.cxx:58
CP::SelectionAccessorReadSys::SelectionAccessorReadSys
SelectionAccessorReadSys(const std::string &val_selectionName)
Definition: SelectionAccessorReadSys.cxx:24
CP::ISelectionReadAccessor
a specialized accessor to read a selection decoration from/to an xAOD object
Definition: ISelectionReadAccessor.h:39
ISelectionReadAccessor.h