Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MetDef.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef COLUMNAR_MET_MET_DEF_H
9 #define COLUMNAR_MET_MET_DEF_H
10 
13 
14 namespace columnar
15 {
16  namespace MetDef
17  {
19 
20  static const SG::AuxElement::ConstAccessor< iplink_t > acc_originalObject("originalObjectLink");
21  static const SG::AuxElement::ConstAccessor< iplink_t > acc_nominalObject("nominalObjectLink");
22 
23  static const SG::AuxElement::Accessor< std::vector<iplink_t> > dec_constitObjLinks("ConstitObjectLinks");
24  static const SG::AuxElement::Accessor< std::vector<float> > dec_constitObjWeights("ConstitObjectWeights");
25  }
26 
27  template<ContainerId CI> requires (CI == ContainerId::met0 || CI == ContainerId::met1)
28  struct ContainerIdTraits<CI> final
29  {
30  static constexpr bool isDefined = true;
31  static constexpr bool isMutable = false;
32  static constexpr bool perEventRange = true;
33  static constexpr bool perEventId = false;
34 
36  using xAODObjectIdType = const xAOD::MissingET;
37 
39  using xAODObjectRangeType = const xAOD::MissingETContainer;
40 
42  using xAODElementLinkType = xAOD::MissingETContainer;
43  };
44 
45  template<>
47  {
48  static constexpr bool isDefined = true;
49  static constexpr bool isMutable = true;
50  static constexpr ContainerId constId = ContainerId::met;
51  static constexpr bool perEventRange = true;
52  static constexpr bool perEventId = false;
53 
56 
59 
62  };
63 
64  template<>
66  {
67  static constexpr bool isDefined = true;
68  static constexpr bool isMutable = false;
69  static constexpr bool perEventRange = true;
70  static constexpr bool perEventId = false;
71 
74 
77 
80  };
81 }
82 
83 #endif
columnar::ContainerIdTraits
Definition: ContainerId.h:97
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
xAOD::MissingETAssociation_v1
MET association descriptor contains object links and corresponding parameters.
Definition: MissingETAssociation_v1.h:29
columnar::ContainerId::mutableMet
@ mutableMet
xAOD::MissingET
MissingET_v1 MissingET
Version control by type defintion.
Definition: Event/xAOD/xAODMissingET/xAODMissingET/MissingET.h:15
xAOD::MissingETContainer
MissingETContainer_v1 MissingETContainer
Definition: Event/xAOD/xAODMissingET/xAODMissingET/MissingETContainer.h:16
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
xAOD::MissingETAssociation
MissingETAssociation_v1 MissingETAssociation
Version control by type definition.
Definition: MissingETAssociation.h:15
CI
std::map< std::string, HypoJetVector >::const_iterator CI
Definition: xAODJetCollector.h:18
xAOD::MissingETAssociationMap_v1
Definition: MissingETAssociationMap_v1.h:29
columnar::ContainerId::metAssociation
@ metAssociation
IParticleContainer.h
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
columnar::requires
requires((std::is_integral_v< CT >||std::is_floating_point_v< CT >) &&!std::is_same_v< CT, bool >) struct ColumnTypeTraits< CT
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
xAOD::MissingETAssociationMap
MissingETAssociationMap_v1 MissingETAssociationMap
Version control by type defintion.
Definition: MissingETAssociationMap.h:16
columnar::final
CM final
Definition: ColumnAccessor.h:106
columnar::ContainerId::met1
@ met1
columnar::ContainerId::met
@ met
columnar::ContainerId::met0
@ met0
columnar
Definition: ClusterDef.h:16
ContainerId.h
columnar::ContainerId
ContainerId
the id for the different "virtual" containers
Definition: ContainerId.h:71
columnar::ContainerIdTraits::isDefined
static constexpr bool isDefined
Definition: ContainerId.h:98