Changeset 95b4e9f in git for modules/VertexFinderDA4D.h
- Timestamp:
- Aug 31, 2016, 4:25:59 PM (8 years ago)
- Branches:
- ImprovedOutputFile, Timing, dual_readout, llp, master
- Children:
- 4154bbd
- Parents:
- b195ba1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/VertexFinderDA4D.h
rb195ba1 r95b4e9f 11 11 12 12 13 #include "classes/DelphesModule.h" 13 14 14 #include "classes/DelphesModule.h"15 #include "classes/DelphesClasses.h"16 #include <utility>17 #include <algorithm>18 #include <stdexcept>19 #include <iostream>20 15 #include <vector> 21 #include <unordered_map>22 23 using namespace std;24 16 25 17 class TObjArray; 18 class TIterator; 26 19 class Candidate; 27 class TVector3;28 20 29 21 class VertexFinderDA4D: public DelphesModule … … 38 30 void Finish(); 39 31 40 struct track_t{ 41 double z; // z-coordinate at point of closest approach to the beamline 42 double t; // t-coordinate at point of closest approach to the beamline 43 double dz2; // square of the error of z(pca) 44 double dtz; // covariance of z-t 45 double dt2; // square of the error of t(pca) 46 //const reco::TransientTrack* tt; // a pointer to the Transient Track 47 Candidate* tt; // a pointer to the Candidate Track 48 double Z; // Z[i] for DA clustering 49 double pi; // track weight 50 double pt; 51 double eta; 52 double phi; 53 54 }; 32 struct track_t 33 { 34 double z; // z-coordinate at point of closest approach to the beamline 35 double t; // t-coordinate at point of closest approach to the beamline 36 double dz2; // square of the error of z(pca) 37 double dtz; // covariance of z-t 38 double dt2; // square of the error of t(pca) 39 Candidate* tt; // a pointer to the Candidate Track 40 double Z; // Z[i] for DA clustering 41 double pi; // track weight 42 double pt; 43 double eta; 44 double phi; 45 }; 55 46 56 47 57 struct vertex_t{ 58 double z; // z coordinate 59 double t; // t coordinate 60 double pk; // vertex weight for "constrained" clustering 61 // --- temporary numbers, used during update 62 double ei; 63 double sw; 64 double swz; 65 double swt; 66 double se; 67 // ---for Tc 68 double swE; 69 double Tc; 70 }; 71 72 48 struct vertex_t 49 { 50 double z; 51 double t; 52 double pk; // vertex weight for "constrained" clustering 53 // --- temporary numbers, used during update 54 double ei; 55 double sw; 56 double swz; 57 double swt; 58 double se; 59 // ---for Tc 60 double swE; 61 double Tc; 62 }; 73 63 74 64 void clusterize(const TObjArray & tracks, TObjArray & clusters); … … 78 68 std::vector<track_t> fill() const; 79 69 80 bool split( 70 bool split(double beta, 81 71 std::vector<track_t> & tks, 82 72 std::vector<vertex_t> & y) const; 83 73 84 double update( 74 double update(double beta, 85 75 std::vector<track_t> & tks, 86 std::vector<vertex_t> & y 76 std::vector<vertex_t> & y) const; 87 77 88 78 double update(double beta, 89 std::vector<track_t> & tks,90 std::vector<vertex_t> & y,91 double &)const;79 std::vector<track_t> & tks, 80 std::vector<vertex_t> & y, 81 double &)const; 92 82 93 83 void dump(const double beta, const std::vector<vertex_t> & y, const std::vector<track_t> & tks) const; 94 84 bool merge(std::vector<vertex_t> &) const; 95 bool merge(std::vector<vertex_t> &, double &) const;96 bool purge(std::vector<vertex_t> &, std::vector<track_t> & , double &, const double 85 bool merge(std::vector<vertex_t> &, double &) const; 86 bool purge(std::vector<vertex_t> &, std::vector<track_t> & , double &, const double) const; 97 87 98 void splitAll( std::vector<vertex_t> & y) const;88 void splitAll(std::vector<vertex_t> &y) const; 99 89 100 90 double beta0(const double betamax, 101 std::vector<track_t> & 102 std::vector<vertex_t> & y)const;91 std::vector<track_t> &tks, 92 std::vector<vertex_t> &y)const; 103 93 104 double Eik(const track_t & t, const vertex_t & k)const; 105 94 double Eik(const track_t &t, const vertex_t &k)const; 106 95 107 96 private:
Note:
See TracChangeset
for help on using the changeset viewer.