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

Hybrid zero suppression fixes #24597

Merged
merged 4 commits into from
Sep 24, 2018

Conversation

pieterdavid
Copy link
Contributor

This PR collects a few fixes related to the hybrid zero-suppression (and emulation):

  • a configuration error: the "Hybrid" inspection method of the APV restorer should be used for hybrid data (this needs to be propagated to the HLT menu for HI; there was also a check to enfoce "BaselineFollower" as inspect method when it was used as restore method, that has been relaxed accordingly).
  • hybrid emulation needs the complete pedestals, but the global tag used in the relval to test it did not include these, so changed "auto:run2_data" to "auto:run2_hlt_hi" there
  • for the hybrid emulation, the "x->(x+1024)/2" transformation is applied to the MeanCM parameter (as it is to the VR digis), to align the interpretation with its online equivalent

@icali @CesarBernardes @erikbutz @mmusich

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @pieterdavid (Pieter David) for master.

It involves the following packages:

Configuration/PyReleaseValidation
RecoLocalTracker/SiStripZeroSuppression

@perrotta, @cmsbuild, @prebello, @zhenhu, @kpedro88, @pgunnell, @slava77 can you please review it and eventually sign? Thanks.
@echabert, @makortel, @felicepantaleo, @forthommel, @yduhm, @GiacomoSguazzoni, @gbenelli, @rovere, @VinInn, @nickmccoll, @alesaggio, @Martin-Grunewald, @gpetruc, @OlivierBondu, @ebrondol, @threus, @mmusich this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Sep 19, 2018

@cmsbuild please test workflow 140.55

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 19, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/30517/console Started: 2018/09/19 20:22

@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-24597/30517/summary.html

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /build/cmsbld/jenkins/workspace/compare-root-files-short-matrix/results/JR-comparison/PR-24597/140.55_RunHI2015VR+RunHI2015VR+HYBRIDRepackHI2015VR+HYBRIDZSHI2015+RECOHID15+HARVESTDHI15

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 3146746
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3146548
  • DQMHistoTests: Total skipped: 197
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 133 log files, 14 edm output root files, 32 DQM output files

@kpedro88
Copy link
Contributor

+upgrade

@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-24597/30558/summary.html

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /build/cmsbld/jenkins/workspace/compare-root-files-short-matrix/results/JR-comparison/PR-24597/140.55_RunHI2015VR+RunHI2015VR+HYBRIDRepackHI2015VR+HYBRIDZSHI2015+RECOHID15+HARVESTDHI15

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 3146746
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3146547
  • DQMHistoTests: Total skipped: 197
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 133 log files, 14 edm output root files, 32 DQM output files

@pieterdavid
Copy link
Contributor Author

I'm adding a few more comparison plots between the hybrid scenario (in red; settings as in this PR) and the standard zero-suppression (in black; with CommonModeNoiseSubtractionMode set to "Median" to be as close as possible to the hybrid case). I produced the histograms with this config and the plugins in the same package.
Independent tests by @CesarBernardes show the same overall picture: only small changes, and a slightly modified cluster charge distribution (towards smaller average cluster charges).
plotdigistatdiff_ndigis
plotclusterstatdiff_nclus
plotclusterstatdiff_cluswidth
plotclusterstatdiff_cluscharge

@CesarBernardes
Copy link
Contributor

Hi All, I also attach some plots for tracking, doing same comparison as Pieter did, i.e., standard ZS vs Hybrid ZS with Median method. I check the tracks with no selection and with a simple selection (High-purity, as defined in 2015 PbPb data-taking and pTerror/pT<0.3). Thanks!
trackingPlots_StandardZS_vs_Hybrid_24Sept2018.pdf

@kpedro88
Copy link
Contributor

+upgrade

@slava77
Copy link
Contributor

slava77 commented Sep 24, 2018

I'm comparing 200 events using

  1. 140.55 out of the box: in the baseline IB (a), a version with baseline+GT update (b), and IB+this PR (c)
  2. "old ZS" version using step3 --step RAW2DIGI,REPACK:DigiToRawRepack --conditions auto:run2_hlt_hi --data --era Run2_HI --processName REHLT --scenario HeavyIons --datatier RAW --eventcontent RAW -n 200 --customise_command "process.load(\"RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi\")\nprocess.DigiToRawRepack.insert(0, process.siStripZeroSuppression)\n" with the same variations in the baseline IB (a), a version with baseline+GT update (b), and IB+this PR (c).
    • @pieterdavid please confirm that this is a correct way of getting the reference to match your plots
  • 2(b) is the same as 2(c): this is expected because the code changes are affecting only the hybrid mode. OK.
  • 1(c) vs 2(c) are now closer, but we still have more short clusters and ~1.4% fewer tracks
    [1(c) is in red and 2(c) is in black]
    all_sign1045vsorig-gt-hlthi-oldzs_runhi2015repackvrwf140p55c_log10max0_1 sistripclusteredmnewdetsetvector_sistripclusters__rereco_obj_m_data_amplitudes_at_size
    all_sign1045vsorig-gt-hlthi-oldzs_runhi2015repackvrwf140p55c_log10recotracks_higeneraltracks__rereco_obj_pt
    all_sign1045vsorig-gt-hlthi-oldzs_runhi2015repackvrwf140p55c_recotracks_higeneraltracks__rereco_obj_eta

IIUC, the last plot is supposed to match the upper middle plot in https://github.com/cms-sw/cmssw/files/2411158/trackingPlots_StandardZS_vs_Hybrid_24Sept2018.pdf
@CesarBernardes your plots are in log scale and it's unclear if what I see appears also in your plots.

@slava77
Copy link
Contributor

slava77 commented Sep 24, 2018

+1

for #24597 77d2eda

  • code changes are in line with the PR description; changes are expected only in workflow(s) emulating/applying hybrid ZS in siStrips (e.g. wf 140.55, not a part of jenkins tests)
  • jenkins tests pass
  • local tests show moderate changes in HI tracking in line with the slides provided with this PR (see Hybrid zero suppression fixes #24597 (comment)). This achieves a better agreement between the two zero suppression schemes.

@zhenhu
Copy link
Contributor

zhenhu commented Sep 24, 2018

+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 will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

+1

@pieterdavid
Copy link
Contributor Author

@slava77 for the reference in my plots I also set process.siStripZeroSuppression.Algorithms.CommonModeNoiseSubtractionMode = "Median" (which is the setting for the emulation because that is what the firmware does, so I took the same for the reference to isolate the difference due to the hybrid scheme).
On another point: while investigating the difference in the cluster charge distribution I found another bug. With that fixed the low-level distributions are again nearly identical, I posted the details and comparison plots in the PR with the fix, #24654 .

@slava77
Copy link
Contributor

slava77 commented Sep 25, 2018 via email

@icali
Copy link
Contributor

icali commented Sep 25, 2018

Just to clarify the workflow:

ZS from VR (old):
VR data->IteratedMedian->BaselineFollower->ZS data

ZS with hybrid:

inside the FED: good APVs: VR data ->Median ->ZS data
bad APVs: VR data are sent to output

in HLT: VR data -> IteratedMedian -> BaselineFollower -> ZS data (merged with good APVs ZS data)

While for the final zero suppression we want the IteratedMeadian, in order to compare old and new ZS we need to make a comparison with Median. The Median is indeed the less performing algorithm compared to the IteratedMedian.

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.

9 participants