1 #ifndef DAClusterizerInZT_vect_h 2 #define DAClusterizerInZT_vect_h 33 dz2.push_back( new_dz2 );
34 dt2.push_back( new_dt2 );
35 errsum.push_back( 1./(1./new_dz2 + 1./new_dt2) );
36 tt.push_back( new_tt );
38 pi.push_back( new_pi );
39 Z_sum.push_back( 1.0 );
68 std::vector<double>
z;
69 std::vector<double>
t;
70 std::vector<double>
dz2;
71 std::vector<double>
dt2;
74 std::vector<double>
pi;
75 std::vector< const reco::TransientTrack* >
tt;
80 void addItem(
double new_z,
double new_t,
double new_pk )
84 pk.push_back( new_pk);
86 ei_cache.push_back( 0.0 );
115 ei_cache_ = &ei_cache.front();
119 void insertItem(
unsigned int i,
double new_z,
double new_t,
double new_pk )
121 z.insert(
z.begin() +
i, new_z);
122 t.insert(
t.begin() +
i, new_t);
123 pk.insert(pk.begin() +
i, new_pk);
125 ei_cache.insert(ei_cache.begin() +
i, 0.0 );
126 ei.insert( ei.begin() +
i, 0.0 );
127 sw.insert( sw.begin() +
i, 0.0 );
128 swz.insert(swz.begin() +
i, 0.0 );
129 swt.insert(swt.begin() +
i, 0.0 );
130 se.insert( se.begin() +
i, 0.0 );
131 swE.insert(swE.begin() +
i, 0.0 );
138 z.erase(
z.begin() +
i );
139 t.erase(
t.begin() +
i );
140 pk.erase( pk.begin() +
i );
142 ei_cache.erase( ei_cache.begin() +
i);
143 ei.erase( ei.begin() +
i);
144 sw.erase( sw.begin() +
i);
145 swz.erase( swz.begin() +
i);
146 swt.erase( swt.begin() +
i);
147 se.erase(se.begin() +
i);
148 swE.erase(swE.begin() +
i);
159 std::cout <<
" z = " <<
z_[
i] <<
" t = " <<
t_[
i] <<
" pk = " << pk_[
i] << std::endl;
163 std::vector<double>
z;
164 std::vector<double>
t;
165 std::vector<double>
pk;
181 std::vector<double>
ei;
182 std::vector<double>
sw;
185 std::vector<double>
se;
191 std::vector<std::vector<reco::TransientTrack> >
192 clusterize(
const std::vector<reco::TransientTrack> &
tracks)
const override;
194 std::vector<TransientVertex>
201 vertex_t & gvertices,
bool useRho0,
const double & rho0)
const;
std::vector< double > Z_sum
std::vector< double > ei_cache
std::vector< double > dz2
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
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 insertItem(unsigned int i, double new_z, double new_t, double new_pk)
bool purge(vertex_t &, track_t &, double &, const double) const
void removeItem(unsigned int i)
double update(double beta, track_t >racks, vertex_t &gvertices, bool useRho0, const double &rho0) const
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 > errsum
unsigned int getSize() const
double beta0(const double betamax, track_t const &tks, vertex_t const &y) const
std::vector< double > swE
std::vector< const reco::TransientTrack * > tt
void dump(const double beta, const vertex_t &y, const track_t &tks, const int verbosity=0) const