ATLAS Offline Software
TrigT1TRT.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <stdint.h>
6 #include <fstream>
7 
8 #include "TrigT1TRT.h"
9 
11 #include "nlohmann/json.hpp"
12 
13 namespace LVL1 {
14 
15  //--------------------------------
16  // Constructors and destructors
17  //--------------------------------
18 
19  TrigT1TRT::TrigT1TRT(const std::string& name, ISvcLocator* pSvcLocator) :
20  AthReentrantAlgorithm(name, pSvcLocator)
21  {
22  }
23 
24  //---------------------------------
25  // initialise()
26  //---------------------------------
27 
29 
30  ATH_CHECK( m_trtCTPLocation.initialize() );
31 
32  ATH_CHECK( m_trtRDOKey.initialize() );
33 
34  ATH_CHECK( detStore()->retrieve(m_mgr, "TRT") );
35  ATH_MSG_DEBUG( "Connected to TRT DetectorManager" );
36 
37  ATH_CHECK( detStore()->retrieve(m_pTRTHelper, "TRT_ID") );
38  ATH_MSG_DEBUG( "Connected to TRT Helper" );
39 
40  ATH_CHECK( m_ConditionsSummary.retrieve() );
41 
42  ATH_CHECK( m_TRTStrawNeighbourSvc.retrieve() );
43 
44  ATH_MSG_INFO("Setting Fast-OR trigger multiplicity" << m_TTCMultiplicity );
45 
46  // Find the full path to filename:
47  std::string file = PathResolver::find_file(m_maskedChipsFile, "DATAPATH");
48  ATH_MSG_INFO("Reading file " << file);
49  std::ifstream fin(file.c_str());
50  if(!fin){
51  ATH_MSG_ERROR("Can not read file: " << file);
52  return StatusCode::FAILURE;
53  }
55 
56  m_maskedChipsBarrel = data["Barrel"].template get<std::array<std::array<std::vector<int>, 32>, 2>>();
57  m_maskedChipsEc = data["Endcap"].template get<std::array<std::array<std::vector<int>, 32>, 2>>();
58 
59  // initialize numberOfStraws array for use in strawNumber function.
60  for(int j=0; j<75; j++) {
61  m_numberOfStraws[j]=0;
62  }
63 
64  // numberofstraws in a phi module layer. m_numberOfStraws[<layer number>]
65  m_numberOfStraws[1]=15;
70  m_numberOfStraws[19]=18;
71  m_numberOfStraws[20]=19;
77  m_numberOfStraws[43]=23;
78  m_numberOfStraws[44]=23;
85  m_numberOfStraws[73]=28;
86 
87  // loop over straw hash index to create straw number mapping for TRTViewer
88  unsigned int maxHash = m_pTRTHelper->straw_layer_hash_max();
89  for (unsigned int index = 0; index < maxHash; index++) {
90  IdentifierHash idHash = index;
91  Identifier id = m_pTRTHelper->layer_id(idHash);
92 
93  int idBarrelEndcap = m_pTRTHelper->barrel_ec(id);
94  int idLayerWheel = m_pTRTHelper->layer_or_wheel(id);
95  int idPhiModule = m_pTRTHelper->phi_module(id);
96  int idStrawLayer = m_pTRTHelper->straw_layer(id);
97 
98  const InDetDD::TRT_BaseElement * element= nullptr;
99 
100  // BARREL
101  if (m_pTRTHelper->is_barrel(id)) {
102  int idSide = idBarrelEndcap?1:-1;
103  if(m_pTRTHelper->barrel_ec(id)==-1) {
104  element = m_mgr->getBarrelElement(idSide, idLayerWheel, idPhiModule, idStrawLayer);
105  if (element == nullptr) continue;
106 
107  for(unsigned int istraw = 0; istraw < element->nStraws(); istraw++) {
108 
109  Identifier strawID = m_pTRTHelper->straw_id(id, int(istraw));
110  int i_chip;
111 
112  int tempStrawNumber = BarrelStrawNumber(istraw, idStrawLayer, idLayerWheel);
113 
114  m_TRTStrawNeighbourSvc->getChip(strawID,i_chip);
115 
116  //21 chips in mod layer 0
117  //33 chips in mod layer 1
118  //50 chips in mod layer 2
119  if (idLayerWheel == 1) i_chip+=21;
120  if (idLayerWheel == 2) i_chip+=54;
121 
122  m_mat_chip_barrel[idPhiModule][tempStrawNumber]=i_chip;
123  m_mat_chip_barrel[idPhiModule+32][tempStrawNumber]=i_chip;
124  }
125  }
126  }
127  // ENDCAP
128  else if (m_pTRTHelper->barrel_ec(id)!=1) {
129  int idSide = idBarrelEndcap?2:-2;
130  if(((m_pTRTHelper->barrel_ec(id)==-2) || (m_pTRTHelper->barrel_ec(id)==2))) {
131 
132  if (m_pTRTHelper->barrel_ec(id)==-2) idSide =0;
133  else idSide=1;
134 
135  element = m_mgr->getEndcapElement(idSide, idLayerWheel, idStrawLayer, idPhiModule);
136  if (element == nullptr) continue;
137 
138  for(unsigned int istraw = 0; istraw < element->nStraws(); istraw++) {
139 
140  int tempStrawNumber = EndcapStrawNumber(istraw, idStrawLayer, idLayerWheel, idPhiModule, idSide);
141 
142  Identifier strawID = m_pTRTHelper->straw_id(id, int(istraw));
143 
144  int i_chip = 0;
145 
146  m_TRTStrawNeighbourSvc->getChip(strawID,i_chip);
147  i_chip -= 103;
148 
149  m_mat_chip_endcap[idPhiModule][tempStrawNumber]=i_chip;
150  m_mat_chip_endcap[idPhiModule+32][tempStrawNumber]=i_chip;
151  }
152  }
153  }
154  }
155 
156  ATH_MSG_DEBUG("TrigT1TRT initilized");
157  return StatusCode::SUCCESS;
158  }
159 
160  //----------------------------------------------
161  // execute() method called once per event
162  //----------------------------------------------
163 
164  StatusCode TrigT1TRT::execute(const EventContext &ctx) const {
165 
166  // initialise and empty board score table
167  int barrel_trigger_board[2][32][9] = {{{0}}};
168  int endcap_trigger_board[2][32][20] = {{{0}}};
169 
170  // initialise and empty empty ttc score table
171  int barrel_trigger_ttc[2][8] = {{0}};
172  int endcap_trigger_ttc[2][16] = {{0}};
173 
174  // access TRT RDO hits container
176 
177  ATH_CHECK( trtRDOs.isValid() );
178 
179  for (const auto trtRDO : *trtRDOs) {
180  const InDetRawDataCollection<TRT_RDORawData>* TRT_Collection(trtRDO);
181 
182  if(!TRT_Collection) {
183  ATH_MSG_WARNING("InDetRawDataCollection<TRT_RDORawData> is empty");
184  continue;
185  }
186  else {
187  // loop over TRT RDOs
188  for (const auto p_rdo : *TRT_Collection) {// p_rdo is pointer to trt rdo data vector
189  if(!p_rdo)
190  ATH_MSG_WARNING("pointer to TRT_RDORawData is nullptr");
191  else {
192  Identifier TRT_Identifier = p_rdo->identify();
193 
194  int barrel_ec = m_pTRTHelper->barrel_ec(TRT_Identifier);
195 
196  const TRT_LoLumRawData* p_lolum = dynamic_cast<const TRT_LoLumRawData*>(p_rdo);
197  if(!p_lolum) continue;
198 
199  // get TRT Identifier (need to know phi module, module layer, straw layer, and straw # with in the layer, to get proper straw numbering.
200  TRT_Identifier = p_lolum->identify();
201  int phi_module = m_pTRTHelper->phi_module(TRT_Identifier);
202  int layer_or_wheel = m_pTRTHelper->layer_or_wheel(TRT_Identifier);
203  int straw_layer = m_pTRTHelper->straw_layer(TRT_Identifier);
204  int straw = m_pTRTHelper->straw(TRT_Identifier);
205  int strawNumber = 0;
206  int chip = 0;
207  int board = 0;
208 
209  // Require good straw status
210  if (m_ConditionsSummary->getStatus(TRT_Identifier,ctx) != TRTCond::StrawStatus::Good)
211  continue;
212 
213  if (barrel_ec == 1 || barrel_ec == -1) {
214  int side = barrel_ec>0?1:0;
215  strawNumber = BarrelStrawNumber(straw, straw_layer, layer_or_wheel);
216  chip = m_mat_chip_barrel[phi_module][strawNumber];
217  board = BarrelChipToBoard(chip);
218  if (board < 0) {
219  ATH_MSG_FATAL( "Failure in BarrelChipToBoard" );
220  return StatusCode::FAILURE;
221  }
222 
223  // check if chip is masked
224  std::vector<int> maskedChips = m_maskedChipsBarrel.at(side).at(phi_module);
225  if(std::find(maskedChips.begin(), maskedChips.end(), chip) != maskedChips.end())
226  continue;
227 
228  if ( (p_lolum)->highLevel() ) {
229  barrel_trigger_board[side][phi_module][board]++;
230  }
231 
232  }
233  else if (barrel_ec == 2 || barrel_ec == -2) {
234 
235  int side = barrel_ec>0?1:0;
236  strawNumber = EndcapStrawNumber(straw, straw_layer, layer_or_wheel, phi_module, barrel_ec);
237  chip = m_mat_chip_endcap[phi_module][strawNumber];
238  board = EndcapChipToBoard(chip);
239 
240  // check if chip is masked
241  std::vector<int> maskedChips = m_maskedChipsEc.at(side).at(phi_module);
242  if(std::find(maskedChips.begin(), maskedChips.end(), chip) != maskedChips.end())
243  continue;
244 
245  if ( (p_lolum)->highLevel() ) {
246  endcap_trigger_board[side][phi_module][board]++;
247  }
248  }
249  }
250  }
251  }
252  }
253 
254  // analyse board score table - fill ttc score table
255  for (int i=0; i<2; i++) {
256  for (int j=0; j<32; j++) {
257  for (int k=0; k<9; k++) {
258  if (barrel_trigger_board[i][j][k]) {
259  barrel_trigger_ttc[i][j%4]++;
260  }
261  }
262  for (int k=0; k<20; k++) {
263  if (endcap_trigger_board[i][j][k]) {
264  endcap_trigger_ttc[i][j%2]++;
265  }
266  }
267  }
268  }
269 
270  unsigned int cableWord0 = 0;
271 
272  // analyse ttc score table - set cable word
273  for (int i=0; i<2; i++) {
274  for (int j=0; j<8; j++) {
275  if (barrel_trigger_ttc[i][j] >= m_TTCMultiplicity) {
276  cableWord0 |= (uint64_t(0x1) << 21); // use of hard coded cable start
277  }
278  }
279  for (int j=0; j<16; j++) {
280  if (endcap_trigger_ttc[i][j] >= m_TTCMultiplicity) {
281  cableWord0 |= (uint64_t(0x1) << 21); // use of hard coded cable start
282  }
283  }
284  }
285 
286  ATH_MSG_DEBUG( " cableWord: " << cableWord0 );
287 
288  // form CTP obejct
290 
291  // record CTP object
292  ATH_CHECK(trtCTP.record(std::make_unique<TrtCTP>(cableWord0)));
293  ATH_MSG_DEBUG("Stored TRT CTP object with bit " << std::dec << cableWord0);
294 
295  return StatusCode::SUCCESS;
296  }
297 
298 
299  //----------------------------------------------
300  // trigger logic methods
301  //----------------------------------------------
302 
303  int TrigT1TRT::BarrelChipToBoard(int chip) const {
304  // return logical board index:
305  // 0 for Board 1S (has 10 chips) 0 - 9
306  // 1 for 1L (11) 10 - 20
307  // 2 for 2S (15) 21 - 35
308  // 3 for 2L, first 9 chips 36 - 44
309  // 4 for 2L, second 9 chips 45 - 53
310  // 5 for 3S, first 11 54 - 64
311  // 6 for 3S, second 12 65 - 76
312  // 7 for 3L, first 13 77 - 89
313  // 8 for 3L, second 14 90 - 103
314 
315  int list[] = {10, 11, 15, 9, 9, 11, 12, 13, 14};
316  int count = 0;
317  chip--;
318 
319  for (int i=0; i<9; i++) {
320  count += list[i];
321  if (chip < count) return i+1;
322  else if (chip == 104) return 9;
323  }
324 
325  throw std::runtime_error("Board not found!");
326  return -1;
327  }
328 
329  int TrigT1TRT::EndcapChipToBoard(int chip) const {
330  int Board = -1;
331 
332  int remainder = (chip-1) % 12;
333  Board = int(((chip -1) - remainder) / 12);
334  return Board;
335  }
336 
337  int TrigT1TRT::EndcapStrawNumber(int strawNumber, int strawLayerNumber, int LayerNumber, int phi_stack, int side) const {
338 
339  // before perfoming map, corrections need to be perfomed.
341 
342  // for eca, rotate triplets by 180 for stacks 9-16, and 25-32.
343  static const int TripletOrientation[2][32] = {
344  {1,1,1,1,1,1,1,1,
345  0,0,0,0,0,0,0,0,
346  1,1,1,1,1,1,1,1,
347  0,0,0,0,0,0,0,0},
348  {1,1,1,1,1,1,1,1,
349  0,0,0,0,0,0,0,0,
350  1,1,1,1,1,1,1,1,
351  0,0,0,0,0,0,0,0}
352  };
353 
354  int phi1=-1;
355  if(side==2) phi1=phi_stack, side=1;
356  else if (side==-2) phi1=31-phi_stack, side=0;
357  if (phi1>-1){
358  if (TripletOrientation[side][phi1]){
359  // change straw number from 0-23 in straw layer to 0-192
360  if (strawLayerNumber < 8)strawNumber = strawNumber + 24*strawLayerNumber;
361  if (strawLayerNumber > 7)strawNumber = strawNumber + 24*(strawLayerNumber -8);
362  strawNumber = (192-1)*TripletOrientation[side][phi1]+strawNumber*(1-2*TripletOrientation[side][phi1]);//actual rotation
363 
364  // take strawNumber back to 0-23
365  if (strawLayerNumber<8) strawLayerNumber = int(strawNumber/24);
366  if (strawLayerNumber>7) strawLayerNumber = int(strawNumber/24) + 8;
367  strawNumber = strawNumber%24;
368  }
369 
370  // finish rotation
371 
372  // flip straw in layer.
373 
374  if (side==0) strawNumber = 23 - strawNumber;
375 
376  // finish flipping
377  }
378 
379  // done with corrections
380 
381  // start mapping from athena identifiers to TRTViewer maps
382  int strawNumberNew=0;
383 
384  if(LayerNumber<6 && strawLayerNumber>7) {
385  strawNumberNew=strawNumberNew+(384*LayerNumber);
386  strawNumberNew=strawNumberNew+192+(strawLayerNumber%8)+(strawNumber*8);
387  }
388  else if(LayerNumber<6 && strawLayerNumber<8) {
389  strawNumberNew=strawNumberNew+(384*LayerNumber);
390  strawNumberNew=strawNumberNew + (strawLayerNumber%8) + (strawNumber*8);
391  }
392  else if(LayerNumber>5 && strawLayerNumber>7) {
393  strawNumberNew = strawNumberNew + 2304 + 192*(LayerNumber-6);
394  strawNumberNew = strawNumberNew + 192 + (strawLayerNumber%8) + (8*strawNumber);
395  }
396  else if(LayerNumber>5 && strawLayerNumber<8) {
397  strawNumberNew = strawNumberNew + 2304 + 192*(LayerNumber-6);
398  strawNumberNew = strawNumberNew + (strawLayerNumber%8) + (8*strawNumber);
399  }
400 
401  strawNumber=strawNumberNew;
402 
403  return strawNumber;
404  }
405 
406  int TrigT1TRT::BarrelStrawNumber(int strawNumber, int strawlayerNumber, int LayerNumber) const {
407  int addToStrawNumber=0;
408  int addToStrawNumberNext=0;
409  int i=0;
410 
411  do {
412  i++;
413  addToStrawNumber+=m_numberOfStraws[i-1];
414  addToStrawNumberNext = addToStrawNumber+m_numberOfStraws[i];
415  }
416  while(BarrelStrawLayerNumber(strawlayerNumber,LayerNumber)!=i-1);
417  strawNumber = addToStrawNumberNext - strawNumber-1;
418  return strawNumber;
419  }
420 
421  int TrigT1TRT::BarrelStrawLayerNumber(int strawLayerNumber, int LayerNumber) const {
422  if(LayerNumber==0) {
423  strawLayerNumber+=0;
424  } else if(LayerNumber==1) {
425  strawLayerNumber+=19;
426  } else if(LayerNumber==2) {
427  strawLayerNumber+=43;
428  }
429  return strawLayerNumber;
430  }
431 
432 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LVL1::TrigT1TRT::m_numberOfStraws
int m_numberOfStraws[75]
Definition: TrigT1TRT.h:77
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:215
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
TRT_ID::layer_id
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
Definition: TRT_ID.h:494
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TRT::Hit::straw
@ straw
Definition: HitInfo.h:82
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
json
nlohmann::json json
Definition: HistogramDef.cxx:9
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
TRT_LoLumRawData
Definition: TRT_LoLumRawData.h:25
index
Definition: index.py:1
InDetDD::TRT_DetectorManager::getBarrelElement
const TRT_BarrelElement * getBarrelElement(unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
Access Barrel Elements:---------------—(Fast)-------------------------—.
Definition: TRT_DetectorManager.cxx:100
LVL1::TrigT1TRT::EndcapChipToBoard
int EndcapChipToBoard(int chip) const
Definition: TrigT1TRT.cxx:329
InDetDD::TRT_BaseElement::nStraws
unsigned int nStraws() const
Number of straws in the element.
parse
std::map< std::string, std::string > parse(const std::string &list)
Definition: egammaLayerRecalibTool.cxx:1113
LVL1::TrigT1TRT::BarrelChipToBoard
int BarrelChipToBoard(int chip) const
Definition: TrigT1TRT.cxx:303
LVL1::TrigT1TRT::m_maskedChipsBarrel
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsBarrel
Definition: TrigT1TRT.h:64
LVL1::TrigT1TRT::BarrelStrawNumber
int BarrelStrawNumber(int strawNumber, int strawlayerNumber, int LayerNumber) const
Definition: TrigT1TRT.cxx:406
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TrigT1TRT::TrigT1TRT
TrigT1TRT(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigT1TRT.cxx:19
LVL1::TrigT1TRT::m_mat_chip_endcap
unsigned char m_mat_chip_endcap[64][3840]
Definition: TrigT1TRT.h:75
XMLtoHeader.count
count
Definition: XMLtoHeader.py:84
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
LVL1::TrigT1TRT::EndcapStrawNumber
int EndcapStrawNumber(int strawNumber, int strawLayerNumber, int LayerNumber, int phi_stack, int side) const
Definition: TrigT1TRT.cxx:337
TRT::Hit::side
@ side
Definition: HitInfo.h:83
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:274
TRT_ID::straw
int straw(const Identifier &id) const
Definition: TRT_ID.h:896
TrigT1TRT.h
highLevel
bool highLevel(unsigned int m_word)
Definition: driftCircle.h:88
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDetRawDataCollection
Definition: InDetRawDataCollection.h:31
file
TFile * file
Definition: tile_monitor.h:29
LVL1::TrigT1TRT::m_maskedChipsEc
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsEc
Definition: TrigT1TRT.h:65
LVL1::TrigT1TRT::m_pTRTHelper
const TRT_ID * m_pTRTHelper
Definition: TrigT1TRT.h:57
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1::TrigT1TRT::m_mgr
const InDetDD::TRT_DetectorManager * m_mgr
Definition: TrigT1TRT.h:56
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:860
TRT_ID::straw_layer
int straw_layer(const Identifier &id) const
Definition: TRT_ID.h:887
TRT_ID::layer_or_wheel
int layer_or_wheel(const Identifier &id) const
Definition: TRT_ID.h:878
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TrigConf::name
Definition: HLTChainList.h:35
TRTCond::StrawStatus::Good
@ Good
Definition: StrawStatus.h:18
InDetDD::TRT_DetectorManager::getEndcapElement
const TRT_EndcapElement * getEndcapElement(unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
Access Endcap Elements:---------------—(Fast)--------------------------—.
Definition: TRT_DetectorManager.cxx:116
PathResolver.h
LVL1::TrigT1TRT::initialize
virtual StatusCode initialize() override
Definition: TrigT1TRT.cxx:28
remainder
std::vector< std::string > remainder(const std::vector< std::string > &v1, const std::vector< std::string > &v2)
Definition: compareFlatTrees.cxx:44
LVL1::TrigT1TRT::m_trtCTPLocation
SG::WriteHandleKey< TrtCTP > m_trtCTPLocation
Definition: TrigT1TRT.h:44
LVL1::TrigT1TRT::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigT1TRT.cxx:164
LVL1::TrigT1TRT::m_TTCMultiplicity
Gaudi::Property< int > m_TTCMultiplicity
Definition: TrigT1TRT.h:60
TRT_ID::phi_module
int phi_module(const Identifier &id) const
Definition: TRT_ID.h:869
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
DeMoScan.index
string index
Definition: DeMoScan.py:362
TRT_ID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel.
Definition: TRT_ID.h:851
LVL1::TrigT1TRT::m_maskedChipsFile
Gaudi::Property< std::string > m_maskedChipsFile
Definition: TrigT1TRT.h:61
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
PathResolver::find_file
static std::string find_file(const std::string &logical_file_name, const std::string &search_path)
Definition: PathResolver.cxx:183
LVL1::TrigT1TRT::m_mat_chip_barrel
unsigned char m_mat_chip_barrel[64][1642]
Definition: TrigT1TRT.h:74
compute_lumi.fin
fin
Definition: compute_lumi.py:19
LVL1::TrigT1TRT::m_TRTStrawNeighbourSvc
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
Definition: TrigT1TRT.h:53
InDetRawData::identify
virtual Identifier identify() const override final
Definition: InDetRawData.h:41
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
TRT_ID::straw_layer_hash_max
size_type straw_layer_hash_max() const
Definition: TRT_ID.h:914
LVL1::TrigT1TRT::BarrelStrawLayerNumber
int BarrelStrawLayerNumber(int strawLayerNumber, int LayerNumber) const
Definition: TrigT1TRT.cxx:421
LVL1::TrigT1TRT::m_trtRDOKey
SG::ReadHandleKey< TRT_RDO_Container > m_trtRDOKey
Definition: TrigT1TRT.h:47
LVL1::TrigT1TRT::m_ConditionsSummary
ToolHandle< ITRT_StrawStatusSummaryTool > m_ConditionsSummary
Definition: TrigT1TRT.h:50
fitman.k
k
Definition: fitman.py:528
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:52
TRT_ID::straw_id
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
Definition: TRT_ID.h:575
Identifier
Definition: IdentifierFieldParser.cxx:14