-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Speed seeding for HLT #13819
Speed seeding for HLT #13819
Conversation
@cmsbuild, please test |
The tests are being triggered in jenkins. |
A new Pull Request was created by @VinInn (Vincenzo Innocente) for CMSSW_8_1_X. It involves the following packages: DataFormats/GeometrySurface @civanch, @Dr15Jones, @cvuosalo, @ianna, @mdhildreth, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
inline double halfPi() {return 0.5*3.141592653589793238;} | ||
inline constexpr double pi() {return 3.141592653589793238;} | ||
inline constexpr double twoPi() {return 2. *3.141592653589793238;} | ||
inline constexpr double halfPi() {return 0.5*3.141592653589793238;} |
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 not use M_PI, 2. * M_PI, M_PI_2 ?
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.
because is like this since orca times...
(somewhere else you will find CLHEP::pi())
I would not mind to go back to old good C macros
(as already done elsewhere)
-1 Tested at: 38fa966 ---> test runtestTqafTopEventSelection had ERRORS you can see the results of the tests here: |
cannot find the failed test |
comparison shows no regression |
I noticed the truntestTqafTopEventSelection fails also in #13820 |
@@ -129,6 +129,8 @@ void TrackerGeometry::addDetUnitId(DetId p){ | |||
} | |||
|
|||
void TrackerGeometry::addDet(GeomDet const * p) { | |||
// set index | |||
const_cast<GeomDet *>(p)->setGdetIndex(theDets.size()); |
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.
static analyzer is not happy with (yet another) const_cast in this file.
Why are they even here, should the method signature be changed instead?
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.
it would require modifications in the whole TrackerGeometry building code...
let's wait it stabilize for PhaseII, then we can clean it up.
@@ -119,9 +125,10 @@ class GeomDet { | |||
|
|||
ReferenceCountingPointer<Plane> thePlane; | |||
DetId m_detId; | |||
int m_index; | |||
int m_index=-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.
@VinInn - it would be nice to clean up the class code a bit: sort public, protected and private members, name the latter either with leading m_* or the*, indent the code consistently.
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.
It would be nice to cleanup all old code in general yes.
takes time and effort.
Let's schedule it for PhaseI (this code is candidate for backport to 800).
-1 Tested at: 426feb3 ---> test runtestTqafTopEventSelection had ERRORS you can see the results of the tests here: |
is this runtestTqafTopEventSelection failing randomly? last time was in #13831 ... (which now passed tests with full marks!) |
+1
|
+1 |
not sure why simulation is involved, @civanch I am sure nothing should change in sim |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_1_X IBs (but tests are reportedly failing). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar |
: thePhiAtVertex(phiAtVertex), theCurvature(curvature), | ||
theOriginRBound (originRBound), theTolerance(tolerance) { } | ||
theOriginRBound (originRBound) { | ||
assert(theCurvature.max()>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.
Hmm, in our TSG tests we suddenly hit this assert:
# Conditions read from CMS_CONDITIONS via FrontierProd
%MSG-i ThreadSetup: (NoModuleName) 07-Jun-2016 19:17:49 CEST pre-events
setting # threads 4
%MSG
07-Jun-2016 19:18:00 CEST Initiating request to open file file:RelVal_Raw_GRun_DATA.root
07-Jun-2016 19:18:01 CEST Successfully opened file file:RelVal_Raw_GRun_DATA.root
isBH_ 18:13:18:0
Begin processing the 1st record. Run 272762, Event 41669009, LumiSection 51 at 07-Jun-2016 19:18:58.423 CEST
Begin processing the 2nd record. Run 272762, Event 41468301, LumiSection 51 at 07-Jun-2016 19:18:58.425 CEST
Begin processing the 3rd record. Run 272762, Event 41643921, LumiSection 51 at 07-Jun-2016 19:18:58.438 CEST
Begin processing the 4th record. Run 272762, Event 41555597, LumiSection 51 at 07-Jun-2016 19:18:58.459 CEST
cmsRun: /build/cmsbuild/jenkins-workarea/workspace/build-any-ib/w/tmp/BUILDROOT/6eb14a8c47f34962dae9df674c18b15e/opt/cmssw/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_1_X_2016-06-05-0000/src/RecoTracker/TkTrackingRegions/src/OuterHitPhiPrediction.h:23: OuterHitPhiPrediction::OuterHitPhiPrediction(const Range&, const Range&, float): Assertion `theCurvature.max()>0' failed.
This is obviously problematic!
In particular if this is to be backported to 80X!
That this shows only now is/seems to be related that our now failing tests (real data) now use 2016 real data (before they were using 2015 real data).
At this stage I need to remove the assert; is that OK?
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.
would like to know how to reproduce
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.
For example, using: CMSSW_8_1_X_2016-06-08-2300, add PR #14811,
and execute addOnTests.py -t hlt_data_GRun
- this works.
Then edit the file RecoTracker/TkTrackingRegions/src/OuterHitPhiPrediction.h:23
and put back the assert
and run the above addOn again. Then there is a crash!
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.
BTW, it seems related to the GT used: if I use the HLT GT 80X_dataRun2_HLT_frozen_v12
it crashes. If I use the reco GT 80X_dataRun2_v14
it does not crash. But of course we
need to use the HLT GT, so is there something missing in there?
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.
@Martin-Grunewald if a record would be missing it would crash before the first event.
I would argue that the difference of calibrations between 80X_dataRun2_v14
(data re-reco, no IOVs from 2016), vs 80X_dataRun2_HLT_frozen_v12
(online GT, IOVs from 2016) is causing the problem you report.
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.
@mmusich
Thanks a lot for the explanation.
Following this, I shall change from auto:run2_hlt
to auto:run2_hlt_relval
for the TSG/HLTrigger side (and I assume DQM should do the same given the use cases shown in your link), so that we can then get rid of auto:run2_hlt
in autoCond.py.
Actually there could be a relval use case for auto:run2_hlt
in the future: imagine
a frozen HLT menu used for relvals which uses some version of L1T which in future
may not be the then latest one in auto:run2_hlt_relval
Here are the PR to move to 'relval' GTs for hlt and data in the TSG tests: #14849 and #14850
(cmsDriver is not modified as there the string is just used as a radix where more gets appended)
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.
In both case is still wrong to reconstuct data taken past the snapshot
I agree, but is there some kind of protection or check to detect when this happens ?
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.
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.
@fwyzard @Martin-Grunewald
To further clarify: specify a snapshot in a GT make sense only when the underlying condition set is 'a good one' and is frozen. In practice, the GT with snapshot are targeted to specific (non-evolving) data sets. The usage for data 'in the future' wrt the snapshot is in general inappropriate.
That said, we could add a warning to remark the usage outside the snapshot boundary, although this doesn't necessarily consists in something wrong in itself...
It's more about to set up a policy and how strict we want to be ( in the usage of GT with snapshot ). We might even decide to 'close the iovs' and generate an error.
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.
Closed IOVs are the mechanism the framework expects to be used to catch such problems.
Reconstructing a 3.8T run with 0T conditions explain the failing assert. |
backport of #13819: Speed seeding for HLT
Speeding up seeding in LHT for electron and regional
negligible regressions expected due to numerics
fyi @mtosi @fwyzard @matteosan1
offline mtv at
http://innocent.home.cern.ch/innocent/RelVal/pu35_81_fhlt
candidate to back port if hlt asks for