00001 #ifndef JETUNCERTAINTIES_IJETUNCERTAINTIESTOOL_H
00002 #define JETUNCERTAINTIES_IJETUNCERTAINTIESTOOL_H
00003
00004 #include "AsgTools/IAsgTool.h"
00005
00006 #include "xAODJet/Jet.h"
00007 #include "xAODJet/JetContainer.h"
00008 #include "xAODEventInfo/EventInfo.h"
00009
00010 #include <string>
00011 class TString;
00012
00013 class IJetUncertaintiesTool : virtual public asg::IAsgTool
00014 {
00015
00016 ASG_TOOL_INTERFACE(IJetUncertaintiesTool)
00017
00018 public:
00019
00020 virtual std::string getName() const = 0;
00021 virtual std::string getJetDef() const = 0;
00022 virtual std::string getMCType() const = 0;
00023 virtual std::string getConfigFile() const = 0;
00024 virtual std::string getPath() const = 0;
00025 virtual std::string getAnalysisFile() const = 0;
00026 virtual float getRefMu() const = 0;
00027 virtual float getRefNPV() const = 0;
00028
00029
00030 virtual size_t getNumComponents() const = 0;
00031 virtual size_t getComponentIndex(const std::string& name) const = 0;
00032 virtual size_t getComponentIndex(const TString& name) const = 0;
00033 virtual std::string getComponentName(const size_t index) const = 0;
00034 virtual std::string getComponentDesc(const size_t index) const = 0;
00035
00036
00037 virtual bool getComponentScalesFourVec(const size_t index) const = 0;
00038 virtual bool getComponentScalesPt(const size_t index) const = 0;
00039 virtual bool getComponentScalesMass(const size_t index) const = 0;
00040 virtual bool getComponentScalesD12(const size_t index) const = 0;
00041 virtual bool getComponentScalesD23(const size_t index) const = 0;
00042 virtual bool getComponentScalesTau21(const size_t index) const = 0;
00043 virtual bool getComponentScalesTau32(const size_t index) const = 0;
00044
00045
00046 virtual bool getValidity(size_t index, const xAOD::Jet& jet) const = 0;
00047 virtual bool getValidity(size_t index, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const = 0;
00048 virtual double getUncertainty(size_t index, const xAOD::Jet& jet) const = 0;
00049 virtual double getUncertainty(size_t index, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const = 0;
00050 virtual bool getValidUncertainty(size_t index, double& unc, const xAOD::Jet& jet) const = 0;
00051 virtual bool getValidUncertainty(size_t index, double& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const = 0;
00052
00053
00054 };
00055
00056 #endif