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

SimTrack to muon SimHit matching classes in Muon Validation code #26249

Merged
merged 12 commits into from Apr 18, 2019
Merged

SimTrack to muon SimHit matching classes in Muon Validation code #26249

merged 12 commits into from Apr 18, 2019

Conversation

dildick
Copy link
Contributor

@dildick dildick commented Mar 26, 2019

PR description:

Which hits in the CMS Muon system originate from a particular simulated muon particle? In the development of new trigger algorithms it is often necessary to discriminate true muon simhits from electron/punch-through/pileup simhits, for example to determine the true efficiency and fake rate.

Tao Huang and I have been developing such validation code since ~2013 and have been using it in our trigger studies for the GEM TDR, Muon Phase-II TP, Muon Upgrade TDR and the L1 Interim TDR. I would now like to provide these expert tools to the larger muon & trigger community.

  • This PR introduces classes that match simtracks to GEM/ME0/DT/CSC/RPC simhits. The matching is based on the equivalence of trackId between simtrack and simhit.
  • A matcher class is available for each muon type with many useful functions. Common functions are collected in a base class to avoid code duplication.
  • In a follow-up PR I plan to replace the old GEM SimHitMatcher module by the new GEMSimHitMatcher. The internal machinery of the old and new classes are the same however.
  • Parameters to instantiate a matcher for use in an (DQM)EDAnalyzer are collected in a handy PSet.
  • The MuonSimHitsValidAnalyzer was moved from src/ to plugins/ to adhere to the CMSSW style guidelines.

FYI @tahuang1991 @civanch @mdhildreth

PR validation:

The code compiles. The modules are currently not hooked up to existing validation modules, so they should not break any workflows. I also tested the modules by instantiating them in existing DQMEDanalyzers and running on a set of recent high pileup MC samples from the MTD campaign. That showed no obvious issues.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26249/8903

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

Validation/MuonHits

@andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please review it and eventually sign? Thanks.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@andrius-k
Copy link

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 26, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/33763/console Started: 2019/03/26 11:02

@cmsbuild
Copy link
Contributor

-1

Tested at: 6921890

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

I found follow errors while testing this PR

Failed tests: Build ClangBuild

  • Build:

I found compilation error when building:

>> Package Validation/MuonHits built
>> Entering Package Validation/MuonHits
Entering library rule at src/Validation/MuonHits/plugins
>> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/plugins/MuonSimHitsValidAnalyzer.cc 
In file included from /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/plugins/MuonSimHitsValidAnalyzer.cc:1:0:
/build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/poison/Validation/MuonHits/src/MuonSimHitsValidAnalyzer.h:1:2: error: #error THIS FILE HAS BEEN REMOVED FROM THE PACKAGE.
 #error THIS FILE HAS BEEN REMOVED FROM THE PACKAGE.
  ^~~~~
>> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/plugins/SealModule.cc 
/build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/plugins/MuonSimHitsValidAnalyzer.cc:11:17: error: 'edm' is not a namespace-name
 using namespace edm;

  • Clang:

I found compilation error while trying to compile with clang. Command used:

USER_CUDA_FLAGS='--expt-relaxed-constexpr' USER_CXXFLAGS='-Wno-register -fsyntax-only' scram build -k -j 16 COMPILER='llvm compile'

>> Compiling  /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/src/DTSimHitMatcher.cc 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/src/CSCSimHitMatcher.cc 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/src/MuonHitHelper.cc 
>> Compiling  /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/src/GEMSimHitMatcher.cc 
In file included from /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/src/CSCSimHitMatcher.cc:1:
/build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/interface/CSCSimHitMatcher.h:31:42: error: expected ')'
  std::set detIds(int type MuonHitHelper::CSC_ALL) const;
                                         ^
/build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_6_X_2019-03-25-2300/src/Validation/MuonHits/interface/CSCSimHitMatcher.h:31:32: note: to match this '('
  std::set detIds(int type MuonHitHelper::CSC_ALL) const;
                               ^


@cmsbuild
Copy link
Contributor

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

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26249/8918

  • This PR adds an extra 36KB to repository

Code check has found code style and quality issues which could be resolved by applying a patch in https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26249/8918/git-diff.patch
e.g. curl https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26249/8918/git-diff.patch | patch -p1

You can run scram build code-checks to apply code checks directly

@cmsbuild
Copy link
Contributor

Pull request #26249 was updated. @andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please check and sign again.

@dildick
Copy link
Contributor Author

dildick commented Apr 17, 2019

@drkovalskyi, I'm afraid I'll be busy the next couple of weeks with dissertation defense and such... I did write a summary that should explain how this code is useful (anticipating that I would not have time to compile a full presentation). I may have time in a month or so.

@fabiocos
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 17, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/34245/console Started: 2019/04/17 13:53

@fabiocos
Copy link
Contributor

@drkovalskyi is the MUO POG asking to keep this PR on hold?

@drkovalskyi
Copy link
Contributor

No, we are not asking to keep it on hold. We are just no familiar with the work and without a proper presentation I don't expect it to be used in the POG. I hope this can be sorted out later. So let's integrate it.

@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-26249/34245/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 3142783
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3142585
  • DQMHistoTests: Total skipped: 197
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 133 log files, 14 edm output root files, 32 DQM output files

@fabiocos
Copy link
Contributor

@andrius-k do you confirm your previous signature?

@andrius-k
Copy link

+1
@fabiocos all good for DQM.

@fabiocos
Copy link
Contributor

@mrodozov the bot looks stuck here, I will take this PR as fully signed anyway

@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 will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@mrodozov
Copy link
Contributor

no idea why it took so long.

@fabiocos
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 21d0307 into cms-sw:master Apr 18, 2019
@dildick dildick deleted the from-CMSSW_10_6_X_2019-03-25-1100-Tight-Muon-Hit-Matching-I branch October 25, 2019 17:56
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