-
Notifications
You must be signed in to change notification settings - Fork 5
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
MP cleanup 220208 + MC fix #133
Conversation
Will the emulation fix to the MC, needed to give agreement with HLS, be submitted as a separate PR? |
@aryd have you pushed the MC updates, or were all those fixes just in the HLS implementation? |
The git CI does not validate the hybrid tracking using the combined modules. Please confirm that you've used L1TrackNtuplePlot.C to check that after this code change, the tracking performance from the summary printout is roughly unchanged. e.g. Efficiency = ~95%. |
It looks like that script relies on |
Unfortunately, if I do: |
I have just now pushed the changes for the MC in the emulation to the MP_cleanup_220208 branch. I’m doing some check to make sure this is OK. (I guess you rebased this branch? I picked up a number of other changes when I did a ‘git pull’….)
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 2:01 PM, Brent R. Yates ***@***.******@***.***>> wrote:
Will the emulation fix to the MC, needed to give agreement with HLS, be submitted as a separate PR?
@aryd<https://github.com/aryd> have you pushed the MC updates, or were all those fixes just in the HLS implementation?
—
Reply to this email directly, view it on GitHub<#133 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABI4LTOTP5Y4DCLU4JCSXBTU3KPHDANCNFSM5OPKST5A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Yes this is the convention I invented for pipeline variable. I have used this both on the C++ emulation and HLS. Don’t know if there is a better way to name these?
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 2:06 PM, Brent R. Yates ***@***.******@***.***>> wrote:
@bryates commented on this pull request.
________________________________
In L1Trigger/TrackFindingTracklet/interface/MatchEngineUnit.h<#133 (comment)>:
@@ -95,13 +101,22 @@ namespace trklet {
//LUT for bend consistency with rinv
const TrackletLUT& luttable_;
- //Pipeline variables
- std::pair<Tracklet*, const Stub*> tmppair_;
- bool goodpair_;
- bool havepair_;
+ VMStubME vmstub__, vmstub___;
These are the pipelined variables, so each underscore corresponds to the pipeline depth.
—
Reply to this email directly, view it on GitHub<#133 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABI4LTKWDL74ZGLDTP325HTU3KP3BANCNFSM5OPKST5A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
OK - the latest code does not seem to run.
I’m running:
cmsRun L1TrackNtupleMaker_cfg.py
and it fails with:
Thread 1 (Thread 0x7f12781e4540 (LWP 5822)):
#0 0x00007f127a07dddd in poll () from /lib64/libc.so.6
#1 0x00007f1273ed67b7 in full_read.constprop () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#2 0x00007f1273ed70ec in edm::service::InitRootHandlers::stacktraceFromThread() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#3 0x00007f1273eda59b in sig_dostack_then_abort () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#4 <signal handler called>
#5 0x00007f1222f43af0 in edm::eventsetup::CallbackProxy<edm::eventsetup::Callback<trackerDTC::ProducerLayerEncoding, std::unique_ptr<trackerDTC::LayerEncoding, std::default_delete<trackerDTC::LayerEncoding> >, trackerDTC::LayerEncodingRcd, edm::eventsetup::CallbackSimpleDecorator<trackerDTC::LayerEncodingRcd> >, trackerDTC::LayerEncodingRcd, std::unique_ptr<trackerDTC::LayerEncoding, std::default_delete<trackerDTC::LayerEncoding> > >::invalidateCache() () from /afs/cern.ch/work/a/aryd/public/12_0_0_pre4_MP_Fixes/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginTrackerDTCPlugins.so<http://cern.ch/work/a/aryd/public/12_0_0_pre4_MP_Fixes/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginTrackerDTCPlugins.so>
#6 0x00007f127cbe6aa1 in edm::eventsetup::EventSetupRecordImpl::invalidateProxies() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#7 0x00007f127cbe4930 in edm::FunctorWaitingTask<edm::eventsetup::EventSetupRecordIOVQueue::startNewIOVAsync(edm::WaitingTaskHolder const&, edm::WaitingTaskList&)::{lambda(edm::LimitedTaskQueue::Resumer)#1}::operator()(edm::LimitedTaskQueue::Resumer)::{lambda(std::__exception_ptr::exception_ptr const*)#1}>::execute() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#8 0x00007f127cb6950f in tbb::detail::d1::function_task<edm::WaitingTaskHolder::doneWaiting(std::__exception_ptr::exception_ptr)::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#9 0x00007f127b3afd0b in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter> (this=0x7f1276b5be00, t=0x7f1276a16700, waiter=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.h:396
#10 0x00007f127b3ac7e5 in tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter> (waiter=..., t=0x0, this=0x7f1276b5be00) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.cpp:178
#11 tbb::detail::r1::task_dispatcher::execute_and_wait (t=0x0, wait_ctx=..., w_ctx=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.cpp:168
#12 0x00007f127cb8fdb6 in edm::EventProcessor::taskCleanup() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#13 0x000000000040bb2c in tbb::detail::d1::task_arena_function<main::{lambda()#1}::operator()() const::{lambda()#1}, void>::operator()() const ()
#14 0x00007f127b394970 in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/arena.cpp:674
#15 0x000000000040ca58 in main::{lambda()#1}::operator()() const ()
#16 0x000000000040b62c in main ()
This seems to be related to the TrackerDTC? Not obviously in the code I had modified. I will look and see if I understand what is going on. (This was running before I did the ‘git pull’).
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 5:27 PM, Anders Ryd ***@***.******@***.***>> wrote:
I have just now pushed the changes for the MC in the emulation to the MP_cleanup_220208 branch. I’m doing some check to make sure this is OK. (I guess you rebased this branch? I picked up a number of other changes when I did a ‘git pull’….)
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 2:01 PM, Brent R. Yates ***@***.******@***.***>> wrote:
Will the emulation fix to the MC, needed to give agreement with HLS, be submitted as a separate PR?
@aryd<https://github.com/aryd> have you pushed the MC updates, or were all those fixes just in the HLS implementation?
—
Reply to this email directly, view it on GitHub<#133 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABI4LTOTP5Y4DCLU4JCSXBTU3KPHDANCNFSM5OPKST5A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Never mind - I did a ’scram b clean’ at the top and rebuilt all code. Seems to work OK now.
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 5:42 PM, Anders Ryd ***@***.******@***.***>> wrote:
OK - the latest code does not seem to run.
I’m running:
cmsRun L1TrackNtupleMaker_cfg.py
and it fails with:
Thread 1 (Thread 0x7f12781e4540 (LWP 5822)):
#0 0x00007f127a07dddd in poll () from /lib64/libc.so.6
#1 0x00007f1273ed67b7 in full_read.constprop () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#2 0x00007f1273ed70ec in edm::service::InitRootHandlers::stacktraceFromThread() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#3 0x00007f1273eda59b in sig_dostack_then_abort () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginFWCoreServicesPlugins.so>
#4 <signal handler called>
#5 0x00007f1222f43af0 in edm::eventsetup::CallbackProxy<edm::eventsetup::Callback<trackerDTC::ProducerLayerEncoding, std::unique_ptr<trackerDTC::LayerEncoding, std::default_delete<trackerDTC::LayerEncoding> >, trackerDTC::LayerEncodingRcd, edm::eventsetup::CallbackSimpleDecorator<trackerDTC::LayerEncodingRcd> >, trackerDTC::LayerEncodingRcd, std::unique_ptr<trackerDTC::LayerEncoding, std::default_delete<trackerDTC::LayerEncoding> > >::invalidateCache() () from /afs/cern.ch/work/a/aryd/public/12_0_0_pre4_MP_Fixes/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginTrackerDTCPlugins.so<http://cern.ch/work/a/aryd/public/12_0_0_pre4_MP_Fixes/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/pluginTrackerDTCPlugins.so>
#6 0x00007f127cbe6aa1 in edm::eventsetup::EventSetupRecordImpl::invalidateProxies() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#7 0x00007f127cbe4930 in edm::FunctorWaitingTask<edm::eventsetup::EventSetupRecordIOVQueue::startNewIOVAsync(edm::WaitingTaskHolder const&, edm::WaitingTaskList&)::{lambda(edm::LimitedTaskQueue::Resumer)#1}::operator()(edm::LimitedTaskQueue::Resumer)::{lambda(std::__exception_ptr::exception_ptr const*)#1}>::execute() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#8 0x00007f127cb6950f in tbb::detail::d1::function_task<edm::WaitingTaskHolder::doneWaiting(std::__exception_ptr::exception_ptr)::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#9 0x00007f127b3afd0b in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter> (this=0x7f1276b5be00, t=0x7f1276a16700, waiter=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.h:396
#10 0x00007f127b3ac7e5 in tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter> (waiter=..., t=0x0, this=0x7f1276b5be00) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.cpp:178
#11 tbb::detail::r1::task_dispatcher::execute_and_wait (t=0x0, wait_ctx=..., w_ctx=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/task_dispatcher.cpp:168
#12 0x00007f127cb8fdb6 in edm::EventProcessor::taskCleanup() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so<http://cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_0_pre4/lib/slc7_amd64_gcc900/libFWCoreFramework.so>
#13 0x000000000040bb2c in tbb::detail::d1::task_arena_function<main::{lambda()#1}::operator()() const::{lambda()#1}, void>::operator()() const ()
#14 0x00007f127b394970 in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_0_0_pre4-slc7_amd64_gcc900/build/CMSSW_12_0_0_pre4-build/BUILD/slc7_amd64_gcc900/external/tbb/v2021.2.0-llifpc/tbb-v2021.2.0/src/tbb/arena.cpp:674
#15 0x000000000040ca58 in main::{lambda()#1}::operator()() const ()
#16 0x000000000040b62c in main ()
This seems to be related to the TrackerDTC? Not obviously in the code I had modified. I will look and see if I understand what is going on. (This was running before I did the ‘git pull’).
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 5:27 PM, Anders Ryd ***@***.******@***.***>> wrote:
I have just now pushed the changes for the MC in the emulation to the MP_cleanup_220208 branch. I’m doing some check to make sure this is OK. (I guess you rebased this branch? I picked up a number of other changes when I did a ‘git pull’….)
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 15, 2022, at 2:01 PM, Brent R. Yates ***@***.******@***.***>> wrote:
Will the emulation fix to the MC, needed to give agreement with HLS, be submitted as a separate PR?
@aryd<https://github.com/aryd> have you pushed the MC updates, or were all those fixes just in the HLS implementation?
—
Reply to this email directly, view it on GitHub<#133 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABI4LTOTP5Y4DCLU4JCSXBTU3KPHDANCNFSM5OPKST5A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Good to know, it crashed on my end too, but I thought the file was complete. I'll run a clean compile on my end to make sure it works. |
This fails git CI, because MP_cleanup_220208 did not start from the latest version of L1TK-dev-12_0_0_pre4. |
b2dfa3e
to
415ab54
Compare
I just did another rebase and force push. I also did a clean compile on my end, and it no longer crashes. I was also able to run
which agrees with @tomalin's comment from earlier. |
Yes. But to expand: The correct number of projections to process is 105. But I changed the code so that the three clocks that are lost due to the merging process in HLS is now explicit in the emulation code. I think that this makes it easier to understand the code.
-Anders
Anders Ryd
***@***.******@***.***>
On Feb 16, 2022, at 6:07 PM, Ian Tomalin ***@***.******@***.***>> wrote:
@tomalin commented on this pull request.
________________________________
In L1Trigger/TrackFindingTracklet/interface/Settings.h<#133 (comment)>:
@@ -780,7 +780,7 @@ namespace trklet {
{"TC", 108},
{"PR", 108},
{"ME", 108},
- {"MC", 104},
Is the change in the MC truncation from 104 back to 108 intentional?
—
Reply to this email directly, view it on GitHub<#133 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABI4LTNYLTXZBED7HPD4DS3U3QU4ZANCNFSM5OPKST5A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Please add comment at end of line https://github.com/cms-L1TK/cmssw/blob/MP_cleanup_220208/L1Trigger/TrackFindingTracklet/interface/Settings.h#L783 , where MC truncation is set equal to 108, saying something like "But MC emulation subtracts 3 clks from this". |
Done. cmssw/L1Trigger/TrackFindingTracklet/interface/Settings.h Lines 783 to 786 in df1154e
|
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.
Looks good
* fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Some updates to MP to converge with HLS code * Further clenup of the MP code * More cleanup -removal of hardcoded numbers * Further cleanup * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion * Some updates to MP to converge with HLS code * Further clenup of the MP code * More cleanup -removal of hardcoded numbers * Further cleanup * Fixes to the MC to allow full agreement with HLS * Added a comment header and pipeline description * Added comment about MC iterations Co-authored-by: Thomas Schuh <thomas.schuh@stfc.ac.uk> Co-authored-by: Anders <aryd@cern.ch>
Include commit from fw_synch_210611 (#86) * Fixes to remove unused TPROJ memory and fix problem with VMR LUT in L6 * apply code-formats and code-checks Co-authored-by: Anders <aryd@cern.ch> Update Settings.h (#89) TE truncation reduced from 108 to 107, as requested in #85 Update geometry and MC files (#91) L1 tk dev 12 0 0 pre4 hph (#94) * First Commit * Code Format * Fix Typo * Naming Rule * Chris' 2nd Comment Co-authored-by: Jack Li <jingyan.li@cern.ch> Reduced configuration (#87) * Modified code to support a reduced config (the summer chain) * Updates from running code checker. * Reverted to standard configuration options. * Reverted to standard configuration options. * Settings used to make TV for event 1912 * Reverted to default settings for PR. * Made some of the TV changes in issue 85, and created output TVs 2021-08-04-TTbar-SimpleFWHarmonization. * Clarified comments * Include commit from fw_synch_210611 (#86) * Fixes to remove unused TPROJ memory and fix problem with VMR LUT in L6 * apply code-formats and code-checks Co-authored-by: Anders <aryd@cern.ch> * Returning to standard config. * Returning to standard config. * Returning to standard config. * Update geometry and MC files (#91) * Included reduced variable in non-reduced setups for consistency. * Updated settings to match default configuration rather than HLS compatibility * Added comment about reduced config files Co-authored-by: Tova Holmes <tholmes@cern.ch> Co-authored-by: Louise Skinnari <louise.skinnari@cern.ch> Co-authored-by: Anders <aryd@cern.ch> Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Revert "L1 tk dev 12 0 0 pre4 hph (#94)" (#95) This reverts commit 3b2f139. fix getPhiRes function (#97) New KF (hand merged with L1TK-dev-12_0_0_pre4) (#88) * initial commit. * renamed KFout producer to TT producer * KFout producer and analyzer added. Producer is so far only a skeleton. * small includings fix. * quick TTTypes fix * comments for ian * initial commit. * renamed KFout producer to TT producer * KFout producer and analyzer added. Producer is so far only a skeleton. * small includings fix. * quick TTTypes fix * comments for ian * small script modifications * little ntuple maker mod. * readding fake fit config interface. * track tigger association added, not in the best way. * tttrack associator added as it should be. * option to use TTStubAssMap to associate TTTracks with TPs removed and output module cleaned up. * Added Hybrid_NewKF * Added comment * Update L1TrackNtupleMaker_cfg.py fix typo made by Ian * added tmtt costumization and fakefit option to tracklet config * data format fix * README filled and Configuration.StandardSequences.L1TrackTrigger_cff removed from run scripts. * associateFinal added to StubAssociation. * Update README.md English corrections * minor changes in various comments. * KF 7 layer tracking debugged and defaulted. * turned supported geometry white list into a black list. * Cbrown kfout (#93) * Initial Commit for Kfout emulator * with ttTrackRefMap back in * Correct link structure and eta routing * No more print statements * Remove print statements * Merge changes in kfout producer * Thomas' comments #1 * Thomas' comments #2 * Change dphi/dz LUT scaling to num of bits * Fix bug to phi sector correction * sync with FW fix * Commit of distribution server for clock accuracy * Fix to undefined operation on numLinkTracks * Fix to numLinkTracks #2 Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Co-authored-by: Chriisbrown <41648127+Chriisbrown@users.noreply.github.com> fix of KFin EnableTruncation option. (#99) * quick fix of KFin EnableTruncation option. * both, enable and disabel truncation fixed. Fix to KF out for multiple KF workers (#100) code-format, llvm-ccdb and clang-tidy (#103) Fixed clang errors (#104) several bug fixes. (#108) * bug fixes. * code format * GlobalTag update. * forgot a bug fix in AnalyzerDemonstrator. add number of TTCluster to DTC analzyer end job summary (#109) * count of TTCluster added to endjob summary printout. * rebase to L1TK-dev-12_0_0_pre4 and code format. Added git CI (#106) * Added git CI * Run CI on PR to any branch * Make L1TRKALGO configurable * tweak * Added script to skim MC datasets for git CI * Remove L1TRKALGO option * Gave CI more sensible name Update github_CI.yml temporary debug check Memory cleanup (#98) * Cleanup of writing leading 0x in memories * Cleanup of obsolote comment * Change order of input links to match VMRouter expectation * Add support for debugging * Remove one pipelining step to match HLS * Determine the PS vs 2S in disks same way as we do in HLS * Some cleanup * Correction to LUT code * Comment out printout * Ran scram build code-format * Update comment about IR steps * Cleanup of obsolote comment * Remove one pipelining step to match HLS * Determine the PS vs 2S in disks same way as we do in HLS * Correction to LUT code * Ran scram build code-format phiprojder bug fix (#116) Channel Assignment TrackBuilder output Tracks + Stubs and InputRouter input Stubs (#110) * track builder channel upgraded to assign stubs to channel. * code format * readded missing pieces. * renamed TrackBuilderChannel to ChannelAssignment now also containing DTC to IR mapping * name change in L1Trigger/TrackFindingTracklet/python/ProducerKF_cff.py * bug fix * name change of config parameter * code-format * namespace change and consitency check added. * addressing ians comments * addressing ians comments TP_minPt and binning fix (#118) Updated VMR maxstep to 107 (originally 108) to match firmware (#119) Minor improvements (#120) * Minor improvements * Added comments Dropped MC to 104 iterations (#123) - Full agreement with HLS Fixing integer range check in FPGAWord. (#125) * fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion * Fix < to <= to avoid overflow by one Co-authored-by: Brent R. Yates <brentRyates@gmail.com> Co-authored-by: Anders <aryd@cern.ch> Fix KF Track Parameter Digitization (#127) * Fix KF Track Parameter Digitization * Add comments to Track.h summer chain demonstrator (#111) * track builder channel upgraded to assign stubs to channel. * renamed TrackBuilderChannel to ChannelAssignment now also containing DTC to IR mapping * ProducerIRin and ProducerTBout added, Demonstrator configured by default to use them. * rebase with tschuh_TrackBuilder and code format * StreamsStub added as EDProduct of L1FPGATrackProducer * code format. * convert only finally accepted Tracklets to StreamsStub. * undo last commit, adding trackword ed product and adding gaps to stubs and tracks to get clock accurate emulation. * swap bugfix. * rebased and name change of TrackBuilderChannel adopted. * fixing rebase errors. * fixing more rebase errors. * fixing even more rebase errors. * first comments from Ian. * code format * second comments from Ian. * code format * Ians third comments. * Ians 4th comments. * small merge error fix * Added comment * Refine comment * miniscule comment change Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Fixed comparisons to avoid overflow. (#128) MP HLS agreement fixes (#126) * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Fixes to get agreement with HLS code * fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion Co-authored-by: Brent R. Yates <brentRyates@gmail.com> Co-authored-by: Thomas Schuh <thomas.schuh@stfc.ac.uk> Update Settings.h (#130) Fix "storeTrackBuilderOutput_" typo Update Setup.cc (#129) Change trackerDTC::Setup to tt::Setup . (Bug fix) Update LayerEncoding.h (#131) * Update LayerEncoding.h Add function to access layer corresponding to given DTC channel. (Needed by L1Trk Future CMSSW code). * Update LayerEncoding.h response to comment + fix to previous commit * Update LayerEncoding.cc Initialize data member numDTCsPerRegion_ * Update LayerEncoding.h added comment * Update LayerEncoding.h clarified comment Test vector fixes (#132) * Made eventProcessor a member of the producer. * Output TC tables in the reduced config. MP cleanup 220208 + MC fix (#133) * fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Some updates to MP to converge with HLS code * Further clenup of the MP code * More cleanup -removal of hardcoded numbers * Further cleanup * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * fixing integer range check in FPGAWord. * Fixing `zmatchcut_` for L1 and L2 * Undo the -0.06 in Settings.h as there is a cleaner fix to the overflows * Slight rewerite to use <= instead < and not do subtracktion * Some updates to MP to converge with HLS code * Further clenup of the MP code * More cleanup -removal of hardcoded numbers * Further cleanup * Fixes to the MC to allow full agreement with HLS * Added a comment header and pipeline description * Added comment about MC iterations Co-authored-by: Thomas Schuh <thomas.schuh@stfc.ac.uk> Co-authored-by: Anders <aryd@cern.ch> customize L1FPGATrackProducer (#112) * track builder channel upgraded to assign stubs to channel. * renamed TrackBuilderChannel to ChannelAssignment now also containing DTC to IR mapping * StreamsStub added as EDProduct of L1FPGATrackProducer * code format. * convert only finally accepted Tracklets to StreamsStub. * undo last commit, adding trackword ed product and adding gaps to stubs and tracks to get clock accurate emulation. * swap bugfix. * rebased and name change of TrackBuilderChannel adopted. * fixing rebase errors. * fixing more rebase errors. * fixing even more rebase errors. * track builder channel upgraded to assign stubs to channel. * renamed TrackBuilderChannel to ChannelAssignment now also containing DTC to IR mapping * StreamsStub added as EDProduct of L1FPGATrackProducer * rebased and name change of TrackBuilderChannel adopted. * criteria to build track updated, TBout works now for all seed types. * StreamsStub added as EDProduct of L1FPGATrackProducer * use customize function to manipulate L1FPGATrackProducer configuration * rebase to tschuh_SummerChain, customize updated to set EmulateTB, demonstrator counts now the amount of passed events. * initial counter values fixed. * rebase and reduce config customize function extended * fixing merge errors. * Ians first comments. * rebase and Ians secodn comments. * Update ChannelAssignment_cfi.py * Ians third comments. * Ians fourth comments. Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Update Customize_cff.py (#135) TBout analyzer (#114) * Reviewed. * one merge error fixed, but a problem remains * fixed second error. * Update AnalyzerTBout.cc Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Fix d0 bias (#124) * Fix d0 bias * Documented KF maths and variables Ian tidy up (#137) * Added function to convert ATCA slot to DTC name * Moved dtcname to Settings.h and put underscore at end of settings * Declared functions const if dont change data members * Added comments to clarify params overridden by python cfg * Added comment * Removed duplicate function TCNAme disable truncation for displaced tracking (#142) DTC phi range hard-wired constants removed (#141) * Added function to get num ATCA slots * Added comment * Automatically calc DTC phi ranges * Improved comments * Added comment * Simplified phi offset calc * Fixed missing half-sector rotation bug * Added comments * Changed dtcphirange.txt to numbers instead of C++ code Displaced tracking phi fix (#147) * usephiapprox on modify NtupleMaker cfg for grid jobs * added displaced terms to phi calculation in TrackletCalculatorDisplaced * reverting changes unrelated to phi correction Jack hph (#146) * First Commit * Code Format * Fix Typo * Naming Rule * Chris' 2nd Comment * Fixing Bug * Ian's 1st Comments * Ian's 2nd Comment: Remove SensorModule Class * Ian's 3rd comment: Get rid of magic numbers * Ian's 4th Comment: Add more clarification * Code-check Co-authored-by: Jack Li <jingyan.li@cern.ch> Adding new features to ntuplemaker (#148) Co-authored-by: Jack Li <jingyan.li@cern.ch> Update StubAssociation.cc (#145) as requested a separate PR. Update github_CI.yml Fixed incorrect comment KFin emulator (#143) * initial commit. * move ProducerTBout.cc from test to plugins * KFin fully debugged. * Producer TBout added to NTupleMaker * chriss change to KFout * Louises first comments. * fixing rebase errors. * KF reintegrated, stub residuals are not bit accurate yet. * code format. * added 1k ttbar@0PU events for internal kf maths tuning. * Track builder r residual debug and KF digi function corrected. * bug in z residual base fixed. * Ians first comments. * Ians secodn comments. * recalculate z ressid from TTStubRefs, use TTStubRefs for seed stubs instead of fake stubs. * Ians third comment. * fixed comments TTDTC::Frames -> tt::Frames * old stub uncertainty caclulation re-enabled. * Ians 4th comments. * code-checks. * tilted stub z uncertainty fixed. not yet debugged against f/w. * set max layers a kff adds to a track to 7 as we did in the past, no clue why it is 4 again ... * agrrement with f/w, ready to merge. Fix rare crash in KF (#151) * Fix rare crash in KF * Fixed line break Removed obsolete parameter. (#152) quick ntuple fix (#153) * L1TrackNtupleMaker_cfg.py updated reduced workflow. * further cleaning. Update L1TrackNtupleMaker_cfg.py fixed typo Removal of dependencies of ChannelAssignement (#144) * This code includes a new implementation of the Track and Stub Streams generation. The old code is still running in parallel. * Remove code for old calculation of stream data - keeping the debug print out in this commit * Remove debud printout * added numSeedTypes function * rebased Anders branch * rebased Anders branch * tidied up Anders branch * tidied up Anders branch * ran scram b code-format * Thomas PR review comments * max num of proj layers added to channel assignment. * merge with Thomas commit Co-authored-by: Ian Tomalin <ian.tomalin@stfc.ac.uk> Co-authored-by: Thomas Schuh <thomas.schuh@stfc.ac.uk> Ran second auto formatter tool (#154) * Ran second auto formatter tool * tweak Update ProducerSetup_cfi.py correct comment in code Update Customize_cff.py add comment in code Tracklet Processor Displaced (#159) * Tracklet Processor Displaced * code-format * code-format again * remove unnecessary comments and add explanation for header file * implement more comments * remove more magic numbers Update track quality chi2 bins (#161) * update chi2 bins * change chi2 variables to be per dof Ian L1TStub bug fix (#160) * Ran second auto formatter tool * tweak * Fixed bug in L1TStub::isTilted function * Update L1TrackNtupleMaker_cfg.py Removed unnecessary line * Update L1FPGATrackProducer.cc Fix incorrect tiltedBarrel variable in endcap rebase and scram b code-format ran formatter tool 2 tweak Update chi2 tq bins (#165) * change binning method used by track quality * clean TrackQuality class to only create features used by default classifier * ran scram b -j8 clang-format Added tilted and endcap module ring no. to L1TStub (#166) * Added tilted and endcap module ring no. to L1TStub * auto formatting Fix stub order bug (#164) * fix to stub order bug * fix to stub order bug * Updated to one::EDAnalyzer * ran scram b code format * Fixed bug for combined modules Update MatchCalculator.cc Added comment. rebase git conflict resolution rebase git conflict resolution rebase git conflict resolution Remove obsolete FWCore functions (#168) Updated data/ files tweak Reduce L1 tracking CPU (#172) * Reduce CPU use * Reduce CPU * Reduce CPU * Added track quality plots * updated geom * Trivial variable renames * Moved RunTime call to constructor to save CPU * Removed debug calcs from VarBase::calculate * Optimised a bit more VarBase::calculate * optimise CPU further * auto format Update L1TrackNtupleMaker.cc Restored consumes<TrackingVertex>. Not required, but keeps CPU expensive loading of TrackingVertexCollection where it was to make CPU comparisons easier. Removed CI .yml files & data/ directory to allow PR to central CMSSW
PR description:
This PR brings the emulation back into agreement with the HLS implementation of the MP. This includes properly emulating the manual pipelining implemented in HLS.
It also fixes the MC.
PR validation:
Full agreement in all MP barrel layers