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