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(const reco::VertexCollection &vertices, const reco::TrackRefVector &tracks) const;
21 
23 
24  private:
25  template <typename T>
26  struct RefToBaseLess {
27  bool operator()(const edm::RefToBase<T> &r1, const edm::RefToBase<T> &r2) const;
28  };
29 
30  typedef std::map<reco::TrackBaseRef, reco::TransientTrack, RefToBaseLess<reco::Track> > TransientTrackMap;
31 
32  const TransientTrack &convert(const reco::TrackBaseRef &track) const;
33  double activation(double compat) const;
34 
35  static double trackVertexCompat(const reco::Vertex &vtx, const TransientTrack &track);
36 
39 
40  const double cut;
41  const double temperature;
42  };
43 
44 } // namespace reco
45 
46 #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
bool operator()(const edm::RefToBase< T > &r1, const edm::RefToBase< T > &r2) const
static double trackVertexCompat(const reco::Vertex &vtx, const TransientTrack &track)
void resetEvent(const TransientTrackBuilder *trackBuilder)
std::map< reco::TrackBaseRef, reco::TransientTrack, RefToBaseLess< reco::Track > > TransientTrackMap
auto const & tracks
cannot be loose
JetSignalVertexCompatibilityAlgo(double cut, double temperature)
fixed size matrix
const TransientTrack & convert(const reco::TrackBaseRef &track) const