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

Fix for ECAL saturation in the tail of the pulse #20060

Merged
merged 4 commits into from
Aug 28, 2017

Conversation

emanueledimarco
Copy link
Contributor

This PR fixes the handling of cases where the saturation was happening in the tail of the pulse shape, instead of the neighbours of the max sample.
In these cases, due to a wrong behavior of EcalDataFrame.lastUnsaturatedSample(), if the saturation happened in the last samples of the tail:

  • the rechit was not flagged as "kSaturated" (so propagated to clusters)
  • the multifit reconstruction was used
  • the multifit had internally a protection against this, throwing a warning and setting the amplitude of the sample to the maximum value, but still attempting to fit.

With this PR the multifit is not called if any of the sample is saturated, and the last saturated sample is set to the one before the first happening of the saturation.

This fixes the occurrences of the warnings seen by @gennai at HLT.
In the meanwhile we investigate within ECAL about the implementation of EcalDataFrame.lastUnsaturatedSample() and eventually will fix it (or remove, since it is not used elsewhere in CMSSW).

@bendavid @amassiro @crovelli @paramatti

Same change as done for the 92X branch, in PR #20059

…ing multifit or not. This do not consider cases with saturation on the tail
@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 4, 2017

A new Pull Request was created by @emanueledimarco (Emanuele Di Marco) for master.

It involves the following packages:

RecoLocalCalo/EcalRecProducers

@perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@argiro 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 Aug 4, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 4, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/22101/console Started: 2017/08/04 19:11

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 4, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 4, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 4, 2017

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 25
  • DQMHistoTests: Total histograms compared: 2643105
  • DQMHistoTests: Total failures: 240
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2642684
  • DQMHistoTests: Total skipped: 181
  • DQMHistoTests: Total Missing objects: 0
  • Checked 102 log files, 14 edm output root files, 25 DQM output files

result.emplace_back((*itdg).id(), 4095*12, 0, 0, 0);
auto & uncalibRecHit = result.back();
uncalibRecHit.setFlagBit( EcalUncalibratedRecHit::kSaturated );
// do not propagate the default chi2 = -1 value to the calib rechit (mapped to 64), set it to 0 when saturation
uncalibRecHit.setChi2(0);
} else if ( leadingSample >= 0 ) { // saturation on other samples: cannot extrapolate from the fourth one
} else if ( lastSampleBeforeSaturation >= 0 ) { // saturation on other samples: cannot extrapolate from the fourth one
Copy link
Contributor

Choose a reason for hiding this comment

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

As such, if you have saturation on the first sample (lastSampleBeforeSaturation = -1) you don mark the uncalibRecHit as kSaturated and go multifit as well: is this the wanted behavior? (Easier to ask you instead of trying to understand the full logic behind...)

@perrotta
Copy link
Contributor

perrotta commented Aug 9, 2017

@emanueledimarco (if you are not in vacation in these days) : any news about #20060 (review) ?

@perrotta
Copy link
Contributor

@bendavid @argiro : assuming @emanueledimarco has left for vacations, let try if someone is still around these days and can answer my doubt in #20060 (comment) ...

@cmsbuild
Copy link
Contributor

Pull request #20060 was updated. @perrotta, @cmsbuild, @slava77 can you please check and sign again.

@emanueledimarco
Copy link
Contributor Author

@perrotta thanks for spotting this. It is a bug. Also if sample 0 is saturated the rechit should be flagged as saturated.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/PR-20060/214

Code check has found code style and quality issues which could be resolved by applying a patch in https://cmssdt.cern.ch/SDT/code-checks/PR-20060/214/git-diff.patch
e.g. curl https://cmssdt.cern.ch/SDT/code-checks/PR-20060/214/git-diff.patch | patch -p1

In future, you can run scram build code-checks to apply code checks

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@slava77
Copy link
Contributor

slava77 commented Aug 21, 2017 via email

@cmsbuild
Copy link
Contributor

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 26
  • DQMHistoTests: Total histograms compared: 2653934
  • DQMHistoTests: Total failures: 251
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2653494
  • DQMHistoTests: Total skipped: 189
  • DQMHistoTests: Total Missing objects: 0
  • Checked 107 log files, 14 edm output root files, 26 DQM output files

@cmsbuild
Copy link
Contributor

Pull request #20060 was updated. @perrotta, @cmsbuild, @slava77 can you please check and sign again.

@emanueledimarco
Copy link
Contributor Author

yes, it's OK. Done ( thanks @slava77 ).

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/PR-20060/229

@slava77
Copy link
Contributor

slava77 commented Aug 22, 2017

@cmsbuild please test

@emanueledimarco thank you

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 22, 2017

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

@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-20060/22410/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 26
  • DQMHistoTests: Total histograms compared: 2653934
  • DQMHistoTests: Total failures: 247
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2653498
  • DQMHistoTests: Total skipped: 189
  • DQMHistoTests: Total Missing objects: 0
  • Checked 107 log files, 14 edm output root files, 26 DQM output files

@perrotta
Copy link
Contributor

+1

  • Tested on the three problematic events mentioned in Fix for ECAL saturation in the tail of the pulse #20059 (comment) : there are no more warning messages from the multifit, as from the planned design
  • Now also considered the case where saturation appears in the first time slot
  • No other effects visible in the jenkins tests, as expected

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

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 566f40c into cms-sw:master Aug 28, 2017
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.

6 participants