 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRKVERTEXSEEDFINDERUTILS_MODE3DTOFSMW1DFINDER_H
6 #define TRKVERTEXSEEDFINDERUTILS_MODE3DTOFSMW1DFINDER_H
9 #include "GaudiKernel/ToolHandle.h"
14 typedef std::pair< std::pair<double, std::pair<int,int> >,
double>
IndexedWeighted ;
50 const std::vector<Trk::PositionAndWeight>&
points)
const override final;
66 const std::vector<Trk::PositionAndWeight>&
points,
67 std::unique_ptr<IMode3dInfo>&
info)
const override final;
80 const std::vector<Amg::Vector3D>&
points)
const override final;
96 const std::vector<Amg::Vector3D>&
points,
97 std::unique_ptr<IMode3dInfo>&
info)
const override final;
109 const std::vector<Trk::PositionAndWeight> & VectorOfPoints)
const;
114 const std::vector< IndexedWeighted > & position,
115 int expectMax )
const ;
120 const std::vector<Trk::PositionAndWeight>& vectorOfPoints,
123 int zin = 0 )
const ;
129 return aa.x() < bb.x() ;
136 std::vector< std::pair< int,int> > &bb )
const
138 return aa[0].second < bb[0].second ;
146 return aa.second > bb.second ;
151 std::vector< std::pair< int, int> >
152 getFsmw1dMode(
const std::vector<IndexedWeighted> &,
int )
const ;
157 const std::vector<Trk::PositionAndWeight>& vectorOfPoints,
158 const double vx,
const double vy)
const;
163 const std::vector<Trk::PositionAndWeight>& vectorOfPoints,
169 const std::vector<Trk::PositionAndWeight>& vectorOfPoints,
175 const std::vector<Trk::PositionAndWeight>& vectorOfPoints,
193 Modes1d(std::vector<float> &, std::vector<float> &,
194 std::vector<float> &, std::vector<float> &)
const override final;
197 virtual const std::vector<int>&
206 perigeesAtSeed (std::vector<const Trk::TrackParameters*>& perigees ,
207 const std::vector<const Trk::TrackParameters*> & perigeeList)
const override final;
211 setTrkidx (std::vector< std::pair <int, int> >&& trkidx)
override final;
217 void setCorre (
int zin,
double corre);
virtual const std::vector< int > & AcceptedCrossingPointsIndices() const override
virtual int perigeesAtSeed(std::vector< const Trk::TrackParameters * > &perigees, const std::vector< const Trk::TrackParameters * > &perigeeList) const override final
int operator()(const Trk::PositionAndWeight &aa, const Trk::PositionAndWeight &bb)
std::vector< float > m_z_stk
std::vector< std::pair< int, int > > getFsmw1dMode(const std::vector< IndexedWeighted > &, int) const
@ z
global position (cartesian)
int doModeSearch(VeVecIndices *idxs, const std::vector< IndexedWeighted > &position, int expectMax) const
void pushPoint(float phi, float r, float z, float w)
virtual Amg::Vector3D getMode(const double vx, const double vy, const std::vector< Trk::PositionAndWeight > &points) const override final
Obtain the 3d-mode (position) from a list of positions (distribution in space)
std::vector< int > m_UsedCrossingPointsIndices
Amg::Vector3D Mode2Seed(Mode3dFromFsmw1dInfo &info, const std::vector< Trk::PositionAndWeight > &vectorOfPoints, const VeVecIndices &) const
virtual unsigned int Modes1d(std::vector< float > &, std::vector< float > &, std::vector< float > &, std::vector< float > &) const override final
std::vector< float > m_phi_stk
std::pair< Amg::Vector3D, double > PositionAndWeight
virtual void getCorrelationDistance(double &cXY, double &cZ) const override
std::pair< std::pair< double, std::pair< int, int > >, double > IndexedWeighted
std::vector< float > m_wght_stk
int operator()(const Amg::Vector3D &aa, Amg::Vector3D &bb) const
Auxillary interface for getting back additional data.
VeVecIndices CheckCorrelation(Mode3dFromFsmw1dInfo &info, const std::vector< Trk::PositionAndWeight > &vectorOfPoints, const VeVecIndices &, const VeVecIndices &, int zin=0) const
std::vector< float > m_radi_stk
std::vector< std::pair< int, int > > VecIndices
Amg::Vector3D getClosestPair(Mode3dFromFsmw1dInfo &info, const std::vector< Trk::PositionAndWeight > &vectorOfPoints, const double vx, const double vy) const
int operator()(std::vector< std::pair< int, int > > &aa, std::vector< std::pair< int, int > > &bb) const
float modes(const std::vector< float > &mus, const std::vector< float > &log_sigma2s, const std::vector< float > &alphas)
Ensure that the ATLAS eigen extensions are properly loaded.
void pushIndices(const std::vector< std::pair< int, int >> &modes)
Eigen::Matrix< double, 3, 1 > Vector3D
void setCorre(int zin, double corre)
Mode3dFromFsmw1dFinder(const std::string &t, const std::string &n, const IInterface *p)
std::vector< VecIndices > VeVecIndices
std::vector< std::pair< int, int > > m_trkidx
virtual void setTrkidx(std::vector< std::pair< int, int > > &&trkidx) override final