00001 #ifndef JETUNCERTAINTIES_CLOSEBYUNCERTAINTYCOMPONENT_H 00002 #define JETUNCERTAINTIES_CLOSEBYUNCERTAINTYCOMPONENT_H 00003 00004 #include "JetUncertainties/UncertaintyComponent.h" 00005 00006 namespace jet 00007 { 00008 00009 class ClosebyUncertaintyComponent : public UncertaintyComponent 00010 { 00011 public: 00012 // Constructor/destructor/initialization 00013 ClosebyUncertaintyComponent(const ComponentHelper& component); 00014 ClosebyUncertaintyComponent(const ClosebyUncertaintyComponent& toCopy); 00015 virtual ClosebyUncertaintyComponent* clone() const; 00016 virtual ~ClosebyUncertaintyComponent() {} 00017 00018 protected: 00019 00020 // Uncertainty/validity retrieval helper methods 00021 virtual bool getValidityImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const; 00022 virtual double getUncertaintyImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const; 00023 00024 private: 00025 ClosebyUncertaintyComponent(const std::string& name = ""); 00026 00027 float getMinDR(const xAOD::Jet& jet) const; 00028 00029 }; 00030 00031 } // end jet namespace 00032 00033 #endif 00034