-
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
PurgeDuplicates test-vectors (11_3_X) #70
PurgeDuplicates test-vectors (11_3_X) #70
Conversation
string stubid2 = "111111111"; | ||
string stubid3 = "111111111"; | ||
const std::string Tracklet::layerstubstr(const unsigned layer) const { | ||
assert(layer <= 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.
super minor but can the 5 be a constant? (like N_DISK if that's what the 5 means)
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.
correction: can be "layer < N_LAYER" ? where N_LAYER==6 (didn't read properly first...)
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.
Done.
} | ||
const FPGAWord tmp(trackIndex_, 7, true, __LINE__, __FILE__); |
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.
can we avoid hardcoded "7"?
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.
Done.
} | ||
} | ||
const std::string Tracklet::diskstubstr(const unsigned disk) const { | ||
assert(disk <= 4); |
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.
similarly here, can this be "disk < N_DISK" where N_DISK=5 from Settings.h?
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.
Done.
if (!diskresid_[disk].valid()) | ||
oss << "0|0000000|0000000000|000000000000|000000000000|0000000"; | ||
else { | ||
if (trackIndex_ < 0 || trackIndex_ > 127) { |
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.
avoid 127 hardcoded if possible
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.
Done.
@tomalin could you please have a look and see that you agree with the updates, then we can merge this? thanks! |
Are the names of the output memories sensible?
|
No, not really. I was hesitant to change the names because they are somewhat baked into the wiring files. That being said, I don't have an opinion one way or the other, so if you would like the names changed, I will change them. If so, I would propose doing the following:
} else if (memType == "TrackFit:" || memType == "BuiltTrack:") {
addMemToVec(BT_, memName, settings_, isector_, phimin_, phimax_);
} else if (memType == "CleanTrack:" || memType == "DupKilled:") {
addMemToVec(DK_, memName, settings_, isector_, phimin_, phimax_);
Technically, we don't need to update the names of the memories in the wiring files, but I think consistency is a good goal. |
@aryd as you're preparing C++ wiring code, would the proposed memory name change mentioned above cause any problems that you can see? |
I have not looked through the code; but is this backward compatible in
the sense that you can still run the workflow with the 'old' trackfit
and the duplicate removal? In particular, is the BT_ and DK_ new types
of memories? If so I presume that they would not work with the track fit
and the duplicate removal.
…On 2/19/21 12:00 PM, Ian Tomalin wrote:
@aryd <https://github.com/aryd> as you're preparing C++ wiring code,
would the proposed memory name change mentioned above cause any
problems that you can see?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#70 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABI4LTIGJMQOP3N6IO4R6B3S72KLBANCNFSM4XRBXU7Q>.
--
===========================================================================
Anders Ryd E-mail: Anders.Ryd@cornell.edu
Phone: 1-607-255-2529 (PSB), +41-75-411-5765 or 165765 (CERN)
Address: Cornell University, 393 Physical Sciences Building, Ithaca NY 14853
|
@aryd No, these would just be new names for what are now known as the TrackFitMemory and CleanTrackMemory. Nothing about the classes would change other than their names, which are meant to better reflect their roles in the hybrid algorithm. |
I favour the name change. I think the TrackFitMemory name is particularly confusing. If we decide to go ahead with it, (i.e. if it is not too much work), I assume we'll have to make the same name change in the HLS code too). And yes the updated data files would go in https://github.com/cms-data/L1Trigger-TrackTracklet.git . (We could perhaps put both old & new names there for a while, to minimise problems). We'd also have to put the name change in both python & C++ wiring scripts. The name change can be done as a separate PR, so I am approving this one. |
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've checked the code quality. And run the code and verified that we get output files.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
…ms-patatrack#106) Can be included with the following snippet in the configuration: from RecoPixelVertexing.Configuration.customizePixelTracksForProfiling import customizePixelTracksForProfiling process = customizePixelTracksForProfiling(process) Removes validation, DQM, and output modules. As suggested in #70 (comment), an `AsciiOutputModule` is used to require the `pixelTracks`.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
* Various changes for outputting PurgeDuplicates test-vectors. * Removed some magic numbers. * Updated trackfitstr() to be more readable and include more comments. * Removed more magic.
@skinnari @tomalin
PR description:
This is a duplicate of PR #69, but rebased to L1TK-dev-11_3_0_pre3.
This PR includes various changes needed to output a first version of the test-vectors for the development of the PurgeDuplicates HLS module, including both the TrackBuilder and TrackMerger steps.
These changes involve turning on writing the TrackFitMemories and CleanTrackMemories (corresponding to the output vectors for the TrackBuilder and TrackMerger, respectively) in the TrackletEventProcessor, and adjusting the output format in Tracklet::trackfitstr(). The stub r has also been added in Tracklet::fullmatchstr() and Tracklet::fullmatchdiskstr() (input vectors for the TrackBuilder).
PR validation:
Running the code with writeMem set to true in Settings.h correctly produces the test-vectors currently in use for development of the PurgeDuplicates module. The usual code checks and format scripts have also been run.