-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Fix missing CaloParticle
s from pileup
#47682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-47682/44227
|
A new Pull Request was created by @AuroraPerego for master. It involves the following packages:
@AdrianoDee, @Moanwar, @antoniovilela, @civanch, @cmsbuild, @davidlange6, @DickyChant, @fabiocos, @kpedro88, @mandrenguyen, @mdhildreth, @miquork, @rappoccio, @srimanob, @subirsarkar can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
test parameters: |
type bug-fix |
@cmsbuild, please test |
if (newObj->crossedBoundaryOld()) | ||
tmp.setCrossedBoundaryVars( | ||
true, newObj->getIDAtBoundary(), newObj->getPositionAtBoundary(), newObj->getMomentumAtBoundary()); | ||
else | ||
tmp.setCrossedBoundaryVars( | ||
false, newObj->getIDAtBoundary(), newObj->getPositionAtBoundary(), newObj->getMomentumAtBoundary()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is possible to access the member variables from the old version of the object. in this case, you should be able to do this:
tmp.setCrossedBoundaryVars(
onfile.crossedBoundary_, newObj->getIDAtBoundary(), newObj->getPositionAtBoundary(), newObj->getMomentumAtBoundary());
then you can avoid restoring the old member variable in the current object definition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks a lot! I'll implement this
@@ -4,22 +4,24 @@ | |||
<class name="CoreSimTrack" ClassVersion="10"> | |||
<version ClassVersion="10" checksum="3936841839"/> | |||
</class> | |||
<class name="SimTrack" ClassVersion="13"> | |||
<class name="SimTrack" ClassVersion="14"> | |||
<version ClassVersion="14" checksum="2517401874"/> | |||
<version ClassVersion="13" checksum="1912247222"/> | |||
<version ClassVersion="12" checksum="3470347245"/> | |||
<version ClassVersion="11" checksum="1785575744"/> | |||
<version ClassVersion="10" checksum="1430205451"/> | |||
<ioread sourceClass = "SimTrack" version="[-12]" targetClass="SimTrack" source="" target=""> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition to what Kevin wrote, the source
and target
attributes should list all the SimTrack
member variables that are read from the up-to-12 objects, and written to for 13-onwards objects, respectively. (listing in source
may be required to access onfile.crossedBoundary_
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed, I needed also a source="bool crossedBoundary_"
, thanks!
e84bd22
to
19ec6d9
Compare
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-47682/44234
|
@AuroraPerego , @kpedro88 , let us rediscuss how this extra flag is used and how used other parameters. To me it is look like a temporary solution, if we have troubles with one flag now, then very soon we will need other modifications and new problems. We may merge this PR first, make an issue in github, and continue discussion. |
@civanch I'm not sure what you mean. This PR just fixes a bug from a previous PR and makes it easier to run test workflows in the future. |
+1 |
+pdmv |
+Upgrade |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @antoniovilela, @rappoccio, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
There appears to be some problem with this in the ROOT6 builds--the IBs tracking the ROOT6 master have many failures:
|
Apparently the |
@dan131riley thanks for reporting this. It looks like that workflow is opening a very old file:
The field @AuroraPerego can you prepare a bug fix PR and test this old workflow explicitly? |
sure |
If the default construction of the |
The only information that can be set is the primary / not primary bit, since the crossed boundary and back scattering information were not there at the time. I think it should be set because it's used in other places in the |
PR description:
Since CMSSW_15_0_0_pre2, there are no
CaloParticle
s from pileup due to a wrongioread
rule that led to misreading the pileup files.This PR fixes the
ioread
rule, which required temporarily adding back a data member to thesimTrack
s collection (I haven't found a better solution).In addition, a
processModifier
to consider alsoCaloParticle
s from pileup in the associators (leading to the creation of tracksters from pileup) has been added.PR validation:
Tested on 29888.208 and printing the number of caloparticles and simclusters.
@waredjeb @felicepantaleo @rovere