ATLAS Offline Software
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 
15 
16 namespace columnar
17 {
18  namespace MetDef
19  {
21 
22  static const SG::AuxElement::ConstAccessor< iplink_t > acc_originalObject("originalObjectLink");
23  static const SG::AuxElement::ConstAccessor< iplink_t > acc_nominalObject("nominalObjectLink");
24 
25  static const SG::AuxElement::Accessor< std::vector<iplink_t> > dec_constitObjLinks("ConstitObjectLinks");
26  static const SG::AuxElement::Accessor< std::vector<float> > dec_constitObjWeights("ConstitObjectWeights");
27  }
28 
29  namespace ContainerId
30  {
31  struct met : regularCIBase<xAOD::MissingET,xAOD::MissingETContainer>
32  {
33  static constexpr std::string_view idName = "met";
34  };
35  using met0 = met;
36  using mutableMet = mutableCI<met>;
37 
38  struct met1 : met
39  {
40  static constexpr std::string_view idName = "met1";
41  };
42 
43  struct metAssociation : regularCIBase<xAOD::MissingETAssociation,xAOD::MissingETAssociationMap>
44  {
45  static constexpr std::string_view idName = "metAssociation";
46  };
47  }
48 
52  template<typename CT,typename CM=ColumnarModeDefault> using MetAccessor = AccessorTemplate<ContainerId::met,CT,ColumnAccessMode::input,CM>;
53  template<typename CT,typename CM=ColumnarModeDefault> using MetDecorator = AccessorTemplate<ContainerId::met,CT,ColumnAccessMode::output,CM>;
54 
58  template<typename CT,typename CM=ColumnarModeDefault> using Met0Accessor = AccessorTemplate<ContainerId::met0,CT,ColumnAccessMode::input,CM>;
59  template<typename CT,typename CM=ColumnarModeDefault> using Met0Decorator = AccessorTemplate<ContainerId::met0,CT,ColumnAccessMode::output,CM>;
60 
64  template<typename CT,typename CM=ColumnarModeDefault> using Met1Accessor = AccessorTemplate<ContainerId::met1,CT,ColumnAccessMode::input,CM>;
65  template<typename CT,typename CM=ColumnarModeDefault> using Met1Decorator = AccessorTemplate<ContainerId::met1,CT,ColumnAccessMode::output,CM>;
66 
70  template<typename CT,typename CM=ColumnarModeDefault> using MutableMetAccessor = AccessorTemplate<ContainerId::mutableMet,CT,ColumnAccessMode::input,CM>;
71  template<typename CT,typename CM=ColumnarModeDefault> using MutableMetDecorator = AccessorTemplate<ContainerId::mutableMet,CT,ColumnAccessMode::output,CM>;
72 
76 }
77 
78 #endif
columnar::ContainerId::metAssociation
Definition: MetDef.h:44
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
columnar::ContainerId::met
Definition: MetDef.h:32
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
columnar::OptObjectId
a class representing a single optional object (electron, muons, etc.)
Definition: ContainerId.h:177
columnar::ObjectRange
a class representing a continuous sequence of objects (a.k.a. a container)
Definition: ContainerId.h:175
columnar::ContainerId::metAssociation::idName
static constexpr std::string_view idName
Definition: MetDef.h:45
columnar::ContainerId::met1::idName
static constexpr std::string_view idName
Definition: MetDef.h:40
met
Definition: IMETSignificance.h:24
IParticleContainer.h
columnar::ContainerId::mutableMet
mutableCI< met > mutableMet
Definition: MetDef.h:36
columnar::ObjectId
a class representing a single object (electron, muons, etc.)
Definition: ContainerId.h:176
columnar::ContainerId::met::idName
static constexpr std::string_view idName
Definition: MetDef.h:33
columnar
Definition: ClusterDef.h:16
ContainerId.h
columnar::ContainerId::regularCIBase
a template that provides a base definition of container id for a regular container
Definition: ContainerId.h:107
MissingETAssociationMap.h
columnar::AccessorTemplate
the raw column accessor template class
Definition: ColumnAccessor.h:81
columnar::ContainerId::met1
Definition: MetDef.h:39
MissingETContainer.h