18 const std::vector<xAOD::EventInfo::SubEvent> &subEventsSource = eventInfo->
subEvents();
19 std::vector<std::reference_wrapper<const xAOD::EventInfo::SubEvent>> subEvents(subEventsSource.begin(), subEventsSource.end());
22 return (a.ptr()->bcid() < b.ptr()->bcid()) ||
23 ((a.ptr()->bcid() == b.ptr()->bcid()) && (a.type() < b.type())) ||
24 ((a.ptr()->bcid() == b.ptr()->bcid()) && (a.type() == b.type()) && (a.ptr()->eventNumber() < b.ptr()->eventNumber()));
51 std::string sourceStr =
m_stream.str();
53 MD5 md5Hash(sourceStr);
62 mixture.
lowBits |= (
static_cast<unsigned long long>(hash[i]) << (i *
sizeof(
unsigned char) * CHAR_BIT));
63 mixture.
highBits |= (
static_cast<unsigned long long>(hash[i +
PILEUP_SIZE_BYTES]) << (i *
sizeof(
unsigned char) * CHAR_BIT));
73 hash[i] |= (mixture.
lowBits >> (i *
sizeof(
unsigned char) * CHAR_BIT));
solar's public-domain MD5, wrapped for C++.
A helper class to compute a hash of pile-up events.
void uuid_digest(uuid_t &uuid) const
void clearHashSource()
Clear the stream.
std::stringstream m_stream
void addToHashSource(const std::string &string)
Add a plain string to the stream.
void calculateHash(uuid_t &hash) const
Calculate the hash.
static void pileUpMixtureIdToUuid(const xAOD::EventInfo::PileUpMixtureID &mixture, uuid_t &hash)
xAOD::EventInfo::PileUpMixtureID to uuid_t
static xAOD::EventInfo::PileUpMixtureID uuidToPileUpMixtureId(const uuid_t &hash)
Convert uuid_t to xAOD::EventInfo::PileUpMixtureID.
static const uint16_t PILEUP_SIZE_BYTES
Size of individual low/high bits in bytes.
Class describing the properties of one pileup sub-event.
uint32_t bcid() const
The bunch crossing ID of the event.
const std::vector< SubEvent > & subEvents() const
Get the pileup events that were used in the simulation.
@ Signal
The signal event.
void stable_sort(DataModel_detail::iterator< DVL > beg, DataModel_detail::iterator< DVL > end)
Specialization of stable_sort for DataVector/List.
EventInfo_v1 EventInfo
Definition of the latest event info version.
Unique pile-up mixture identifier definition.