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 phi windows computation #12882

Merged
merged 15 commits into from Jan 9, 2016
Merged

Fix phi windows computation #12882

merged 15 commits into from Jan 9, 2016

Conversation

VinInn
Copy link
Contributor

@VinInn VinInn commented Jan 6, 2016

This PR is a continuation of my two last ones.

  1. fix phi window computation in seeding: it also adds a maximal phi window mostly to avoid crazy seeds that may eventually generate Nans
  2. Introduce a MaximalDisplacement in Chi2Estimator again to avoid crazy trajectory and the generation of Nans: Conversions should be unaffected
  3. fix long standing bug in computeWindowSize (was not retiring a negative window when required)

took the opportunity for some minor cleanup
A Major cleanup and refactoring of the three major seeding routines is badly needed.
(may occur in time for 8_0_0 if resources available)

Minor regression, timing improvement observed
MTV for the usual 1000 ttbar events PU35 at
http://innocent.home.cern.ch/innocent/RelVal/pu35_80_Xwin21/
(compared to current IB)

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 6, 2016

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

It involves the following packages:

DataFormats/Math
RecoEgamma/EgammaElectronProducers
RecoEgamma/EgammaPhotonProducers
RecoPixelVertexing/PixelTriplets
RecoTracker/ConversionSeedGenerators
RecoTracker/MeasurementDet
RecoTracker/TkDetLayers
RecoTracker/TkMSParametrization
RecoTracker/TkSeedGenerator
RecoTracker/TrackProducer
TrackingTools/GsfTracking
TrackingTools/KalmanUpdators

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

Following commands in first line of a comment are recognized

  • +1|approve[d]|sign[ed]: L1/L2's to approve it
  • -1|reject[ed]: L1/L2's to reject it
  • assign <category>[,<category>[,...]]: L1/L2's to request signatures from other categories
  • unassign <category>[,<category>[,...]]: L1/L2's to remove signatures from other categories
  • hold: L1/all L2's/release manager to mark it as on hold
  • unhold: L1/user who put this PR on hold
  • merge: L1/release managers to merge this request
  • [@cmsbuild,] please test: L1/L2 and selected users to start jenkins tests
  • [@cmsbuild,] please test with cms-sw/cmsdist#<PR>: L1/L2 and selected users to start jenkins tests using externals from cmsdist

@VinInn
Copy link
Contributor Author

VinInn commented Jan 6, 2016

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 6, 2016

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

@davidlt
Copy link
Contributor

davidlt commented Jan 6, 2016

@VinInn does this solves the issue with infinite loop due to NaNs in 10039.0 TTbar_14TeV on GCC 5.3.0?

@VinInn
Copy link
Contributor Author

VinInn commented Jan 6, 2016

@davidlt , should, how many events were needed to trigger the infinite loop? (or is enough 10039.0 out of the box?)

@davidlt
Copy link
Contributor

davidlt commented Jan 6, 2016

out-of-the-box is enough and it hangs on 7th event (quite fast after launching the workflow)

@VinInn
Copy link
Contributor Author

VinInn commented Jan 6, 2016

Done                          runTheMatrix.py --useInput=all --list=10039.0 
10039.0_TTbar_14TeV+TTbar_Tauola_14TeV_2017_GenSimFullINPUT+DigiFull_2017+RecoFull_2017 Step0-PASSED Step1-PASSED Step2-PASSED  - time date Wed Jan  6 19:29:10 2016-date Wed Jan  6 19:26:30 2016; exit: 0 0 0
1 1 1 tests passed, 0 0 0 failed

@@ -43,6 +43,9 @@ namespace tkDetUtil {
auto sp = (x0*x1+y0*y1)/std::sqrt((x0*x0+y0*y0)*(x1*x1+y1*y1));
sp = std::min(std::max(sp,-1.f),1.f);
dphi = std::acos(sp);

// if (dphi>0.5*M_PI) std::cout << "large dphi " << dphi << ' ' << ts.localDirection() << ' ' << ts.globalMomentum().perp() << ' ' << maxDistance << std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

is this important to have here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

nope. was planning to add a max-dphi limit: we need conversion to be under control first though.
Will remove

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 6, 2016

@VinInn
Copy link
Contributor Author

VinInn commented Jan 8, 2016

Hardwired default moved to max-float.
This should affect only muons and gsf (tracker uses python default)

took the opportunity to fix a logic error unveiled by gcc530 in DQM

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

@@ -408,7 +408,7 @@ void HitEff::analyze(const edm::Event& e, const edm::EventSetup& es){
const TrajectoryStateOnSurface tsosTEC9 = itm->updatedState();

// check if track on positive or negative z
if (!iidd == StripSubdetector::TEC) cout << "there is a problem with TEC 9 extrapolation" << endl;
if (!(iidd == StripSubdetector::TEC)) cout << "there is a problem with TEC 9 extrapolation" << endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

this appears to be the only "bare" cout (not protected by DEBUG).
The bug disabled it.
If it should stay exposed for default processing, it has to be converted to LogWarning/LogInfo.
Otherwise, please add "& DEBUG"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

is not under my direct responsibility...
I will protect with DEBUG...

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

Pull request #12882 was updated. @diguida, @cvuosalo, @cerminar, @cmsbuild, @franzoni, @slava77, @mmusich, @davidlange6 can you please check and sign again.

@VinInn
Copy link
Contributor Author

VinInn commented Jan 8, 2016

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

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

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 8, 2016

@slava77
Copy link
Contributor

slava77 commented Jan 8, 2016

+1

for #12882 66c7f9e

  • code changes are ok; the last updates fixed issues with the cosmic muons
  • jenkins tests pass
  • tested 03b9f3c in CMSSW_8_0_X_2016-01-05-2300 locally with more samples and compared to bfd721f (see summary for bfd721f above in Fix phi windows computation #12882 (comment)). The following is a summary of the effect of going back to float ::max for the max distance.
    • in fwlite comparisons: the only changes are in CSCLooseHaloId and in muonsFromCosmics* plots, which now go back to what was there in the baseline.
    • in DQM comparisons:
      • there are also very small differences in displaced*Muons plots (apparently going back to what was there in the baseline, confirmed only on a few plots);
      • several workflows have ~0.01 less off-track strip clusters in HLT monitoring plots and no matching increase in on-track plots (this effect looks too small to need a follow up).

davidlange6 added a commit that referenced this pull request Jan 9, 2016
Fix phi windows computation
@davidlange6 davidlange6 merged commit 0440f86 into cms-sw:CMSSW_8_0_X Jan 9, 2016
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