-
Notifications
You must be signed in to change notification settings - Fork 15
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
Candidate ranking à la CMSSW #167
Conversation
mkFit/CandCloner.cc
Outdated
if(pt[c]<0.9f) score[c] -= 0.5f*(validHitBonus_)*nfoundhits[c]; | ||
else if(nfoundhits[c]>8) score[c] += (validHitBonus_)*nfoundhits[c]; | ||
} | ||
return score[0]>score[1]; |
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.
The logic is repeated four times. Would it be possible to reduce the copy-paste, e.g. for those having a Track
object calling the sortByScore(const Track&, const Track&))
, and here where that is not possible, abstract the score calculation (=for loop) to an inlined function that is then called also from sortByScore()
?
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 would agree with Matti here, definitely the less copy-paste the better :)
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.
Fixed.
mkFit/CandCloner.cc
Outdated
|
||
|
||
float validHitBonus_=2.5; | ||
float missingHitPenalty_=20.0; |
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.
Why hardcode the constants here instead of taking them via Config
? (same for sortCandByScore()
in `MkBuilder.cc)
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.
These values are actually already sitting in Config.h. So, these two lines are actually not needed.
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.
Fixed.
Hey Mario, I have a few comments:
|
Hi Matti, Kevin, @makortel I have tried to 'welcome' your suggestions, and rearranged the code. |
Track.h
Outdated
int nmisshits[2] = {cand1.first.nTotalHits()-cand1.first.nFoundHits(),cand2.first.nTotalHits()-cand2.first.nFoundHits()}; | ||
float chi2[2] = {cand1.first.chi2(),cand2.first.chi2()}; | ||
float pt[2] = {cand1.first.pT(),cand2.first.pT()}; | ||
return sortByScoreLoop(nfoundhits,nmisshits,chi2,pt); |
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.
Thanks @mmasciov. Would return sortByScoreCand(cand1.first, cand2.first);
work 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, why not. I have fixed this, and compilation doesn't complain. Thanks.
@mmasciov , thanks for the cleanups -- looks nice! As for the crashes in the validation: this is a known issue with SlurpIn when running too many events with lots of events in flight. We can skirt around the crash if we run fewer events in the validation (when using MEIF). OR, if you are concerning about the stats, we can keep the number of events the same, but then disable the MEIF validation:
So, could you try running the validation with 500 events, but turning off MEIF? |
The crashes on SNB are concerning... can you post the logs of one of the SNB tests? |
As for the crashes with large number of events: 250 events work fine, and it's enough for my purposes. As for the crashes on SNB: note that they happen even without changing a comma in the code, freshly cloned. I can submit another benchmark, and point do not clean the logs (when I move the benchmarks on lxplus). |
Huh. Okay, well, then that is really concerning. MT's PR also showed crashes on KNL... |
For SNB, the logs do not help (me) much:
|
After looking into this, I think there's an issue with my repository in /data2/nfsmic/: I have created a new repository (mmasciovtc), and now things appear to be working. |
Ah , yes after the update to phi1 , usernames in the data directories got all screw up. @osschar, can you fix Mario's directories on phi1 and phi2? |
I took care of this. Actually while I was at it, I went ahead and assigned the correct owners and groups to all the remaining goofed-up directories (and their contents recursively) in /data2/nfsmic. (By the way, the latter directory is not nfs-mounted at this point, now that mic0 and mic1 are gone.) The exception is CMS-Geom, because I don't know who is supposed to own that one.
Steve
From: Kevin McDermott [mailto:notifications@github.com]
Sent: Friday, October 12, 2018 9:59 AM
To: cerati/mictest
Cc: Subscribed
Subject: Re: [cerati/mictest] Candidate ranking à la CMSSW (#167)
Ah , yes after the update to phi1 , usernames in the data directories got all screw up. @osschar<https://github.com/osschar>, can you fix Mario's directories on phi1 and phi2?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#167 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AHooysmKPpDCcSG6qfYR2ly3HnHxU1mHks5ukKAPgaJpZM4XES1s>.
|
thanks Steve! |
As discussed in today's meeting, we decided that this is a definite need, so we merged it. However, two points remain:
|
https://mmasciov.web.cern.ch/mmasciov/benchmarks_cmsswranking_forPR/