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

Speed up Phase2TrackerClusterizer by a factor 1000 #16815

Merged
merged 5 commits into from
Dec 12, 2016

Conversation

VinInn
Copy link
Contributor

@VinInn VinInn commented Nov 30, 2016

Introduced a Trivial sequential algorithm acting on pre-sorted Digis
Verified comparing cluster by cluster for 10 ttbar events w/r/t the previous algorithm (see code
protected by VERIFY_PH2_TK_CLUS)

Regressions:
the limit on the size of the cluster has been removed: better to split using track-info if needed, than at random after N strips...

a bug in the previous algorithm (affecting HIP bit) has been fixed

N.B.
operator< in Phase2TrackerDigi has been modified to ignore the ot_bit
this affects Step2 as well

side gains : the algo is now stateless

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

DataFormats/Phase2TrackerDigi
RecoLocalTracker/SiPhase2Clusterizer

@cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks.
@makortel, @felicepantaleo, @GiacomoSguazzoni, @rovere, @VinInn, @gpetruc, @threus this is something you requested to watch as well.
@slava77, @smuzaffar you are the release manager for this.

cms-bot commands are listed here #13028

@@ -71,6 +71,7 @@ void Phase2TrackerClusterizerAlgorithm::clusterizeDetUnit(const edm::DetSet< Pha
sizeCluster = 0;
// Increase the number of clusters
++numberClusters;
HIPbit = false;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

bux fix

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks!... my bad.

@VinInn
Copy link
Contributor Author

VinInn commented Nov 30, 2016

@cmsbuild , please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 30, 2016

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

@VinInn
Copy link
Contributor Author

VinInn commented Nov 30, 2016

@boudoul , apparently not manager of the whole RecoLocalTracker

@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-16815/16682/summary.html

The workflows 1003.0, 1001.0, 1000.0, 140.53, 136.731, 4.22 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons

@@ -3,7 +3,7 @@
# Clusterizer options
siPhase2Clusters = cms.EDProducer('Phase2TrackerClusterizer',
src = cms.InputTag("mix", "Tracker"),
maxClusterSize = cms.uint32(8),
maxClusterSize = cms.uint32(0), # was 8
Copy link
Contributor

Choose a reason for hiding this comment

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

if I'm not mistaken, this is a bogus parameter now (unless VERIFY_PH2_TK_CLUS is set).
It may be worth to leave a note about it here.

@slava77
Copy link
Contributor

slava77 commented Dec 10, 2016

Technical performance improves as expected.
In PU200 time of siPhase2Clusters reduced by ~x400.

Curiously, we have an increase in the number of clusters overall,
including a pretty significant increase in size=1 clusters in addition to appearance of longer clusters

as a more extreme ttbar PU200 in D4 (I only ran trackerlocalreco, didn't check the performance in higher level products)
[the plot is inverted: black is new with this PR and red is the baseline; done in 900pre1]

all_origvssign808_ttbar14tev2023d4timingpu200localwf23034p0c_log10max0_1 phase2trackercluster1dedmnewdetsetvector_siphase2clusters__reco_obj_m_data_size

there are ~20% more size=1
also, we have clusters up to size 500.

It's unclear from the PR description if size=1 cluster increase is expected.

Given that there is no cluster splitting currently in place, it seems like in busy events in jets we will start loosing efficiency. This effect for the OT is probably small enough that this will not be an issue (even high-pt jets fan out fairly well and will not hit the same module).

What are the limits for clustering size on the planned readout side (IIRC, clustering is done on the detector/DAQ)?

I need some feedback before signing off (mainly concerning size=1).

@VinInn
Copy link
Contributor Author

VinInn commented Dec 11, 2016 via email

@slava77
Copy link
Contributor

slava77 commented Dec 11, 2016

I didn't run step2.
I'll rerun and if this fixes size=1, will sign off.

@slava77
Copy link
Contributor

slava77 commented Dec 11, 2016

things are much cleaner and size<=8 population is moving in the right direction of reduction, and the total number of clusters is smaller as expected from the feature change of clusters now unlimited in size (the plot is still with this PR in black)
all_origvssign808_ttbar14tev2023d4timingpu200localwf23034p0c_log10max0_1 phase2trackercluster1dedmnewdetsetvector_siphase2clusters__reco_obj_m_data_size

MTV plots on QCD600to800 21253.0, ZEE 21246.0, and TenMu 21211 do not show any significant changes.

@slava77
Copy link
Contributor

slava77 commented Dec 11, 2016

@cmsbuild please test
old files are gone by now

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 11, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/16957/console Started: 2016/12/11 19:01

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

@slava77
Copy link
Contributor

slava77 commented Dec 11, 2016

+1

for #16815 0d28f30

  • code changes are OK; extremely large cluster size is still to be dealt with at some point in the future
  • jenkins tests passed comparisons show that this change affects only 2023 workflows as expected; changes are small.
  • local tests show expected changes in siPhase2Clusters (longer clusters) and performance in tests looks unchanged (not identical due to rerunning step2 in multiple threads).

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_9_0_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 7d4dc66 into cms-sw:CMSSW_9_0_X Dec 12, 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.

5 participants