#include <AlignmentBarrelLUT.h>
|
| | AlignmentBarrelLUT (const std::string &type, const std::string &name, const IInterface *parent) |
| StatusCode | readLUT (const std::string &lut_fileName) |
| double | GetDeltaZ (int &saddress, double &etaMap, double &phiMap, double &MFphi, float &sp1R) const |
| std::pair< int, int > | GetBinNumber (int saddress, int innerR, double etaMap, double phiMap) const |
| ServiceHandle< StoreGateSvc > & | evtStore () |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
|
| const ServiceHandle< StoreGateSvc > & | detStore () const |
| | The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
|
| virtual StatusCode | sysInitialize () override |
| | Perform system initialization for an algorithm.
|
| virtual StatusCode | sysStart () override |
| | Handle START transition.
|
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| | Return this algorithm's input handles.
|
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| | Return this algorithm's output handles.
|
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Definition at line 15 of file AlignmentBarrelLUT.h.
◆ StoreGateSvc_t
◆ AlignmentBarrelLUT()
| TrigL2MuonSA::AlignmentBarrelLUT::AlignmentBarrelLUT |
( |
const std::string & | type, |
|
|
const std::string & | name, |
|
|
const IInterface * | parent ) |
◆ declareGaudiProperty()
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
158 {
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
◆ declareProperty()
Definition at line 145 of file AthCommonDataStore.h.
145 {
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
◆ detStore()
◆ evtStore()
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ GetBinNumber()
| std::pair< int, int > TrigL2MuonSA::AlignmentBarrelLUT::GetBinNumber |
( |
int | saddress, |
|
|
int | innerR, |
|
|
double | etaMap, |
|
|
double | phiMap ) const |
Definition at line 142 of file AlignmentBarrelLUT.cxx.
143{
144
145 if(saddress > 3 || saddress < 0 || innerR < 0 || innerR > 1) return std::make_pair(-5,-5);
146
149
150 if(etaBin <= -1)
etaBin = 0;
152
153 if(phiBin <= -1)
phiBin = 0;
155
156 return std::make_pair(etaBin,phiBin);
157}
float m_PhiMin[s_saddress][s_innerR]
float m_PhiStep[s_saddress][s_innerR]
int m_NbinEta[s_saddress][s_innerR]
float m_EtaMin[s_saddress][s_innerR]
int m_NbinPhi[s_saddress][s_innerR]
float m_EtaStep[s_saddress][s_innerR]
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin
◆ GetDeltaZ()
| double TrigL2MuonSA::AlignmentBarrelLUT::GetDeltaZ |
( |
int & | saddress, |
|
|
double & | etaMap, |
|
|
double & | phiMap, |
|
|
double & | MFphi, |
|
|
float & | sp1R ) const |
Definition at line 89 of file AlignmentBarrelLUT.cxx.
94{
95 if (saddress == 1) {
96
97 int innerR = (sp1R > 5800)? 1: 0;
98
102
103 int iChamber=( std::abs(MFphi)>90*TMath::DegToRad() ) ? 1:0;
104
105 int iEta_inv=29-
iEta;
106 int iPhi_inv=29-
iPhi;
107
110
111 if( iEta<15 ){
112 if( iChamber == 0 ){
113
114 }else{
115 iPhi_bin=iPhi_inv;
116 }
117 }else{
118 if( iChamber == 0 ){
119 iEta_bin=iEta_inv;
120 }else{
121 iEta_bin=iEta_inv;
122 iPhi_bin=iPhi_inv;
123 }
124 }
125
126 int sign_etam=(
iEta>14)?-1:1;
127 int sign_etap=-sign_etam;
128
129 return (
m_dZ[saddress][innerR][iEta_bin][iPhi_bin][0]*sign_etam
130 +
m_dZ[saddress][innerR][iEta_bin][iPhi_bin][1]*sign_etap) / 2.;
131
132 } else {
133 ATH_MSG_INFO(
"Barrel alignment is implemented only for Large-SP");
134 return 0;
135 }
136
137}
static const std::vector< std::string > bins
std::pair< int, int > GetBinNumber(int saddress, int innerR, double etaMap, double phiMap) const
double m_dZ[s_saddress][s_innerR][s_eta][s_phi][s_etaQ]
setScale setgFexType iEta
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg()
◆ msgLvl()
| bool AthCommonMsg< AlgTool >::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ readLUT()
| StatusCode TrigL2MuonSA::AlignmentBarrelLUT::readLUT |
( |
const std::string & | lut_fileName | ) |
|
Definition at line 23 of file AlignmentBarrelLUT.cxx.
24{
25
26 int saddress, innerR;
28 double A0, A1, A2;
30
31
32 for(
int i_saddress=0; i_saddress<
s_saddress; i_saddress++) {
33 for(
int i_innerR=0; i_innerR<
s_innerR; i_innerR++) {
42
43 for(
int i_eta=0; i_eta<
s_eta; i_eta++) {
44 for(
int i_phi=0; i_phi<
s_phi; i_phi++) {
45 for(
int i_etaQ=0; i_etaQ<
s_etaQ; i_etaQ++) {
46 m_dZ[i_saddress][i_innerR][i_eta][i_phi][i_etaQ] = 0;
47 }
48 }
49 }
50 }
51 }
52
53 file.open(lut_fileName.c_str());
55 ATH_MSG_INFO(
"Failed to open barrel alignment LUT file");
56 return StatusCode::FAILURE;
57 }
58
59 for(int i_lut=0; i_lut<2; i_lut++) {
60
61 file >> saddress >> innerR;
65
68
69 for (
int i_eta=0; i_eta<
s_eta; i_eta++) {
70 for (
int i_phi=0; i_phi<
s_phi; i_phi++) {
71 for (
int i_etaQ=0; i_etaQ<
s_etaQ; i_etaQ++) {
72
73 file >> N0 >>
N1 >>
N2 >> A0 >> A1 >> A2;
74
75 m_dZ[saddress][innerR][i_eta][i_phi][i_etaQ] = A0;
76
77 }
78 }
79 }
80 }
81
83 return StatusCode::SUCCESS;
84}
static constexpr int s_etaQ
static constexpr int s_phi
float m_EtaMax[s_saddress][s_innerR]
float m_PhiMax[s_saddress][s_innerR]
static constexpr int s_eta
static constexpr int s_innerR
static constexpr int s_saddress
◆ renounce()
Definition at line 380 of file AthCommonDataStore.h.
381 {
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
Definition at line 308 of file AthCommonDataStore.h.
308 {
309
310
313 for (
auto k :
keys) {
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka
◆ m_detStore
◆ m_dZ
◆ m_EtaMax
◆ m_EtaMin
◆ m_EtaStep
◆ m_evtStore
◆ m_NbinEta
◆ m_NbinPhi
◆ m_PhiMax
◆ m_PhiMin
◆ m_PhiStep
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ s_eta
| int TrigL2MuonSA::AlignmentBarrelLUT::s_eta = 15 |
|
staticconstexprprivate |
◆ s_etaQ
| int TrigL2MuonSA::AlignmentBarrelLUT::s_etaQ = 2 |
|
staticconstexprprivate |
◆ s_innerR
| int TrigL2MuonSA::AlignmentBarrelLUT::s_innerR = 2 |
|
staticconstexprprivate |
◆ s_phi
| int TrigL2MuonSA::AlignmentBarrelLUT::s_phi = 30 |
|
staticconstexprprivate |
◆ s_saddress
| int TrigL2MuonSA::AlignmentBarrelLUT::s_saddress = 4 |
|
staticconstexprprivate |
The documentation for this class was generated from the following files: