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

Phase 1 Pixel Validation code for CMSSW_9_2_X to replace Phase 0 Pixel Validation code for Phase 1 Pixel era. #19403

Merged
merged 8 commits into from Jul 18, 2017

Conversation

davidcarbonis
Copy link
Contributor

Revision of closed PRs: #18435 and #19175 . Small refinements added (such as suppressing phase 0 pixel validation output in phase 1 pixel era) and the recent DQM client changes (as the code inherits from the phase 1 pixel DQM framework). Binning for the new Hits histograms has been optimised to be of the same order of magnitude as those plots it replaces.

Added validation modules for the phase 1 pixel code based off the phase 1 dqm framework. Replicates the functionality of the phase 0 code, namely:

Digis
Hits
RecHits
Track Clusters
Tracking MC Truth (referred to as TrackingParticle in the phase 1 validation directory structure)
Validation/Configuration/python/globalValidation_cff.py; Validation/Configuration/python/postValidation_cff.py;
and Validation/Configuration/python/trackerSimValid_cff.py; have been modified so that if the era is phase1Pixel, the new validation code is used.

When in the phase 1 pixel era, the phase 0 pixel validation output is disabled. The phase0 validation has been kept in for cases where it may be needed in the future (such as a new rereco).

@fioriNTU @lunik1 @ckmackay - you might be interested in this.

@davidlange6 - Number of removed histogram bins from Phase 0 Validation for Pixel Tracker:
TrackerDigis: ~19,080
TrackerHits: ~1,440,000
TrackerRecHits: ~16,170
Total removed: ~1,475,250

Number of added histogram bins for Phase 1 Validation for Pixel Tracker:
SiPixelPhase1DigisV: ~841,600
SiPixelPhase1HitsV: ~5,006,800
SiPixelPhase1RecHitsV: ~981,640
SiPixelPhase1TrackClustersV: ~273,520
SiPixelPhase1TrackingParticleV: ~5,130
Total added: ~7,108,690

Total difference: +5,633,440 added
N.B. Some plots in TrackerHits (~4,000,000 bins) and all plots in TrackingMCTruth (~1,630 bins) contain both pixel and strip information, and thus those bins are still filled (and not counted as removed above). In the case of the TrackerHits plots, only strip information is filled, but both pixel and strip information is still filled for TrackingMCTruth.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @davidcarbonis (Alexander Morton) for master.

It involves the following packages:

Validation/Configuration
Validation/SiPixelPhase1ConfigV
Validation/SiPixelPhase1DigisV
Validation/SiPixelPhase1HitsV
Validation/SiPixelPhase1RecHitsV
Validation/SiPixelPhase1TrackClustersV
Validation/SiPixelPhase1TrackingParticleV
Validation/TrackerDigis
Validation/TrackerHits
Validation/TrackerRecHits

The following packages do not have a category, yet:

Validation/SiPixelPhase1ConfigV
Validation/SiPixelPhase1DigisV
Validation/SiPixelPhase1HitsV
Validation/SiPixelPhase1RecHitsV
Validation/SiPixelPhase1TrackClustersV
Validation/SiPixelPhase1TrackingParticleV
Please create a PR for https://github.com/cms-sw/cms-bot/blob/master/categories.py to assign category

@perrotta, @civanch, @vazzolini, @kmaeshima, @mdhildreth, @dmitrijus, @cmsbuild, @slava77, @vanbesien, @davidlange6 can you please review it and eventually sign? Thanks.
@VinInn, @threus, @wmtford this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Jun 22, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 22, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20842/console Started: 2017/06/22 14:52

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19403/20842/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 22
  • DQMHistoTests: Total histograms compared: 1801254
  • DQMHistoTests: Total failures: 29469
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1771619
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 90 log files, 14 edm output root files, 22 DQM output files

@slava77
Copy link
Contributor

slava77 commented Jun 23, 2017

+1

for #19403 00a15b6

edm::Handle<edm::SimTrackContainer> simTrackCollection;
iEvent.getByToken(simTracksToken_, simTrackCollection);
if ( simTrackCollection.isValid() ) {
simTC = simTrackCollection.product();
Copy link
Contributor

Choose a reason for hiding this comment

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

This survives and leaks outside analyze(). Please remove. The variable looks to be unused.

Copy link
Contributor

Choose a reason for hiding this comment

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

Same applies to associatorByHits, it should not be a class member!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry for the delay in getting around to fixing these.

You are correct re. simTrackCollection not being used any longer. It appears I forgot to clean up unused bits of code from previous implementation attempts.

You are correct that associatorByHits is not required as a class member. It has been removed. Lines 228-232 are kept though as the variable is used for the reco to sim hit association.

These changes will be committed in the next few minutes.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19403/21487/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 2021099
  • DQMHistoTests: Total failures: 113
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2020820
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 93 log files, 14 edm output root files, 23 DQM output files

@dmitrijus
Copy link
Contributor

+1

@slava77
Copy link
Contributor

slava77 commented Jul 17, 2017

+1

for #19403 df6ecd2

  • updates since the last reco signoff were made in Validation/Configuration/python/globalValidation_cff.py and postValidation_cff.py to fix the load order of sequences modified in multiple modifiers for the same era. (relevant in run3 workflows)
  • jenkins tests pass

@civanch
Copy link
Contributor

civanch commented Jul 17, 2017

+1

@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 requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 026420d into cms-sw:master Jul 18, 2017
@davidcarbonis
Copy link
Contributor Author

@Dr15Jones: Found where things break. Looking into why - will let you know asap and will open a PR with the fix required.

@davidcarbonis
Copy link
Contributor Author

PR: #19811 solves the seg faults observed. My apologies @Dr15Jones for missing such an obvious check.

}

edmNew::DetSetVector<SiPixelCluster>::const_iterator it;
for (it = clusterColl->begin(); it != clusterColl->end(); ++it) {
Copy link
Contributor

Choose a reason for hiding this comment

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

is this loop supposed to be inside the loop over tracks?
It seems like it should be outside.
[I arrived here after noticing that this module takes twice as much as all of reco in PU35]

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi think this loop is here because originally the code was able to separate on-track and off-track clusters, however we decided to drop the off track clusters plots at a certain point and this loop should no more be useful. @davidcarbonis please check.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@fioriNTU you are correct regarding the code formerly separating on- and off-track clusters and the consequently the loop no longer being useful. I'll open a PR to resolving this later today.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@slava77 would a backport to CMSSW_9_3_X be more appropriate than a merge into the master base?

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi @davidcarbonis , a PR to master is mandatory , so please make a PR there. Then you should backport - Thanks

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cheers for clarifying @boudoul :)

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't expect a 93X backport to be really necessary at this point.
93X is used for 2017 GEN-SIM and for phase-2 endcap TDR. Neither have this module running.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi @slava77 , thnaks, I was thinking of a backport just to save some time in std workflows ran in IB tests, PR tests etc..

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @boudoul and @slava77, now that the fix has been fully approved I thought I would check to re. views on backporting. I presume the consensus is not to backport?

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