Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:36

0001 #ifndef TrackClassFilter_H
0002 #define TrackClassFilter_H
0003 
0004 #include "DataFormats/TrackReco/interface/Track.h"
0005 #include "DataFormats/VertexReco/interface/Vertex.h"
0006 #include "DataFormats/JetReco/interface/Jet.h"
0007 #include "CondFormats/BTauObjects/interface/TrackProbabilityCategoryData.h"
0008 #include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h"
0009 
0010 /**  filter to define the belonging of a track to a TrackClass
0011    */
0012 class TrackClassFilter {
0013 public:
0014   TrackClassFilter() {}
0015 
0016   class Input {
0017   public:
0018     Input(const bool useQ, const reco::Track &t, const reco::Jet &j, const reco::Vertex &v)
0019         : useQuality(useQ), track(t), jet(j), vertex(v) {}
0020     const bool useQuality;
0021     const reco::Track &track;
0022     const reco::Jet &jet;
0023     const reco::Vertex &vertex;
0024   };
0025 
0026   typedef Input first_argument_type;
0027   typedef TrackProbabilityCalibration::Entry second_argument_type;
0028   typedef bool result_type;
0029 
0030   bool operator()(const first_argument_type &, const second_argument_type &) const;
0031 
0032   //  void dump() const;
0033 };
0034 
0035 #endif