5#ifndef TRIGL2MUONSA_CSCREGUTILS_H
6#define TRIGL2MUONSA_CSCREGUTILS_H
9#include "GaudiKernel/Service.h"
10#include "GaudiKernel/ToolHandle.h"
34 double calc_dphi(
double phi1,
double phi2)
const;
64 CscRegDict(
const std::string &
type,
const std::string &name,
const IInterface *parent);
71 int get_hash(
int stationname,
int stationeta,
int stationphi)
const;
83 Gaudi::Property< bool >
m_isMC {
this,
"MCFlag",
true,
"" };
101 return (0<=module && module <32) ?
m_reg_dict[module].Displacement : 0.;
106 if(hash<0 || hash>31)
return 999;
107 else return (hash<16) ? 50 : 51;
112 if(hash<0 || hash>31)
return 999;
114 int secteta=(hash - hash%8)/8;
115 return (secteta%2) ? 1 : -1;
121 if(hash<0 || hash>31)
return 999;
122 else return hash%8+1;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Scalar theta() const
theta method
double charge(const T &p)
int stationEta(int hash) const
Amg::Vector3D nomalVector(int module) const
ReturnCode initializeHashDictionary()
double idealAtanNormal(int module) const
double PhiConv(double phi)
int get_hash(int stationname, int stationeta, int stationphi) const
TrigL2MuonSA::UtilTools m_util
Gaudi::Property< bool > m_isMC
CscRegDict(const std::string &type, const std::string &name, const IInterface *parent)
double phiCen(int module)
double phiMod(int module) const
int stationPhi(int hash) const
double displacement(int module) const
int m_module_hashes[2][2][8]
double actualAtanNormal(int module) const
int stationName(int hash) const
double posCorrectionR(int module, int charge)
ReturnCode initializePosCorrectionParameters()
ReturnCode initializeDictionaryForData()
double posCorrectionZ(int module, int charge)
virtual StatusCode initialize() override
bool operator!=(unsigned int code)
ReturnCode(unsigned int retcode)
void operator=(unsigned int retcode)
bool operator==(unsigned int code)
Eigen::Matrix< double, 3, 1 > Vector3D
double posCorrectionPlusR
double posCorrectionMinusR