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
Inclusion of muon timing plots in the DQMOffline/Muon package #18267
Conversation
A new Pull Request was created by @parbol for master. It involves the following packages: DQMOffline/Muon @cmsbuild, @dmitrijus, @vanbesien, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
+1 |
The tests are being triggered in jenkins. |
This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. This pull request requires discussion in the ORP meeting before it's merged. @Muzaffar, @davidlange6, @smuzaffar |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
DQMOffline/Muon/src/MuonTiming.cc
Outdated
if(!cmbok && rpcok) yields[theObject]->Fill(7); | ||
|
||
if(veto) yields[theObject]->Fill(9); | ||
else yields[theObject]->Fill(9); |
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.
Hi @parbol - my guess is that you wanted "8" here instead of 9.
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.
Indeed. Thanks for the catch. It's corrected now.
DQMOffline/Muon/src/MuonTiming.cc
Outdated
eta theEta = barrel; | ||
if(fabs(track->eta()) > etaBarrelMin && fabs(track->eta()) < etaBarrelMax) theEta = barrel; | ||
if(fabs(track->eta()) > etaOverlapMin && fabs(track->eta()) < etaOverlapMax) theEta = overlap; | ||
if(fabs(track->eta()) > etaEndcapMin && fabs(track->eta()) < etaEndcapMax) theEta = endcap; |
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.
with this logic and your parameters, theEta will never = overlap.
otherwise, please also consider a >= to correctly handle bin boundaries
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 have corrected this. Thanks.
enum eta {overlap, barrel, endcap}; | ||
enum object {sta, glb}; | ||
//the histos | ||
std::vector<std::vector<MonitorElement*>> timeNDof; |
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.
as the sizes of these are known (and hardwired), please use std::array<std::array<MonitorElement*,1>,3> to avoid both the extra memory of the vectors and the need to first declare a vector and then push_back
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.
Hi, yes. That's way smarter. Sorry for not having thought about it in the first place. It's now implemented.
std::vector<std::vector<MonitorElement*>> timeAtIpInOutRPC; | ||
std::vector<std::vector<MonitorElement*>> timeAtIpInOutErr; | ||
std::vector<std::vector<MonitorElement*>> timeAtIpInOutErrRPC; | ||
std::vector<MonitorElement*> etaptVeto; |
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.
similarly here.
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.
Yes, updated as well.
|
||
|
||
//histo binning parameters | ||
int tnbins; |
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.
please follow a naming convention for variables that make up a class. Eg, in CMS its often an '_' at the end of the variable.
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 have added a '_' at the end of all of them.
Pull request #18267 was updated. @cmsbuild, @dmitrijus, @vanbesien, @davidlange6 can you please check and sign again. |
+1 |
The tests are being triggered in jenkins. |
This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
The Muon POG would like to have a few plots in the offline DQM with information associated to the timing of the muons. In this Pull Request I have added this functionality through a new module called MuonTiming (MuonTiming.cc, MuonTiming.h and muonTiming_cfi.py) that takes care of booking and filling a few histograms (22 in total) related to the timing. In addition I have performed some bug fixes in the ranges and binning of some histograms in the DiMuonHistograms.cc and also in MuonKinVsEtaAnalyzer.cc.