CMS 3D CMS Logo

JetSignalVertexCompatibilityAlgo.h
Go to the documentation of this file.
1 #ifndef JetSignalVertexCompatibilityAlgo_h
2 #define JetSignalVertexCompatibilityAlgo_h
3 
4 #include <functional>
5 #include <vector>
6 #include <map>
7 
11 
13 
14 namespace reco {
15 
17  public:
20 
21  std::vector<float> compatibility(
23  const reco::TrackRefVector &tracks) const;
24 
26 
27  private:
28  template<typename T>
29  struct RefToBaseLess : public std::binary_function<edm::RefToBase<T>,
30  edm::RefToBase<T>,
31  bool> {
32  bool operator()(const edm::RefToBase<T> &r1,
33  const edm::RefToBase<T> &r2) const;
34  };
35 
38 
39  const TransientTrack &convert(const reco::TrackBaseRef &track) const;
40  double activation(double compat) const;
41 
42  static double trackVertexCompat(const reco::Vertex &vtx,
43  const TransientTrack &track);
44 
45  mutable TransientTrackMap trackMap;
47 
48  const double cut;
49  const double temperature;
50 };
51 
52 } // namespace reco
53 
54 #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:32
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