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

add onlineBeamSpotESProducer to BeamSpot_cfi: fix general Online BS swap case #35639

Merged
merged 2 commits into from
Oct 15, 2021

Conversation

mmusich
Copy link
Contributor

@mmusich mmusich commented Oct 13, 2021

resolves #35634

PR description:

In PR #35373 the general case for the online <-> offline BS swap done via modifiers was missed, leading to issues in the visualization DQM clients.
This PR supplies the onlineBeamSpotESProducer to BeamSpot_cfi as a general case fix-up.

PR validation:

Run cmsRun DQM/Integration/python/clients/visualization-live_cfg.py unitTest=True
that before was crashing with:

...
Exception Message:
No "BeamSpotTransientObjectsRcd" record found in the EventSetup.n
 Please add an ESSource or ESProducer that delivers such a record.
----- End Fatal Exception -------------------------------------------------

while now crashes differently with:

----- Begin Fatal Exception 13-Oct-2021 10:41:57 CEST-----------------------
An exception of category 'NoProxyException' occurred while
   [0] Processing  Event run: 334393 lumi: 1 event: 16132 stream: 1
   [1] Running path 'FEVToutput_step'
   [2] Prefetching for module JsonWritingTimeoutPoolOutputModule/'FEVToutput'
   [3] Prefetching for module ReducedRecHitCollectionProducer/'reducedEcalRecHitsEB'
   [4] Prefetching for module EleIsoDetIdCollectionProducer/'interestingGedEleIsoDetIdEB'
   [5] Calling method for module GEDGsfElectronFinalizer/'gedGsfElectrons'
Exception Message:
No data of type "GBRForestD" with label "electron_eb_ecalOnly_1To300_0p2To2_mean" in record "GBRDWrapperRcd"
 Please add an ESSource or ESProducer to your job which can deliver this data.
----- End Fatal Exception -------------------------------------------------

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

Not a backport, but should be backported.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35639/25912

  • This PR adds an extra 12KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @mmusich (Marco Musich) for master.

It involves the following packages:

  • RecoVertex/BeamSpotProducer (reconstruction, alca)

@malbouis, @yuanchao, @cmsbuild, @slava77, @jpata, @tvami, @francescobrivio can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @JanFSchulte, @rovere, @VinInn, @tocheng, @mmusich, @mtosi, @dgulhan, @francescobrivio 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

@@ -4,6 +4,11 @@

offlineBeamSpot = cms.EDProducer("BeamSpotProducer")

import RecoVertex.BeamSpotProducer.onlineBeamSpotESProducer_cfi as _mod
BeamSpotESProducer = _mod.onlineBeamSpotESProducer.clone(
timeThreshold = 999999 # for express allow >48h old payloads for replays. DO NOT CHANGE
Copy link
Contributor

@francescobrivio francescobrivio Oct 13, 2021

Choose a reason for hiding this comment

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

Does this mean that wherever this module is imported it gets this timeThreshold? I don't think this is the intended use for the HLT case, right @gennai ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Isn't HLT fully dumped anyway?

@mmusich
Copy link
Contributor Author

mmusich commented Oct 13, 2021

please test

@gennai
Copy link
Contributor

gennai commented Oct 13, 2021

I am not even sure it would work for importing the beamspotProducer in the menu. I do not know if confDB can ignore the part not related to the module description, @Sam-Harper may know better than I do.

@gennai
Copy link
Contributor

gennai commented Oct 13, 2021

or even @Martin-Grunewald may know the answer

@Martin-Grunewald
Copy link
Contributor

Martin-Grunewald commented Oct 13, 2021

What is the actual question?

The beam spot producer currently in 12_1 HLT offline/development menus is the BeamSpotOnlineProducer configured like this

hltOnlineBeamSpot = cms.EDProducer( "BeamSpotOnlineProducer",
    changeToCMSCoordinates = cms.bool( False ),
    maxZ = cms.double( 40.0 ),
    setSigmaZ = cms.double( 0.0 ),
    beamMode = cms.untracked.uint32( 11 ),
    src = cms.InputTag( "hltScalersRawToDigi" ),
    gtEvmLabel = cms.InputTag( "" ),
    maxRadius = cms.double( 2.0 ),
    useTransientRecord = cms.bool( False )
)

There is no parameter called timeThreshold so this would be set via fillDescriptions, or lead to a crash if not.

@mmusich
Copy link
Contributor Author

mmusich commented Oct 13, 2021

There is no parameter called timeThreshold so this would be set via fillDescriptions, or lead to a crash if not.

Indeed it is:

dsc.add<int>("timeThreshold", 48)->setComment("hours");

and that's what we want for HLT, no? @gennai @francescobrivio

@Martin-Grunewald
Copy link
Contributor

Perhaps you talk about CRUZET/CRAFT menus by FOG?

@Martin-Grunewald
Copy link
Contributor

Martin-Grunewald commented Oct 13, 2021

If you want to replace the BeamSpotOnlineProducer by an OnlineBeamSpotESProducer, in the offline/development menus then we need to know (JIRA ticket or similar). It may have already happened in the menus currently online... but there is no feedback to the development menus offline so far @gennai

In ConfDB the following is available for use:

OnlineBeamSpotESProducer = cms.ESProducer( "OnlineBeamSpotESProducer",
    timeThreshold = cms.int32( 48 ),
    sigmaZThreshold = cms.double( 2.0 ),
    appendToDataLabel = cms.string( "" )
)

Changing the timeThreshold parameter in the cfi would not affect HLT...

@francescobrivio
Copy link
Contributor

There is no parameter called timeThreshold so this would be set via fillDescriptions, or lead to a crash if not.

Indeed it is:

dsc.add<int>("timeThreshold", 48)->setComment("hours");

and that's what we want for HLT, no? @gennai @francescobrivio

Correct, 48h is what we want!

@francescobrivio
Copy link
Contributor

In ConfDB the following is available for use:

OnlineBeamSpotESProducer = cms.ESProducer( "OnlineBeamSpotESProducer",
    timeThreshold = cms.int32( 48 ),
    sigmaZThreshold = cms.double( 2.0 ),
    appendToDataLabel = cms.string( "" )
)

Changing the timeThreshold parameter in the cfi would not affect HLT...

Thanks @Martin-Grunewald that's perfect! We do not want to change any of those parameters in the HLT, so the configuration from ConfDB that you reported is the correct one to be used.

@gennai
Copy link
Contributor

gennai commented Oct 13, 2021

Sorry everybody I was unclear. The ESProducer is already in the menu as well as the OnlineBeamSpotProducer with the proper configuration and we do not want to change it.

I was referring to the fact that the proposal fix is adding few lines to a cfi file adding on top of the OnlineBeamSpotProducer configuration also an import of the ESProducer module with a change in one parameter.

I was questioning (mostly @Martin-Grunewald) if the practice of adding other modules in a cfi file could have given issues in future migration of the DB templates to later releases. IF it is not the case I am fine with the fix.

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30d3c1/19583/summary.html
COMMIT: 9870cee
CMSSW: CMSSW_12_1_X_2021-10-12-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/35639/19583/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: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 2798082
  • DQMHistoTests: Total failures: 10
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2798049
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 39 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 169 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

@slava77
Copy link
Contributor

slava77 commented Oct 15, 2021

test parameters:

@slava77
Copy link
Contributor

slava77 commented Oct 15, 2021

@cmsbuild please test

@tvami
Copy link
Contributor

tvami commented Oct 15, 2021

urgent

@slava77
Copy link
Contributor

slava77 commented Oct 15, 2021

+reconstruction

for #35639 d6091aa

  • code changes are in line with the PR description and the follow up review
    • we should revisit in a follow up how to make the express settings more uniform between the data processing scenarios and the cmsDriver
  • jenkins tests pass and comparisons with the baseline show no (relevant) differences

@tvami
Copy link
Contributor

tvami commented Oct 15, 2021

+alca

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. 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)

@perrotta
Copy link
Contributor

+1

@perrotta
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit 5b230af into cms-sw:master Oct 15, 2021
@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30d3c1/19656/summary.html
COMMIT: d6091aa
CMSSW: CMSSW_12_1_X_2021-10-14-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/35639/19656/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: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 2769241
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2769219
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 39 files compared)
  • Checked 170 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

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.

Crash in visualization DQM clients during SPLASH test
8 participants