#include <TGCNSWCoincidenceMap.h>
Definition at line 24 of file TGCNSWCoincidenceMap.h.
◆ anonymous enum
◆ ReadCW_Type
◆ TGCNSWCoincidenceMap() [1/3]
| LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap |
( |
| ) |
|
|
privatedelete |
◆ TGCNSWCoincidenceMap() [2/3]
| LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap |
( |
TGCArguments * | tgcargs, |
|
|
const std::string & | version, |
|
|
int | side, |
|
|
int | oct, |
|
|
int | mod ) |
Definition at line 22 of file TGCNSWCoincidenceMap.cxx.
29 {
30
32
33 if(!
tgcArgs()->USE_NSW()){
return;}
34
35 std::string moduleName = std::to_string(mod);
40 }
41 else{
45 }
46
47
50
52 for(
int dphi=0;dphi!=
N_dPhi;dphi++){
55 }
59 }
60 }
61
62 if( ( oct%2==0 && mod==5 ) || (oct%2==1 && (mod==2 || mod==8)) ){moduleName+="b";}
63 else{moduleName+="a";}
64
65
66
69 ){
70
72 }
73
74
76
78 }
79
80 }
void setLevel(MSG::Level lvl)
Change the current logging level.
AthMessaging()
Default constructor:
std::vector< short int > m_EtaDtheta_CW[N_dEta][N_Dtheta]
bool isForward(int module)
std::map< TGCRegionType, int > m_NumberOfRoI
std::vector< short int > m_Offset_Phi
bool readMap(const std::string &moduleName, ReadCW_Type cw_type)
std::vector< short int > m_Offset_Eta
std::vector< short int > m_EtaPhi_CW[N_dEta][N_dPhi]
◆ ~TGCNSWCoincidenceMap()
| LVL1TGCTrigger::TGCNSWCoincidenceMap::~TGCNSWCoincidenceMap |
( |
| ) |
|
|
default |
◆ TGCNSWCoincidenceMap() [3/3]
◆ getOctantId()
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::getOctantId |
( |
| ) |
const |
◆ getSideId()
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::getSideId |
( |
| ) |
const |
◆ getVersion()
| const std::string & LVL1TGCTrigger::TGCNSWCoincidenceMap::getVersion |
( |
| ) |
const |
◆ initMessaging()
| void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
40{
42
43 if (
m_lvl == MSG::NIL) {
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)
◆ isForward()
| bool LVL1TGCTrigger::TGCNSWCoincidenceMap::isForward |
( |
int | module | ) |
|
◆ msg() [1/2]
| MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 163 of file AthMessaging.h.
164{
166 if (!ms) {
170 }
171
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.
◆ msg() [2/2]
| MsgStream & AthMessaging::msg |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 178 of file AthMessaging.h.
179{
return msg() << lvl; }
MsgStream & msg() const
The standard message stream.
◆ msgLvl()
| bool AthMessaging::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
| lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
152{
155 return true;
156 } else {
157 return false;
158 }
159}
◆ readMap()
| bool LVL1TGCTrigger::TGCNSWCoincidenceMap::readMap |
( |
const std::string & | moduleName, |
|
|
ReadCW_Type | cw_type ) |
Definition at line 129 of file TGCNSWCoincidenceMap.cxx.
130 {
131 std::string kSide[2] = {"a", "c"};
132 std::string kCWtype[2] = {"EtaPhi","EtaDtheta"};
133
135
138
139 std::ifstream
data(fullName);
142 return false;
143 }
147
148 while (std::getline(
data, field, delimiter)) {
149 int roi=-1;
150 unsigned int n_Etabit=0;
151 unsigned int n_Phibit=0;
152 std::istringstream
header(field);
154 if(tag=="#"){
155 header >> roi >> n_Etabit >> n_Phibit;
156 }
157
158 std::string word;
160
162 for(
size_t posR=0; posR<
N_dEta ; posR++){
163 std::getline(
data, field, delimiter);
164 std::istringstream cont(field);
165
167 for(
size_t posPHI=0; posPHI<
N_dPhi; posPHI++){
168 cont >> word;
169 std::istringstream(word) >> std::hex >>
pT;
171 }
172 }
173
175 for(
size_t posDTHETA=0; posDTHETA<
N_Dtheta; posDTHETA++){
176 cont >> word;
177 std::istringstream(word) >> std::hex >>
pT;
179 if ((roi<0) or (static_cast<size_t>(roi)>=roiIndexedVector.size())){
180 throw std::out_of_range("roi outside of vector limits in TGCNSWCoincidenceMap::readMap");
181 }
182 roiIndexedVector[roi]=
pT;
183 }
184 }
185 }
186
187 }
189
190
191 return true;
192 }
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
static std::string FindCalibDirectory(const std::string &logical_file_name)
◆ readShift()
| bool LVL1TGCTrigger::TGCNSWCoincidenceMap::readShift |
( |
| ) |
|
Definition at line 195 of file TGCNSWCoincidenceMap.cxx.
195 {
196
201 int triggerSector;
202
203
204 std::string
dbname=
"/NSW/";
205
209
210 std::ifstream
data(fullName);
211 if(!
data.is_open()){
return false;}
212 while (std::getline(
data, field, delimiter)) {
213 std::istringstream
header(field);
215 if(tag=="#"){
217 }
218
219
220 std::getline(
data, field, delimiter);
221 std::istringstream cont(field);
222 std::string word;
223 int shift=0;
224 std::array<int, 4> phi_shift {};
225 std::array<int, 37> eta_shift {};
226
228 for(int phiN=0; phiN!=4; phiN++){
229 cont >> word;
230 std::istringstream(word) >> shift;
231 phi_shift[phiN]=shift;
232 }
234 cont >> word;
235 std::istringstream(word) >> shift;
236 eta_shift[etaN]=shift;
237 }
241 }
242
243 break;
244 }
246
247 return true;
248 }
std::map< TGCRegionType, int > m_NumberOfEtaRaw
◆ setLevel()
| void AthMessaging::setLevel |
( |
MSG::Level | lvl | ) |
|
|
inherited |
◆ tgcArgs() [1/2]
| TGCArguments * LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs |
( |
| ) |
|
|
inline |
◆ tgcArgs() [2/2]
| const TGCArguments * LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs |
( |
| ) |
const |
|
inline |
◆ TGCNSW_pTcalcu_EtaDtheta()
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaDtheta |
( |
const LVL1TGC::NSWTrigOut * | nswOut, |
|
|
int | RoI ) const |
just for now. before we finalize the strategy, we always return the lowest pT value if we can find the NSW hit
Definition at line 110 of file TGCNSWCoincidenceMap.cxx.
111 {
112 std::vector<uint8_t> nswEta_vec=nswOut->
getNSWeta();
113 std::vector<uint8_t> nswDtheta_vec=nswOut->
getNSWDtheta();
114 int highest_pT=0;
115
116 for(unsigned int nswTrk_id=0;nswTrk_id!=nswEta_vec.size();nswTrk_id++){
118 int dTheta_decode=nswDtheta_vec[nswTrk_id];
119 if(eta_decode<0 || eta_decode>=
N_dEta){
continue;}
122 }
123 }
124
125 return 1;
126 }
const std::vector< uint8_t > & getNSWDtheta() const
const std::vector< uint8_t > & getNSWeta() const
◆ TGCNSW_pTcalcu_EtaPhi()
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaPhi |
( |
const LVL1TGC::NSWTrigOut * | nswOut, |
|
|
int | RoI ) const |
just for now. before we finalize the strategy, we always return the lowest pT value if we can find the NSW hit
Definition at line 88 of file TGCNSWCoincidenceMap.cxx.
89 {
90 std::vector<uint8_t> nswEta_vec=nswOut->
getNSWeta();
91 std::vector<uint8_t> nswPhi_vec=nswOut->
getNSWphi();
92 int highest_pT=0;
93
94 for(unsigned int nswTrk_id=0;nswTrk_id!=nswEta_vec.size();nswTrk_id++){
97 if(eta_decode<0 || eta_decode>=
N_dEta){
continue;}
98 if(phi_decode<0 || phi_decode>=
N_dPhi){
continue;}
99
100 if(highest_pT<
m_EtaPhi_CW[eta_decode][phi_decode][roi]){
101 highest_pT=
m_EtaPhi_CW[eta_decode][phi_decode][roi];
102 }
103 }
104
105 return 1;
106 }
const std::vector< uint8_t > & getNSWphi() const
◆ ATLAS_THREAD_SAFE
| std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_EtaDtheta_CW
| std::vector<short int> LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaDtheta_CW[N_dEta][N_Dtheta] |
|
private |
◆ m_EtaPhi_CW
| std::vector<short int> LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaPhi_CW[N_dEta][N_dPhi] |
|
private |
◆ m_imsg
| std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
| std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_module
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::m_module |
|
private |
◆ m_msg_tls
| boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
| std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_NumberOfEtaRaw
◆ m_NumberOfRoI
Definition at line 31 of file TGCNSWCoincidenceMap.h.
static constexpr unsigned int kNumberOfEndcapRoI
The number of ROIs in a endcap trigger sector.
◆ m_octant
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::m_octant |
|
private |
◆ m_Offset_Eta
| std::vector<short int> LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Eta |
|
private |
◆ m_Offset_Phi
| std::vector<short int> LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Phi |
|
private |
◆ m_region
◆ m_sector
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::m_sector |
|
private |
◆ m_side
| int LVL1TGCTrigger::TGCNSWCoincidenceMap::m_side |
|
private |
◆ m_tgcArgs
| TGCArguments* LVL1TGCTrigger::TGCNSWCoincidenceMap::m_tgcArgs |
|
private |
◆ m_verName
| std::string LVL1TGCTrigger::TGCNSWCoincidenceMap::m_verName |
|
private |
The documentation for this class was generated from the following files: