|
ATLAS Offline Software
|
Go to the documentation of this file.
33 std::vector<std::pair<float, const TrigFTF_GNN_Node*> > phiBuckets[32];
37 for(
const auto&
n :
m_vn) {
39 int bIdx = (
int)(0.5*nBuckets*(
n->phi()/(
float)
M_PI + 1.0f));
40 phiBuckets[bIdx].push_back(std::make_pair(
n->phi(),
n));
43 for(
auto&
b : phiBuckets) {
44 std::sort(
b.begin(),
b.end());
48 for(
const auto&
b : phiBuckets) {
49 for(
const auto&
p :
b) {
58 if(
m_vn.empty())
return;
64 for(
unsigned int nIdx=0;nIdx<
m_vn.size();nIdx++) {
65 m_in[nIdx].reserve(50);
74 auto [min_iter, max_iter] = std::minmax_element(
m_vn.begin(),
m_vn.end(),
82 for(
unsigned int nIdx=0;nIdx<
m_vn.size();nIdx++) {
90 for(
unsigned int nIdx=0;nIdx<
m_vn.size();nIdx++) {
95 for(
unsigned int nIdx=0;nIdx<
m_vn.size();nIdx++) {
124 for(
const auto&
node : coll) {
139 if(cluster_width > 0.2)
continue;
161 for(
const auto&
node : coll) {
202 for(
unsigned int layerIdx=0;layerIdx<nL;layerIdx++) {
220 if(
B.empty())
continue;
222 for(
unsigned int nIdx=0;nIdx<
B.m_vn.size();nIdx++) {
229 float min_tau = 6.7*(cluster_width - 0.2);
230 float max_tau = 1.6 + 0.15/(cluster_width + 0.2) + 6.1*(cluster_width - 0.2);
232 B.m_params[nIdx][0] = min_tau;
233 B.m_params[nIdx][1] = max_tau;
241 for(
auto&
b :
m_etaBins)
b.generatePhiIndexing(dphi);
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
std::vector< std::vector< unsigned int > > m_in
Scalar phi() const
phi method
unsigned int num_layers() const
const Amg::Vector2D & widthPhiRZ() const
std::vector< int > m_bins
std::vector< TrigFTF_GNN_EtaBin > m_etaBins
TrigFTF_GNN_DataStorage(const TrigFTF_GNN_Geometry &)
void generatePhiIndexing(float)
std::vector< std::pair< float, unsigned int > > m_vPhiNodes
const TrigInDetSiLayer & m_layer
unsigned int numberOfNodes() const
unsigned int binIndex(const T &val, const std::vector< T > &partitions)
general utility function to return bin index given a value and the upper endpoints of each bin
int loadPixelGraphNodes(short, const std::vector< TrigFTF_GNN_Node > &, bool)
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByIndex(int) const
void initializeNodes(bool)
void generatePhiIndexing(float)
const InDet::SiWidth & width() const
return width class reference
int loadStripGraphNodes(short, const std::vector< TrigFTF_GNN_Node > &)
const TrigFTF_GNN_Geometry & m_geo
std::vector< const TrigFTF_GNN_Node * > m_vn
int getEtaBin(float, float) const
~TrigFTF_GNN_DataStorage()
std::vector< std::array< float, 5 > > m_params