|
ATLAS Offline Software
|
Go to the documentation of this file.
48 int binCounter = bin0;
52 m_bins.push_back(binCounter++);
75 m_bins.push_back(binCounter++);
95 m_bins.push_back(binCounter++);
132 const float tol = 5.0;
139 float A = r2/(r2-r1);
140 float B = r1/(r2-r1);
142 float z0_min = z1min*
A - max_b2*
B;
143 float z0_max = z1max*
A - min_b2*
B;
145 if(z0_max < min_z0-tol || z0_min > max_z0+tol)
return false;
152 const float tol = 10.0;
158 if(r2max <= r1)
return false;
168 z0_max = (z1max*r2max - z2*r1)/(r2max-r1);
169 z0_min = (z1min*r2min - z2*r1)/(r2min-r1);
172 z0_max = (z1max*r2min - z2*r1)/(r2min-r1);
173 z0_min = (z1min*r2max - z2*r1)/(r2max-r1);
176 if(z0_max < min_z0-tol || z0_min > max_z0+tol)
return false;
221 const float min_z0 = -168.0;
222 const float max_z0 = 168.0;
236 for(std::map<
int, std::vector<GNN_FASTRACK_CONNECTION*> >::const_iterator
it =
conn->m_connMap.begin();
it!=
conn->m_connMap.end();++
it) {
238 const std::vector<GNN_FASTRACK_CONNECTION*>& vConn = (*it).second;
240 for(std::vector<GNN_FASTRACK_CONNECTION*>::const_iterator cIt=vConn.begin();cIt!=vConn.end();++cIt) {
242 unsigned int src = (*cIt)->m_src;
243 unsigned int dst = (*cIt)->m_dst;
249 std::cout <<
" skipping invalid dst layer " << dst << std::endl;
253 std::cout <<
" skipping invalid src layer " <<
src << std::endl;
256 int nSrcBins = pL2->
m_bins.size();
257 int nDstBins = pL1->
m_bins.size();
259 (*cIt)->m_binTable.resize(nSrcBins*nDstBins, 0);
261 for(
int b1=0;b1<nDstBins;b1++) {
262 for(
int b2=0;b2<nSrcBins;b2++) {
263 if(!pL1->
verifyBin(pL2, b1, b2, min_z0, max_z0))
continue;
264 int address = b1 + b2*nDstBins;
265 (*cIt)->m_binTable.at(
address) = 1;
267 int bin1_idx = pL1->
m_bins.at(b1);
268 int bin2_idx = pL2->
m_bins.at(b2);
270 if(bin1_idx != lastBin1) {
272 std::vector<int>
v2(1, bin2_idx);
294 std::map<unsigned int, TrigFTF_GNN_Layer*>::const_iterator
it =
m_layMap.find(
key);
309 unsigned int layerKey =
l.m_subdet;
315 m_layMap.insert(std::pair<unsigned int, TrigFTF_GNN_Layer*>(layerKey, pHL));
JetConstituentVector::iterator iterator
std::vector< float > m_minBinCoord
double e1(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 1st sampling
Scalar eta() const
pseudorapidity method
float getMinBinRadius(int) const
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByKey(unsigned int) const
std::vector< ALFA_RawDataCollection_p1 > t1
std::map< unsigned int, TrigFTF_GNN_Layer * > m_layMap
std::vector< int > m_bins
setEt setPhi setE277 setWeta2 eta1
std::vector< float > m_maxRadius
TrigFTF_GNN_Geometry(const std::vector< TrigInDetSiLayer > &, const std::unique_ptr< GNN_FasTrackConnector > &)
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
const TrigInDetSiLayer & m_layer
std::vector< TrigFTF_GNN_Layer * > m_layArray
TrigFTF_GNN_Layer(const TrigInDetSiLayer &, float, int)
std::vector< std::pair< int, std::vector< int > > > m_binGroups
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByIndex(int) const
std::vector< float > m_maxBinCoord
std::vector< ALFA_RawDataContainer_p1 > t2
double e2(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 2nd sampling
bool verifyBin(const TrigFTF_GNN_Layer *, int, int, float, float) const
def ls(path, longls=False)
const TrigFTF_GNN_Layer * addNewLayer(const TrigInDetSiLayer &, int)
int getEtaBin(float, float) const
float getMaxBinRadius(int) const
std::vector< float > m_minRadius