Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FPGADataFormatTool Class Reference

#include <FPGADataFormatTool.h>

Inheritance diagram for FPGADataFormatTool:
Collaboration diagram for FPGADataFormatTool:

Public Member Functions

virtual StatusCode initialize () override
 
virtual StatusCode convertPixelHitsToFPGADataFormat (const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
 Covert the Pixel RDOs to the test vector format as requited by FPGA EF tracking alogrithms. More...
 
virtual StatusCode convertStripHitsToFPGADataFormat (const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
 Covert the Strip RDOs to the test vector format as requited by FPGA EF tracking alogrithms. More...
 
virtual StatusCode convertFPGATracksToFPGADataFormat (const FPGATrackSimTrackCollection *tracks, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
 

Private Member Functions

StatusCode convertPixelRDO (const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
 
StatusCode convertStripRDO (const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
 
StatusCode convertFPGATracks (const FPGATrackSimTrackCollection *tracks, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
 
StatusCode fillHeader (std::vector< uint64_t > &encodedData) const
 
StatusCode fillFooter (std::vector< uint64_t > &encodedData) const
 
StatusCode fillModuleHeader (const InDetDD::SiDetectorElement *sielement, std::vector< uint64_t > &encodedData) const
 

Private Attributes

const PixelIDm_pixelId = nullptr
 
const SCT_IDm_sctId = nullptr
 
const InDetDD::SiDetectorManagerm_PIX_mgr = nullptr
 
const InDetDD::SiDetectorManagerm_SCT_mgr = nullptr
 

Detailed Description

Definition at line 21 of file FPGADataFormatTool.h.

Member Function Documentation

◆ convertFPGATracks()

StatusCode FPGADataFormatTool::convertFPGATracks ( const FPGATrackSimTrackCollection tracks,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
private

Definition at line 75 of file FPGADataFormatTool.cxx.

79  {
80 
81  for (const FPGATrackSimTrack& track : *tracks)
82  {
83  int bitmask = 0;
84  for(const auto& hit: track.getFPGATrackSimHits())
85  {
86  bitmask |= 2 << hit.getLayer();
87  }
88 
89  ATH_MSG_DEBUG("Encoded GTrack: ");
90  ATH_MSG_DEBUG("\tetaregion: " << track.getHoughY());
91  ATH_MSG_DEBUG("\tphiregion: " << track.getHoughX());
92  ATH_MSG_DEBUG("\tlayerbitmask: " << bitmask);
93  ATH_MSG_DEBUG("\td0: " << track.getD0());
94  ATH_MSG_DEBUG("\tz0: " << track.getZ0());
95  ATH_MSG_DEBUG("\tqoverpt: " << track.getQOverPt());
96  ATH_MSG_DEBUG("\tphi: " << track.getPhi());
97  ATH_MSG_DEBUG("\teta: " << track.getEta());
98 
100  0xee,
101  0,
102  track.getHoughY(),
103  track.getHoughX(),
104  0,
105  0,
106  0,
107  bitmask);
108  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w1(gtrackWord_w1));
109 
110  auto gtrackWord_w2 = FPGADataFormatUtilities::fill_GTRACK_HDR_w2(
111  0,
112  track.getD0(),
113  track.getZ0(),
114  0);
115  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w2(gtrackWord_w2));
116 
117  auto gtrackWord_w3 = FPGADataFormatUtilities::fill_GTRACK_HDR_w3(
118  track.getQOverPt(),
119  track.getPhi(),
120  track.getEta(),
121  0);
122  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w3(gtrackWord_w3));
123 
124  auto hits = track.getFPGATrackSimHits();
125  for(unsigned int i = 0 ; i < hits.size(); i++)
126  {
127  const auto& hit = hits[i];
128  int cluster1D=0;
129  int cluster2D=0;
130  if(hit.getOriginalHit().getCluster1ID() >=0)
131  {
132  cluster1D=hit.getOriginalHit().getCluster1ID();
133  }
134 
135  if(hit.getOriginalHit().getCluster2ID() >=0)
136  {
137  cluster2D=hit.getOriginalHit().getCluster2ID();
138  }
139 
140  ATH_MSG_DEBUG("Encoded Hits: ");
141  ATH_MSG_DEBUG("\tlast: " << (i+1 == hits.size()));
142  ATH_MSG_DEBUG("\tphiregion: " << hit.getLayer());
143  ATH_MSG_DEBUG("\tlayerbitmask: " << hit.getR());
144  ATH_MSG_DEBUG("\td0: " << hit.getGPhi());
145  ATH_MSG_DEBUG("\tz0: " << hit.getZ());
146  ATH_MSG_DEBUG("\tcluster1D: " << cluster1D);
147  ATH_MSG_DEBUG("\tcluster2D: " << cluster2D);
148 
149 
150  auto ghit_w1 = FPGADataFormatUtilities::fill_GHITZ_w1 ((i+1 == hits.size()), hit.getLayer(), hit.getR(), hit.getGPhi(), hit.getZ(), 0, 0);
151  auto ghit_w2 = FPGADataFormatUtilities::fill_GHITZ_w2 (cluster1D, cluster2D, hit.getEtaModule(), 0);
152  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_GHITZ_w1(ghit_w1));
153  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_GHITZ_w2(ghit_w2));
154 
155 
156  }
157 
158 
159  }
160 
161 
162  return StatusCode::SUCCESS;
163  }

◆ convertFPGATracksToFPGADataFormat()

StatusCode FPGADataFormatTool::convertFPGATracksToFPGADataFormat ( const FPGATrackSimTrackCollection tracks,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
overridevirtual

Definition at line 57 of file FPGADataFormatTool.cxx.

60  {
61 
62 // Fill the event header
63 ATH_CHECK(fillHeader(encodedData));
64 
65 // Convert the strip RDO
66 ATH_CHECK(convertFPGATracks(tracks, encodedData, ctx));
67 
68 // Fill the event footer
69 ATH_CHECK(fillFooter(encodedData));
70 
71 
72 return StatusCode::SUCCESS;
73 }

◆ convertPixelHitsToFPGADataFormat()

StatusCode FPGADataFormatTool::convertPixelHitsToFPGADataFormat ( const PixelRDO_Container pixelRDO,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
overridevirtual

Covert the Pixel RDOs to the test vector format as requited by FPGA EF tracking alogrithms.

Definition at line 20 of file FPGADataFormatTool.cxx.

23  {
24 
25  // Fill the event header
26  ATH_CHECK(fillHeader(encodedData));
27 
28  // Convert the strip RDO
29  ATH_CHECK(convertPixelRDO(pixelRDO, encodedData, ctx));
30 
31  // Fill the event footer
32  ATH_CHECK(fillFooter(encodedData));
33 
34 
35  return StatusCode::SUCCESS;
36 }

◆ convertPixelRDO()

StatusCode FPGADataFormatTool::convertPixelRDO ( const PixelRDO_Container pixelRDO,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
private

Definition at line 167 of file FPGADataFormatTool.cxx.

171  {
172 
173  bool filledHeader = false;
174  for (const InDetRawDataCollection<PixelRDORawData>* pixel_rdoCollection : pixelRDO)
175  {
176  if (pixel_rdoCollection == nullptr) { continue; }
177 
178  // loop on all RDOs
179  for (const PixelRDORawData* pixelRawData : *pixel_rdoCollection)
180  {
181  Identifier rdoId = pixelRawData->identify();
182  // get the det element from the det element collection
183  const InDetDD::SiDetectorElement* sielement = m_PIX_mgr->getDetectorElement(rdoId);
184 
185  // Fill the module header
186  if(!filledHeader)
187  {
188  ATH_CHECK(fillModuleHeader(sielement, encodedData));
189  filledHeader = true;
190  }
191 
192  // Get the pixel word
194  (pixelRawData == pixel_rdoCollection->back()), // last
195  m_pixelId->phi_index(rdoId), // ROW
196  m_pixelId->eta_index(rdoId), // COL
197  pixelRawData->getToT(), // TOT
198  pixelRawData->getLVL1A(), // Lvl!
199  0 // Spare
200  );
201 
202  // Push the word into the vector
203  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_PIXEL_EF_RDO(pixelWord));
204  //}
205  } // end for each RDO in the collection
206 
207  // reset the header
208  filledHeader = false;
209 
210  } // for each pixel RDO collection
211 
212  return StatusCode::SUCCESS;
213 }

◆ convertStripHitsToFPGADataFormat()

StatusCode FPGADataFormatTool::convertStripHitsToFPGADataFormat ( const SCT_RDO_Container stripRDO,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
overridevirtual

Covert the Strip RDOs to the test vector format as requited by FPGA EF tracking alogrithms.

Definition at line 38 of file FPGADataFormatTool.cxx.

41  {
42 
43  // Fill the event header
44  ATH_CHECK(fillHeader(encodedData));
45 
46  // Convert the strip RDO
47  ATH_CHECK(convertStripRDO(stripRDO, encodedData, ctx));
48 
49  // Fill the event footer
50  ATH_CHECK(fillFooter(encodedData));
51 
52  return StatusCode::SUCCESS;
53 }

◆ convertStripRDO()

StatusCode FPGADataFormatTool::convertStripRDO ( const SCT_RDO_Container stripRDO,
std::vector< uint64_t > &  encodedData,
const EventContext &  ctx 
) const
private

Definition at line 215 of file FPGADataFormatTool.cxx.

219  {
220  constexpr int MaxChannelinStripRow = 128;
221  long unsigned int stripNumber = 0;
222  bool filledHeader = false;
223 
224  uint64_t packedWord = 0;
225  bool firstClusterFilled = false;
226 
227  for (const InDetRawDataCollection<SCT_RDORawData>* SCT_Collection : stripRDO) {
228  if (SCT_Collection == nullptr) { continue; }
229 
230  std::map<int, bool> firedStrips;
231  std::map<int, const SCT_RDORawData*> firedStripsToRDO;
232 
233  // Preprocess the SCT collection hits to get information for encoding strip in ITK format
234  // All fired strips are stored in a map to get an overview of the full module that should be
235  // used to encode the data into the ITk format.
236  for (const SCT_RDORawData* sctRawData : *SCT_Collection) {
237  const Identifier rdoId = sctRawData->identify();
238  const int baseLineStrip{m_sctId->strip(rdoId)};
239  for (int i = 0; i < sctRawData->getGroupSize(); i++) {
240  firedStrips[baseLineStrip + i] = true;
241  firedStripsToRDO[baseLineStrip + i] = sctRawData;
242  }
243  }
244  // Loop over the fired hits and encode them in the ITk strips hit map
245  // Finds unique hits in the list that can be encoded and don't overlap
246  std::map<int, int> stripEncodingForITK;
247  std::map<int, const SCT_RDORawData* > stripEncodingForITKToRDO;
248  for (const auto& [stripID, fired] : firedStrips) {
249  // Skip strips that have already been used in a cluster
250  if (!fired) continue;
251 
252  // Check the next 3 hits if they exist and have a hit in them
253  std::bitset<3> hitMap;
254  int currChipID = stripID / MaxChannelinStripRow;
255  int maxStripIDForCurrChip = (currChipID + 1) * MaxChannelinStripRow;
256 
257  for (int i = 0; i < 3; i++) {
258  // Do not cluster strips that are outside the range of this chip
259  if ((stripID + 1 + i) >= maxStripIDForCurrChip) continue;
260  if (firedStrips.find(stripID + 1 + i) != firedStrips.end()) {
261  if (firedStrips.at(stripID + 1 + i)) {
262  hitMap[2 - i] = 1;
263  firedStrips[stripID + 1 + i] = false;
264  } else {
265  hitMap[2 - i] = 0;
266  }
267  }
268  }
269 
270  // Encode the hit map into an integer
271  stripEncodingForITK[stripID] = static_cast<int>(hitMap.to_ulong());
272  stripEncodingForITKToRDO[stripID] = firedStripsToRDO[stripID];
273  }
274 
275  stripNumber = 0;
276  firstClusterFilled = false;
277 
278  // Process each fired strip and encode it
279  for (const auto& [stripID, encoding] : stripEncodingForITK) {
280  const SCT_RDORawData* sctRawData = stripEncodingForITKToRDO[stripID];
281  const Identifier rdoId = sctRawData->identify();
282  const InDetDD::SiDetectorElement* sielement = m_SCT_mgr->getDetectorElement(rdoId);
283 
284  // Fill the module header if not already filled
285  if (!filledHeader) {
286  if (!fillModuleHeader(sielement, encodedData)) return StatusCode::FAILURE;
287  filledHeader = true;
288  }
289 
290  // Compute chip ID and ITk strip ID
291  int chipID = stripID / MaxChannelinStripRow;
292  int ITkStripID = stripID % MaxChannelinStripRow;
293 
294  // Adjust for row offset based on the eta module index
295  int offset = m_sctId->eta_module(rdoId) % 2;
296  if (m_sctId->barrel_ec(rdoId) == 0) {
297  offset = (std::abs(m_sctId->eta_module(rdoId)) - 1) % 2;
298  }
299  ITkStripID += offset * MaxChannelinStripRow;
300  stripNumber++;
301  // Determine if this is the last cluster in the module
302  bool lastBit = (stripNumber == stripEncodingForITK.size());
303 
304  // Create the encoded strip word
306  lastBit, // last bit indicating module boundary
307  chipID, // chip ID
308  ITkStripID, // cluster number
309  stripEncodingForITK.at(stripID), // cluster map
310  0 // spare bits
311  );
312 
314 
315  // **Pack two clusters into a single 64-bit word**
316  if (!firstClusterFilled) {
317  packedWord = (static_cast<uint64_t>(encodedCluster) << 32); // Store first cluster in upper 32 bits
318  firstClusterFilled = true;
319  } else {
320  packedWord |= static_cast<uint64_t>(encodedCluster); // Store second cluster in lower 32 bits
321  encodedData.push_back(packedWord); // Push the full packed word
322  firstClusterFilled = false; // Reset flag
323  packedWord = 0; // Clear for the next pair
324  }
325 
326  // If this is the last cluster in the module and a single cluster is left, push it
327  if (lastBit && firstClusterFilled) {
328  encodedData.push_back(packedWord);
329  }
330 
331  }
332  // Reset the header flag for the next module
333  filledHeader = false;
334  } // end for each RDO in the strip collection
335 
336  return StatusCode::SUCCESS;
337 }

◆ fillFooter()

StatusCode FPGADataFormatTool::fillFooter ( std::vector< uint64_t > &  encodedData) const
private

Definition at line 357 of file FPGADataFormatTool.cxx.

358 {
359  // Fill the event header
361  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_FTR_w1(footer_w1));
362 
363  // Fill the event header
364  auto footer_w2 = FPGADataFormatUtilities::fill_EVT_FTR_w2 (0);
365  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_FTR_w2(footer_w2));
366 
367  // Fill the event header
368  auto footer_w3 = FPGADataFormatUtilities::fill_EVT_FTR_w3 (encodedData.size(), 44939973);
369  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_FTR_w3(footer_w3));
370 
371  return StatusCode::SUCCESS;
372 }

◆ fillHeader()

StatusCode FPGADataFormatTool::fillHeader ( std::vector< uint64_t > &  encodedData) const
private

Definition at line 340 of file FPGADataFormatTool.cxx.

341 {
342  // Fill the event header
344  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_HDR_w1(header_w1));
345 
346  // Fill the event header
347  auto header_w2 = FPGADataFormatUtilities::fill_EVT_HDR_w2 (242000, 0);
348  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_HDR_w2(header_w2));
349 
350  // Fill the event header
351  auto header_w3 = FPGADataFormatUtilities::fill_EVT_HDR_w3 (0, 0);
352  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_EVT_HDR_w3(header_w3));
353 
354  return StatusCode::SUCCESS;
355 }

◆ fillModuleHeader()

StatusCode FPGADataFormatTool::fillModuleHeader ( const InDetDD::SiDetectorElement sielement,
std::vector< uint64_t > &  encodedData 
) const
private

Definition at line 374 of file FPGADataFormatTool.cxx.

375 {
377  sielement->identifyHash().value(), 0);
378  encodedData.push_back(FPGADataFormatUtilities::get_dataformat_M_HDR_w1(mod_w1));
379 
380  return StatusCode::SUCCESS;
381 }

◆ initialize()

StatusCode FPGADataFormatTool::initialize ( )
overridevirtual

Definition at line 9 of file FPGADataFormatTool.cxx.

9  {
10  ATH_MSG_INFO("Initializing IEFTrackingFPGADataFormatTool tool");
11 
12  ATH_CHECK(detStore()->retrieve(m_PIX_mgr, "ITkPixel"));
13  ATH_CHECK(detStore()->retrieve(m_pixelId, "PixelID"));
14  ATH_CHECK(detStore()->retrieve(m_SCT_mgr, "ITkStrip"));
15  ATH_CHECK(detStore()->retrieve(m_sctId, "SCT_ID"));
16 
17  return StatusCode::SUCCESS;
18 }

Member Data Documentation

◆ m_PIX_mgr

const InDetDD::SiDetectorManager* FPGADataFormatTool::m_PIX_mgr = nullptr
private

Definition at line 53 of file FPGADataFormatTool.h.

◆ m_pixelId

const PixelID* FPGADataFormatTool::m_pixelId = nullptr
private

Definition at line 50 of file FPGADataFormatTool.h.

◆ m_SCT_mgr

const InDetDD::SiDetectorManager* FPGADataFormatTool::m_SCT_mgr = nullptr
private

Definition at line 54 of file FPGADataFormatTool.h.

◆ m_sctId

const SCT_ID* FPGADataFormatTool::m_sctId = nullptr
private

Definition at line 51 of file FPGADataFormatTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
FPGADataFormatUtilities::fill_GTRACK_HDR_w3
GTRACK_HDR_w3 fill_GTRACK_HDR_w3(const double &qoverpt, const double &phi, const double &eta, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:835
FPGADataFormatTool::fillFooter
StatusCode fillFooter(std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:357
InDetDD::SiDetectorManager::getDetectorElement
virtual const SiDetectorElement * getDetectorElement(const Identifier &id) const =0
access to individual elements using Identifier or IdentiferHash
PixelID::phi_index
int phi_index(const Identifier &id) const
Definition: PixelID.h:658
FPGADataFormatTool::fillHeader
StatusCode fillHeader(std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:340
FPGADataFormatTool::convertPixelRDO
StatusCode convertPixelRDO(const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:167
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGADataFormatUtilities::get_dataformat_EVT_HDR_w3
uint64_t get_dataformat_EVT_HDR_w3(const EVT_HDR_w3 &in)
Definition: FPGADataFormatUtilities.h:113
FPGADataFormatUtilities::get_dataformat_EVT_FTR_w2
uint64_t get_dataformat_EVT_FTR_w2(const EVT_FTR_w2 &in)
Definition: FPGADataFormatUtilities.h:249
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
IdentifierHash::value
unsigned int value() const
FPGATrackSimTrack
Definition: FPGATrackSimTrack.h:18
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
FPGADataFormatUtilities::EVT_HDR_FLAG
const int EVT_HDR_FLAG
Definition: FPGADataFormatUtilities.h:20
FPGADataFormatTool::convertFPGATracks
StatusCode convertFPGATracks(const FPGATrackSimTrackCollection *tracks, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:75
FPGADataFormatUtilities::fill_GTRACK_HDR_w1
GTRACK_HDR_w1 fill_GTRACK_HDR_w1(const uint64_t &flag, const uint64_t &type, const uint64_t &eta_region, const uint64_t &phi_region, const uint64_t &phi_bin, const uint64_t &z_bin, const uint64_t &second_stage, const uint64_t &layer_bitmask)
Definition: FPGADataFormatUtilities.h:813
FPGADataFormatUtilities::fill_STRIP_EF_RDO
STRIP_EF_RDO fill_STRIP_EF_RDO(const uint64_t &last, const uint64_t &chipid, const uint64_t &strip_num, const uint64_t &cluster_map, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:2309
Identifier::get_identifier32
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
FPGADataFormatUtilities::get_dataformat_M_HDR_w1
uint64_t get_dataformat_M_HDR_w1(const M_HDR_w1 &in)
Definition: FPGADataFormatUtilities.h:343
SCT_RDORawData
Definition: SCT_RDORawData.h:24
SCT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: SCT_ID.h:728
FPGADataFormatTool::m_PIX_mgr
const InDetDD::SiDetectorManager * m_PIX_mgr
Definition: FPGADataFormatTool.h:53
FPGADataFormatUtilities::fill_GTRACK_HDR_w2
GTRACK_HDR_w2 fill_GTRACK_HDR_w2(const double &score, const double &d0, const double &z0, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:826
FPGADataFormatUtilities::fill_EVT_HDR_w2
EVT_HDR_w2 fill_EVT_HDR_w2(const uint64_t &runnumber, const uint64_t &time)
Definition: FPGADataFormatUtilities.h:129
FPGADataFormatUtilities::get_dataformat_GHITZ_w2
uint64_t get_dataformat_GHITZ_w2(const GHITZ_w2 &in)
Definition: FPGADataFormatUtilities.h:1187
FPGADataFormatUtilities::fill_EVT_FTR_w3
EVT_FTR_w3 fill_EVT_FTR_w3(const uint64_t &word_count, const uint64_t &crc)
Definition: FPGADataFormatUtilities.h:276
Identifier32::get_compact
value_type get_compact() const
Get the compact id.
Definition: Identifier32.h:44
InDetDD::SolidStateDetectorElementBase::identifyHash
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
FPGADataFormatUtilities::fill_EVT_HDR_w1
EVT_HDR_w1 fill_EVT_HDR_w1(const uint64_t &flag, const uint64_t &l0id, const uint64_t &bcid, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:120
FPGADataFormatUtilities::M_HDR_FLAG
const int M_HDR_FLAG
Definition: FPGADataFormatUtilities.h:308
FPGADataFormatTool::convertStripRDO
StatusCode convertStripRDO(const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:215
FPGADataFormatUtilities::get_dataformat_PIXEL_EF_RDO
uint64_t get_dataformat_PIXEL_EF_RDO(const PIXEL_EF_RDO &in)
Definition: FPGADataFormatUtilities.h:2201
FPGADataFormatUtilities::fill_GHITZ_w1
GHITZ_w1 fill_GHITZ_w1(const uint64_t &last, const uint64_t &lyr, const double &rad, const double &phi, const double &z, const uint64_t &lastofslice, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:1196
FPGADataFormatUtilities::get_dataformat_EVT_HDR_w2
uint64_t get_dataformat_EVT_HDR_w2(const EVT_HDR_w2 &in)
Definition: FPGADataFormatUtilities.h:106
FPGADataFormatUtilities::get_dataformat_EVT_FTR_w3
uint64_t get_dataformat_EVT_FTR_w3(const EVT_FTR_w3 &in)
Definition: FPGADataFormatUtilities.h:255
FPGADataFormatUtilities::EVT_FTR_FLAG
const int EVT_FTR_FLAG
Definition: FPGADataFormatUtilities.h:176
lumiFormat.i
int i
Definition: lumiFormat.py:85
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
generateReferenceFile.encoding
encoding
Definition: generateReferenceFile.py:15
FPGADataFormatUtilities::get_dataformat_STRIP_EF_RDO
uint64_t get_dataformat_STRIP_EF_RDO(const STRIP_EF_RDO &in)
Definition: FPGADataFormatUtilities.h:2294
InDetRawDataCollection
Definition: InDetRawDataCollection.h:31
FPGADataFormatTool::fillModuleHeader
StatusCode fillModuleHeader(const InDetDD::SiDetectorElement *sielement, std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:374
PixelID::eta_index
int eta_index(const Identifier &id) const
Definition: PixelID.h:664
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGADataFormatUtilities::fill_EVT_HDR_w3
EVT_HDR_w3 fill_EVT_HDR_w3(const uint64_t &status, const uint64_t &crc)
Definition: FPGADataFormatUtilities.h:136
FPGADataFormatUtilities::get_dataformat_GHITZ_w1
uint64_t get_dataformat_GHITZ_w1(const GHITZ_w1 &in)
Definition: FPGADataFormatUtilities.h:1175
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
FPGADataFormatTool::m_pixelId
const PixelID * m_pixelId
Definition: FPGADataFormatTool.h:50
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
FPGADataFormatTool::m_sctId
const SCT_ID * m_sctId
Definition: FPGADataFormatTool.h:51
FPGADataFormatUtilities::get_dataformat_EVT_FTR_w1
uint64_t get_dataformat_EVT_FTR_w1(const EVT_FTR_w1 &in)
Definition: FPGADataFormatUtilities.h:241
FPGADataFormatUtilities::fill_PIXEL_EF_RDO
PIXEL_EF_RDO fill_PIXEL_EF_RDO(const uint64_t &last, const uint64_t &row, const uint64_t &col, const uint64_t &tot, const uint64_t &lvl1, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:2212
FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w1
uint64_t get_dataformat_GTRACK_HDR_w1(const GTRACK_HDR_w1 &in)
Definition: FPGADataFormatUtilities.h:782
SCT_ID::strip
int strip(const Identifier &id) const
Definition: SCT_ID.h:764
SCT_ID::eta_module
int eta_module(const Identifier &id) const
Definition: SCT_ID.h:746
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
PixelRDORawData
Definition: PixelRDORawData.h:23
InDetRawData::identify
virtual Identifier identify() const override final
Definition: InDetRawData.h:41
FPGADataFormatTool::m_SCT_mgr
const InDetDD::SiDetectorManager * m_SCT_mgr
Definition: FPGADataFormatTool.h:54
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
FPGADataFormatUtilities::fill_EVT_FTR_w2
EVT_FTR_w2 fill_EVT_FTR_w2(const uint64_t &error_flags)
Definition: FPGADataFormatUtilities.h:270
FPGADataFormatUtilities::fill_EVT_FTR_w1
EVT_FTR_w1 fill_EVT_FTR_w1(const uint64_t &flag, const uint64_t &spare, const uint64_t &hdr_crc)
Definition: FPGADataFormatUtilities.h:262
FPGADataFormatUtilities::get_dataformat_EVT_HDR_w1
uint64_t get_dataformat_EVT_HDR_w1(const EVT_HDR_w1 &in)
Definition: FPGADataFormatUtilities.h:97
FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w2
uint64_t get_dataformat_GTRACK_HDR_w2(const GTRACK_HDR_w2 &in)
Definition: FPGADataFormatUtilities.h:795
InDetDD::SolidStateDetectorElementBase::identify
virtual Identifier identify() const override final
identifier of this detector element (inline)
FPGADataFormatUtilities::get_dataformat_GTRACK_HDR_w3
uint64_t get_dataformat_GTRACK_HDR_w3(const GTRACK_HDR_w3 &in)
Definition: FPGADataFormatUtilities.h:804
FPGADataFormatUtilities::fill_GHITZ_w2
GHITZ_w2 fill_GHITZ_w2(const uint64_t &cluster1, const uint64_t &cluster2, const uint64_t &row, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:1208
FPGADataFormatUtilities::fill_M_HDR_w1
M_HDR_w1 fill_M_HDR_w1(const uint64_t &flag, const uint64_t &modid, const uint64_t &modhash, const uint64_t &spare)
Definition: FPGADataFormatUtilities.h:352
Identifier
Definition: IdentifierFieldParser.cxx:14