CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DAClusterizerInZ.h
Go to the documentation of this file.
1 #ifndef DAClusterizerInZ_h
2 #define DAClusterizerInZ_h
3 
13 #include <vector>
17 
18 
19 
20 
22 
23 
24 public:
25 
26 struct track_t{
27  double z; // z-coordinate at point of closest approach to the beamline
28  double dz2; // square of the error of z(pca)
29  const reco::TransientTrack* tt; // a pointer to the Transient Track
30  double Z; // Z[i] for DA clustering
31  double pi; // track weight
32 };
33 
34 
35 struct vertex_t{
36  double z; // z coordinate
37  double pk; // vertex weight for "constrained" clustering
38  // --- temporary numbers, used during update
39  double ei;
40  double sw;
41  double swz;
42  double se;
43 };
44 
45 
46 
47 
49 
50  std::vector< std::vector<reco::TransientTrack> >
51  clusterize(const std::vector<reco::TransientTrack> & tracks)const;
52 
53 
54  std::vector< TransientVertex >
55  vertices(const std::vector<reco::TransientTrack> & tracks, const int verbosity=0)const;
56 
57 
58  std::vector<track_t> fill(const std::vector<reco::TransientTrack> & tracks)const;
59 
60  double update(
61  double beta,
62  std::vector<track_t> & tks,
63  std::vector<vertex_t> & y
64  )const;
65 
66  double update(
67  double beta,
68  std::vector<track_t> & tks,
69  std::vector<vertex_t> & y,
70  double &
71  )const;
72 
73  void dump(const double beta, const std::vector<vertex_t> & y, const std::vector<track_t> & tks, const int verbosity=0)const;
74  bool merge(std::vector<vertex_t> &,int )const;
75  bool purge(std::vector<vertex_t> &, std::vector<track_t> & , double &, const double )const;
76 
77  void splitAll(
78  std::vector<track_t> & tks,
79  std::vector<vertex_t> & y
80  )const;
81 
82  double beta0(
83  const double betamax,
84  std::vector<track_t> & tks,
85  std::vector<vertex_t> & y
86  )const;
87 
88  double Eik(const track_t & t, const vertex_t & k)const;
89 
90 
91 private:
92  bool verbose_;
93  float vertexSize_;
96  float betamax_;
97  float betastop_;
98  double dzCutOff_;
99  double d0CutOff_;
100 };
101 
102 #endif
const double beta
std::vector< track_t > fill(const std::vector< reco::TransientTrack > &tracks) const
bool merge(std::vector< vertex_t > &, int) const
void splitAll(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
tuple conf
Definition: dbtoconf.py:185
int k[5][pyjets_maxn]
const int verbosity
DAClusterizerInZ(const edm::ParameterSet &conf)
tuple tracks
Definition: testEve_cfg.py:39
const reco::TransientTrack * tt
void dump(const double beta, const std::vector< vertex_t > &y, const std::vector< track_t > &tks, const int verbosity=0) const
double update(double beta, std::vector< track_t > &tks, std::vector< vertex_t > &y) const
double Eik(const track_t &t, const vertex_t &k) const
double beta0(const double betamax, std::vector< track_t > &tks, std::vector< vertex_t > &y) const
bool purge(std::vector< vertex_t > &, std::vector< track_t > &, double &, const double) const
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks, const int verbosity=0) const