#include <DAClusterizerInZ.h>
Classes | |
struct | track_t |
struct | vertex_t |
Public Member Functions | |
double | beta0 (const double betamax, std::vector< track_t > &tks, std::vector< vertex_t > &y) const |
std::vector< std::vector < reco::TransientTrack > > | clusterize (const std::vector< reco::TransientTrack > &tracks) const |
DAClusterizerInZ (const edm::ParameterSet &conf) | |
void | dump (const double beta, const std::vector< vertex_t > &y, const std::vector< track_t > &tks, const int verbosity=0) const |
double | Eik (const track_t &t, const vertex_t &k) const |
std::vector< track_t > | fill (const std::vector< reco::TransientTrack > &tracks) const |
bool | merge (std::vector< vertex_t > &, int) const |
bool | merge (std::vector< vertex_t > &, double &) const |
bool | purge (std::vector< vertex_t > &, std::vector< track_t > &, double &, const double) const |
bool | split (double beta, std::vector< track_t > &tks, std::vector< vertex_t > &y, double threshold) const |
void | splitAll (std::vector< vertex_t > &y) const |
double | update (double beta, std::vector< track_t > &tks, std::vector< vertex_t > &y) const |
double | update (double beta, std::vector< track_t > &tks, std::vector< vertex_t > &y, double &) const |
std::vector< TransientVertex > | vertices (const std::vector< reco::TransientTrack > &tracks, const int verbosity=0) const |
Private Attributes | |
float | betamax_ |
float | betastop_ |
double | coolingFactor_ |
double | d0CutOff_ |
double | dzCutOff_ |
int | maxIterations_ |
bool | useTc_ |
bool | verbose_ |
float | vertexSize_ |
Description: separates event tracks into clusters along the beam line
Definition at line 21 of file DAClusterizerInZ.h.
DAClusterizerInZ::DAClusterizerInZ | ( | const edm::ParameterSet & | conf | ) |
Definition at line 455 of file DAClusterizerInZ.cc.
References gather_cfg::cout, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and builder_last_value_cfg::Tmin.
{ // some defaults to avoid uninitialized variables verbose_= conf.getUntrackedParameter<bool>("verbose", false); useTc_=true; betamax_=0.1; betastop_ =1.0; coolingFactor_=0.8; maxIterations_=100; vertexSize_=0.05; // 0.5 mm dzCutOff_=4.0; // Adaptive Fitter uses 3.0 but that appears to be a bit tight here sometimes // configure double Tmin = conf.getParameter<double>("Tmin"); vertexSize_ = conf.getParameter<double>("vertexSize"); coolingFactor_ = conf.getParameter<double>("coolingFactor"); d0CutOff_ = conf.getParameter<double>("d0CutOff"); dzCutOff_ = conf.getParameter<double>("dzCutOff"); maxIterations_=100; if (Tmin==0){ cout << "DAClusterizerInZ: invalid Tmin" << Tmin << " reset do default " << 1./betamax_ << endl; }else{ betamax_ = 1./Tmin; } // for testing, negative cooling factor: revert to old splitting scheme if(coolingFactor_<0){ coolingFactor_=-coolingFactor_; useTc_=false; } }
double DAClusterizerInZ::beta0 | ( | const double | betamax, |
std::vector< track_t > & | tks, | ||
std::vector< vertex_t > & | y | ||
) | const |
std::vector< std::vector<reco::TransientTrack> > DAClusterizerInZ::clusterize | ( | const std::vector< reco::TransientTrack > & | tracks | ) | const [virtual] |
Implements TrackClusterizerInZ.
void DAClusterizerInZ::dump | ( | const double | beta, |
const std::vector< vertex_t > & | y, | ||
const std::vector< track_t > & | tks, | ||
const int | verbosity = 0 |
||
) | const |
Definition at line 52 of file DAClusterizerInZ.cc.
References DAClusterizerInZ::track_t::dz2, funct::pow(), DAClusterizerInZ::vertex_t::z, and DAClusterizerInZ::track_t::z.
std::vector<track_t> DAClusterizerInZ::fill | ( | const std::vector< reco::TransientTrack > & | tracks | ) | const |
bool DAClusterizerInZ::merge | ( | std::vector< vertex_t > & | , |
int | |||
) | const |
bool DAClusterizerInZ::merge | ( | std::vector< vertex_t > & | , |
double & | |||
) | const |
bool DAClusterizerInZ::purge | ( | std::vector< vertex_t > & | , |
std::vector< track_t > & | , | ||
double & | , | ||
const double | |||
) | const |
bool DAClusterizerInZ::split | ( | double | beta, |
std::vector< track_t > & | tks, | ||
std::vector< vertex_t > & | y, | ||
double | threshold | ||
) | const |
void DAClusterizerInZ::splitAll | ( | std::vector< vertex_t > & | y | ) | const |
double DAClusterizerInZ::update | ( | double | beta, |
std::vector< track_t > & | tks, | ||
std::vector< vertex_t > & | y | ||
) | const |
double DAClusterizerInZ::update | ( | double | beta, |
std::vector< track_t > & | tks, | ||
std::vector< vertex_t > & | y, | ||
double & | |||
) | const |
std::vector< TransientVertex > DAClusterizerInZ::vertices | ( | const std::vector< reco::TransientTrack > & | tracks, |
const int | verbosity = 0 |
||
) | const |
float DAClusterizerInZ::betamax_ [private] |
Definition at line 107 of file DAClusterizerInZ.h.
float DAClusterizerInZ::betastop_ [private] |
Definition at line 108 of file DAClusterizerInZ.h.
double DAClusterizerInZ::coolingFactor_ [private] |
Definition at line 106 of file DAClusterizerInZ.h.
double DAClusterizerInZ::d0CutOff_ [private] |
Definition at line 110 of file DAClusterizerInZ.h.
double DAClusterizerInZ::dzCutOff_ [private] |
Definition at line 109 of file DAClusterizerInZ.h.
int DAClusterizerInZ::maxIterations_ [private] |
Definition at line 105 of file DAClusterizerInZ.h.
bool DAClusterizerInZ::useTc_ [private] |
Definition at line 103 of file DAClusterizerInZ.h.
bool DAClusterizerInZ::verbose_ [private] |
Definition at line 102 of file DAClusterizerInZ.h.
float DAClusterizerInZ::vertexSize_ [private] |
Definition at line 104 of file DAClusterizerInZ.h.