1 #ifndef RecoVertex_PrimaryVertexProducer_DAClusterizerInZ_vect_h 2 #define RecoVertex_PrimaryVertexProducer_DAClusterizerInZ_vect_h 31 std::vector<unsigned int>
kmin;
32 std::vector<unsigned int>
kmax;
33 std::vector<const reco::TransientTrack *>
tt;
48 unsigned int i,
double new_zpca,
double new_dz2,
const reco::TransientTrack *new_tt,
double new_tkwt) {
51 tt.insert(
tt.begin() +
i, new_tt);
70 double *__restrict__
dz2;
89 void addItem(
double new_zvtx,
double new_rho) {
114 for (
unsigned int i = 0;
i < tks.
getSize();
i++) {
138 for (
unsigned int i = 0;
i < tks.
getSize();
i++) {
155 double *__restrict__
sw;
157 double *__restrict__
se;
175 std::vector<std::vector<reco::TransientTrack> >
clusterize(
176 const std::vector<reco::TransientTrack> &
tracks)
const override;
178 std::vector<TransientVertex>
vertices(
const std::vector<reco::TransientTrack> &
tracks)
const override;
183 track_t
fill(
const std::vector<reco::TransientTrack> &
tracks)
const;
190 double beta, track_t >racks, vertex_t &gvertices,
const double delta_max,
const double rho0 = 0.)
const;
193 double beta, track_t >racks, vertex_t &gvertices,
const double rho0 = 0,
const bool updateTc =
false)
const;
196 const double beta,
const vertex_t &
y,
const track_t &tks,
const int verbosity = 0,
const double rho0 = 0.)
const;
197 bool merge(vertex_t &
y, track_t &tks,
double &
beta)
const;
198 bool purge(vertex_t &, track_t &,
double &,
const double)
const;
201 double beta0(
const double betamax, track_t
const &tks, vertex_t
const &
y)
const;
202 void verify(
const vertex_t &
v,
const track_t &tks,
unsigned int nv = 999999,
unsigned int nt = 999999)
const;
double beta0(const double betamax, track_t const &tks, vertex_t const &y) const
void addItemSorted(double new_zpca, double new_dz2, const reco::TransientTrack *new_tt, double new_tkwt)
void insertItem(unsigned int k, double new_zvtx, double new_rho, track_t &tks)
bool merge(vertex_t &y, track_t &tks, double &beta) const
std::vector< double > sw_vec
void clear_vtx_range(track_t >racks, vertex_t &gvertices) const
std::vector< double > swE_vec
bool purge(vertex_t &, track_t &, double &, const double) const
double *__restrict__ sum_Z
static void fillPSetDescription(edm::ParameterSetDescription &desc)
double *__restrict__ tkwt
std::vector< const reco::TransientTrack * > tt
std::vector< double > dz2_vec
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const override
void addItem(double new_zvtx, double new_rho)
std::vector< double > tkwt_vec
std::vector< double > se_vec
std::vector< TransientVertex > fill_vertices(double beta, double rho0, track_t &tracks, vertex_t &vertices) const
std::vector< unsigned int > kmin
double *__restrict__ zpca
double update(double beta, track_t >racks, vertex_t &gvertices, const double rho0=0, const bool updateTc=false) const
void insertItem(unsigned int i, double new_zpca, double new_dz2, const reco::TransientTrack *new_tt, double new_tkwt)
std::vector< unsigned int > kmax
double *__restrict__ exp_arg
void removeItem(unsigned int k, track_t &tks)
void dump(const double beta, const vertex_t &y, const track_t &tks, const int verbosity=0, const double rho0=0.) const
track_t fill(const std::vector< reco::TransientTrack > &tracks) const
double *__restrict__ zvtx
std::vector< double > zvtx_vec
unsigned int getSize() const
std::vector< TransientVertex > vertices_no_blocks(const std::vector< reco::TransientTrack > &tracks) const
std::vector< double > rho_vec
std::vector< double > swz_vec
unsigned int getSize() const
std::vector< double > exp_arg_vec
std::vector< TransientVertex > vertices_in_blocks(const std::vector< reco::TransientTrack > &tracks) const
std::vector< double > sum_Z_vec
DAClusterizerInZ_vect(const edm::ParameterSet &conf)
unsigned int thermalize(double beta, track_t >racks, vertex_t &gvertices, const double delta_max, const double rho0=0.) const
void set_vtx_range(double beta, track_t >racks, vertex_t &gvertices) const
unsigned int maxIterations_
std::vector< double > zpca_vec
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
unsigned int convergence_mode_
std::vector< double > exp_vec
void verify(const vertex_t &v, const track_t &tks, unsigned int nv=999999, unsigned int nt=999999) const
bool split(const double beta, track_t &t, vertex_t &y, double threshold=1.) const