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

Restrict GEM/ME0 cluster size and max N clusters #19986

Merged
merged 6 commits into from Sep 1, 2017
Merged

Restrict GEM/ME0 cluster size and max N clusters #19986

merged 6 commits into from Sep 1, 2017

Conversation

dildick
Copy link
Contributor

@dildick dildick commented Aug 1, 2017

GEM/ME0 cluster size is restricted to maxClusterSize_ and max number of clusters to maxClusters_. By default both parameters are set to 8 as specified in the GEM TDR and Muon Upgrade TDR. Both GEM chambers (GEMChamber) and ME0 chambers (ME0Layer) are designed to send out max 8 clusters of 8 neighboring trigger pads. In case there are more than 8 clusters, the algorithm selects the first 8. The cluster selection procedure is expected to be optimized later.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

A new Pull Request was created by @dildick (Sven Dildick) for master.

It involves the following packages:

SimMuon/GEMDigitizer

@cmsbuild, @civanch, @mdhildreth, @kpedro88, @davidlange6 can you please review it and eventually sign? Thanks.
@jhgoh this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@kpedro88
Copy link
Contributor

kpedro88 commented Aug 1, 2017

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/21936/console Started: 2017/08/01 05:38

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

-1

Tested at: ecef4bd

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

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

I found follow errors while testing this PR

Failed tests: RelVals

  • RelVals:

When I ran the RelVals I found an error in the following worklfows:
20034.0 step2

runTheMatrix-results/20034.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2023D17_GenSimHLBeamSpotFull14+DigiFullTrigger_2023D17+RecoFullGlobal_2023D17+HARVESTFullGlobal_2023D17/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2023D17_GenSimHLBeamSpotFull14+DigiFullTrigger_2023D17+RecoFullGlobal_2023D17+HARVESTFullGlobal_2023D17.log

20434.0 step2
runTheMatrix-results/20434.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2023D19_GenSimHLBeamSpotFull14+DigiFullTrigger_2023D19+RecoFullGlobal_2023D19+HARVESTFullGlobal_2023D19/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2023D19_GenSimHLBeamSpotFull14+DigiFullTrigger_2023D19+RecoFullGlobal_2023D19+HARVESTFullGlobal_2023D19.log

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

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

Comparison not run due to runTheMatrix errors (RelVals and Igprof tests were also skipped)

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

Pull request #19986 was updated. @cmsbuild, @civanch, @mdhildreth, @kpedro88, @davidlange6 can you please check and sign again.

@davidlange6
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 1, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/21951/console Started: 2017/08/01 12:44

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 3, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/22074/console Started: 2017/08/03 20:43

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 3, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 3, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 3, 2017

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19986/22074/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 25
  • DQMHistoTests: Total histograms compared: 2643105
  • DQMHistoTests: Total failures: 44402
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2598522
  • DQMHistoTests: Total skipped: 181
  • DQMHistoTests: Total Missing objects: 0
  • Checked 102 log files, 14 edm output root files, 25 DQM output files

@civanch
Copy link
Contributor

civanch commented Aug 7, 2017

+1

@kpedro88
Copy link
Contributor

kpedro88 commented Aug 7, 2017

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2017

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

unsigned int nClusters = 0;

// proto collection
std::vector<std::pair<GEMDetId, GEMPadDigiCluster> > proto_clusters;
Copy link
Contributor

Choose a reason for hiding this comment

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

hi @dildick - could you not do the cleanup of extra digis (presumably not needed all the time..) directly in out_clusters instead of making this intermediate structure?

Copy link
Contributor Author

@dildick dildick Aug 9, 2017

Choose a reason for hiding this comment

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

@davidlange6 The selection I implemented (maximum first 8 in the list) will need to be optimized for sure. Hardware tests will have to show how to best select GEM/ME0 clusters in realistic conditions. The final selection will likely be very different. With this setup we can simulate the effects of various selection procedures. So in due time we can modify the algorithm to not produce an intermediate proto_clusters

Copy link
Contributor

Choose a reason for hiding this comment

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

hi @dildick - sorry for an extremely slow answer. I'd suggest we build this idea in from the beginning.I think its straightforward

  1. don't declare proto_clusters, just fill out_clusters.
  2. make a dedicated function for cleaning. -in the current case, its very trivial. But it could then easily grow to meet the more complex needs in the future. (and if you need to copy clusters at that point you could).

A different point - the way maxClusters_ is used below looks potentially incorrect. If it is really meant as the maximum size of what is now protoClusters, then don't let protoClusters grow beyond that size from the beginning. If instead its meant to be the maximum size of the final collection, then the loopmax concept is incorrect. Instead the out_clusters size needs to be checked at the end to see if it is too big.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Regarding point 1: could you point me to an example how to clean a muondigicollection such as out_clusters?

Copy link
Contributor

Choose a reason for hiding this comment

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

ah - sigh - i didn't realize that MuonDigiCollection exposes only a trivial bit of the interface that a standard vector has... i guess its not worth the trouble..

Copy link
Contributor Author

@dildick dildick Aug 29, 2017

Choose a reason for hiding this comment

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

@davidlange6 what is the plan forward then? Can we go ahead with the current proposal?

Copy link
Contributor

Choose a reason for hiding this comment

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

hi @dildick - could you confirm the role of maxClusters?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

max number of clusters (in the cluster digi collection) in a GEM chamber

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, as a folllowup pr, the check on max clusters can be applied directly when making proto_clusters

@dildick
Copy link
Contributor Author

dildick commented Aug 16, 2017

@davidlange6 Can this PR be integrated?

@dildick
Copy link
Contributor Author

dildick commented Aug 23, 2017

@smuzaffar I will address the code-checks in packages SimMuon/GEMDigitizer, L1Trigger/CSCTriggerPrimitives and L1Trigger/ME0Trigger in a follow-up pull request. I have been waiting for a while now for a signature.

@dildick
Copy link
Contributor Author

dildick commented Aug 26, 2017

@davidlange6 Can this PR be integrated?

@davidlange6
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit a9c9ffa into cms-sw:master Sep 1, 2017
@dildick dildick deleted the from-CMSSW_9_3_X_2017-07-31-2300-gem-me0-clustersize-maxclusters branch September 1, 2017 19:25
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