ATLAS Offline Software
Loading...
Searching...
No Matches
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
16namespace columnar
17{
18 namespace MetHelperDefs
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 struct MetDef : RegularContainerId<xAOD::MissingET,xAOD::MissingETContainer>
30 {
31 static constexpr std::string_view idName = "met";
32 };
33 using Met0Def = MetDef;
35
36 struct Met1Def : MetDef
37 {
38 static constexpr std::string_view idName = "met1";
39 };
40
41 struct MetAssociationDef : RegularContainerId<xAOD::MissingETAssociation,xAOD::MissingETAssociationMap>
42 {
43 static constexpr std::string_view idName = "metAssociation";
44 };
45
49 template<typename CT,typename CM=ColumnarModeDefault> using MetAccessor = AccessorTemplate<MetDef,CT,ColumnAccessMode::input,CM>;
50 template<typename CT,typename CM=ColumnarModeDefault> using MetDecorator = AccessorTemplate<MetDef,CT,ColumnAccessMode::output,CM>;
51
55 template<typename CT,typename CM=ColumnarModeDefault> using Met0Accessor = AccessorTemplate<Met0Def,CT,ColumnAccessMode::input,CM>;
56 template<typename CT,typename CM=ColumnarModeDefault> using Met0Decorator = AccessorTemplate<Met0Def,CT,ColumnAccessMode::output,CM>;
57
61 template<typename CT,typename CM=ColumnarModeDefault> using Met1Accessor = AccessorTemplate<Met1Def,CT,ColumnAccessMode::input,CM>;
62 template<typename CT,typename CM=ColumnarModeDefault> using Met1Decorator = AccessorTemplate<Met1Def,CT,ColumnAccessMode::output,CM>;
63
67 template<typename CT,typename CM=ColumnarModeDefault> using MutableMetAccessor = AccessorTemplate<MutableMetDef,CT,ColumnAccessMode::input,CM>;
68 template<typename CT,typename CM=ColumnarModeDefault> using MutableMetDecorator = AccessorTemplate<MutableMetDef,CT,ColumnAccessMode::output,CM>;
69
73}
74
75#endif
the raw column accessor template class
a class representing a single object (electron, muons, etc.)
a class representing a continuous sequence of objects (a.k.a. a container)
a class representing a single optional object (electron, muons, etc.)
static const SG::AuxElement::ConstAccessor< iplink_t > acc_originalObject("originalObjectLink")
static const SG::AuxElement::ConstAccessor< iplink_t > acc_nominalObject("nominalObjectLink")
static const SG::AuxElement::Accessor< std::vector< iplink_t > > dec_constitObjLinks("ConstitObjectLinks")
static const SG::AuxElement::Accessor< std::vector< float > > dec_constitObjWeights("ConstitObjectWeights")
ElementLink< xAOD::IParticleContainer > iplink_t
Definition MetDef.h:20
ObjectRange< Met1Def > Met1Range
Definition MetDef.h:58
AccessorTemplate< Met0Def, CT, ColumnAccessMode::input, CM > Met0Accessor
Definition MetDef.h:55
OptObjectId< Met1Def > OptMet1Id
Definition MetDef.h:60
OptObjectId< MetDef > OptMetId
Definition MetDef.h:48
MetDef Met0Def
Definition MetDef.h:33
ObjectId< MetAssociationDef > MetAssociationId
Definition MetDef.h:71
ObjectRange< MetAssociationDef > MetAssociationRange
Definition MetDef.h:70
AccessorTemplate< Met0Def, CT, ColumnAccessMode::output, CM > Met0Decorator
Definition MetDef.h:56
ObjectRange< Met0Def > Met0Range
Definition MetDef.h:52
AccessorTemplate< MetDef, CT, ColumnAccessMode::input, CM > MetAccessor
Definition MetDef.h:49
ObjectRange< MetDef > MetRange
Definition MetDef.h:46
OptObjectId< MetAssociationDef > OptMetAssociationId
Definition MetDef.h:72
AccessorTemplate< MutableMetDef, CT, ColumnAccessMode::input, CM > MutableMetAccessor
Definition MetDef.h:67
ObjectId< MetDef > MetId
Definition MetDef.h:47
OptObjectId< MutableMetDef > OptMutableMetId
Definition MetDef.h:66
ObjectId< Met1Def > Met1Id
Definition MetDef.h:59
ObjectId< MutableMetDef > MutableMetId
Definition MetDef.h:65
ObjectRange< MutableMetDef > MutableMetRange
Definition MetDef.h:64
AccessorTemplate< MutableMetDef, CT, ColumnAccessMode::output, CM > MutableMetDecorator
Definition MetDef.h:68
AccessorTemplate< Met1Def, CT, ColumnAccessMode::output, CM > Met1Decorator
Definition MetDef.h:62
MutableContainerId< MetDef > MutableMetDef
Definition MetDef.h:34
AccessorTemplate< MetDef, CT, ColumnAccessMode::output, CM > MetDecorator
Definition MetDef.h:50
AccessorTemplate< Met1Def, CT, ColumnAccessMode::input, CM > Met1Accessor
Definition MetDef.h:61
OptObjectId< Met0Def > OptMet0Id
Definition MetDef.h:54
ObjectId< Met0Def > Met0Id
Definition MetDef.h:53
static constexpr std::string_view idName
Definition MetDef.h:38
static constexpr std::string_view idName
Definition MetDef.h:43
static constexpr std::string_view idName
Definition MetDef.h:31
a template to define a mutable version of a given container id
Container id definitions for the columnar infrastructure.