-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Add new ALCT-CLCT match algorithm for high pt muon showers #40572
Add new ALCT-CLCT match algorithm for high pt muon showers #40572
Conversation
1.add CLCT sorting by qual+bending for ALCT-CLCT match 2.add local shower check and switch to new CLCT sorting when sorting by Bx is off and there is at least one local shower around CLCT in the first half of match window
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40572/33815
|
A new Pull Request was created by @tahuang1991 (TaoHuang) for master. It involves the following packages:
@epalencia, @cmsbuild, @cecilecaillol, @rekovic can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6677d5/30091/summary.html Comparison SummarySummary:
|
any comments before merging this PR to cmssw? |
+l1 |
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. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
Hi @tahuang1991 , do I understand correctly that |
@@ -49,6 +51,8 @@ | |||
tmbPhase2 = tmbPhase1.clone( | |||
# ALCT-CLCT stays at 7 for the moment | |||
matchTrigWindowSize = 7, | |||
#use CLCT sorted by Bx only for ALCT-CLCTmatch for now | |||
sortClctBx = cms.bool(True), |
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.
sortClctBx = cms.bool(True), | |
sortClctBx = True, |
if (totalHits >= localShowerThresh) | ||
localShowerFlag[bx] = true; | ||
else | ||
localShowerFlag[bx] = 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.
if (totalHits >= localShowerThresh) | |
localShowerFlag[bx] = true; | |
else | |
localShowerFlag[bx] = false; | |
localShowerFlag[bx] = totalHits >= localShowerThresh; |
void checkLocalShower( | ||
int zone, const std::vector<int> strip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]); |
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.
It is cheaper to pass the vector by reference:
void checkLocalShower( | |
int zone, const std::vector<int> strip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]); | |
void checkLocalShower( | |
int zone, const std::vector<int>& strip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]); |
(there are other such cases in the rest of the code...)
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.
okay. I will improve the code with your above three suggestions. Thanks.
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.
i tried to switch to vector reference in checkLocalShower, but since this vector is used in pulseExtension, the compiling failed... Multiple places in ths CSC trigger emulator used the vector rather reference as argument. I think it is better to do a individual commit to improve this.
yes |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40572/33882
|
Pull request #40572 was updated. @epalencia, @cmsbuild, @cecilecaillol, @rekovic can you please check and sign again. |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6677d5/30199/summary.html Comparison SummarySummary:
|
+l1 |
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. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
Last year we found that current CSC trigger efficiency drops around 5% per station in the inner ring. The root cause is: when high pT muons showered in the CSC chamber, the cathode hits produced by high pT muon is prefired, 1 or 2BX earlier than nominal case, while anode hits are still in-time. Conventional ALCT(built from anode hits)-CLCT(built from cathode hits) match algorithm would be inefficient as CLCTs from high pT muon are also prefired and CLCTs built from secondary hits are more in-time. Therefore we proposed the upgraded ALCT-CLCT match algorithm for muon showers:
PR validation:
presentation on CSC meeting:
https://indico.cern.ch/event/1197553/contributions/5035258/attachments/2504761/4304563/TaoOTMBStatus_TAMU_20220907_EMTFEff.pdf
https://indico.cern.ch/event/1199888/contributions/5047438/attachments/2508640/4311202/TaoOTMBStatus_TAMU_20220907_EMTFEfffollowup.pdf
presentation on L1 DPG meeting: slide16-19
https://indico.cern.ch/event/1216605/contributions/5117665/attachments/2538591/4369875/Tao_OTMB_L1TDPG_20221031.pdf