-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Conversation
A new Pull Request was created by @VinInn (Vincenzo Innocente) for CMSSW_9_0_X. It involves the following packages: DataFormats/Phase2TrackerDigi @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. 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; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bux fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!... my bad.
@cmsbuild , please test |
The tests are being triggered in jenkins. |
@boudoul , apparently not manager of the whole RecoLocalTracker |
Comparison job queued. |
Comparison is ready 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 |
There was a problem hiding this comment.
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.
Technical performance improves as expected. Curiously, we have an increase in the number of clusters overall, as a more extreme ttbar PU200 in D4 (I only ran trackerlocalreco, didn't check the performance in higher level products) there are ~20% more size=1 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). |
Sent from my iPad
On Dec 10, 2016, at 18:33, Slava Krutelyov ***@***.***> wrote:
as a more extreme ttbar PU200 in D4 (I only ran trackerlocalreco, didn't check the performance in higher level products)
did you run step2?
this PR affects digitization as well, this is Why it Must go in pre2.
splitting at 8 make no sense, we are not running jetcore in phase2, a track based cluster splitting shall eventually be developed,
|
I didn't run step2. |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
+1
|
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 |
+1 |
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_bitthis affects Step2 as well
side gains : the algo is now stateless