ATLAS Offline Software
Loading...
Searching...
No Matches
PU1SuppTools.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
14
15#ifndef PU1SUPPTOOLS_H
16#define PU1SUPPTOOLS_H
17
18#include <bitset>
19#include <cstdint>
20#include <iosfwd>
21#include <string>
22#include <vector>
23
24#include "GaudiKernel/MsgStream.h"
25#include "GaudiKernel/StatusCode.h"
26
27namespace GlobalSim {
28
31using rho_type = uint16_t;
32using tob_type = uint64_t;
33using et_type = uint16_t;
34using phi_type = uint8_t;
35using eta_type = int;
36using rsvd_type = int;
37using rho_index_type = std::size_t;
38using eta_index_type = std::size_t;
40
44void printFullNumber(const std::vector<std::bitset<64>> &number, MsgStream& msg);
45
49std::string remakeFullNumberToBinary(
50 const std::vector<std::bitset<64>> &number);
51
55std::string remakeFullNumberToHex(const std::vector<std::bitset<64>> &number,
56 MsgStream &msg);
57
61void readInputTOB(std::bitset<64> tob_data, et_type &et_value,
62 eta_type &eta_value, phi_type &phi_value,
63 rsvd_type &rsvd_data);
64
68void writeFullNumberOut(std::ostream &outFile,
69 std::vector<std::bitset<64>> &line, MsgStream &msg);
70
75
80
89StatusCode runSimulation(std::vector<std::bitset<64>> &entry,
90 const std::vector<std::vector<et_type>> &lut,
91 rho_type rho_data, MsgStream &msg);
92
93} // namespace GlobalSim
94
95#endif // PU1SUPPTOOLS_H
Scalar eta() const
pseudorapidity method
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...
std::string remakeFullNumberToBinary(const std::vector< std::bitset< 64 > > &number)
Converts a vector of 4x 64-bit TOBs to a 256-bit binary string.
std::string remakeFullNumberToHex(const std::vector< std::bitset< 64 > > &number, MsgStream &msg)
Converts a vector of 4x 64-bit TOBs to a 64-character hex string.
int rsvd_type
Integer for reserved data field.
eta_index_type Eta_to_index_Converter(eta_type eta)
Converts a raw eta value to its LUT index.
uint16_t rho_type
16-bit type for pileup energy density
void printFullNumber(const std::vector< std::bitset< 64 > > &number, MsgStream &msg)
Prints a full 256-bit number (4x 64-bit).
int eta_type
Signed integer for pseudorapidity.
uint64_t tob_type
64-bit type for individual TOB segment
std::size_t rho_index_type
Index derived from rho value.
StatusCode runSimulation(std::vector< std::bitset< 64 > > &entry, const std::vector< std::vector< et_type > > &lut, rho_type rho_data, MsgStream &msg)
Applies LUT-based suppression logic to a vector of TOBs.
std::size_t eta_index_type
Index derived from eta value.
void readInputTOB(const std::bitset< 64 > tob_data, et_type &et_value, eta_type &eta_value, phi_type &phi_value, rsvd_type &rsvd_data)
Extracts ET, eta, phi, and reserved bits from a 64-bit TOB.
void writeFullNumberOut(std::ostream &outFile, std::vector< std::bitset< 64 > > &line, MsgStream &msg)
Writes a vector of TOBs as a hex string to an output stream.
uint16_t et_type
16-bit type for transverse energy
rho_index_type Rho_to_index_Converter(rho_type rho)
Converts a raw rho value to its LUT index.
uint8_t phi_type
8-bit type for azimuthal angle
MsgStream & msg
Definition testRead.cxx:32
std::string number(const double &d, const std::string &s)
Definition utils.cxx:186