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

drop type specs in RecoTracker/{MkFit,MeasurementDet,IterativeTracking} #30671

Merged
merged 2 commits into from Jul 16, 2020

Conversation

jeongeun
Copy link
Contributor

@jeongeun jeongeun commented Jul 14, 2020

PR description: Update the safer syntax for existing parameter

Instead of modifying parameters with full type specs, which can be interpreted as an insertion of a new parameter, it is a safer way to protect from parameter name mistakes and will also help in possible parameter migrations.
(The references were PR#29979, PR#30147, PR#30270 , PR#30271, PR#30353, PR#30556)

In this PR, 19 files updated.

  • RecoTracker/{MkFit} 1 file
  • RecoTracker/{MeasurementDet} 2 files
  • RecoTracker/{IterativeTracking} 16 files

PR validation:

Event Content comparison check was also done and there is no change with these updates.
Tested in CMSSW_11_2_X, the basic test all passed in the CMSSW PR instructions.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30671/16962

  • This PR adds an extra 56KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @jeongeun (JeongEun Lee) for master.

It involves the following packages:

RecoTracker/IterativeTracking
RecoTracker/MeasurementDet
RecoTracker/MkFit

@perrotta, @jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@makortel, @felicepantaleo, @GiacomoSguazzoni, @JanFSchulte, @rovere, @VinInn, @mschrode, @gpetruc, @ebrondol, @mtosi, @dgulhan this is something you requested to watch as well.
@silviodonato, @dpiparo you are the release manager for this.

cms-bot commands are listed here

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 14, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: 78b10e5
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-80982c/7925/summary.html
CMSSW: CMSSW_11_2_X_2020-07-14-1100
SCRAM_ARCH: slc7_amd64_gcc820

@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-80982c/7925/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2787429
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2787378
  • DQMHistoTests: Total skipped: 50
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 36 files compared)
  • Checked 154 log files, 17 edm output root files, 37 DQM output files

clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutLoose'),
pTChargeCutThreshold = 15.
)
trackingPhase2PU140.toModify(highPtTripletStepChi2Est,
clusterChargeCut = dict(refToPSet_ = "SiStripClusterChargeCutNone"),
clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutNone'),
MaxChi2 = cms.double(20.0)
Copy link
Contributor

Choose a reason for hiding this comment

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

This can also get dropped

ComponentName = cms.string('jetCoreRegionalStepChi2Est'),
nSigma = cms.double(3.0),
MaxChi2 = cms.double(30.0)
#ComponentName = cms.string('jetCoreRegionalStepChi2Est'),
Copy link
Contributor

Choose a reason for hiding this comment

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

Please remove commented out code

refToPSet_ = cms.string('SiStripClusterChargeCutLoose')
)
minGoodStripCharge = dict(
refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
Copy link
Contributor

Choose a reason for hiding this comment

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

this can also get dropped

Copy link
Contributor

Choose a reason for hiding this comment

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

The aim was to override the existing

mkFitInputConverter.minGoodStripCharge = cms.PSet(
    value = cms.required.double
)

with

mkFitInputConverter.minGoodStripCharge = cms.PSet(
    refToPSet_ = cms.string('SiStripClusterChargeCutLoose')
)

With @jeongeun's change the resulting PSet would be

mkFitInputConverter.minGoodStripCharge = cms.PSet(
    value = cms.required.double,
    refToPSet_ = cms.string('SiStripClusterChargeCutLoose')
)

which should still work properly because refToPSet_ overrides whatever else exists in the PSet. But I would find it clearer if refToPSet_ would be the only member of the PSet. Therefore I'd suggest to use cms.PSet(refToPSet_ = cms.string('...')) instead of dict(...) everywhere a refToPSet_ is inserted, because the aim is to override the existing PSet instead of overriding a single PSet member.

Dropping cms.string() should not work because the original PSet does not have refToPSet_ member.

Chi2ChargeMeasurementEstimator = Chi2ChargeMeasurementEstimatorDefault.clone()
Chi2ChargeMeasurementEstimator.clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
Chi2ChargeMeasurementEstimator = Chi2ChargeMeasurementEstimatorDefault.clone(
clusterChargeCut = dict(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
Copy link
Contributor

Choose a reason for hiding this comment

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

this can also get dropped ("string")

Copy link
Contributor

Choose a reason for hiding this comment

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

The string needs to stay (no refToPSet_ member in the original PSet), and I'd suggest to keep the explicit PSet there as well.

@cmsbuild
Copy link
Contributor

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

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 15, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: 14c7ef7
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-80982c/7974/summary.html
CMSSW: CMSSW_11_2_X_2020-07-14-2300
SCRAM_ARCH: slc7_amd64_gcc820

@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-80982c/7974/summary.html

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

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-80982c/28234.0_TTbar_14TeV+TTbar_14TeV_TuneCP5_2026D60_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D60+RecoFullGlobal_2026D60+HARVESTFullGlobal_2026D60

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2612943
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2612894
  • DQMHistoTests: Total skipped: 48
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 34 files compared)
  • Checked 146 log files, 17 edm output root files, 35 DQM output files

@perrotta
Copy link
Contributor

+1

  • Type specification in cloned /modified python configs dropped as planned
  • Jenkins tests pass

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

@silviodonato
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 6edba65 into cms-sw:master Jul 16, 2020
@silviodonato
Copy link
Contributor

silviodonato commented Jul 16, 2020

@jeongeun in the last IB we have three failing workflows (see https://cmssdt.cern.ch/SDT/html/cmssdt-ib/#/relVal/CMSSW_11_2/2020-07-16-1100?selectedArchs=slc7_amd64_gcc820&selectedFlavors=X&selectedStatus=failed). The message is

RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM
We have determined that this is simulation (if not, rerun cmsDriver.py with --data)
entry file:step2.root
Step: RAW2DIGI Spec: 
Step: RECO Spec: ['reconstruction_trackingOnly']
Traceback (most recent call last):
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/bin/slc7_amd64_gcc820/cmsDriver.py", line 56, in <module>
    run()
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/bin/slc7_amd64_gcc820/cmsDriver.py", line 28, in run
    configBuilder.prepare()
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/Applications/ConfigBuilder.py", line 2119, in prepare
    self.addStandardSequences()
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/Applications/ConfigBuilder.py", line 759, in addStandardSequences
    getattr(self,"prepare_"+stepName)(sequence = '+'.join(stepSpec))
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/Applications/ConfigBuilder.py", line 1623, in prepare_RECO
    self.loadDefaultOrSpecifiedCFF(sequence,self.RECODefaultCFF)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/Applications/ConfigBuilder.py", line 1195, in loadDefaultOrSpecifiedCFF
    l=self.loadAndRemember(defaultCFF)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/Applications/ConfigBuilder.py", line 325, in loadAndRemember
    self.process.load(includeFile)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Config.py", line 683, in load
    module = __import__(moduleName)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/Configuration/StandardSequences/Reconstruction_cff.py", line 9, in <module>
    from RecoTracker.Configuration.RecoTracker_cff import *
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/RecoTracker/Configuration/RecoTracker_cff.py", line 5, in <module>
    from RecoTracker.IterativeTracking.iterativeTk_cff import *
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/RecoTracker/IterativeTracking/iterativeTk_cff.py", line 10, in <module>
    from RecoTracker.IterativeTracking.PixelLessStep_cff import *
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/RecoTracker/IterativeTracking/PixelLessStep_cff.py", line 182, in <module>
    ClusterShapeCacheSrc      = 'siPixelClusterShapeCache' # not really needed here since FilterPixelHits=False
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Config.py", line 1616, in toModify
    Modifier._toModify(obj,func,**kw)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Config.py", line 1623, in _toModify
    temp(obj)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Config.py", line 1517, in __call__
    _modifyParametersFromDict(params, self.__args, self._raiseUnknownKey)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Mixins.py", line 711, in _modifyParametersFromDict
    ("%s.%s" if isinstance(key, str) else "%s[%s]")%(keyDepth,key))
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Mixins.py", line 739, in _modifyParametersFromDict
    errorRaiser(key)
  File "/cvmfs/cms-ib.cern.ch/nweek-02637/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_2_X_2020-07-16-1100/python/FWCore/ParameterSet/Config.py", line 1526, in _raiseUnknownKey
    raise KeyError("Unknown parameter name "+key+" specified while calling Modifier")
KeyError: 'Unknown parameter name ClusterShapeCacheSrc specified while calling Modifier'

I suspect it is related to this PR which applies changes to RecoTracker/IterativeTracking/python/PixelLessStep_cff.py.
Could you check and eventually provide a fix? Thanks.

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

5 participants