Revision of the PSimHit type storage, revert trackId to its basic meaning#49969
Revision of the PSimHit type storage, revert trackId to its basic meaning#49969fabiocos wants to merge 9 commits intocms-sw:masterfrom
Conversation
|
cms-bot internal usage |
|
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49969/47752 Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49969/47755 |
|
A new Pull Request was created by @fabiocos for master. It involves the following packages:
@Moanwar, @civanch, @cmsbuild, @ctarricone, @gabrielmscampos, @jfernan2, @kpedro88, @mandrenguyen, @mdhildreth, @nothingface0, @rseidita, @srimanob can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
please test |
|
-1 Failed Tests: UnitTests RelVals RelVals-INPUT Failed Unit TestsI found 1 errors in the following unit tests: ---> test testPhase2PixelNtuple had ERRORS Failed RelVals
Expand to see more relval errors ...Failed RelVals-INPUT
|
|
There si apparently a problem in MixingModule, likely reading old PSimHit. The backward compatibility mechanism needs to be verified. |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49969/48095 |
|
Pull request #49969 was updated. @Moanwar, @civanch, @cmsbuild, @ctarricone, @gabrielmscampos, @jfernan2, @kpedro88, @mandrenguyen, @mdhildreth, @nothingface0, @rseidita, @srimanob can you please check and sign again. |
|
please test with cms-sw/cmsdist#10212 |
|
-1 Failed Tests: UnitTests Failed Unit TestsI found 1 errors in the following unit tests: ---> test testDiMuonBiasesPlotting had ERRORS Comparison SummarySummary:
Max Memory Comparisons exceeding threshold@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold: Expand to see workflows ...
|
|
I did some tests and investigation of the crash observed in reading back old let the code end, and produces a final crash. On the contrary using the old object content directly: produces an immediate failure. I tried to use The failure happens always in the at the line 5233 in method My guess is that the reading fails when accessing the initial members of I am afraid that progressing further is beyond my current limited knowledge of the object storage in ROOT. As @makortel @pcanal any idea/suggestion? Do you see anything odd in the current structure of In principle giving up on backward compatibility would affect only MTD at present, and in the performance validation sector using MC truth, important but not a showstopper to continue development in newer releases. Of course it looks unpleasant to be unable to use the standard schema evolution, on the other hand I need to progress on this in one way or another. This PR is not introducing really new functionalities, just reimplementing old ones in a preferable way in view of the future. |
|
BTW, the above examples is based on the definition of a new |
|
There is one thing that sounds odd to me: why a the crash happens exactly here... |
|
In practice this constructor https://github.com/cms-sw/cmssw/blob/master/DataFormats/GeometryVector/interface/private/extBasic3DVector.h#L78 should be called when the |
|
cms-sw/cmsdist#10212 (comment) (i.e. |
|
please test with cms-sw/cmsdist#10212 |
|
-1 Failed Tests: UnitTests The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Failed Unit TestsI found 1 errors in the following unit tests: ---> test testDiMuonBiasesPlotting had ERRORS Comparison SummarySummary:
Max Memory Comparisons exceeding threshold@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold: Expand to see workflows ...
|
|
I am able to reproduce the problem and I am investigating. |
|
The problem is strictly linked to the fact that |
|
@pcanal thank you for the investigation. I keep for the time being this PR on hold, pending a possible solution on the ROOT side. |


PR description:
Following #49732 and the discussion in the Simulation meeting https://indico.cern.ch/event/1634520/contributions/6878108/attachments/3199713/5699141/SIM_20260116.pdf , this PR proposes a revision of the mechanism used to store and propagate the hit type classification, so far used only by MTD for Phase2, but in principle applicable to any interested sub-detector.
trackIdis reverted to the pure Geant4 id, without any offset and limitation on the maximum available (beyond the uint32_t capability), so as not to interfere with exceptionally populated events, and software developments for GPU.The hit type is moved as a 7-bits subfield in the
processTypemember ofPSimHit, where the maximum code is at present 403, and this is a used-defined integer, not a pseudo-random variable. The interface is adapted, the assignment of hit type in MTD is adjusted accordingly, and all the dependencies in the code (truth accumulator, validation) are adapted.PR validation:
Tests on 100 single pions (wf 34506.0) are successful, the detailed Geant4 debug printout shows the desired behaviour, when activated, and the usual DQM histogram test shows perfect comparison between histograms.