Skip to content
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

HGCAL RecHits Calibration for V16 geometry scenario #36728

Merged
merged 14 commits into from Jan 31, 2022

Conversation

apsallid
Copy link
Contributor

PR description:

The HGCAL V16 geometry is substantially different than previous versions with altered
longitudinal structure. In this PR we update the dEdx weights and regional e/m factors
so that reconstructed hits are calibrated. With respect to previous work, here we inject weights
per layer, so that they are useful also to both offline and L1T worlds.

PR validation:

In these slides we have validated that this PR works as expected.

if this PR is a backport please specify the original PR and why you need to backport that PR:

This is not a backport.

@rovere @pfs @cseez @felicepantaleo @ebrondol @lecriste

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36728/27827

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @apsallid for master.

It involves the following packages:

  • RecoLocalCalo/HGCalRecProducers (upgrade, reconstruction)

@clacaputo, @cmsbuild, @AdrianoDee, @srimanob, @slava77, @jpata can you please review it and eventually sign? Thanks.
@edjtscott, @vandreev11, @sethzenz, @felicepantaleo, @rovere, @lgray, @cseez, @bsunanda, @pfs, @lecriste, @hatakeyamak, @ebrondol this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@rovere
Copy link
Contributor

rovere commented Jan 18, 2022

@cmsbuild please test

@@ -2,6 +2,60 @@
from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import *
from RecoLocalCalo.HGCalRecProducers.HGCalUncalibRecHit_cfi import *

from Configuration.Eras.Modifier_phase2_hgcalV12_cff import phase2_hgcalV12

def calcWeights(weightsPerLayer): res = [sum(wei)/2. for wei in zip(weightsPerLayer[:], weightsPerLayer[1:] + [weightsPerLayer[0]])]; res[0] = 0.0; res[-1] = res[-2]; return res;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to call the first weight as dummy_weight, to make it clear that it is associated with a non-existing layer?
That would also make the formula a little more explicit by using that value instead of weightsPerLayer[0], to make it clear that you are also adding at the end a dummy value, not the first weight, that would make no sense.
The same would be true for res[0] = dummy_weight as well.
Actually, you could directly add [weightsPerLayer[-1]] as the last element and remove the res[-1] = res[-2], to make it explicit that the last layer has no mean.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still convinced that extending the second array with the last element, and not with the first, dummy one, would make the code easier and remove the necessity of setting res[-1] manually, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I removed it.

@@ -4,6 +4,8 @@

fCPerMIP_v10 = cms.vdouble(2.06,3.43,5.15) #120um, 200um, 300um

fCPerMIP_v16 = fCPerMIP_v10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think there's a need to version the fCPerMIP. Would it make sense to just reuse fCPerMIP_v10?
Or, even better, remove the versioning from the variable's name completely?
I believe that could also imply removing the last four lines you have added, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rovere The default values are with the MPV, while the ones with the version are with the mean. Isn't it better to remove the versioning and introduce two variables (fCPerMIP_mean, fCPerMIP_mpv) and in each modifier use the appropriate one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@apsallid absolutely yes, that would be the optimal choice indeed!

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36728/27834

  • This PR adds an extra 12KB to repository

@cmsbuild
Copy link
Contributor

Pull request #36728 was updated. @clacaputo, @cmsbuild, @AdrianoDee, @srimanob, @slava77, @jpata can you please check and sign again.

@rovere
Copy link
Contributor

rovere commented Jan 18, 2022

@cmsbuild please test

@cmsbuild
Copy link
Contributor

Pull request #36728 was updated. @clacaputo, @cmsbuild, @AdrianoDee, @srimanob, @slava77, @jpata can you please check and sign again.

@rovere
Copy link
Contributor

rovere commented Jan 29, 2022

@cmsbuild please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c35101/22069/summary.html
COMMIT: 9c8c05a
CMSSW: CMSSW_12_3_X_2022-01-28-2300/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/36728/22069/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 889 differences found in the comparisons
  • DQMHistoTests: Total files compared: 43
  • DQMHistoTests: Total histograms compared: 3449612
  • DQMHistoTests: Total failures: 6782
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3442807
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 42 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 181 log files, 42 edm output root files, 43 DQM output files
  • TriggerResults: no differences found

@clacaputo
Copy link
Contributor

@apsallid, the change that you have proposed seems to have fixed the recoCaloClusters_hgcalLayerClusters__RECO

all_OldVSNew_TTbar14TeV2026D86wf38634p0c_log10recoCaloClusters_hgcalLayerClusters__RECO_obj_energy (1)
all_OldVSNew_TTbar14TeV2026D86wf38634p0c_recoCaloClusters_hgcalLayerClusters__RECO_obj_eta
all_OldVSNew_TTbar14TeV2026D86wf38634p0c_recoCaloClusters_hgcalLayerClusters__RECO_obj_phi

@apsallid
Copy link
Contributor Author

@clacaputo You cannot imagine how glad I am!

@srimanob
Copy link
Contributor

+Upgrade

Re-Sign.

@clacaputo
Copy link
Contributor

+reconstruction

  • RECO differences are in line with what is expected from the changes proposed

@cmsbuild
Copy link
Contributor

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. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@srimanob
Copy link
Contributor

Note to @perrotta @qliphy

@perrotta
Copy link
Contributor

+1

  • Modifications in D88 Phase2 scenario

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants