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

Make Hip mitigation configurable #15194

Merged
merged 10 commits into from Jul 18, 2016
Merged

Conversation

VinInn
Copy link
Contributor

@VinInn VinInn commented Jul 13, 2016

The title say all.
in principle bitwise compatible with previous version...
but for cosmics

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @VinInn (Vincenzo Innocente) for CMSSW_8_1_X.

It involves the following packages:

RecoTracker/CkfPattern
RecoTracker/MeasurementDet
RecoTracker/TrackProducer
TrackingTools/DetLayers
TrackingTools/KalmanUpdators
Validation/RecoTrack

@cvuosalo, @dmitrijus, @cmsbuild, @slava77, @vanbesien, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @battibass, @makortel, @abbiendi, @GiacomoSguazzoni, @jhgoh, @VinInn, @bellan, @HuguesBrun, @mschrode, @rovere, @wmtford, @gpetruc, @trocino, @dgulhan this is something you requested to watch as well.
@slava77, @Degano, @smuzaffar you are the release manager for this.

cms-bot commands are list here #13028

@VinInn
Copy link
Contributor Author

VinInn commented Jul 13, 2016

@cmsbuild , please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 13, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/14038/console

@slava77
Copy link
Contributor

slava77 commented Jul 13, 2016

jenkins tests are being done in IB after #15114 is merged. So, the expectation is to have no changes.

@slava77
Copy link
Contributor

slava77 commented Jul 13, 2016

speaking of configurability: what is the python level spell to make MinPtForHitRecoveryInGluedDet become a very large number to disable the mitigation?

@cmsbuild
Copy link
Contributor

-1

Tested at: b23eb58

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
c06ea3f
You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14038/git-log-recent-commits
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14038/git-merge-result

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14038/summary.html

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test testRecoMETMETProducers had ERRORS

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
c06ea3f
You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14038/git-log-recent-commits
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14038/git-merge-result

@cmsbuild
Copy link
Contributor

@@ -14,7 +14,7 @@
Chi2MeasurementEstimatorForP5.nSigma = 4.
Chi2MeasurementEstimatorForP5.MaxDisplacement = 100
Chi2MeasurementEstimatorForP5.MaxSagitta=-1

Chi2MeasurementEstimatorForP5.MinPtForHitRecoveryInGluedDet=100000
Copy link
Contributor Author

Choose a reason for hiding this comment

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

an example of python spell
http://cmslxr.fnal.gov/dxr/CMSSW_8_0_5/search?q=MaxSagitta&case=true
gives you an idea of all the places where such an explicit spell can be cast

@VinInn
Copy link
Contributor Author

VinInn commented Jul 14, 2016

test failed due to

Failed to open the file 'root://xrootd-cms.infn.it//store/relval/CMSSW_7_3_0_pre1/RelValZEE_13/GEN-SIM-RECO/PRE_LS172_V15-v1/00000/C2212C6F-EB59-E411-AB78-0025905B85EE.root'

@slava77
Copy link
Contributor

slava77 commented Jul 14, 2016

@VinInn
For this PR to be useful for RelVal, we need a single python customise function that would flip MinPtForHitRecoveryInGluedDet to a large number.
Could you please add it.
Thanks.

@VinInn
Copy link
Contributor Author

VinInn commented Jul 14, 2016

@slava77 , sorry I do not know how to make such a thing...
@makortel , can you help?

@slava77
Copy link
Contributor

slava77 commented Jul 14, 2016

On 7/14/16 5:32 AM, Vincenzo Innocente wrote:

@slava77 https://github.com/slava77 , sorry I do not know how to make
such a thing...

Maybe this can inspire
https://github.com/cms-sw/cmssw/blob/CMSSW_8_1_X/HLTrigger/Configuration/python/customizeHLTforCMSSW.py

the method would pick all chi2Estimators of a process and change their
pset values.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#15194 (comment), or
mute the thread
https://github.com/notifications/unsubscribe/AEdcbl0lolAWcg9G4I4aS700qsT2L_gDks5qVixOgaJpZM4JLrd6.

@VinInn
Copy link
Contributor Author

VinInn commented Jul 14, 2016

On 14 Jul, 2016, at 2:49 PM, Slava Krutelyov notifications@github.com wrote:

Maybe this can inspire
https://github.com/cms-sw/cmssw/blob/CMSSW_8_1_X/HLTrigger/Configuration/python/customizeHLTforCMSSW.py

the method would pick all chi2Estimators of a process and change their
pset values.

and where you suggest such a customize to reside?
v.

@cmsbuild
Copy link
Contributor

-1

Tested at: 311d80d

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14096/summary.html

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test testRecoMETMETProducers had ERRORS

@cmsbuild
Copy link
Contributor

@slava77
Copy link
Contributor

slava77 commented Jul 15, 2016

Looking at jenkins results, the comparisons look as expected now (conversions didn't change, only cosmics changes).
Only a fraction of regular workflow comparisons made it through though.
So, I'm checking locally.

return (module for module in process._Process__esproducers.values() if module._TypedParameterizable__type in types)
def customizeMinPtForHitRecoveryInGluedDet(process,value):
for esp in esproducers_by_type(process, "Chi2MeasurementEstimatorESProducer", "Chi2ChargeMeasurementEstimatorESProducer"):
esp.MinPtForHitRecoveryInGluedDet = value
Copy link
Contributor

Choose a reason for hiding this comment

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

please change this to

       esp.MinPtForHitRecoveryInGluedDet = cms.double(value)

so that this customization applies as is to HLT and possibly other PSets that were not derived from a clone.
If done, also add

import FWCore.ParameterSet.Config as cms

at the top

With these modifications the function can be tested with --customise RecoTracker/Configuration/customizeMinPtForHitRecoveryInGluedDet.customizeHitRecoveryInGluedDetOff passed to the cmsDriver.py or runTheMatrix.py

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is intentional.
we want to catch those who do not clone.
They HAVE to clone.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For what concern HLT, my understanding is that as soon this PR will be integrated a new config will be created with the new parameter made explicit.
@mtosi, @Martin-Grunewald, @fwyzard to confirm

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the HLT policy for new PRs is to support the old/current menu.
So, missing required parameters should be inserted with a customization.
This is a bit special case, because we are discussing the customization function which is not a standard workflow.

Copy link
Contributor

Choose a reason for hiding this comment

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

relval submission that calls this customization will be rather complicated, each workflow type will need to be handled manually (not all have HLT); although the majority has RECO in step3. So, should likely be OK.

Copy link
Contributor

Choose a reason for hiding this comment

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

This customise if not modified will not work for fastsim: ~OK, probably.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok let's modified.
FastSim does not perform patternreco so any value is ok

Fix it so that it is added also in non-clones
@cmsbuild
Copy link
Contributor

Pull request #15194 was updated. @cvuosalo, @dmitrijus, @cmsbuild, @slava77, @vanbesien, @davidlange6 can you please check and sign again.

@VinInn
Copy link
Contributor Author

VinInn commented Jul 16, 2016

@cmsbuild , please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 16, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/14104/console

@cmsbuild
Copy link
Contributor

-1

Tested at: 93dbb05

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15194/14104/summary.html

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test testRecoMETMETProducers had ERRORS

@cmsbuild
Copy link
Contributor

@slava77
Copy link
Contributor

slava77 commented Jul 17, 2016

+1

for #15194 93dbb05

  • HIP mitigation is made configurable for cases where Chi2 estimator is taken from event setup. Also, the cosmic track reco mitigation logic is disabled. The customization function is added, which would revert the pt threshold of 0.9 GeV used for mitigation in the configurable cases; few other cases where the estimator is instantiated manually the default (mitigation) threshold will remain. So, the customizeHitRecoveryInGluedDetOff gives a result very close to pre-mitigation, but not identical.
  • jenkins tests pass and show differences only in cosmic tracking
  • local tests on higher stats show that the default config gives results consistent with jenkins tests.
  • Tests done with the customizeHitRecoveryInGluedDetOff call recovers pre-Hip mitigation #15114 behavior with a pretty good agreement. Few discrepancies remain as expected (changes in conversions are expected; rare changes in general tracks can happen too if some trajectories pt go above 1E5 GeV). The baseline for the tests was 810pre8 as pre-Hip mitigation #15114; 810pre8+Hip mitigation #15114 for the equivalent to jenkins tests baseline, and 810pre8+Hip mitigation #15114+thisPR (cherry-picks) for this PR tests.
    • this is somewhat good enough for a separate relval if there is need to decouple the HIP mitigation changes from other physics changes in the pre-release.
    • technically, this is not good enough for a verbatim backport to 80X if one is needed for a purpose of testing HIP mitigation enabled. If a backport is done, it would need to be at least with the mitigation PT default changed to double.max and an inverse customization available [ customizeHitRecoveryInGluedDetOn ]

@slava77
Copy link
Contributor

slava77 commented Jul 17, 2016

+1
maybe this works better than #15194 (comment)

@davidlange6 davidlange6 merged commit bb4c80e into cms-sw:CMSSW_8_1_X Jul 18, 2016
@mtosi
Copy link
Contributor

mtosi commented Jul 18, 2016

do we have the analogous for 80x ?
@VinInn @perrotta @Martin-Grunewald

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

6 participants