CMS 3D CMS Logo

JetSignalVertexCompatibilityAlgo.h
Go to the documentation of this file.
1 #ifndef JetSignalVertexCompatibilityAlgo_h
2 #define JetSignalVertexCompatibilityAlgo_h
3 
4 #include <vector>
5 #include <map>
6 
10 
12 
13 namespace reco {
14 
16  public:
19 
20  std::vector<float> compatibility(
22  const reco::TrackRefVector &tracks) const;
23 
25 
26  private:
27  template<typename T>
28  struct RefToBaseLess {
29  bool operator()(const edm::RefToBase<T> &r1,
30  const edm::RefToBase<T> &r2) const;
31  };
32 
35 
36  const TransientTrack &convert(const reco::TrackBaseRef &track) const;
37  double activation(double compat) const;
38 
39  static double trackVertexCompat(const reco::Vertex &vtx,
40  const TransientTrack &track);
41 
42  mutable TransientTrackMap trackMap;
44 
45  const double cut;
46  const double temperature;
47 };
48 
49 } // namespace reco
50 
51 #endif // JetSignalVertexCompatibilityAlgo_h
std::vector< float > compatibility(const reco::VertexCollection &vertices, const reco::TrackRefVector &tracks) const
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
static double trackVertexCompat(const reco::Vertex &vtx, const TransientTrack &track)
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:36
void resetEvent(const TransientTrackBuilder *trackBuilder)
std::map< reco::TrackBaseRef, reco::TransientTrack, RefToBaseLess< reco::Track > > TransientTrackMap
JetSignalVertexCompatibilityAlgo(double cut, double temperature)
const TransientTrack & convert(const reco::TrackBaseRef &track) const
fixed size matrix
bool operator()(const edm::RefToBase< T > &r1, const edm::RefToBase< T > &r2) const