|
|
Go to the documentation of this file. 1 #ifndef DAClusterizerInZ_vect_h
2 #define DAClusterizerInZ_vect_h
26 dz2.push_back(new_dz2);
39 for (
i = 0;
i <
z.size();
i++) {
47 z.insert(
z.begin() +
i, new_z);
48 dz2.insert(
dz2.begin() +
i, new_dz2);
49 tt.insert(
tt.begin() +
i, new_tt);
50 pi.insert(
pi.begin() +
i, new_pi);
57 unsigned int getSize()
const {
return z.size(); }
73 std::vector<double>
z;
74 std::vector<double>
dz2;
76 std::vector<double>
pi;
77 std::vector<unsigned int>
kmin;
78 std::vector<unsigned int>
kmax;
79 std::vector<const reco::TransientTrack *>
tt;
83 std::vector<double>
z;
84 std::vector<double>
pk;
88 std::vector<double>
ei;
89 std::vector<double>
sw;
90 std::vector<double>
swz;
91 std::vector<double>
se;
92 std::vector<double>
swE;
94 unsigned int getSize()
const {
return z.size(); }
96 void addItem(
double new_z,
double new_pk) {
111 z.insert(
z.begin() +
k, new_z);
112 pk.insert(
pk.begin() +
k, new_pk);
115 ei.insert(
ei.begin() +
k, 0.0);
116 sw.insert(
sw.begin() +
k, 0.0);
117 swz.insert(
swz.begin() +
k, 0.0);
118 se.insert(
se.begin() +
k, 0.0);
119 swE.insert(
swE.begin() +
k, 0.0);
125 z.insert(
z.begin() +
k, new_z);
126 pk.insert(
pk.begin() +
k, new_pk);
129 ei.insert(
ei.begin() +
k, 0.0);
130 sw.insert(
sw.begin() +
k, 0.0);
131 swz.insert(
swz.begin() +
k, 0.0);
132 se.insert(
se.begin() +
k, 0.0);
133 swE.insert(
swE.begin() +
k, 0.0);
136 for (
unsigned int i = 0;
i < tks.
getSize();
i++) {
149 z.erase(
z.begin() +
k);
150 pk.erase(
pk.begin() +
k);
153 ei.erase(
ei.begin() +
k);
154 sw.erase(
sw.begin() +
k);
156 se.erase(
se.begin() +
k);
160 for (
unsigned int i = 0;
i < tks.
getSize();
i++) {
175 for (
unsigned int i = 0;
i <
getSize(); ++
i) {
206 std::vector<std::vector<reco::TransientTrack> >
clusterize(
207 const std::vector<reco::TransientTrack> &
tracks)
const override;
209 std::vector<TransientVertex>
vertices(
const std::vector<reco::TransientTrack> &
tracks,
const int verbosity = 0)
const;
218 double beta,
track_t >racks,
vertex_t &gvertices,
const double delta_max,
const double rho0 = 0.)
const;
void addItemSorted(double new_z, double new_dz2, const reco::TransientTrack *new_tt, double new_pi)
track_t fill(const std::vector< reco::TransientTrack > &tracks) const
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks, const int verbosity=0) const
void insertItem(unsigned int i, double new_z, double new_dz2, const reco::TransientTrack *new_tt, double new_pi)
double *__restrict__ ei_cache_ptr
std::vector< double > ei_cache
void insertItem(unsigned int k, double new_z, double new_pk)
unsigned int thermalize(double beta, track_t >racks, vertex_t &gvertices, const double delta_max, const double rho0=0.) const
double *__restrict__ pk_ptr
double *__restrict__ sw_ptr
double *__restrict__ swz_ptr
DAClusterizerInZ_vect(const edm::ParameterSet &conf)
void addItem(double new_z, double new_pk)
std::vector< const reco::TransientTrack * > tt
unsigned int convergence_mode_
void set_vtx_range(double beta, track_t >racks, vertex_t &gvertices) const
void removeItem(unsigned int k, track_t &tks)
void verify(const vertex_t &v, const track_t &tks, unsigned int nv=999999, unsigned int nt=999999) const
double *__restrict__ pi_ptr
unsigned int maxIterations_
std::vector< unsigned int > kmax
std::vector< unsigned int > kmin
double *__restrict__ se_ptr
double *__restrict__ Z_sum_ptr
bool split(const double beta, track_t &t, vertex_t &y, double threshold=1.) const
double *__restrict__ z_ptr
double update(double beta, track_t >racks, vertex_t &gvertices, const double rho0=0) const
double *__restrict__ ei_ptr
void dump(const double beta, const vertex_t &y, const track_t &tks, const int verbosity=0) const
double updateTc(double beta, track_t >racks, vertex_t &gvertices, const double rho0=0) const
double beta0(const double betamax, track_t const &tks, vertex_t const &y) const
bool merge(vertex_t &y, track_t &tks, double &beta) const
void addItem(double new_z, double new_dz2, const reco::TransientTrack *new_tt, double new_pi)
double *__restrict__ dz2_ptr
double evalF(const double beta, track_t const &tks, vertex_t const &v) const
unsigned int getSize() const
unsigned int getSize() const
std::vector< double > dz2
void insertItem(unsigned int k, double new_z, double new_pk, track_t &tks)
void clear_vtx_range(track_t >racks, vertex_t &gvertices) const
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const override
double *__restrict__ z_ptr
std::vector< double > swE
bool purge(vertex_t &, track_t &, double &, const double) const
double *__restrict__ swE_ptr
std::vector< double > Z_sum
std::vector< double > swz