-
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
DTC_merge2 branch updated to 1130 #74
Conversation
… moving functionality to Sector.
…implifies/unifies the code and makes it similar to the HLS
…d then move to the next sector. This saves memory
writeVMTable(settings_.tablePath(), "VMTableOuter" + fnamesuffix + ".tab", vmrtabletedisk_); | ||
} | ||
} | ||
// write disk teouter tables (D1, D2, D4) |
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.
indentation problems 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.
This was more than indentation - a { was misplaced. Has been corrected.
@@ -28,6 +28,11 @@ namespace trklet { | |||
//Almost full if writer ptr incremented by 1 or 2 is same as read ptr | |||
bool almostfull() const { return (((wptr_ + 1) % size_) == rptr_) || (((wptr_ + 2) % size_) == rptr_); } | |||
|
|||
//Almost full if writer ptr incremented by 1 or 2 is same as read ptr |
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 comment for "nearfull" is identical to that of "almostfull" - can they be made more meaningful to distinguish?
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 comment.
@@ -0,0 +1,53 @@ | |||
// This holds two classes: L1SimTrack (truth level simulated track), and SLHCEvent (support for maintaining standalone running) |
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.
fix comment, this now holds just one class "L1SimTrack"
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 - comment made relevant to the class.
@@ -43,10 +38,14 @@ namespace trklet { | |||
|
|||
unsigned int layer() const { return layer_; } | |||
int disk() const { | |||
if (layerdisk_ < 6) { |
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.
6 => N_LAYER ?
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.
if (layerdisk_ < 6) { | ||
return 0; | ||
} | ||
int disk = layerdisk_ - 5; |
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.
5 => "(N_LAYER-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.
Fixed.
unsigned int nrzbin, | ||
unsigned int rzbin, | ||
unsigned int iphi, | ||
int shift, |
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 "formatting" makes me suspect that code formats have not been run? (in cmssw: scram b code-format )
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.
Ran the reformat command (53 files updated)
} | ||
|
||
int lutval = -1; | ||
if (iSeed_ < 6) { //FIXME should only be one table... |
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.
fix fixme?
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.
Not now - need non-trivial coordination with HLS development.
assert(ireg * nbins + ibin < outervmstubs_->nBin()); | ||
int nstubs = outervmstubs_->nVMStubsBinned(ireg * nbins + ibin); | ||
|
||
if (print) |
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.
cout
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.
Removed.
continue; | ||
|
||
int absz = std::abs(stub->z().value()); | ||
if (layerdisk_ == 1 && absz < 50.0 / settings_.kz(layerdisk_)) |
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.
what are the 50.0, 95.0, 55.0, 70.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.
Cut on z or r position - replaced with more meaningful constants.
if (bin < 0) | ||
bin = 0; | ||
if (bin >= NBINS / 2) | ||
bin = NBINS / 2 - 1; | ||
//bin = NBINS / 2 - 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.
what's going on here? should this out-commented be deleted or is it a temporary fix?
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.
Should be deleted - now done.
@@ -7,9 +7,15 @@ | |||
<use name="root"/> | |||
<use name="heppdt"/> | |||
<use name="CommonTools/UtilAlgos"/> | |||
<use name="CondFormats/Alignment"/> |
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 seems to be a fail in merging. this build file has been cleaned up by central CMSSW so these changes should be reverted.
i made a bunch of comments as i went through this code, to keep track on things that need to be fixed minimally prior to making a PR to central CMSSW. it's just cosmetics, so if this is needed for HLS developments i can merge it and we get the cleanups implemented separately? this is assuming that tracking performance is still good, which I am in the process of checking too. |
Update on performance @aryd -- displaced tracking crashes on first event (maybe this was known already, lost track): cmsRun: /afs/cern.ch/work/s/skinnari/workarea/L1TK/PR_new/CMSSW_11_3_0_pre3/src/L1Trigger/TrackFindingTracklet/src/Sector.cc:103: bool trklet::Sector::addStub(trklet::L1TStub, std::string): Assertion `nadd == 1' failed. -- performance comparison is attached for hybrid tracking with ttbar + PU200: efficiency is slightly reduced in particular for negative eta, it seems. |
Louise,
thanks for checking this. Yes the displaced tracking is not working; I
have fixed some problems locally in the configuration such that it now
runs - but there are still some efficiency issues I'm trying to resolve.
The efficiency for the default tracking can probably be improved a
little by tuning the bend pt cuts for the new bend encoding in the new
DTC code. The new code has the truncation now carefully adjusted to
correspond to what we can do in HLS. So the emulation is not realistic
with respect to what we can do in HLS.
I will look at the other comments on the code a.s.a.p.
-Anders
…On 4/2/21 2:44 PM, Louise Skinnari wrote:
Update on performance @aryd <https://github.com/aryd>
-- displaced tracking crashes on first event (maybe this was known
already, lost track):
cmsRun:
/afs/cern.ch/work/s/skinnari/workarea/L1TK/PR_new/CMSSW_11_3_0_pre3/src/L1Trigger/TrackFindingTracklet/src/Sector.cc:103:
bool trklet::Sector::addStub(trklet::L1TStub, std::string): Assertion
`nadd == 1' failed.
-- performance comparison is attached for hybrid tracking with ttbar +
PU200: efficiency is slightly reduced in particular for negative eta,
it seems.
L1TK-comparison_2april2021.pdf
<https://github.com/cms-L1TK/cmssw/files/6250863/L1TK-comparison_2april2021.pdf>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#74 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABI4LTJQOMS4MJAK34RLFYTTGYGCTANCNFSM4YPRFMXQ>.
--
===========================================================================
Anders Ryd E-mail: ***@***.***
Phone: 1-607-255-2529 (PSB), +41-75-411-5765 or 165765 (CERN)
Address: Cornell University, 393 Physical Sciences Building, Ithaca NY 14853
|
* Anders DTC merge with a gazillion manual fixes * propagate buildfile fixes * code formats * fix cherrypick mess up * Remove LayerProjection class * Further cleanup of tracklet projections interface * Correct number of processing steps by changing < to <= * Add missing include of algorithm * Remove extra const * Remove some commented out code * Remove duplicate code * Fix message logger and DTC Stub for consistency with hybrid configuration * Fix problem with writing of input link memories * Create Residual class that will replace LayerResidual and DiskResidual * Remove the use of the class DiskResiduals * Remove unused nMatch and nMatchDisk method of Tracklet * (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector. * Combine addMatch method for disk and layers into on method * combine the disk and layer match into one method * Remove some redundant poiters to l1tstubs * Pass iSeed to Tracklet * Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS * Cleanup of writing the DTC link files * Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory * Interface updates for CMSSW following change to module processing order * Change in VMRouter to processing PS links before 2S in disks * Cleanup of unused iSector variable in processs and memory modules * Fixes to make the HybridTracks_cfg.py run * Cleanup of hardcoded numbers etc. * Updates to MP to put all regions into one memory slot in the ProjectionTemp * Fix to calculation of irinv for projections - no matches what is done in HLS * Remove now unused file paths for the old cable mapping code * Correct missplaced curly bracket * Fixes for the displaced tracking * Fix to avoid duplicate VMSTE name in D1 for standard configuration * Address comments from Louise S. * Ran scram b code-format * Address comments from Louise S. * Addressing more comments from Louise S. * More fixes to comments * Make running hybrid default (not displaced) * restore buildfile * Add DTC link config to Settings.h * Changes to suppress warning in MatchCalculator when running displaced tracking * Fix typo introduced in code cleanup for MatchProcessor Co-authored-by: Anders Ryd <[email protected]> Co-authored-by: Anders <[email protected]>
* Anders DTC merge with a gazillion manual fixes * propagate buildfile fixes * code formats * fix cherrypick mess up * Remove LayerProjection class * Further cleanup of tracklet projections interface * Correct number of processing steps by changing < to <= * Add missing include of algorithm * Remove extra const * Remove some commented out code * Remove duplicate code * Fix message logger and DTC Stub for consistency with hybrid configuration * Fix problem with writing of input link memories * Create Residual class that will replace LayerResidual and DiskResidual * Remove the use of the class DiskResiduals * Remove unused nMatch and nMatchDisk method of Tracklet * (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector. * Combine addMatch method for disk and layers into on method * combine the disk and layer match into one method * Remove some redundant poiters to l1tstubs * Pass iSeed to Tracklet * Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS * Cleanup of writing the DTC link files * Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory * Interface updates for CMSSW following change to module processing order * Change in VMRouter to processing PS links before 2S in disks * Cleanup of unused iSector variable in processs and memory modules * Fixes to make the HybridTracks_cfg.py run * Cleanup of hardcoded numbers etc. * Updates to MP to put all regions into one memory slot in the ProjectionTemp * Fix to calculation of irinv for projections - no matches what is done in HLS * Remove now unused file paths for the old cable mapping code * Correct missplaced curly bracket * Fixes for the displaced tracking * Fix to avoid duplicate VMSTE name in D1 for standard configuration * Address comments from Louise S. * Ran scram b code-format * Address comments from Louise S. * Addressing more comments from Louise S. * More fixes to comments * Make running hybrid default (not displaced) * restore buildfile * Add DTC link config to Settings.h * Changes to suppress warning in MatchCalculator when running displaced tracking * Fix typo introduced in code cleanup for MatchProcessor Co-authored-by: Anders Ryd <[email protected]> Co-authored-by: Anders <[email protected]>
* Anders DTC merge with a gazillion manual fixes * propagate buildfile fixes * code formats * fix cherrypick mess up * Remove LayerProjection class * Further cleanup of tracklet projections interface * Correct number of processing steps by changing < to <= * Add missing include of algorithm * Remove extra const * Remove some commented out code * Remove duplicate code * Fix message logger and DTC Stub for consistency with hybrid configuration * Fix problem with writing of input link memories * Create Residual class that will replace LayerResidual and DiskResidual * Remove the use of the class DiskResiduals * Remove unused nMatch and nMatchDisk method of Tracklet * (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector. * Combine addMatch method for disk and layers into on method * combine the disk and layer match into one method * Remove some redundant poiters to l1tstubs * Pass iSeed to Tracklet * Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS * Cleanup of writing the DTC link files * Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory * Interface updates for CMSSW following change to module processing order * Change in VMRouter to processing PS links before 2S in disks * Cleanup of unused iSector variable in processs and memory modules * Fixes to make the HybridTracks_cfg.py run * Cleanup of hardcoded numbers etc. * Updates to MP to put all regions into one memory slot in the ProjectionTemp * Fix to calculation of irinv for projections - no matches what is done in HLS * Remove now unused file paths for the old cable mapping code * Correct missplaced curly bracket * Fixes for the displaced tracking * Fix to avoid duplicate VMSTE name in D1 for standard configuration * Address comments from Louise S. * Ran scram b code-format * Address comments from Louise S. * Addressing more comments from Louise S. * More fixes to comments * Make running hybrid default (not displaced) * restore buildfile * Add DTC link config to Settings.h * Changes to suppress warning in MatchCalculator when running displaced tracking * Fix typo introduced in code cleanup for MatchProcessor Co-authored-by: Anders Ryd <[email protected]> Co-authored-by: Anders <[email protected]>
* Anders DTC merge with a gazillion manual fixes * propagate buildfile fixes * code formats * fix cherrypick mess up * Remove LayerProjection class * Further cleanup of tracklet projections interface * Correct number of processing steps by changing < to <= * Add missing include of algorithm * Remove extra const * Remove some commented out code * Remove duplicate code * Fix message logger and DTC Stub for consistency with hybrid configuration * Fix problem with writing of input link memories * Create Residual class that will replace LayerResidual and DiskResidual * Remove the use of the class DiskResiduals * Remove unused nMatch and nMatchDisk method of Tracklet * (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector. * Combine addMatch method for disk and layers into on method * combine the disk and layer match into one method * Remove some redundant poiters to l1tstubs * Pass iSeed to Tracklet * Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS * Cleanup of writing the DTC link files * Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory * Interface updates for CMSSW following change to module processing order * Change in VMRouter to processing PS links before 2S in disks * Cleanup of unused iSector variable in processs and memory modules * Fixes to make the HybridTracks_cfg.py run * Cleanup of hardcoded numbers etc. * Updates to MP to put all regions into one memory slot in the ProjectionTemp * Fix to calculation of irinv for projections - no matches what is done in HLS * Remove now unused file paths for the old cable mapping code * Correct missplaced curly bracket * Fixes for the displaced tracking * Fix to avoid duplicate VMSTE name in D1 for standard configuration * Address comments from Louise S. * Ran scram b code-format * Address comments from Louise S. * Addressing more comments from Louise S. * More fixes to comments * Make running hybrid default (not displaced) * restore buildfile * Add DTC link config to Settings.h * Changes to suppress warning in MatchCalculator when running displaced tracking * Fix typo introduced in code cleanup for MatchProcessor Co-authored-by: Anders Ryd <[email protected]> Co-authored-by: Anders <[email protected]>
* Anders DTC merge with a gazillion manual fixes * propagate buildfile fixes * code formats * fix cherrypick mess up * Remove LayerProjection class * Further cleanup of tracklet projections interface * Correct number of processing steps by changing < to <= * Add missing include of algorithm * Remove extra const * Remove some commented out code * Remove duplicate code * Fix message logger and DTC Stub for consistency with hybrid configuration * Fix problem with writing of input link memories * Create Residual class that will replace LayerResidual and DiskResidual * Remove the use of the class DiskResiduals * Remove unused nMatch and nMatchDisk method of Tracklet * (Re-)Implement the correction to writing the DTC data link file after moving functionality to Sector. * Combine addMatch method for disk and layers into on method * combine the disk and layer match into one method * Remove some redundant poiters to l1tstubs * Pass iSeed to Tracklet * Introduce an InputRouter module. Does not change functionality, but simplifies/unifies the code and makes it similar to the HLS * Cleanup of writing the DTC link files * Change processing order such that all steps in one sector are done and then move to the next sector. This saves memory * Interface updates for CMSSW following change to module processing order * Change in VMRouter to processing PS links before 2S in disks * Cleanup of unused iSector variable in processs and memory modules * Fixes to make the HybridTracks_cfg.py run * Cleanup of hardcoded numbers etc. * Updates to MP to put all regions into one memory slot in the ProjectionTemp * Fix to calculation of irinv for projections - no matches what is done in HLS * Remove now unused file paths for the old cable mapping code * Correct missplaced curly bracket * Fixes for the displaced tracking * Fix to avoid duplicate VMSTE name in D1 for standard configuration * Address comments from Louise S. * Ran scram b code-format * Address comments from Louise S. * Addressing more comments from Louise S. * More fixes to comments * Make running hybrid default (not displaced) * restore buildfile * Add DTC link config to Settings.h * Changes to suppress warning in MatchCalculator when running displaced tracking * Fix typo introduced in code cleanup for MatchProcessor Co-authored-by: Anders Ryd <[email protected]> Co-authored-by: Anders <[email protected]>
TEST: Anders' DTC_merge2 branch manual porting
~4 large changes (use of new DTC code; TrackletConfigBuilder; updates to combined modules; and cleanup of the Projection and Residuals classes (no longer separate for Disk and Layers). But also lots of small cleanup.