-
Notifications
You must be signed in to change notification settings - Fork 27
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
Consolidation of Phase-2 e/g object interface #1181
Consolidation of Phase-2 e/g object interface #1181
Conversation
e85678f
to
4e390f9
Compare
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 reasonable to me
refRemapper.origRefAndPtr.push_back(std::make_pair(refEg, tkele.trkPtr())); | ||
emu.sta_idx = refRemapper.origRefAndPtr.size() - 1; | ||
|
||
// FIXME: this is hugly |
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.
?
@@ -87,15 +87,16 @@ namespace l1ct { | |||
z0_t hwZ0; | |||
tkdeta_t hwDEta; // relative to the region center, at calo | |||
tkdphi_t hwDPhi; // relative to the region center, at calo | |||
id_score_t hwIDScore; |
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 the two comments above on hwDEta and hwDPhi are misleading
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
…idate and cleanup TkElectron interface
…n pv-based isolation. Set charge of TkElectrons
4e390f9
to
c71ee04
Compare
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.
But perhaps better to use the standard defaultconstructor for null Ptrs rather than the constructor for a temporary ptr object with a null ptr
if (trkPtr_.isNonnull()) { | ||
setTrkzVtx(trkPtr()->POCA().z()); | ||
} | ||
} | ||
|
||
TkElectron::TkElectron(const LorentzVector& p4, float tkisol) | ||
: TkElectron(p4, edm::Ptr<L1Candidate>(nullptr, 0), edm::Ptr<L1TTTrackType>(nullptr, 0), tkisol) {} |
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.
: TkElectron(p4, edm::Ptr<L1Candidate>(nullptr, 0), edm::Ptr<L1TTTrackType>(nullptr, 0), tkisol) {} | |
: TkElectron(p4, edm::Ptr<L1Candidate>(), edm::Ptr<L1TTTrackType>(), tkisol) {} |
TkEm::TkEm(const LorentzVector& p4, const edm::Ref<EGammaBxCollection>& egRef, float tkisol) | ||
: TkEm(p4, egRef, tkisol, -999) {} | ||
TkEm::TkEm(const LorentzVector& p4, float tkisol, float tkisolPV) | ||
: TkEm(p4, edm::Ptr<L1Candidate>(nullptr, 0), tkisol, tkisolPV) {} |
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.
: TkEm(p4, edm::Ptr<L1Candidate>(nullptr, 0), tkisol, tkisolPV) {} | |
: TkEm(p4, edm::Ptr<L1Candidate>(), tkisol, tkisolPV) {} |
} | ||
refRemapper.origRefAndPtr.push_back(std::make_pair(refEg, edm::Ptr<RefRemapper::L1TTTrackType>(nullptr, 0))); | ||
emu.sta_idx = refRemapper.origRefAndPtr.size() - 1; | ||
constituentsPtrs.push_back(std::make_pair(tkem.egCaloPtr(), edm::Ptr<L1TTTrackType>(nullptr, 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.
constituentsPtrs.push_back(std::make_pair(tkem.egCaloPtr(), edm::Ptr<L1TTTrackType>(nullptr, 0))); | |
constituentsPtrs.push_back(std::make_pair(tkem.egCaloPtr(), edm::Ptr<L1TTTrackType>())); |
PR to master is cms-sw#43317 |
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found no issues with the headers!
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no files with code format issues!
|
3ad78a5
into
cms-l1t-offline:phase2-l1t-integration-13_3_0_pre3
Tagged as |
PR description:
This PR addresses several issues with the interface of
TkElectron
andTkEm
objects and the HW objects used by the Phase2 GT emulator:Egamma
standalone objects since they are not the actual ancestors due to architectural choice in L1T hardware. The ref is replaced by anedm::Ptr
to the calorimeter primitive (different in barrel and endcap).TkElectron
interface and of data members;TkElectrons
;TkElectron
coordinates.NOTE: backward compatibility is maintained via IO rule in the reflex dictionary.
PR validation:
Successfully tested reading files produced with previous versions of the object data formats.