00001 #ifndef PhysicsTools_PatAlgos_StringResolutionProvider_H 00002 #define PhysicsTools_PatAlgos_StringResolutionProvider_H 00003 #include "DataFormats/PatCandidates/interface/CandKinResolution.h" 00004 #include "PhysicsTools/PatAlgos/interface/KinematicResolutionProvider.h" 00005 #include "DataFormats/Candidate/interface/Candidate.h" 00006 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00007 00008 #include "CommonTools/Utils/interface/StringObjectFunction.h" 00009 00043 class StringResolutionProvider : public KinematicResolutionProvider { 00044 00045 public: 00047 typedef StringObjectFunction<reco::Candidate> Function; 00048 00050 StringResolutionProvider(const edm::ParameterSet& cfg); 00052 virtual ~StringResolutionProvider(); 00054 virtual pat::CandKinResolution getResolution(const reco::Candidate& cand) const; 00055 00056 private: 00059 std::vector<pat::CandKinResolution::Scalar> constraints_; 00062 pat::CandKinResolution::Parametrization parametrization_; 00064 std::vector<std::string> bins_; 00066 std::vector<std::string> funcEt_, funcEta_, funcPhi_; 00067 }; 00068 00069 #endif