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
GEM and ME0 segments into trackerMuon #14833
Conversation
A new Pull Request was created by @jshlee (Jason Lee) for CMSSW_8_1_X. It involves the following packages: DataFormats/MuonReco @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
@jshlee - reminder: at some point, we need a long-term fix for MuonSegFit: |
@jshlee |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Can the isRPC be renamed to isGEMRPC so that we don't generate a new type? |
also, please add some discussion what was already done in |
Pull request #14833 was updated. @perrotta, @cmsbuild, @cvuosalo, @fwyzard, @dmitrijus, @Martin-Grunewald, @slava77, @vanbesien, @davidlange6 can you please check and sign again. |
@slava77 - I've fixed this and tested it with workflow 10624. Please test again. |
@cmsbuild please test |
The tests are being triggered in jenkins. |
+1 |
+1 |
@@ -46,7 +48,8 @@ namespace reco { | |||
|
|||
DTRecSegment4DRef dtSegmentRef; | |||
CSCSegmentRef cscSegmentRef; | |||
|
|||
GEMSegmentRef gemSegmentRef; | |||
ME0SegmentRef me0SegmentRef; |
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.
this, together with the use case pattern is becoming more and more bloated.
std::vector<reco::MuonSegmentMatch> segmentMatches
can have a value only among dtSegmentRef or cscSegmentRef, while
std::vector<reco::MuonSegmentMatch> gemMatches
can have a meaningful value only for gemSegmentRef
... and inside the MuonChamberMatch only one of these vectors has a meaning.
This is probably still OK considering the most frequent access patterns: actual segments are used mainly in detailed detector analysis (truth matching and alike).
The alternatives will likely lead to polymorphic generalized more effective storage, but, very likely, access will require casting back to specific classes.
@jshlee @calabria @trocino The additional muons contribute also to the earlyMuons collection and as a result affect tracking If you want to decouple the new tracker muon types more completely, the earlyMuons should be modified to not use GEM and ME0. I don't think it matters much for performance, but I wanted to get a clarification what was the intended behavior (fully decoupled, just new muons, or integrated already in the muon-driven tracking iterations). |
@slava77 - The idea was to go fully integrated already in the muon-driven tracking iterations, but not for identification. |
+1
|
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_1_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar |
@davidlange6 please merge for pre9 if possible |
This PR adds GemMuon and Me0Muon as well as adding GEMSegments and ME0Segments into trackerMuons.
TAMuonSegmentMatch and TrackAssociatorParameters
MuonIdProducer
muon.h
MuonChamberMatch, MuonDetIdAssociator, DetIdInfo, TAMuonChamberMatch, TrackDetectorAssociator
ME0SegmentBuilder
MuonME0DetLayerGeometryBuilder