5#ifndef TRIGL2MUONSA_PTENDCAPLUT_H
6#define TRIGL2MUONSA_PTENDCAPLUT_H
10#include "GaudiKernel/Service.h"
11#include "GaudiKernel/IInterface.h"
23 static constexpr std::size_t
ETAS1=5;
24 static constexpr std::size_t
PHIS1=6;
25 static constexpr std::size_t
PTS1=3;
32 const std::string& name,
33 const IInterface* parent);
36 StatusCode
readLUT(
const std::string& lut_fileName);
37 StatusCode
readLUTSigmaMean(
const std::string& lut_mean,
const std::string& lut_sigma);
39 double alpha(
double z1,
double r1,
double z2,
double r2)
const;
40 double radius(
double z1,
double r1,
double s1,
double z2,
double r2,
double s2,
double deltar)
const;
42 double ptcombined(
int iEta,
int iPhi,
double ApT,
double BpT,
double &CApT,
double &CBpT)
const;
70 typedef std::map<KeyType, TableType*>
TableMap;
double charge(const T &p)
static constexpr std::size_t ETAS1
static constexpr std::size_t PHIS1
double radius(double z1, double r1, double s1, double z2, double r2, double s2, double deltar) const
double m_sigmaa[ETAS1][PHIS1][PTS1]
double ptcombined(int iEta, int iPhi, double ApT, double BpT, double &CApT, double &CBpT) const
static const char * dt2s(DataType type)
static constexpr std::size_t PTS1
PtEndcapLUT(const std::string &type, const std::string &name, const IInterface *parent)
double m_sigmab[ETAS1][PHIS1][PTS1]
std::map< KeyType, TableType * > TableMap
double lookup(int side, int charge, DataType type, int iEta, int iPhi, double value) const
double m_sigmac[ETAS1][PHIS1][PTS1]
double alpha(double z1, double r1, double z2, double r2) const
StatusCode readLUT(const std::string &lut_fileName)
StatusCode readLUTSigmaMean(const std::string &lut_mean, const std::string &lut_sigma)
static DataType s2dt(const char *type)
double m_meanc[ETAS1][PHIS1][PTS1]
double m_meana[ETAS1][PHIS1][PTS1]
double m_meanb[ETAS1][PHIS1][PTS1]
std::string toString() const
KeyType(int side, int charge, DataType type)
bool operator<(const KeyType &other) const
double m_xcepts[ETAS][PHISEE]
double m_slopes[ETAS][PHISEE]