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);
103 z.insert(
z.begin() +
i, new_z);
104 pk.insert(
pk.begin() +
i, new_pk);
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 );
122 ei.erase(
ei.begin() +
i);
123 sw.erase(
sw.begin() +
i);
125 se.erase(
se.begin() +
i);
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> >
175 std::vector<TransientVertex>
182 vertex_t & gvertices,
bool useRho0,
double & rho0)
const;
196 double Eik(
double const& t_z,
double const& k_z,
double const& t_dz2)
const;
198 inline double local_exp(
double const& inp)
const;
199 inline void local_exp_list(
double* arg_inp,
double* arg_out,
const int arg_arr_size)
const;
double *__restrict__ _ei_cache
void AddItem(double new_z, double new_dz2, const reco::TransientTrack *new_tt, double new_pi)
double *__restrict__ _swE
void local_exp_list(double *arg_inp, double *arg_out, const int arg_arr_size) const
double beta0(const double betamax, track_t &tks, vertex_t &y) const
void splitAll(vertex_t &y) const
double local_exp(double const &inp) const
void AddItem(double new_z, double new_pk)
bool split(const double beta, track_t &t, vertex_t &y) const
track_t fill(const std::vector< reco::TransientTrack > &tracks) const
unsigned int GetSize() const
std::vector< const reco::TransientTrack * > tt
bool merge(vertex_t &) const
double *__restrict__ _dz2
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const
void InsertItem(unsigned int i, double new_z, double new_pk)
double *__restrict__ _swz
double update(double beta, track_t >racks, vertex_t &gvertices, bool useRho0, double &rho0) const
std::vector< double > dz2
void RemoveItem(unsigned int i)
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
double Eik(double const &t_z, double const &k_z, double const &t_dz2) const
bool purge(vertex_t &, track_t &, double &, const double) const
std::vector< double > Z_sum
double *__restrict__ _Z_sum