1 #ifndef DAClusterizerInZ_vect_h 2 #define DAClusterizerInZ_vect_h 30 dz2.push_back( new_dz2 );
31 tt.push_back( new_tt );
33 pi.push_back( new_pi );
34 Z_sum.push_back( 1.0);
54 double * __restrict__
_z;
55 double * __restrict__
_dz2;
58 double * __restrict__
_pi;
60 std::vector<double>
z;
61 std::vector<double>
dz2;
62 std::vector< const reco::TransientTrack* >
tt;
65 std::vector<double>
pi;
69 std::vector<double>
z;
70 std::vector<double>
pk;
74 std::vector<double>
ei;
75 std::vector<double>
sw;
76 std::vector<double>
swz;
77 std::vector<double>
se;
78 std::vector<double>
swE;
86 void AddItem(
double new_z,
double new_pk )
89 pk.push_back( new_pk);
91 ei_cache.push_back( 0.0 );
103 z.insert(z.begin() +
i, new_z);
104 pk.insert(pk.begin() +
i, new_pk);
106 ei_cache.insert(ei_cache.begin() +
i, 0.0 );
107 ei.insert( ei.begin() +
i, 0.0 );
108 sw.insert( sw.begin() +
i, 0.0 );
109 swz.insert(swz.begin() +
i, 0.0 );
110 se.insert( se.begin() +
i, 0.0 );
111 swE.insert(swE.begin() +
i, 0.0 );
118 z.erase( z.begin() +
i );
119 pk.erase( pk.begin() +
i );
121 ei_cache.erase( ei_cache.begin() +
i);
122 ei.erase( ei.begin() +
i);
123 sw.erase( sw.begin() +
i);
124 swz.erase( swz.begin() +
i);
125 se.erase(se.begin() +
i);
126 swE.erase(swE.begin() +
i);
137 std::cout <<
" z = " <<
_z[
i] <<
" pk = " << _pk[
i] << std::endl;
152 _ei_cache = &ei_cache.front();
156 double * __restrict__
_z;
157 double * __restrict__
_pk;
160 double * __restrict__
_ei;
161 double * __restrict__
_sw;
163 double * __restrict__
_se;
171 std::vector<std::vector<reco::TransientTrack> >
172 clusterize(
const std::vector<reco::TransientTrack> &
tracks)
const override;
175 std::vector<TransientVertex>
182 vertex_t & gvertices,
bool useRho0,
const double & rho0)
const;
double *__restrict__ _ei_cache
void AddItem(double new_z, double new_dz2, const reco::TransientTrack *new_tt, double new_pi)
double *__restrict__ _swE
bool split(const double beta, track_t &t, vertex_t &y, double threshold=1.) const
void splitAll(vertex_t &y) const
void AddItem(double new_z, double new_pk)
track_t fill(const std::vector< reco::TransientTrack > &tracks) const
unsigned int GetSize() const
std::vector< const reco::TransientTrack * > tt
double *__restrict__ _dz2
void InsertItem(unsigned int i, double new_z, double new_pk)
double *__restrict__ _swz
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const override
std::vector< double > dz2
double beta0(const double betamax, track_t const &tks, vertex_t const &y) const
void RemoveItem(unsigned int i)
double update(double beta, track_t >racks, vertex_t &gvertices, bool useRho0, const double &rho0) const
bool merge(vertex_t &y, double &beta) const
DAClusterizerInZ_vect(const edm::ParameterSet &conf)
void dump(const double beta, const vertex_t &y, const track_t &tks, const int verbosity=0) const
std::vector< double > ei_cache
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks, const int verbosity=0) const
std::vector< double > swz
std::vector< double > swE
unsigned int GetSize() const
bool purge(vertex_t &, track_t &, double &, const double) const
std::vector< double > Z_sum
double *__restrict__ _Z_sum