ATLAS Offline Software
TgcRdoToPrepDataToolMT.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONTGC_CNVTOOLS_TGCRDOTOPREPDATATOOLMT_H
6 #define MUONTGC_CNVTOOLS_TGCRDOTOPREPDATATOOLMT_H
7 
10 #include "GaudiKernel/ServiceHandle.h"
11 
13 #include "MuonRDO/TgcRdo.h"
23 #include "StoreGate/UpdateHandle.h"
25 #include "CxxUtils/CachedValue.h"
27 
28 #include <string>
29 #include <vector>
30 #include <atomic>
31 
32 namespace MuonGM
33 {
34  class TgcReadoutElement;
35 }
36 
37 namespace Muon
38 {
39  // Typedef the two update handle arrays that can be used to match handle key functionality
40  // Requested to not use StoreGate template for UpdateHandleKeyArray
43 
53  class TgcRdoToPrepDataToolMT : public extends<AthAlgTool, IMuonRdoToPrepDataTool>
54  {
55  public:
57  TgcRdoToPrepDataToolMT(const std::string& t, const std::string& n, const IInterface* p);
58 
60  virtual ~TgcRdoToPrepDataToolMT()=default;
61 
63  virtual StatusCode initialize() override;
65  virtual StatusCode finalize() override;
66 
72  virtual StatusCode decode(const EventContext& ctx,
73  const std::vector<IdentifierHash>& idVect) const override;
74 
75  virtual StatusCode provideEmptyContainer(const EventContext& ctx) const override;
76  private:
78  static constexpr int NBC_HIT = 3;
79  /* Run1,2: The number of recorded Bunch Crossings (BCs) FOR TRIGGER (HPT/SL) is 3 (Previous, Current, Next BCs) */
80  /* Run3: The number of recorded Bunch Crossings (BCs) FOR TRIGGER (HPT/SL) is 4 (Previous, Current, Next, and Next-to-Next BCs) */
81  static constexpr int NBC_TRIG = 4;
82 
83  struct State {
85  std::array<TgcPrepDataContainer*, NBC_HIT +1> tgcPrepDataContainer{}; // +1 for AllBCs
86 
87  using TempPrepDataContainer = std::vector<std::unique_ptr<TgcPrepDataCollection>>;
88  std::array<TempPrepDataContainer, NBC_HIT +1> tgcPrepDataCollections{};
90  std::array<TgcCoinDataContainer*, NBC_TRIG> tgcCoinDataContainer{};
91 
92  using TempCoinDataContainer = std::vector<std::unique_ptr<TgcCoinDataCollection>>;
93  std::array<TempCoinDataContainer, NBC_TRIG> tgcCoinDataCollections{};
94 
97 
99  };
100  template<class ContType, class CollType> StatusCode transferData(ContType& container,
101  std::vector<std::unique_ptr<CollType>>&& coll) const;
102 
103  StatusCode setupState(const EventContext& ctx, State& state) const;
104 
105  struct CablingInfo {
106  SmartIF<MuonTGC_CablingSvc> m_tgcCabling;
108  std::vector<uint16_t> m_hashToOnlineId;
109  int m_MAX_N_ROD = 0;
110  };
112 
115  ASIDE = 103,
116  CSIDE = 104
117  };
118 
143  enum BIT_POS {
153 
154  /* CHannel starts from 00 at the small R side (the same as ASD). */
163 
167 
172 
173  /* CHannel starts from 00
174  at the small phi side for A side forward chambers and C side backward chambers and
175  at the large phi side for A side backward chambers and C side forward chambers (the same as ASD). */
184 
189  };
190 
192  enum MAP_SIZE {
197  };
198 
199 
201  void selectDecoder(State& state, const TgcRawData& rd, const TgcRdo* rdoColl) const;
202 
204  StatusCode decodeHits(State& state, const TgcRawData& rd) const;
206  StatusCode decodeTracklet(State& state, const TgcRawData& rd) const;
208  StatusCode decodeTrackletEIFI(State& state, const TgcRawData& rd) const;
210  StatusCode decodeHiPt(State& state, const TgcRawData& rd) const;
212  StatusCode decodeInner(State& state, const TgcRawData& rd) const;
214  StatusCode decodeSL(State& state, const TgcRawData& rd, const TgcRdo* rdoColl) const;
215 
217  static int getbitpos(int channel, TgcRawData::SlbType slbType) ;
219  static int getchannel(int bitpos, TgcRawData::SlbType slbType) ;
220 
222  static bool getRfromEtaZ(const double eta, const double z, double& r) ;
224  static bool getEtafromRZ(const double r, const double z, double& eta) ;
225 
227  static bool isAlreadyConverted(const std::vector<const TgcRdo*>& decodedRdoCollVec,
228  const std::vector<const TgcRdo*>& rdoCollVec,
229  const TgcRdo* rdoColl) ;
230 
232  static bool isRequested(const std::vector<IdentifierHash>& requestedIdHashVect,
233  IdentifierHash tgcHashId) ;
234 
237 
239  bool getTrackletInfo(const TgcRawData& rd,
240  int& tmp_slbId, int& tmp_subMatrix, int& tmp_position) const;
241 
243  static int getRoiRow(const TgcRawData& rd) ;
245  bool isIncludedInChamberBoundary(const TgcRawData& rd) const;
246 
248  static void getBitPosOutWire(const TgcRawData& rd, int& slbsubMatrix, std::array<int, 2>& bitpos_o) ;
250  void getBitPosInWire(const TgcRawData& rd,
251  const int DeltaBeforeConvert,
252  std::array<int, 4>& bitpos_i,
253  std::array<int, 4>& slbchannel_i,
254  std::array<int, 4>& slbId_in,
255  std::array<int, 4>& sbLoc_in,
256  int& sswId_i,
257  const std::array<int, 2>& bitpos_o,
258  std::array<int, 2>& slbchannel_o,
259  const int slbId_o) const;
261  static void getBitPosOutStrip(const TgcRawData& rd, int& slbsubMatrix, std::array<int, 2>& bitpos_o) ;
263  void getBitPosInStrip(const TgcRawData& rd,
264  const int DeltaBeforeConvert,
265  std::array<int, 4>& bitpos_i,
266  std::array<int, 4>& slbchannel_i,
267  int& sbLoc_i,
268  int& sswId_i,
269  const std::array<int, 2>& bitpos_o,
270  std::array<int, 2>& slbchannel_o) const;
272  void getBitPosWire(const TgcRawData& rd,
273  const int hitId_w,
274  const int sub_w,
275  int& subMatrix_w,
276  std::array<int, 3>& bitpos_w) const;
278  static void getBitPosStrip(const int hitId_s,
279  const int sub_s,
280  int& subMatrix_s,
281  std::array<int, 3>& bitpos_s) ;
282 
284  static int getDeltaBeforeConvert(const TgcRawData& rd) ;
285 
287  static bool isBackwardBW(const TgcRawData& rd) ;
288 
290  bool getSLWireGeometry(const std::array<Identifier, 3>& channelId_wire,
291  double& width_wire,
292  double& r_wire,
293  double& z_wire) const;
295  bool getSLStripGeometry(const std::array<Identifier, 3>& channelId_strip,
296  const bool isBackWard,
297  const bool isAside,
298  double& width_strip,
299  double& theta_strip) const;
301  bool getPosAndIdWireOut(const std::array<const MuonGM::TgcReadoutElement*, 2>& descriptor_o,
302  const std::array<Identifier, 2>& channelIdOut,
303  const std::array<int, 2>& gasGap_o,
304  const std::array<int, 2>& channel_o,
305  double& width_o,
306  double& hit_position_o,
307  Amg::Vector2D& tmp_hitPos_o,
308  Identifier& channelIdOut_tmp) const;
310  bool getPosAndIdStripOut(const std::array<const MuonGM::TgcReadoutElement*, 2>& descriptor_o,
311  const std::array<Identifier,2 >& channelIdOut,
312  const std::array<int, 2>& gasGap_o,
313  const std::array<int, 2>& channel_o,
314  double& width_o,
315  double& hit_position_o,
316  Amg::Vector2D& tmp_hitPos_o,
317  Identifier& channelIdOut_tmp,
318  const bool isBackward, const bool isAside) const;
319 
321  bool getPosAndIdWireIn(const std::array<const MuonGM::TgcReadoutElement*, 4>& descriptor_i,
322  const std::array<Identifier,4 >& channelIdIn,
323  const std::array<int, 4>& gasGap_i,
324  const std::array<int, 4>& channel_i,
325  double& width_i, double& hit_position_i,
326  Amg::Vector2D& tmp_hitPos_i,
327  Identifier& channelIdIn_tmp) const;
329  bool getPosAndIdStripIn(const std::array<const MuonGM::TgcReadoutElement*, 4>& descriptor_i,
330  const std::array<Identifier, 4>& channelIdIn,
331  const std::array<int, 4>& gasGap_i,
332  const std::array<int, 4>& channel_i,
333  double& width_i, double& hit_position_i,
334  Amg::Vector2D& tmp_hitPos_i,
335  Identifier& channelIdIn_tmp,
336  const bool isBackward, const bool isAside) const;
337 
339  bool getHiPtIds(const TgcRawData& rd, int& sswId_o, int& sbLoc_o, int& slbId_o) const;
340 
342  bool getSLIds(const bool isStrip,
343  const TgcRawData& rd,
344  std::array<Identifier, 3>& channelId,
345  int& index, int& chip, int& hitId, int& sub, int& sswId, int& sbLoc, int& subMatrix,
346  std::array<int, 3>& bitpos,
347  const bool isBoundary=false, const TgcRdo* rdoColl=0,
348  const int index_w=-1, const int chip_w=-1, const int hitId_w=-1, const int sub_w=-1) const;
351  int& sbLoc,
352  const TgcRdo* rdoColl,
353  const int index_w, const int chip_w, const int hitId_w, const int sub_w) const;
356  int& sbLoc,
357  const TgcRdo* rdoColl,
358  const int index_w, const int chip_w, const int hitId_w, const int sub_w) const;
360  static void getEndcapStripCandidateTrackletIds(const int roi, int &trackletIdStripFirst,
361  int &trackletIdStripSecond, int &trackletIdStripThird) ;
362 
363  const CablingInfo* getCabling() const;
364 
366  static const Amg::Vector2D* getSLLocalPosition(const MuonGM::TgcReadoutElement* readout, const Identifier, const double eta, const double phi) ;
367 
368  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
369 
370  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
371 
373  Gaudi::Property<std::string> m_outputCollectionLocation{this, "OutputCollection", "TGC_Measurements"};
374 
376  Gaudi::Property<std::string> m_outputCoinCollectionLocation{this, "OutputCoinCollection", "TrigT1CoinDataCollection"};
377 
379  Gaudi::Property<int> m_tgcOffset{this, "TGCHashIdOffset", 26000};
380 
382  Gaudi::Property<bool> m_decodeData{this, "DecodeData", true};
384  Gaudi::Property<bool> m_fillCoinData{this, "FillCoinData", true};
385 
391  Gaudi::Property<bool> m_show_warning_level_invalid_A09_SSW6_hit{this, "show_warning_level_invalid_A09_SSW6_hit", false};
392 
394  Gaudi::Property<bool> m_dropPrdsWithZeroWidth{this, "dropPrdsWithZeroWidth", true};
396  const static double s_cutDropPrdsWithZeroWidth; // 0.1 mm
397 
399  mutable std::atomic<long> m_nHitRDOs{0};
400  mutable std::atomic<long> m_nHitPRDs{0};
401  mutable std::atomic<long> m_nTrackletRDOs{0};
402  mutable std::atomic<long> m_nTrackletPRDs{0};
403  mutable std::atomic<long> m_nTrackletEIFIRDOs{0};
404  mutable std::atomic<long> m_nTrackletEIFIPRDs{0};
405  mutable std::atomic<long> m_nHiPtRDOs{0};
406  mutable std::atomic<long> m_nHiPtPRDs{0};
407  mutable std::atomic<long> m_nSLRDOs{0};
408  mutable std::atomic<long> m_nSLPRDs{0};
409 
410  SG::ReadHandleKey<TgcRdoContainer> m_rdoContainerKey{this, "RDOContainer", "TGCRDO" ,"TgcRdoContainer to retrieve"};
411 
412  // Write handle keys for CoinDataContainers, need 3, for current, previous and next BC
414  // Write handle keys for PrepDataContainers, need 4, for current, previous, next and all BC
416 
417  SG::WriteHandleKey<xAOD::TgcStripContainer> m_xAODKey {this, "xAODKey", "", "If empty, do not produce xAOD, otherwise this is the key of the output xAOD MDT PRD container"};
418 
419 
421  TgcPrdUpdateHandles m_prdContainerCacheKeys{this, "UpdateKeysPrd", {}};
423  TgcCoinUpdateHandles m_coinContainerCacheKeys{this, "UpdateKeysCoin", {}};
424 
425  // TgcPrepRawData container cache key prefix (code automatically creates three keys with from this string if it is non-empty)
426  Gaudi::Property<std::string> m_prdContainerCacheKeyStr{this, "PrdCacheString", "", "Prefix for names of PRD cache collections"};
427  // TgcCoinData container cache key prefix (code automatically creates three keys with from this string if it is non-empty)
428  Gaudi::Property<std::string> m_coinContainerCacheKeyStr{this, "CoinCacheString", "", "Prefix for names of Coin cache collections"};
429 
431  StatusCode decode(const EventContext& ctx, const std::vector<uint32_t>& robIds) const override;
432  // Run3->Run2 conversion of rodId and sector
433  void convertToRun2(const TgcRawData* rd, uint16_t& newrodId, uint16_t& newsector) const {
434  newrodId = rd->rodId();
435  newsector = rd->sector();
436  if (rd->rodId()>12){ // Run3 rodID is 17..19 while Run2 rodId is 1..12
437  if(rd->isForward()){
438  newrodId = rd->sector() / 2 + 1 + (rd->rodId()-17) * 4;
439  newsector = (rd->sector() + (rd->rodId()-17)*8) % 2;
440  }else{
441  newrodId = rd->sector() / 4 + 1 + (rd->rodId()-17) * 4;
442  newsector = (rd->sector() + (rd->rodId()-17)*16) % 4;
443  }
444  }
445  }
446  void convertToRun2(const TgcRawData& rd, uint16_t& newrodId, uint16_t& newsector) const {
447  convertToRun2(&rd,newrodId,newsector);
448  }
449 
450  };
451 } // end of namespace
452 
453 #endif // MUONTGC_CNVTOOLS_TGCRDOTOPREPDATATOOLMT_H
Muon::TgcRdoToPrepDataToolMT::getSLIds
bool getSLIds(const bool isStrip, const TgcRawData &rd, std::array< Identifier, 3 > &channelId, int &index, int &chip, int &hitId, int &sub, int &sswId, int &sbLoc, int &subMatrix, std::array< int, 3 > &bitpos, const bool isBoundary=false, const TgcRdo *rdoColl=0, const int index_w=-1, const int chip_w=-1, const int hitId_w=-1, const int sub_w=-1) const
Get ReadoutID of SL from RDO.
Definition: TgcRdoToPrepDataToolMT.cxx:2504
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH07
@ BIT_POS_B_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH07
Definition: TgcRdoToPrepDataToolMT.h:182
beamspotman.r
def r
Definition: beamspotman.py:676
Muon::TgcRdoToPrepDataToolMT::m_nTrackletEIFIRDOs
std::atomic< long > m_nTrackletEIFIRDOs
Definition: TgcRdoToPrepDataToolMT.h:403
Muon::TgcRdoToPrepDataToolMT::TgcRdoToPrepDataToolMT
TgcRdoToPrepDataToolMT(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition: TgcRdoToPrepDataToolMT.cxx:24
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Muon::TgcRdoToPrepDataToolMT::BIT_POS
BIT_POS
SLB bit position /code Large R <--> Small R Large phi <--> Small phi for A side forward chambers and ...
Definition: TgcRdoToPrepDataToolMT.h:143
MuonTGC_CablingSvc.h
Muon::TgcRdoToPrepDataToolMT::m_decodeData
Gaudi::Property< bool > m_decodeData
Switch for the decoding of TGC RDO into TgcPrepData.
Definition: TgcRdoToPrepDataToolMT.h:382
Muon::TgcRdoToPrepDataToolMT::getRfromEtaZ
static bool getRfromEtaZ(const double eta, const double z, double &r)
Get r from eta and z.
Definition: TgcRdoToPrepDataToolMT.cxx:1475
Muon::TgcRdoToPrepDataToolMT::s_cutDropPrdsWithZeroWidth
static const double s_cutDropPrdsWithZeroWidth
Cut value for zero widths.
Definition: TgcRdoToPrepDataToolMT.h:396
Muon::TgcRdoToPrepDataToolMT::decode
virtual StatusCode decode(const EventContext &ctx, const std::vector< IdentifierHash > &idVect) const override
Decode RDO to PRD A vector of IdentifierHash are passed in, and the data corresponding to this list...
Definition: TgcRdoToPrepDataToolMT.cxx:210
Muon::TgcRdoToPrepDataToolMT::getPosAndIdStripOut
bool getPosAndIdStripOut(const std::array< const MuonGM::TgcReadoutElement *, 2 > &descriptor_o, const std::array< Identifier, 2 > &channelIdOut, const std::array< int, 2 > &gasGap_o, const std::array< int, 2 > &channel_o, double &width_o, double &hit_position_o, Amg::Vector2D &tmp_hitPos_o, Identifier &channelIdOut_tmp, const bool isBackward, const bool isAside) const
Get position and offline ID of TGC3 strip for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:2183
Muon::TgcRdoToPrepDataToolMT::isRequested
static bool isRequested(const std::vector< IdentifierHash > &requestedIdHashVect, IdentifierHash tgcHashId)
Check the IdHash is already requested or not.
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
MuonPrepDataCollection_Cache.h
Muon::TgcRdoToPrepDataToolMT::getPosAndIdWireIn
bool getPosAndIdWireIn(const std::array< const MuonGM::TgcReadoutElement *, 4 > &descriptor_i, const std::array< Identifier, 4 > &channelIdIn, const std::array< int, 4 > &gasGap_i, const std::array< int, 4 > &channel_i, double &width_i, double &hit_position_i, Amg::Vector2D &tmp_hitPos_i, Identifier &channelIdIn_tmp) const
Get position and offline ID of TGC1 wire for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:2243
SG::UpdateHandleKey< TgcPrepDataCollection_Cache >
Muon::TgcRdoToPrepDataToolMT::isIncludedInChamberBoundary
bool isIncludedInChamberBoundary(const TgcRawData &rd) const
Check SL RDO is at the chamber boundary.
Definition: TgcRdoToPrepDataToolMT.cxx:1590
Muon::TgcRdoToPrepDataToolMT::State::TempCoinDataContainer
std::vector< std::unique_ptr< TgcCoinDataCollection > > TempCoinDataContainer
Definition: TgcRdoToPrepDataToolMT.h:92
Muon::TgcRdoToPrepDataToolMT::getBitPosWire
void getBitPosWire(const TgcRawData &rd, const int hitId_w, const int sub_w, int &subMatrix_w, std::array< int, 3 > &bitpos_w) const
Get bitPos etc of wire for SL.
Definition: TgcRdoToPrepDataToolMT.cxx:1829
Muon::TgcRdoToPrepDataToolMT::NBC_TRIG
static constexpr int NBC_TRIG
Definition: TgcRdoToPrepDataToolMT.h:81
Muon::TgcRdoToPrepDataToolMT::getSLStripGeometry
bool getSLStripGeometry(const std::array< Identifier, 3 > &channelId_strip, const bool isBackWard, const bool isAside, double &width_strip, double &theta_strip) const
Get strip geometry (width, theta) for SL.
Definition: TgcRdoToPrepDataToolMT.cxx:2054
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH04
@ BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH04
Definition: TgcRdoToPrepDataToolMT.h:188
Muon::TgcRdoToPrepDataToolMT::BIT_POS_OFFSET_LARGE_PHIFOR_A_FWD_C_BWD
@ BIT_POS_OFFSET_LARGE_PHIFOR_A_FWD_C_BWD
Definition: TgcRdoToPrepDataToolMT.h:148
Muon::TgcRdoToPrepDataToolMT::isBackwardBW
static bool isBackwardBW(const TgcRawData &rd)
Check if a chamber in BigWheel is a backward chamber or a forward chamber.
Definition: TgcRdoToPrepDataToolMT.cxx:1961
Muon::TgcRdoToPrepDataToolMT::m_nTrackletEIFIPRDs
std::atomic< long > m_nTrackletEIFIPRDs
Definition: TgcRdoToPrepDataToolMT.h:404
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
index
Definition: index.py:1
Muon::TgcRdoToPrepDataToolMT::State::m_xaodHandle
SG::WriteHandle< xAOD::TgcStripContainer > m_xaodHandle
Handle for the xAOD container.
Definition: TgcRdoToPrepDataToolMT.h:96
Muon::TgcRdoToPrepDataToolMT::WT_MAP_SIZE
@ WT_MAP_SIZE
Definition: TgcRdoToPrepDataToolMT.h:193
Muon::TgcRdoToPrepDataToolMT::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TgcRdoToPrepDataToolMT.h:370
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH08
@ BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH08
Definition: TgcRdoToPrepDataToolMT.h:181
Muon::TgcRdoToPrepDataToolMT::convertToRun2
void convertToRun2(const TgcRawData *rd, uint16_t &newrodId, uint16_t &newsector) const
Definition: TgcRdoToPrepDataToolMT.h:433
Muon::TgcRdoToPrepDataToolMT::getBitPosInWire
void getBitPosInWire(const TgcRawData &rd, const int DeltaBeforeConvert, std::array< int, 4 > &bitpos_i, std::array< int, 4 > &slbchannel_i, std::array< int, 4 > &slbId_in, std::array< int, 4 > &sbLoc_in, int &sswId_i, const std::array< int, 2 > &bitpos_o, std::array< int, 2 > &slbchannel_o, const int slbId_o) const
Get bitPos etc of TGC1 wire for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:1656
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH00
@ BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH00
Definition: TgcRdoToPrepDataToolMT.h:179
Muon::TgcRdoToPrepDataToolMT::CablingInfo::m_MAX_N_ROD
int m_MAX_N_ROD
Definition: TgcRdoToPrepDataToolMT.h:109
Muon::TgcRdoToPrepDataToolMT::decodeHits
StatusCode decodeHits(State &state, const TgcRawData &rd) const
Decode RDO's of Hit.
Definition: TgcRdoToPrepDataToolMT.cxx:428
Muon::TgcRdoToPrepDataToolMT::BIT_POS_C_INPUT_ORIGIN
@ BIT_POS_C_INPUT_ORIGIN
Definition: TgcRdoToPrepDataToolMT.h:151
Muon::TgcRdoToPrepDataToolMT::BIT_POS_OFFSET_LARGE_R
@ BIT_POS_OFFSET_LARGE_R
Definition: TgcRdoToPrepDataToolMT.h:147
Muon::TgcRdoToPrepDataToolMT::ASIDE
@ ASIDE
Definition: TgcRdoToPrepDataToolMT.h:115
Muon::TgcRdoToPrepDataToolMT
Definition: TgcRdoToPrepDataToolMT.h:54
Muon::TgcRdoToPrepDataToolMT::getSLWireGeometry
bool getSLWireGeometry(const std::array< Identifier, 3 > &channelId_wire, double &width_wire, double &r_wire, double &z_wire) const
Get wire geometry (width, r, z) for SL.
Definition: TgcRdoToPrepDataToolMT.cxx:1985
Muon::TgcRdoToPrepDataToolMT::initialize
virtual StatusCode initialize() override
Standard AthAlgTool initialize method.
Definition: TgcRdoToPrepDataToolMT.cxx:29
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
Muon::TgcRdoToPrepDataToolMT::selectDecoder
void selectDecoder(State &state, const TgcRawData &rd, const TgcRdo *rdoColl) const
Select decoder based on RDO type (Hit or Coincidence (Tracklet, HiPt and SL))
Definition: TgcRdoToPrepDataToolMT.cxx:386
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_ORIGIN
@ BIT_POS_B_INPUT_ORIGIN
Definition: TgcRdoToPrepDataToolMT.h:150
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonPrepDataContainer.h
Muon::TgcRdoToPrepDataToolMT::decodeTracklet
StatusCode decodeTracklet(State &state, const TgcRawData &rd) const
Decode RDO's of Tracklet.
Definition: TgcRdoToPrepDataToolMT.cxx:577
SG::ReadHandleKey< TgcRdoContainer >
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_R_CH04
@ BIT_POS_A_INPUT_LARGE_R_CH04
Definition: TgcRdoToPrepDataToolMT.h:170
Muon::TgcRdoToPrepDataToolMT::getEtafromRZ
static bool getEtafromRZ(const double r, const double z, double &eta)
Get eta from r and z.
Definition: TgcRdoToPrepDataToolMT.cxx:1485
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::TgcRdoToPrepDataToolMT::getBitPosInStrip
void getBitPosInStrip(const TgcRawData &rd, const int DeltaBeforeConvert, std::array< int, 4 > &bitpos_i, std::array< int, 4 > &slbchannel_i, int &sbLoc_i, int &sswId_i, const std::array< int, 2 > &bitpos_o, std::array< int, 2 > &slbchannel_o) const
Get bitPos etc of TGC1 strip for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:1769
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH04
@ BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH04
Definition: TgcRdoToPrepDataToolMT.h:186
Muon::TgcRdoToPrepDataToolMT::m_coinContainerCacheKeys
TgcCoinUpdateHandles m_coinContainerCacheKeys
Keys for the Coin cache containers, 3 needed for different BC.
Definition: TgcRdoToPrepDataToolMT.h:423
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_LARGE_R_CH07
@ BIT_POS_B_INPUT_LARGE_R_CH07
Definition: TgcRdoToPrepDataToolMT.h:157
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_R_CH00
@ BIT_POS_A_INPUT_SMALL_R_CH00
Definition: TgcRdoToPrepDataToolMT.h:162
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_R_CH03
@ BIT_POS_A_INPUT_SMALL_R_CH03
Definition: TgcRdoToPrepDataToolMT.h:165
Muon::TgcRdoToPrepDataToolMT::~TgcRdoToPrepDataToolMT
virtual ~TgcRdoToPrepDataToolMT()=default
Destructor.
Muon::TgcRdoToPrepDataToolMT::finalize
virtual StatusCode finalize() override
Standard AthAlgTool finalize method.
Definition: TgcRdoToPrepDataToolMT.cxx:109
Muon::TgcRdoToPrepDataToolMT::m_fillCoinData
Gaudi::Property< bool > m_fillCoinData
Switch for the coincince decoding.
Definition: TgcRdoToPrepDataToolMT.h:384
Muon::TgcRdoToPrepDataToolMT::getSbLocOfEndcapStripBoundaryFromHiPt
bool getSbLocOfEndcapStripBoundaryFromHiPt(const TgcRawData &rd, int &sbLoc, const TgcRdo *rdoColl, const int index_w, const int chip_w, const int hitId_w, const int sub_w) const
Get strip sbLoc of Endcap chamber boundary from HiPt Strip.
Definition: TgcRdoToPrepDataToolMT.cxx:2623
Muon::TgcRdoToPrepDataToolMT::m_dropPrdsWithZeroWidth
Gaudi::Property< bool > m_dropPrdsWithZeroWidth
Flag for dropping PRD's with zero widths.
Definition: TgcRdoToPrepDataToolMT.h:394
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_LARGE_R_CH15
@ BIT_POS_B_INPUT_LARGE_R_CH15
Definition: TgcRdoToPrepDataToolMT.h:155
Muon::TgcRdoToPrepDataToolMT::State::TempPrepDataContainer
std::vector< std::unique_ptr< TgcPrepDataCollection > > TempPrepDataContainer
Definition: TgcRdoToPrepDataToolMT.h:87
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH07
@ BIT_POS_B_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH07
Definition: TgcRdoToPrepDataToolMT.h:178
TgcRawData::rodId
uint16_t rodId() const
Definition: TgcRawData.h:268
Muon::TgcRdoToPrepDataToolMT::m_nSLPRDs
std::atomic< long > m_nSLPRDs
Definition: TgcRdoToPrepDataToolMT.h:408
Muon::TgcRdoToPrepDataToolMT::State::muDetMgr
const MuonGM::MuonDetectorManager * muDetMgr
Definition: TgcRdoToPrepDataToolMT.h:98
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH15
@ BIT_POS_B_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH15
Definition: TgcRdoToPrepDataToolMT.h:180
Muon::TgcRdoToPrepDataToolMT::decodeInner
StatusCode decodeInner(State &state, const TgcRawData &rd) const
Decode RDO's of Inner.
Definition: TgcRdoToPrepDataToolMT.cxx:1146
Muon::TgcRdoToPrepDataToolMT::provideEmptyContainer
virtual StatusCode provideEmptyContainer(const EventContext &ctx) const override
Definition: TgcRdoToPrepDataToolMT.cxx:140
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_R_CH04
@ BIT_POS_A_INPUT_SMALL_R_CH04
Definition: TgcRdoToPrepDataToolMT.h:168
Muon::TgcRdoToPrepDataToolMT::BIT_POS_NUM_ASD
@ BIT_POS_NUM_ASD
Definition: TgcRdoToPrepDataToolMT.h:145
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
TgcRawData::isForward
bool isForward() const
Definition: TgcRawData.h:289
Muon::TgcRdoToPrepDataToolMT::getRoiRow
static int getRoiRow(const TgcRawData &rd)
Get ROI row from RDO.
Definition: TgcRdoToPrepDataToolMT.cxx:1584
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_SMALL_R_CH05
@ BIT_POS_B_INPUT_SMALL_R_CH05
Definition: TgcRdoToPrepDataToolMT.h:164
Muon::TgcRdoToPrepDataToolMT::m_outputCollectionLocation
Gaudi::Property< std::string > m_outputCollectionLocation
TgcPrepRawData container key for current BC.
Definition: TgcRdoToPrepDataToolMT.h:373
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
IMuonRdoToPrepDataTool.h
z
#define z
Muon::TgcRdoToPrepDataToolMT::getHiPtIds
bool getHiPtIds(const TgcRawData &rd, int &sswId_o, int &sbLoc_o, int &slbId_o) const
Get ReadoutID of HiPt from RDOHighPtID.
Definition: TgcRdoToPrepDataToolMT.cxx:2437
Muon::TgcRdoToPrepDataToolMT::getchannel
static int getchannel(int bitpos, TgcRawData::SlbType slbType)
Get channel from bitpos and SlbType.
Definition: TgcRdoToPrepDataToolMT.cxx:1446
Muon::TgcRdoToPrepDataToolMT::m_outputprepdataKeys
SG::WriteHandleKeyArray< Muon::TgcPrepDataContainer > m_outputprepdataKeys
Definition: TgcRdoToPrepDataToolMT.h:415
beamspotman.n
n
Definition: beamspotman.py:731
Muon::TgcRdoToPrepDataToolMT::MAP_SIZE
MAP_SIZE
Bit map sizes.
Definition: TgcRdoToPrepDataToolMT.h:192
Muon::TgcRdoToPrepDataToolMT::m_nHitPRDs
std::atomic< long > m_nHitPRDs
Definition: TgcRdoToPrepDataToolMT.h:400
TgcStripContainer.h
Muon::TgcRdoToPrepDataToolMT::getEndcapStripCandidateTrackletIds
static void getEndcapStripCandidateTrackletIds(const int roi, int &trackletIdStripFirst, int &trackletIdStripSecond, int &trackletIdStripThird)
Get trackletIds of three Tracklet Strip candidates in the Endcap boudary.
Definition: TgcRdoToPrepDataToolMT.cxx:2844
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonTrigCoinData_Cache.h
MuonR4::State
CalibratedSpacePoint::State State
Definition: SpacePointCalibrator.cxx:24
Muon::TgcRdoToPrepDataToolMT::m_prdContainerCacheKeyStr
Gaudi::Property< std::string > m_prdContainerCacheKeyStr
Definition: TgcRdoToPrepDataToolMT.h:426
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_LARGE_R_CH12
@ BIT_POS_B_INPUT_LARGE_R_CH12
Definition: TgcRdoToPrepDataToolMT.h:166
Muon::TgcRdoToPrepDataToolMT::getSLLocalPosition
static const Amg::Vector2D * getSLLocalPosition(const MuonGM::TgcReadoutElement *readout, const Identifier, const double eta, const double phi)
Get SL local position.
Definition: TgcRdoToPrepDataToolMT.cxx:2949
Muon::TgcRdoToPrepDataToolMT::State::tgcPrepDataCollections
std::array< TempPrepDataContainer, NBC_HIT+1 > tgcPrepDataCollections
Definition: TgcRdoToPrepDataToolMT.h:88
AthAlgTool.h
Muon::TgcRdoToPrepDataToolMT::State::tgcCoinDataCollections
std::array< TempCoinDataContainer, NBC_TRIG > tgcCoinDataCollections
Definition: TgcRdoToPrepDataToolMT.h:93
Muon::TgcRdoToPrepDataToolMT::CablingInfo
Definition: TgcRdoToPrepDataToolMT.h:105
Muon::TgcRdoToPrepDataToolMT::BIT_POS_D_INPUT_ORIGIN
@ BIT_POS_D_INPUT_ORIGIN
Definition: TgcRdoToPrepDataToolMT.h:152
Muon::TgcRdoToPrepDataToolMT::ST_MAP_SIZE
@ ST_MAP_SIZE
Definition: TgcRdoToPrepDataToolMT.h:194
LHEF::Reader
Pythia8::Reader Reader
Definition: Prophecy4fMerger.cxx:11
CxxUtils::CachedValue
Cached value with atomic update.
Definition: CachedValue.h:55
MuonGM::TgcReadoutElement
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h:42
Muon::TgcRdoToPrepDataToolMT::CSIDE
@ CSIDE
Definition: TgcRdoToPrepDataToolMT.h:116
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH15
@ BIT_POS_B_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH15
Definition: TgcRdoToPrepDataToolMT.h:176
Muon::TgcRdoToPrepDataToolMT::isOfflineIdOKForTgcReadoutElement
bool isOfflineIdOKForTgcReadoutElement(const MuonGM::TgcReadoutElement *descriptor, const Identifier channelId) const
Check offline ID is OK for TgcReadoutElement.
Definition: TgcRdoToPrepDataToolMT.cxx:1499
Muon::TgcRdoToPrepDataToolMT::setupState
StatusCode setupState(const EventContext &ctx, State &state) const
Definition: TgcRdoToPrepDataToolMT.cxx:150
TgcRawData::sector
uint16_t sector() const
Definition: TgcRawData.h:333
Muon::TgcRdoToPrepDataToolMT::getSbLocOfEndcapStripBoundaryFromTracklet
bool getSbLocOfEndcapStripBoundaryFromTracklet(const TgcRawData &rd, int &sbLoc, const TgcRdo *rdoColl, const int index_w, const int chip_w, const int hitId_w, const int sub_w) const
Get strip sbLoc of Endcap chamber boundary from Tracklet Strip.
Definition: TgcRdoToPrepDataToolMT.cxx:2729
Muon::TgcRdoToPrepDataToolMT::m_nHiPtPRDs
std::atomic< long > m_nHiPtPRDs
Definition: TgcRdoToPrepDataToolMT.h:406
Muon::TgcRdoToPrepDataToolMT::m_nSLRDOs
std::atomic< long > m_nSLRDOs
Definition: TgcRdoToPrepDataToolMT.h:407
Muon::TgcRdoToPrepDataToolMT::getBitPosStrip
static void getBitPosStrip(const int hitId_s, const int sub_s, int &subMatrix_s, std::array< int, 3 > &bitpos_s)
Get bitPos etc of strip for SL.
Definition: TgcRdoToPrepDataToolMT.cxx:1893
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH08
@ BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH08
Definition: TgcRdoToPrepDataToolMT.h:177
TgcRdoContainer.h
TgcRdo.h
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
Muon::TgcRdoToPrepDataToolMT::isAlreadyConverted
static bool isAlreadyConverted(const std::vector< const TgcRdo * > &decodedRdoCollVec, const std::vector< const TgcRdo * > &rdoCollVec, const TgcRdo *rdoColl)
Check the rdo is already converted or not.
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_R_CH12
@ BIT_POS_A_INPUT_LARGE_R_CH12
Definition: TgcRdoToPrepDataToolMT.h:169
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH12
@ BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH12
Definition: TgcRdoToPrepDataToolMT.h:187
Muon::TgcRdoToPrepDataToolMT::m_coinContainerCacheKeyStr
Gaudi::Property< std::string > m_coinContainerCacheKeyStr
Definition: TgcRdoToPrepDataToolMT.h:428
Muon::TgcRdoToPrepDataToolMT::getBitPosOutStrip
static void getBitPosOutStrip(const TgcRawData &rd, int &slbsubMatrix, std::array< int, 2 > &bitpos_o)
Get bitPos etc of TGC3 strip for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:1744
TgcCoinDataContainer.h
ReadCondHandleKey.h
Muon::TgcRdoToPrepDataToolMT::m_cablingInfo
CxxUtils::CachedValue< CablingInfo > m_cablingInfo
Definition: TgcRdoToPrepDataToolMT.h:111
dumpTgcDigiThreshold.isStrip
list isStrip
Definition: dumpTgcDigiThreshold.py:33
UpdateHandleKey.h
Property holding a SG store/key/clid from which an UpdateHandle is made.
Muon::TgcRdoToPrepDataToolMT::getbitpos
static int getbitpos(int channel, TgcRawData::SlbType slbType)
Get bitpos from channel and SlbType.
Definition: TgcRdoToPrepDataToolMT.cxx:1418
CachedValue.h
Cached value with atomic update.
Muon::TgcRdoToPrepDataToolMT::m_outputCoinKeys
SG::WriteHandleKeyArray< Muon::TgcCoinDataContainer > m_outputCoinKeys
Definition: TgcRdoToPrepDataToolMT.h:413
Muon::TgcRdoToPrepDataToolMT::BIT_POS_INPUT_SIZE
@ BIT_POS_INPUT_SIZE
Definition: TgcRdoToPrepDataToolMT.h:146
Muon::TgcRdoToPrepDataToolMT::convertToRun2
void convertToRun2(const TgcRawData &rd, uint16_t &newrodId, uint16_t &newsector) const
Definition: TgcRdoToPrepDataToolMT.h:446
Muon::TgcRdoToPrepDataToolMT::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: TgcRdoToPrepDataToolMT.h:368
Muon::TgcRdoToPrepDataToolMT::CablingInfo::m_tgcCabling
SmartIF< MuonTGC_CablingSvc > m_tgcCabling
Definition: TgcRdoToPrepDataToolMT.h:106
HandleKeyArray.h
Muon::TgcRdoToPrepDataToolMT::WD_MAP_SIZE
@ WD_MAP_SIZE
Definition: TgcRdoToPrepDataToolMT.h:196
Muon::TgcRdoToPrepDataToolMT::m_tgcOffset
Gaudi::Property< int > m_tgcOffset
Identifier hash offset.
Definition: TgcRdoToPrepDataToolMT.h:379
Muon::TgcRdoToPrepDataToolMT::getTrackletInfo
bool getTrackletInfo(const TgcRawData &rd, int &tmp_slbId, int &tmp_subMatrix, int &tmp_position) const
Retrieve slbId, subMatrix and position from Tracklet RDO.
Definition: TgcRdoToPrepDataToolMT.cxx:1508
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_R_CH00
@ BIT_POS_A_INPUT_LARGE_R_CH00
Definition: TgcRdoToPrepDataToolMT.h:158
Muon::TgcRdoToPrepDataToolMT::decodeSL
StatusCode decodeSL(State &state, const TgcRawData &rd, const TgcRdo *rdoColl) const
Decode RDO's of SectorLogic.
Definition: TgcRdoToPrepDataToolMT.cxx:1264
Muon::TgcRdoToPrepDataToolMT::BIT_POS_ASD_SIZE
@ BIT_POS_ASD_SIZE
Definition: TgcRdoToPrepDataToolMT.h:144
MuonDetectorManager.h
Muon::TgcRdoToPrepDataToolMT::getDeltaBeforeConvert
static int getDeltaBeforeConvert(const TgcRawData &rd)
Get delta (sagitta) before converion for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:1928
Muon::TgcRdoToPrepDataToolMT::getPosAndIdWireOut
bool getPosAndIdWireOut(const std::array< const MuonGM::TgcReadoutElement *, 2 > &descriptor_o, const std::array< Identifier, 2 > &channelIdOut, const std::array< int, 2 > &gasGap_o, const std::array< int, 2 > &channel_o, double &width_o, double &hit_position_o, Amg::Vector2D &tmp_hitPos_o, Identifier &channelIdOut_tmp) const
Get position and offline ID of TGC3 wire for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:2129
Muon::TgcRdoToPrepDataToolMT::m_nHiPtRDOs
std::atomic< long > m_nHiPtRDOs
Definition: TgcRdoToPrepDataToolMT.h:405
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH00
@ BIT_POS_A_INPUT_SMALL_PHI_FOR_A_FWD_C_BWD_CH00
Definition: TgcRdoToPrepDataToolMT.h:183
UpdateHandle.h
Handle class for modifying an existing object in StoreGate.
Muon::TgcRdoToPrepDataToolMT::m_nHitRDOs
std::atomic< long > m_nHitRDOs
long to count the numbers of RDOs and PRDs
Definition: TgcRdoToPrepDataToolMT.h:399
Muon::TgcCoinUpdateHandles
SG::HandleKeyArray< SG::UpdateHandle< TgcCoinDataCollection_Cache >, SG::UpdateHandleKey< TgcCoinDataCollection_Cache >, Gaudi::DataHandle::Reader > TgcCoinUpdateHandles
Definition: TgcRdoToPrepDataToolMT.h:42
Muon::TgcRdoToPrepDataToolMT::m_nTrackletPRDs
std::atomic< long > m_nTrackletPRDs
Definition: TgcRdoToPrepDataToolMT.h:402
Muon::TgcRdoToPrepDataToolMT::State::tgcCoinDataContainer
std::array< TgcCoinDataContainer *, NBC_TRIG > tgcCoinDataContainer
TgcCoinData (coincidence PRD) containers.
Definition: TgcRdoToPrepDataToolMT.h:90
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:50
Muon::TgcRdoToPrepDataToolMT::SD_MAP_SIZE
@ SD_MAP_SIZE
Definition: TgcRdoToPrepDataToolMT.h:195
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_R_CH08
@ BIT_POS_A_INPUT_LARGE_R_CH08
Definition: TgcRdoToPrepDataToolMT.h:156
TgcRawData
An unit object of TGC ROD output.
Definition: TgcRawData.h:23
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH12
@ BIT_POS_A_INPUT_LARGE_PHI_FOR_A_FWD_C_BWD_CH12
Definition: TgcRdoToPrepDataToolMT.h:185
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_R_CH12
@ BIT_POS_A_INPUT_SMALL_R_CH12
Definition: TgcRdoToPrepDataToolMT.h:171
Muon::TgcRdoToPrepDataToolMT::decodeHiPt
StatusCode decodeHiPt(State &state, const TgcRawData &rd) const
Decode RDO's of HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:894
Muon::TgcRdoToPrepDataToolMT::State
Definition: TgcRdoToPrepDataToolMT.h:83
TgcRdo
Definition: TgcRdo.h:22
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_SMALL_R_CH15
@ BIT_POS_B_INPUT_SMALL_R_CH15
Definition: TgcRdoToPrepDataToolMT.h:159
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_ORIGIN
@ BIT_POS_A_INPUT_ORIGIN
Definition: TgcRdoToPrepDataToolMT.h:149
Muon::TgcRdoToPrepDataToolMT::NBC_HIT
static constexpr int NBC_HIT
The number of recorded Bunch Crossings (BCs) FOR HITS is 3 (Previous, Current, and Next BCs)
Definition: TgcRdoToPrepDataToolMT.h:78
Muon::TgcRdoToPrepDataToolMT::getBitPosOutWire
static void getBitPosOutWire(const TgcRawData &rd, int &slbsubMatrix, std::array< int, 2 > &bitpos_o)
Get bitPos etc of TGC3 wire for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:1605
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
Muon::TgcRdoToPrepDataToolMT::m_show_warning_level_invalid_A09_SSW6_hit
Gaudi::Property< bool > m_show_warning_level_invalid_A09_SSW6_hit
Switch for error message disabling on one invalid channel in sector A09 seen in 2008 data,...
Definition: TgcRdoToPrepDataToolMT.h:391
Muon::TgcRdoToPrepDataToolMT::BIT_POS_A_INPUT_SMALL_R_CH08
@ BIT_POS_A_INPUT_SMALL_R_CH08
Definition: TgcRdoToPrepDataToolMT.h:160
Muon::TgcRdoToPrepDataToolMT::decodeTrackletEIFI
StatusCode decodeTrackletEIFI(State &state, const TgcRawData &rd) const
Decode RDO's of Tracklet EIFI.
Definition: TgcRdoToPrepDataToolMT.cxx:726
Muon::TgcPrdUpdateHandles
SG::HandleKeyArray< SG::UpdateHandle< TgcPrepDataCollection_Cache >, SG::UpdateHandleKey< TgcPrepDataCollection_Cache >, Gaudi::DataHandle::Reader > TgcPrdUpdateHandles
Definition: TgcRdoToPrepDataToolMT.h:41
Muon::TgcRdoToPrepDataToolMT::m_outputCoinCollectionLocation
Gaudi::Property< std::string > m_outputCoinCollectionLocation
TgcCoinData container key for current BC.
Definition: TgcRdoToPrepDataToolMT.h:376
Muon::TgcRdoToPrepDataToolMT::SUB_DETCTOR_ID
SUB_DETCTOR_ID
Sub detector IDs are 103 and 104 for TGC A side and C side, respectively.
Definition: TgcRdoToPrepDataToolMT.h:114
IMuonIdHelperSvc.h
Muon::TgcRdoToPrepDataToolMT::m_rdoContainerKey
SG::ReadHandleKey< TgcRdoContainer > m_rdoContainerKey
Definition: TgcRdoToPrepDataToolMT.h:410
Muon::TgcRdoToPrepDataToolMT::m_prdContainerCacheKeys
TgcPrdUpdateHandles m_prdContainerCacheKeys
Keys for the PRD cache containers, 4 needed for different BC.
Definition: TgcRdoToPrepDataToolMT.h:421
Muon::TgcRdoToPrepDataToolMT::BIT_POS_B_INPUT_SMALL_R_CH07
@ BIT_POS_B_INPUT_SMALL_R_CH07
Definition: TgcRdoToPrepDataToolMT.h:161
Muon::TgcRdoToPrepDataToolMT::m_nTrackletRDOs
std::atomic< long > m_nTrackletRDOs
Definition: TgcRdoToPrepDataToolMT.h:401
Muon::TgcRdoToPrepDataToolMT::m_xAODKey
SG::WriteHandleKey< xAOD::TgcStripContainer > m_xAODKey
Definition: TgcRdoToPrepDataToolMT.h:417
Muon::TgcRdoToPrepDataToolMT::CablingInfo::m_hashToOnlineId
std::vector< uint16_t > m_hashToOnlineId
Conversion from hash to onlineId.
Definition: TgcRdoToPrepDataToolMT.h:108
Muon::TgcRdoToPrepDataToolMT::getPosAndIdStripIn
bool getPosAndIdStripIn(const std::array< const MuonGM::TgcReadoutElement *, 4 > &descriptor_i, const std::array< Identifier, 4 > &channelIdIn, const std::array< int, 4 > &gasGap_i, const std::array< int, 4 > &channel_i, double &width_i, double &hit_position_i, Amg::Vector2D &tmp_hitPos_i, Identifier &channelIdIn_tmp, const bool isBackward, const bool isAside) const
Get position and offline ID of TGC1 strip for HiPt.
Definition: TgcRdoToPrepDataToolMT.cxx:2348
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::TgcRdoToPrepDataToolMT::getCabling
const CablingInfo * getCabling() const
Definition: TgcRdoToPrepDataToolMT.cxx:2909
TgcRawData::SlbType
SlbType
Definition: TgcRawData.h:31
Muon::TgcRdoToPrepDataToolMT::State::tgcPrepDataContainer
std::array< TgcPrepDataContainer *, NBC_HIT+1 > tgcPrepDataContainer
TgcPrepRawData (hit PRD) containers.
Definition: TgcRdoToPrepDataToolMT.h:85
Muon::TgcRdoToPrepDataToolMT::transferData
StatusCode transferData(ContType &container, std::vector< std::unique_ptr< CollType >> &&coll) const
Definition: TgcRdoToPrepDataToolMT.cxx:127
Identifier
Definition: IdentifierFieldParser.cxx:14