00001
00002 #ifndef PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H
00003 #define PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H
00004
00005
00006 #include "AsgTools/IAsgTool.h"
00007
00008
00009 #include "PATInterfaces/CorrectionCode.h"
00010
00011 namespace PMGTools {
00012
00013
00014 enum SysParType {
00015 None = 0,
00016 Znunu,
00017 Zll,
00018 Wlnu,
00019 GammaJets
00020 };
00021
00022 class IPMGSherpaVjetsSysTool : public virtual asg::IAsgTool {
00023
00024
00025 ASG_TOOL_INTERFACE( PMGTools::IPMGSherpaVjetsSysTool )
00026
00027 public:
00028
00030 virtual double getWeight( const std::string& sysVariation = "nom") = 0;
00031
00033 virtual void setNjets(int njets) = 0;
00034 virtual void cacheDSID(bool do_it=true) = 0;
00035
00037 virtual std::vector<std::string> getSupportedVariations(SysParType ptype) = 0;
00038
00040 virtual unsigned int getNtruthJets() = 0;
00041
00042 };
00043
00044 }
00045
00046 #endif //> !PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H