1 #ifndef DAClusterizerInZT_vect_h 2 #define DAClusterizerInZT_vect_h 33 dz2.push_back( new_dz2 );
34 dt2.push_back( new_dt2 );
35 tt.push_back( new_tt );
37 pi.push_back( new_pi );
38 Z_sum.push_back( 1.0 );
65 std::vector<double>
z;
66 std::vector<double>
t;
67 std::vector<double>
dz2;
68 std::vector<double>
dt2;
70 std::vector<double>
pi;
71 std::vector< const reco::TransientTrack* >
tt;
76 void addItem(
double new_z,
double new_t,
double new_pk )
80 pk.push_back( new_pk);
82 ei_cache.push_back( 0.0 );
118 ei_cache_ = &ei_cache.front();
122 void insertItem(
unsigned int i,
double new_z,
double new_t,
double new_pk )
124 z.insert(
z.begin() +
i, new_z);
125 t.insert(
t.begin() +
i, new_t);
126 pk.insert(pk.begin() +
i, new_pk);
128 ei_cache.insert(ei_cache.begin() +
i, 0.0 );
129 ei.insert( ei.begin() +
i, 0.0 );
130 swz.insert(swz.begin() +
i, 0.0 );
131 swt.insert(swt.begin() +
i, 0.0 );
132 se.insert( se.begin() +
i, 0.0 );
134 nuz.insert(nuz.begin() +
i, 0.0 );
135 nut.insert(nut.begin() +
i, 0.0 );
136 szz.insert(szz.begin() +
i, 0.0 );
137 stt.insert(stt.begin() +
i, 0.0 );
138 szt.insert(szt.begin() +
i, 0.0 );
144 z.erase(
z.begin() +
i );
145 t.erase(
t.begin() +
i );
146 pk.erase( pk.begin() +
i );
148 ei_cache.erase( ei_cache.begin() +
i);
149 ei.erase( ei.begin() +
i);
150 swz.erase( swz.begin() +
i);
151 swt.erase( swt.begin() +
i);
152 se.erase(se.begin() +
i);
154 nuz.erase(nuz.begin() +
i);
155 nut.erase(nut.begin() +
i);
156 szz.erase(szz.begin() +
i);
157 stt.erase(stt.begin() +
i);
158 szt.erase(szt.begin() +
i);
169 if (z <
z_[k])
break;
171 insertItem(k ,z, t, pk);
182 std::cout <<
" z = " <<
z_[
i] <<
" t = " <<
t_[
i] <<
" pk = " << pk_[
i] << std::endl;
186 std::vector<double>
z;
187 std::vector<double>
t;
188 std::vector<double>
pk;
207 std::vector<double>
ei;
210 std::vector<double>
se;
220 std::vector<std::vector<reco::TransientTrack> >
221 clusterize(
const std::vector<reco::TransientTrack> &
tracks)
const override;
223 std::vector<TransientVertex>
230 vertex_t & gvertices,
bool useRho0,
const double & rho0)
const;
std::vector< double > Z_sum
std::vector< double > ei_cache
std::vector< double > dz2
unsigned int insertOrdered(double z, double t, double pk)
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const override
std::vector< double > dt2
bool split(const double beta, track_t &t, vertex_t &y, double threshold=1.) const
std::vector< double > swt
std::vector< double > szt
void splitAll(vertex_t &y) const
DAClusterizerInZT_vect(const edm::ParameterSet &conf)
bool merge(vertex_t &y, double &beta) const
void addItem(double new_z, double new_t, double new_dz2, double new_dt2, const reco::TransientTrack *new_tt, double new_pi)
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks, const int verbosity=0) const
void zorder(vertex_t &y) const
void insertItem(unsigned int i, double new_z, double new_t, double new_pk)
double get_Tc(const vertex_t &y, int k) const
bool purge(vertex_t &, track_t &, double &, const double) const
std::vector< double > szz
bool find_nearest(double z, double t, vertex_t &y, unsigned int &k_min, double dz, double dt) const
std::vector< double > nuz
void removeItem(unsigned int i)
double update(double beta, track_t >racks, vertex_t &gvertices, bool useRho0, const double &rho0) const
std::vector< double > nut
std::vector< double > swz
unsigned int getSize() const
void addItem(double new_z, double new_t, double new_pk)
track_t fill(const std::vector< reco::TransientTrack > &tracks) const
std::vector< double > stt
unsigned int getSize() const
double beta0(const double betamax, track_t const &tks, vertex_t const &y) const
std::vector< const reco::TransientTrack * > tt
void dump(const double beta, const vertex_t &y, const track_t &tks, const int verbosity=0) const