1 #ifndef DataFormats_L1TVertex_VertexWord_h 2 #define DataFormats_L1TVertex_VertexWord_h 63 typedef ap_fixed<VertexBitWidths::kZ0Size, VertexBitWidths::kZ0MagSize, AP_RND_CONV, AP_SAT>
vtxz0_t;
64 typedef ap_ufixed<VertexBitWidths::kNTrackInPVSize, VertexBitWidths::kNTrackInPVSize, AP_RND_CONV, AP_SAT>
66 typedef ap_ufixed<VertexBitWidths::kSumPtSize, VertexBitWidths::kSumPtMagSize, AP_RND_CONV, AP_SAT>
69 typedef ap_ufixed<VertexBitWidths::kNTrackOutPVSize, VertexBitWidths::kNTrackOutPVSize, AP_RND_CONV, AP_SAT>
74 typedef std::bitset<VertexBitWidths::kVertexWordSize>
vtxword_bs_t;
75 typedef ap_uint<VertexBitWidths::kVertexWordSize>
vtxword_t;
121 ret.V =
vertexWord()(VertexBitLocations::kZ0MSB, VertexBitLocations::kZ0LSB);
125 return vertexWord()(VertexBitLocations::kNTrackInPVMSB, VertexBitLocations::kNTrackInPVLSB);
129 ret.V =
vertexWord()(VertexBitLocations::kSumPtMSB, VertexBitLocations::kSumPtLSB);
133 return vertexWord()(VertexBitLocations::kQualityMSB, VertexBitLocations::kQualityLSB);
136 return vertexWord()(VertexBitLocations::kNTrackOutPVMSB, VertexBitLocations::kNTrackOutPVLSB);
139 return vertexWord()(VertexBitLocations::kUnassignedMSB, VertexBitLocations::kUnassignedLSB);
182 unsigned int digitized_maximum = (1 << nBits) - 1;
183 if (bits & (1 << (nBits - 1))) {
185 bits = (1 << (nBits + 1)) - bits;
187 return (
double(bits & digitized_maximum) + 0.5) *
lsb * isign;
VertexRef vertexRef() const
unsigned int ptBits() const
ap_uint< VertexBitWidths::kUnassignedSize > vtxunassigned_t
unsigned int unassigned() const
ap_uint< VertexBitWidths::kVertexWordSize > vtxword_t
vtxquality_t qualityWord() const
ap_ufixed< VertexBitWidths::kNTrackInPVSize, VertexBitWidths::kNTrackInPVSize, AP_RND_CONV, AP_SAT > vtxmultiplicity_t
vtxsumpt_t ptWord() const
ret
prodAgent to be discontinued
unsigned int quality() const
unsigned int z0Bits() const
void setVertexWord(vtxvalid_t valid, vtxz0_t z0, vtxmultiplicity_t multiplicity, vtxsumpt_t pt, vtxquality_t quality, vtxinversemult_t inverseMultiplicity, vtxunassigned_t unassigned)
unsigned int inverseMultiplicityBits() const
VertexWord & operator=(const VertexWord &word)
std::bitset< VertexBitWidths::kVertexWordSize > vtxword_bs_t
vtxmultiplicity_t multiplicityWord() const
unsigned int qualityBits() const
vtxinversemult_t inverseMultiplicityWord() const
unsigned int multiplicityBits() const
ap_ufixed< VertexBitWidths::kNTrackOutPVSize, VertexBitWidths::kNTrackOutPVSize, AP_RND_CONV, AP_SAT > vtxinversemult_t
unsigned int validBits() const
ap_fixed< VertexBitWidths::kZ0Size, VertexBitWidths::kZ0MagSize, AP_RND_CONV, AP_SAT > vtxz0_t
void setVertexRef(const VertexRef &ref)
ap_ufixed< VertexBitWidths::kSumPtSize, VertexBitWidths::kSumPtMagSize, AP_RND_CONV, AP_SAT > vtxsumpt_t
std::vector< VertexWord > VertexWordCollection
ap_uint< VertexBitWidths::kQualitySize > vtxquality_t
VertexWord(const VertexWord &word)
vtxunassigned_t unassignedWord() const
unsigned int unassignedBits() const
edm::Ref< l1t::VertexCollection > VertexRef
unsigned int multiplicity() const
double unpackSignedValue(unsigned int bits, unsigned int nBits, double lsb) const
vtxvalid_t validWord() const
unsigned int inverseMultiplicity() const
vtxword_t vertexWord() const
ap_uint< VertexBitWidths::kValidSize > vtxvalid_t