ATLAS Offline Software
Public Member Functions | Protected Attributes | List of all members
TrigFTF_GNN_DataStorage Class Reference

#include <GNN_DataStorage.h>

Collaboration diagram for TrigFTF_GNN_DataStorage:

Public Member Functions

 TrigFTF_GNN_DataStorage (const TrigFTF_GNN_Geometry &)
 
 ~TrigFTF_GNN_DataStorage ()
 
int addSpacePoint (const TrigSiSpacePointBase &, bool)
 
unsigned int numberOfNodes () const
 
void getConnectingNodes (std::vector< const TrigFTF_GNN_Node * > &)
 
void sortByPhi ()
 
void generatePhiIndexing (float)
 
const TrigFTF_GNN_EtaBingetEtaBin (int idx) const
 

Protected Attributes

const TrigFTF_GNN_Geometrym_geo
 
std::vector< TrigFTF_GNN_EtaBinm_etaBins
 

Detailed Description

Definition at line 83 of file GNN_DataStorage.h.

Constructor & Destructor Documentation

◆ TrigFTF_GNN_DataStorage()

TrigFTF_GNN_DataStorage::TrigFTF_GNN_DataStorage ( const TrigFTF_GNN_Geometry g)

Definition at line 67 of file GNN_DataStorage.cxx.

67  : m_geo(g) {
68 
69 
70  for(int k=0;k<g.num_bins();k++) {
71  m_etaBins.push_back(TrigFTF_GNN_EtaBin());
72  }
73 }

◆ ~TrigFTF_GNN_DataStorage()

TrigFTF_GNN_DataStorage::~TrigFTF_GNN_DataStorage ( )

Definition at line 75 of file GNN_DataStorage.cxx.

75  {
76 
77 }

Member Function Documentation

◆ addSpacePoint()

int TrigFTF_GNN_DataStorage::addSpacePoint ( const TrigSiSpacePointBase sp,
bool  useML = false 
)

Definition at line 79 of file GNN_DataStorage.cxx.

79  {
80 
82  if(pL==nullptr) return -1;
83 
84  int binIndex = pL->getEtaBin(sp.z(), sp.r());
85 
86  if(binIndex == -1) {
87  return -2;
88  }
89 
90  bool isBarrel = (pL->m_layer.m_type == 0);
91 
92  if(isBarrel) {
93  float min_tau = -100.0;
94  float max_tau = 100.0;
95  if (useML) {
96  const Trk::SpacePoint* osp = sp.offlineSpacePoint();
97  const InDet::PixelCluster* pCL = dynamic_cast<const InDet::PixelCluster*>(osp->clusterList().first);
98  float cluster_width = pCL->width().widthPhiRZ().y();
99  min_tau = 6.7*(cluster_width - 0.2);
100  max_tau = 1.6 + 0.15/(cluster_width + 0.2) + 6.1*(cluster_width - 0.2);
101  }
102  m_etaBins.at(binIndex).m_vn.push_back(new TrigFTF_GNN_Node(sp, min_tau, max_tau));
103  }
104  else {
105  if (useML) {
106  const Trk::SpacePoint* osp = sp.offlineSpacePoint();
107  const InDet::PixelCluster* pCL = dynamic_cast<const InDet::PixelCluster*>(osp->clusterList().first);
108  float cluster_width = pCL->width().widthPhiRZ().y();
109  if(cluster_width > 0.2) return -3;
110  }
111  m_etaBins.at(binIndex).m_vn.push_back(new TrigFTF_GNN_Node(sp));
112  }
113 
114  return 0;
115 }

◆ generatePhiIndexing()

void TrigFTF_GNN_DataStorage::generatePhiIndexing ( float  dphi)

Definition at line 131 of file GNN_DataStorage.cxx.

131  {
132  for(auto& b : m_etaBins) b.generatePhiIndexing(dphi);
133 }

◆ getConnectingNodes()

void TrigFTF_GNN_DataStorage::getConnectingNodes ( std::vector< const TrigFTF_GNN_Node * > &  vn)

Definition at line 136 of file GNN_DataStorage.cxx.

136  {
137 
138  vn.clear();
139  vn.reserve(numberOfNodes());
140 
141  for(const auto& b : m_etaBins) {
142  for(std::vector<TrigFTF_GNN_Node*>::const_iterator nIt = b.m_vn.begin();nIt!=b.m_vn.end();++nIt) {
143  if((*nIt)->m_in.empty()) continue;
144  if((*nIt)->m_out.empty()) continue;
145  vn.push_back(*nIt);
146  }
147  }
148 }

◆ getEtaBin()

const TrigFTF_GNN_EtaBin& TrigFTF_GNN_DataStorage::getEtaBin ( int  idx) const
inline

Definition at line 95 of file GNN_DataStorage.h.

95  {
96  if(idx >= static_cast<int>(m_etaBins.size())) idx = idx-1;
97  return m_etaBins.at(idx);
98  }

◆ numberOfNodes()

unsigned int TrigFTF_GNN_DataStorage::numberOfNodes ( ) const

Definition at line 117 of file GNN_DataStorage.cxx.

117  {
118 
119  unsigned int n=0;
120 
121  for(auto& b : m_etaBins) {
122  n += b.m_vn.size();
123  }
124  return n;
125 }

◆ sortByPhi()

void TrigFTF_GNN_DataStorage::sortByPhi ( )

Definition at line 127 of file GNN_DataStorage.cxx.

127  {
128  for(auto& b : m_etaBins) b.sortByPhi();
129 }

Member Data Documentation

◆ m_etaBins

std::vector<TrigFTF_GNN_EtaBin> TrigFTF_GNN_DataStorage::m_etaBins
protected

Definition at line 104 of file GNN_DataStorage.h.

◆ m_geo

const TrigFTF_GNN_Geometry& TrigFTF_GNN_DataStorage::m_geo
protected

Definition at line 102 of file GNN_DataStorage.h.


The documentation for this class was generated from the following files:
TrigFTF_GNN_EtaBin
Definition: GNN_DataStorage.h:65
Trk::SpacePoint::clusterList
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:127
Trk::SpacePoint
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:35
InDet::SiWidth::widthPhiRZ
const Amg::Vector2D & widthPhiRZ() const
Definition: SiWidth.h:121
TrigSiSpacePointBase::offlineSpacePoint
const Trk::SpacePoint * offlineSpacePoint() const
Definition: TrigSiSpacePointBase.h:81
TrigSiSpacePointBase::z
void z(const double z)
Definition: TrigSiSpacePointBase.h:53
TrigSiSpacePointBase::layer
long layer() const
Definition: TrigSiSpacePointBase.h:68
TrigSiSpacePointBase::r
void r(const double r)
Definition: TrigSiSpacePointBase.h:51
TrigFTF_GNN_DataStorage::m_etaBins
std::vector< TrigFTF_GNN_EtaBin > m_etaBins
Definition: GNN_DataStorage.h:104
TrigFTF_GNN_Node
Definition: GNN_DataStorage.h:20
beamspotman.n
n
Definition: beamspotman.py:731
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
TrigFTF_GNN_Layer::m_layer
const TrigInDetSiLayer & m_layer
Definition: GNN_Geometry.h:30
TrigFTF_GNN_DataStorage::numberOfNodes
unsigned int numberOfNodes() const
Definition: GNN_DataStorage.cxx:117
IDPVM::binIndex
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
Definition: InDetPhysValMonitoringUtilities.h:43
TrigInDetSiLayer::m_type
int m_type
Definition: TrigInDetSiLayer.h:11
TrigFTF_GNN_Geometry::getTrigFTF_GNN_LayerByIndex
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByIndex(int) const
Definition: GNN_Geometry.cxx:284
TrigFTF_GNN_Layer
Definition: GNN_Geometry.h:16
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
InDet::PixelCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelCluster.h:49
InDet::SiCluster::width
const InDet::SiWidth & width() const
return width class reference
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
python.LArCondContChannels.isBarrel
isBarrel
Definition: LArCondContChannels.py:659
TrigFTF_GNN_DataStorage::m_geo
const TrigFTF_GNN_Geometry & m_geo
Definition: GNN_DataStorage.h:102
TrigFTF_GNN_Layer::getEtaBin
int getEtaBin(float, float) const
Definition: GNN_Geometry.cxx:184
fitman.k
k
Definition: fitman.py:528