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

Update on L2 muon seeding #22330

Merged
merged 6 commits into from
Mar 8, 2018
Merged

Conversation

khaosmos93
Copy link
Contributor

This PR updates the L2 Muon seeding logic.

involving,

  • Fix dependency on the order of the L1 candidates
  • Be more robust to ghost muons/duplicates from the L1 muon system
  • Make sure to keep all the needed informations from L1 muons for further HLT muon reconstruction

In order to make it work in the HLT menu, one should add below two lines at the end of given menu,
process.hltL2MuonSeeds.MatchType = cms.int32(0)
process.hltL2MuonSeeds.SortType = cms.int32(0)

Latest performance tests are done within 92X and they can be found in below link [1].
Efficiency drop in slide 5 of [1] was due to simple typo in 'hadd' command and it recovered after the fix [2].

[1] https://indico.cern.ch/event/694534/contributions/2848643/attachments/1583751/2503305/L2Seeding_MuonHLT_Min_20180116_v2.pdf
[2] https://cernbox.cern.ch/index.php/s/n8fBQECa10OTjof

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @khaosmos93 for master.

It involves the following packages:

RecoMuon/L2MuonSeedGenerator

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

cms-bot commands are listed here

Copy link
Contributor

@perrotta perrotta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can find below a few sparse comments after a quick glance at your code. Certainly more will follow, but please start at least addressing these ones

@@ -41,6 +43,28 @@ using namespace std;
using namespace edm;
using namespace l1t;

//--- Functions used in output sorting
bool SortByL1Pt(L2MuonTrajectorySeed &A, L2MuonTrajectorySeed &B) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Method names should start with lower case letters, upper case being reserved to class names

return (Ref_L1A->pt() > Ref_L1B->pt());
};

bool SortByL1QandPt(L2MuonTrajectorySeed &A, L2MuonTrajectorySeed &B) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Method names should start with lower case letters, upper case being reserved to class names

iEvent.getByToken(offlineSeedToken_, offlineSeedHandle);
LogTrace(metname) << "Number of offline seeds " << offlineSeedHandle->size() << endl;
offlineSeedMap = vector<int>(offlineSeedHandle->size(), 0);
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the commented out code that you included for your debug (or use some LOgDebug if you want to maintain here for possible future needs)


if (newTSOS.isValid()){

//LogDebug(metname) << "(x, y, z) = (" << newTSOS.globalPosition().x() << ", "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What the reason for letting the LogDebugs commented out (here and below)?
Please either remove (better) or uncomment


LogTrace(metname) << "radius "<<radius;

if ( pt < 3.5 ) pt = 3.5;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is special with "3.5"?
Shouldn't this threshold better made parameterizable, or taken from somewhere else?

unsigned int nL1;
unsigned int i, j; // for the matrix element

/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the commented out code that you included for your debug (or use some LOgDebug if you want to maintain here for possible future needs)

sort(output->begin(),output->end(),SortByL1QandPt);
}

/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the commented out code that you included for your debug (or use some LOgDebug if you want to maintain here for possible future needs)

TrajectoryStateOnSurface offseedTsos = theService->propagator(thePropagatorName)->propagate(offseedFTS, newTsos.surface());
LogDebug(metlabel) << "Offline seed info: Det and State" << std::endl;
LogDebug(metlabel) << debugtmp.dumpMuonId(offseed->startingState().detId()) << std::endl;
//LogDebug(metlabel) << "(x, y, z) = (" << newTSOS.globalPosition().x() << ", "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either uncomment or remove (here and below)

// Remove row and column for given (L1mu, offSeed)
for(i=0; i<NmuColl; ++i) {
for(j=0; j<NofflineSeed1; ++j) {
dRmtx[theL1][j] = 999;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you filling these vectors NmuColl*NofflineSeed1 times?

// Remove row and column for given (L1mu, offSeed)
for(i=0; i<NmuColl; ++i) {
for(j=0; j<NofflineSeed1; ++j) {
dRmtx[theL1][j] = 999;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you filling these vectors NmuColl*NofflineSeed1 times?

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

khaosmos93 added a commit to khaosmos93/cmssw that referenced this pull request Feb 28, 2018
@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Pull request #22330 was updated. @perrotta, @cmsbuild, @silviodonato, @slava77, @Martin-Grunewald, @fwyzard can you please check and sign again.

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 28, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/26373/console Started: 2018/02/28 10:52

@khaosmos93
Copy link
Contributor Author

I update the code following your comments.

Changes :

  • SortByL1Pt->sortByL1Pt
  • SortByL1QandPt->sortByL1QandPt
  • Remove commented out lines for debug
  • Set minimum pT for barrel and endcap as configurable variables
    theMinPtBarrel(iConfig.getParameter("SetMinPtBarrelTo")), //previously 3.5
    theMinPtEndcap(iConfig.getParameter("SetMinPtEndcapTo")), //previously 1.0
  • Leave indices of optical fibres(36, 41, 66, 71) as hard corded(recommended way) but add comment on those numbers
  • Make "NmuColl*NofflineSeed1" times iteration to "NmuColl+NofflineSeed1" in the removing step

Thanks for the comments, and please let me know if anything more should be done.

@perrotta
Copy link
Contributor

perrotta commented Mar 8, 2018

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/26685/console Started: 2018/03/08 07:09

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 29
  • DQMHistoTests: Total histograms compared: 2480211
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2480034
  • DQMHistoTests: Total skipped: 176
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.93000000024 KiB( 23 files compared)
  • Checked 118 log files, 9 edm output root files, 29 DQM output files

@perrotta
Copy link
Contributor

perrotta commented Mar 8, 2018

+1

@fabiocos
Copy link
Contributor

fabiocos commented Mar 8, 2018

@Martin-Grunewald do you confirm your signature?

@Martin-Grunewald
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2018

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)

@fabiocos
Copy link
Contributor

fabiocos commented Mar 8, 2018

+1

@cmsbuild cmsbuild merged commit c9f88a8 into cms-sw:master Mar 8, 2018
ramankhurana pushed a commit to ramankhurana/cmssw that referenced this pull request Mar 19, 2018
ramankhurana pushed a commit to ramankhurana/cmssw that referenced this pull request Mar 19, 2018
ramankhurana pushed a commit to ramankhurana/cmssw that referenced this pull request Mar 19, 2018
ramankhurana pushed a commit to ramankhurana/cmssw that referenced this pull request Mar 19, 2018
ramankhurana pushed a commit to ramankhurana/cmssw that referenced this pull request Mar 19, 2018
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