[MTD]: BTL readout mapping - first implementation in CondFormats#51279
[MTD]: BTL readout mapping - first implementation in CondFormats#51279martinamalberti wants to merge 3 commits into
Conversation
|
cms-bot internal usage |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51279/49887
|
|
A new Pull Request was created by @martinamalberti for master. It involves the following packages:
The following packages do not have a category, yet: CondCore/MTDPlugins @Alejandro1400, @Dr15Jones, @EltonSh, @JanChyczynski, @arunhep, @bsunanda, @civanch, @cmsbuild, @francescobrivio, @kpedro88, @makortel, @mdhildreth, @perrotta can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
please test |
|
+1 Size: This PR adds an extra 64KB to repository Comparison SummarySummary:
|
|
Pull request #51279 was updated. @Alejandro1400, @Dr15Jones, @EltonSh, @JanChyczynski, @Moanwar, @arunhep, @bsunanda, @civanch, @francescobrivio, @jfernan2, @kpedro88, @makortel, @mandrenguyen, @mdhildreth, @perrotta, @srimanob can you please check and sign again. |
|
please test |
perrotta
left a comment
There was a problem hiding this comment.
Hi Martina: since you are updating anyhow, you can also take this trivia into account
| << "BTL electronics mapping not available for BTL crystal layout " << static_cast<int>(btlCrysLayout) | ||
| << ", use layout 7 (v4) or later!" << std::endl; | ||
| return std::make_unique<BTLReadoutMap>(); | ||
| ; |
|
+1 Size: This PR adds an extra 24KB to repository Comparison SummarySummary:
|
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51279/49953 |
|
Pull request #51279 was updated. @Alejandro1400, @Dr15Jones, @EltonSh, @JanChyczynski, @Moanwar, @arunhep, @bsunanda, @civanch, @cmsbuild, @francescobrivio, @jfernan2, @kpedro88, @makortel, @mandrenguyen, @mdhildreth, @perrotta, @srimanob can you please check and sign again. |
|
please test |
|
+1 Size: This PR adds an extra 24KB to repository Comparison SummarySummary:
|
There was a problem hiding this comment.
Just for my understanding what is purpose of this file ?
There was a problem hiding this comment.
According to this tutorial: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCondObjectsTutorial the src/headers.h file is read by the serialization system to find the serializable classes and generate serialization code for them.
|
+1 |
There was a problem hiding this comment.
Also, just for my own understanding, shouldn't the file be named BTLReadoutMap.cc instead of BTLReadouMap.cc?
There was a problem hiding this comment.
@Moanwar Yes, indeed. Thanks for spotting it.
| static constexpr std::array<std::pair<int, int>, BTLDetId::kDModulesPerRU * 2> ELINK_to_FE_mapping_L1{{ | ||
| {6, 1}, // e-link 0: {DM 6, chipId 1} | ||
| {3, 1}, // e-link 1: {DM 3, chipId 1} | ||
| {11, 0}, {11, 1}, {3, 0}, {6, 0}, {2, 1}, {2, 0}, {1, 0}, {1, 1}, {0, 0}, {0, 1}, {5, 1}, {5, 0}, |
There was a problem hiding this comment.
I'm not an expert on this mapping, but it might be worth checking: I don't see module 7 in the table, while module 11 appears twice. Is that intentional?
PR description:
This PR introduces a first implementation of the BTL electronics readout mapping infrastructure for the BTL detector. It supersedes #50918.
Two new objects are added in
CondFormats/MTDObjectsBTLElectronicsId: encodes the full electronics address of a BTL readout channel (FED/Slink, HS-link, e-link, TOFHIR channel, see [1]) packed into a single
uint32_tBTLReadoutMap : the conditions payload providing a bidirectional mapping between
BTLDetId(detector geometry) andBTLElectronicsId(readout electronics). The forward map (BTLDetId→BTLElectronicsIdPair) is serialized; the reverse map (BTLElectronicsId→BTLDetId) is transient and rebuilt at initialization. Each crystal has two readout channels, represented by BTLElectronicsIdPair.The map is currently populated by BTLReadoutMapESProducer, which makes the map available via the EventSetup.
The S-link identifiers (which will eventually correspond to FED IDs) are currently assigned temporarily in the [0–11] range as placeholders and will be updated once the official FED IDs are defined.
This work is a prerequisite to start the development of the BTL packer/unpacker.
A testing script has also been added in CondFormats/MTDObjects/test to verify the mapping and validate the behaviour of all implemented functions.
[1] slide 5 of https://indico.cern.ch/event/1484764/contributions/6257318/attachments/2983853/5254667/MTD_DAQ_PCD_CMS_WEEK.pdf
PR validation:
The code compiles successfully and was tested with CondFormats/MTDObjects/test/testBTLReadoutMap.py, to validate the mapping and verify that the implemented functions work as expected.