ATLAS Offline Software
SelectionNameSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef SYSTEMATICS_HANDLES__SELECTION_NAME_SVC_H
9 #define SYSTEMATICS_HANDLES__SELECTION_NAME_SVC_H
10 
11 #include <AsgServices/AsgService.h>
14 #include <PATCore/AcceptInfo.h>
18 #include <mutex>
19 #include <unordered_map>
20 
21 namespace CP
22 {
24 
25  class SelectionNameSvc final : public extends<asg::AsgService, ISelectionNameSvc>
26  {
27 
28  //
29  // public interface
30  //
31 
32  public:
33  using extends::extends; // base class constructor
34 
35  virtual StatusCode initialize () override;
36  virtual StatusCode addAcceptInfo (const std::string& objectName, const std::string& decorName,
37  const asg::AcceptInfo& acceptInfo) override;
38  virtual const asg::AcceptInfo* getAcceptInfo (const std::string& objectName,
39  const std::string& decorName) const override;
40 
41 
42 
43  //
44  // private interface
45  //
46 
47  private:
48 
52  ServiceHandle<ISystematicsSvc> m_sysSvc {"SystematicsSvc", "SelectionNameSvc"};
53 
55  std::unordered_map<std::string, std::unordered_map<std::string, asg::AcceptInfo>> m_acceptInfoMap;
56  };
57 }
58 
59 #endif
AsgService.h
SystematicSet.h
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
ISystematicsSvc.h
CP::SelectionNameSvc::m_sysSvc
ServiceHandle< ISystematicsSvc > m_sysSvc
the ISystematicsSvc we use
Definition: SelectionNameSvc.h:52
asg::AcceptInfo
Definition: AcceptInfo.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ISelectionNameSvc.h
CP::SelectionNameSvc::getAcceptInfo
virtual const asg::AcceptInfo * getAcceptInfo(const std::string &objectName, const std::string &decorName) const override
Definition: SelectionNameSvc.cxx:60
ServiceHandle.h
AcceptInfo.h
CP::SelectionNameSvc::m_acceptInfoMap
std::unordered_map< std::string, std::unordered_map< std::string, asg::AcceptInfo > > m_acceptInfoMap
the map of AcceptInfo objects
Definition: SelectionNameSvc.h:55
CP::SelectionNameSvc::addAcceptInfo
virtual StatusCode addAcceptInfo(const std::string &objectName, const std::string &decorName, const asg::AcceptInfo &acceptInfo) override
Definition: SelectionNameSvc.cxx:38
CP::SelectionNameSvc::initialize
virtual StatusCode initialize() override
Definition: SelectionNameSvc.cxx:29
CP::SelectionNameSvc
the canonical implementation of ISelectionNameSvc
Definition: SelectionNameSvc.h:26
checker_macros.h
Define macros for attributes used to control the static checker.
ServiceHandle
Definition: ClusterMakerTool.h:37