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

Precise RPCTime in muons #18681

Merged
merged 2 commits into from May 17, 2017
Merged

Precise RPCTime in muons #18681

merged 2 commits into from May 17, 2017

Conversation

jhgoh
Copy link
Contributor

@jhgoh jhgoh commented May 10, 2017

The RPCTime information is computed based on the bunch crossing x 25ns, not taking the precise timing information which is available from the phase-II upgrade.

With this PR, the RPCTime in the reco::Muon is computed using the precise time measurement if available.

@ptraczyk

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @jhgoh (Junghwan John Goh) for master.

It involves the following packages:

RecoMuon/MuonIdentification

@perrotta, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks.
@bellan, @abbiendi, @echapon, @calderona, @HuguesBrun, @battibass, @trocino, @bachtis, @rociovilar this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented May 10, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 10, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/19738/console Started: 2017/05/10 22:44

@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-18681/19738/summary.html

Comparison Summary:

  • You potentially added 9 lines to the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 1752 differences found in the comparisons
  • DQMHistoTests: Total files compared: 24
  • DQMHistoTests: Total histograms compared: 1830338
  • DQMHistoTests: Total failures: 22679
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1807479
  • DQMHistoTests: Total skipped: 180
  • DQMHistoTests: Total Missing objects: 0
  • Checked 98 log files, 14 edm output root files, 24 DQM output files

@perrotta
Copy link
Contributor

In this PR the RPCTime is filled with the precise timing information if not
hitRPC->timeError() < 0

If I read correctly, timeError is initialized to 0 in the RPCRecHit constructor (DataFormats/RPCRecHit/src/RPCRecHit.cc) and it is only modified if timeError>=0: https://cmssdt.cern.ch/lxr/source/RecoLocalMuon/RPCRecHit/src/RPCRecHitBaseAlgo.cc#0043

If so, the bx should never be used here, not even for rpc in phase0/1: could you please check?

(If my observation is correct, I would expect this PR may affect also phase0/1 reco, and not only phase 2. On the other hand, I can't see any modification in jenkins outputs, not even for RPC in phase 2: could you please suggest me which distribution I should look at, and possibly also provide yourself here some evidence that this update behaves as you want, and does not affect current reco)?

@slava77
Copy link
Contributor

slava77 commented May 15, 2017 via email

@cmsbuild
Copy link
Contributor

Pull request #18681 was updated. @perrotta, @cmsbuild, @slava77, @davidlange6 can you please check and sign again.

@jhgoh
Copy link
Contributor Author

jhgoh commented May 15, 2017

@perrotta Thank you for checking details. I missed the point.
I'm updating this PR to set the default values of time and its error - time and its error are initialized to be (0,-1) by default.

-> Use bx based time if timeError < 0
-> Use precise time if timeError >= 0

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 15, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/19831/console Started: 2017/05/15 15:12

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@perrotta
Copy link
Contributor

Your latest commit is also going to affect (fix, I'd say...) validations:
https://cmssdt.cern.ch/lxr/source/Validation/RPCRecHits/src/RPCRecHitValid.cc#0545

In fact, that line was merged with #18632 five days ago, so probably nobody still checked its outcome. It would be interesting to see how the fix implemented here will act on RPC time plots (I expect that you get now some result different from 0 also for phase1/0)

@jhgoh
Copy link
Contributor Author

jhgoh commented May 15, 2017

The timing of RPCRecHits are new variables from 92X (91X backport is not merged yet). So, we did not have a chance to make comparisons yet.

What do I expect with this change in Phase1/0?

  • Change of RPCRecHit::timeError(), always set to -1 (no RPC with precise timing, therefore all RPCRecHit should have the default value)
  • No change in muons - RPC timing not used in tracking, identification.
  • No change of muon::RPCTime(), this was always =25ns x bx. And even wit h this PR, this should remain same as before for phase1/0 since there's no RPC with precise timing therefore all RPCRecHits will have timeError<0 and it will just use (25ns x bx).

@cmsbuild
Copy link
Contributor

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

Comparison Summary:

  • You potentially added 8 lines to the logs
  • Reco comparison results: 1706 differences found in the comparisons
  • DQMHistoTests: Total files compared: 24
  • DQMHistoTests: Total histograms compared: 1830730
  • DQMHistoTests: Total failures: 23699
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1806851
  • DQMHistoTests: Total skipped: 180
  • DQMHistoTests: Total Missing objects: 0
  • Checked 98 log files, 14 edm output root files, 24 DQM output files

@perrotta
Copy link
Contributor

With the latest fix, now RPC time only gets modified for Phase 2, e.g. (TTbar14TeV2023D4):
image

Corresponding entries remain unchanged in Phase1 RPC, as it should.

As expected, the DQM plots for RPC are modified also in Phase 1, but this is simply due to the bug fix applied here which avoids having all rpcTIme=0 at phase 1 (as it was after #18632, see above #18681 (comment). Example for 10024.0_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2017:
image

Thus everything goes as expected, now.

I remain with only one doubt: does hitRPC->time() refer to an "absolute time" computed with respect to BX=0, or does it refer to the time diff with respect to hitRPC->BunchX() instead?
I am asking because in the new distributions of rpcTIme I see only values close to 0 ns, while there are cases in which the BunchX() stays some N times 25 ns apart. If hitRPC->time() is the difference with the time of the corresponding BX, then probably BX times 25 should be added to it when computing
const double time = hitRPC->timeError() < 0 ? hitRPC->BunchX()*25. : hitRPC->time();

@jhgoh : could you please verify and let us know?

@jhgoh
Copy link
Contributor Author

jhgoh commented May 16, 2017

@perrotta thank you for comments and providing comparison plots.
The time from the RPCRecHit is absolute one. You can see timing distribution below, which gives peaks in every 25ns spacing:
screenshot
This plot was done using the pre3 ZMM relval sample with PU200, the time is directly taken from the RPCRecHit.

@perrotta
Copy link
Contributor

+1
Given #18681 (comment) and #18681 (comment)
Precise rpc timing is used, when available, instead of bx. It does not affect Phase0/1 reco

@cmsbuild
Copy link
Contributor

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 requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit f0f6d44 into cms-sw:master May 17, 2017
@jhgoh jhgoh deleted the muonIRPCTime branch September 26, 2017 02:11
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

5 participants