4#ifndef XAODMEASUREMENTBASE_MEASUREMENTDEFS_H
5#define XAODMEASUREMENTBASE_MEASUREMENTDEFS_H
13#define AUX_MEASUREMENTVAR(VAR, DIM) \
15 static const std::string varName = \
16 std::string{#VAR} + "Dim" + std::to_string(DIM); \
17 static const auxid_t auxId = getAuxID(varName, VAR); \
18 regAuxVar(auxId, varName, VAR); \
52using PosAccessor = SG::AuxElement::Accessor<std::array<float, N>>;
55using CovAccessor = SG::AuxElement::Accessor<std::array<float, N * N>>;
76 for (
int i =0 ; i < N ; ++i)
vec[i] = amgVec[i];
85 for (
int i =0 ; i < N; ++i){
86 for (
int j =0 ; j < N; ++j) {
87 mat(i,j) = amgMat(i, j);
98 for (
int i=0; i < N; ++i){
99 for (
int j =0; j < N; ++j){
100 mat(i, j) = xAODmat(i, j);
110 for (
int i = 0 ; i < N; ++i) {
Base class for elements of a container that can have aux data.
std::vector< size_t > vec
Ensure that eigen aux variables get properly zeroed.
#define AmgSymMatrix(dim)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
SG::AuxElement::Accessor< std::array< float, N > > PosAccessor
xAOD Accessor to the position
Eigen::Matrix< float, N, N > MeasMatrix
Eigen::Map< const MeasMatrix< N > > ConstMatrixMap
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
Eigen::Map< MeasVector< N > > VectorMap
long unsigned int DetectorIdentType
MeasVector< N > toStorage(const AmgVector(N)&amgVec)
Converts the double precision of the AmgVector into the floating point storage precision of the MeasV...
UncalibMeasType
Define the type of the uncalibrated measurement.
SG::AuxElement::Accessor< std::array< float, N *N > > CovAccessor
xAOD Accessor to the covariance
Eigen::Map< MeasMatrix< N > > MatrixMap
std::ostream & operator<<(std::ostream &out, const std::pair< FIRST, SECOND > &pair)
Helper print operator.
std::string toString(const UncalibMeasType type)
Convert the measurement enum to a string.
unsigned int DetectorIDHashType
@ detector ID element hash
Eigen::Map< const MeasVector< N > > ConstVectorMap