** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=lxr at /lxr/lib/LXR/Common.pm line 1113.
Last-Modified: Sun, 10 Jun 2023 01:10:14 GMT
Content-Type: text/html; charset=utf-8
/CMSSW_13_2_X_2023-06-09-2300/MuonAnalysis/MuonAssociators/interface/MatcherByPullsAlgorithm.h
File indexing completed on 2023-03-17 11:14:53
0001 #ifndef MuonAnalysis_MuonAssociators_src_MatcherByPullsAlgorithm_h
0002 #define MuonAnalysis_MuonAssociators_src_MatcherByPullsAlgorithm_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include <string>
0022 #include <algorithm>
0023 #include <vector>
0024 #include "FWCore /ParameterSet /interface /ParameterSet.h "
0025
0026 #include "DataFormats /TrackReco /interface /Track.h "
0027 #include "DataFormats /RecoCandidate /interface /RecoCandidate.h "
0028 #include "DataFormats /HepMCCandidate /interface /GenParticle.h "
0029 #include "DataFormats /CLHEP /interface /AlgebraicObjects.h "
0030
0031
0032
0033
0034 class MatcherByPullsAlgorithm {
0035 public :
0036 explicit MatcherByPullsAlgorithm(const edm ::ParameterSet &);
0037 ~MatcherByPullsAlgorithm();
0038
0039
0040
0041 std ::pair <bool , float > match (const reco ::Track &tk ,
0042 const reco ::Candidate &mc ,
0043 const AlgebraicSymMatrix55 &invertedCovariance) const ;
0044
0045
0046
0047 std ::pair <int , float > match (const reco ::RecoCandidate &src ,
0048 const std ::vector <reco ::GenParticle > &cands ,
0049 const std ::vector <uint8_t> &good ) const ;
0050
0051
0052
0053
0054
0055 void matchMany(const reco ::RecoCandidate &src ,
0056 const std ::vector <reco ::GenParticle > &cands ,
0057 const std ::vector <uint8_t> &good ,
0058 std ::vector <std ::pair <double , int > > &matchesToFill) const ;
0059
0060
0061
0062 std ::pair <int , float > match (const reco ::Track &src ,
0063 const std ::vector <reco ::GenParticle > &cands ,
0064 const std ::vector <uint8_t> &good ) const ;
0065
0066
0067
0068
0069
0070 void matchMany(const reco ::Track &src ,
0071 const std ::vector <reco ::GenParticle > &cands ,
0072 const std ::vector <uint8_t> &good ,
0073 std ::vector <std ::pair <double , int > > &matchesToFill) const ;
0074
0075
0076 void fillInvCov(const reco ::Track &tk , AlgebraicSymMatrix55 &invCov ) const ;
0077
0078 private :
0079
0080 const reco ::Track *track (const reco ::RecoCandidate &src ) const ;
0081
0082
0083 enum TrackChoice { StaTrack, TrkTrack, GlbTrack };
0084
0085
0086 TrackChoice track_ ;
0087
0088
0089 double dr2_;
0090
0091
0092 double cut_ ;
0093
0094
0095 bool diagOnly_;
0096
0097
0098 bool useVertex_ ;
0099 };
0100
0101 #endif