ATLAS Offline Software
AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H
8 #define PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H
9 
10 // Infrastructure include(s):
11 #include "AsgTools/IAsgTool.h"
12 
13 // Local include(s):
15 
16 namespace PMGTools {
17 
18  // Define parametrization type (i.e. reference process)
19  enum SysParType {
20  None = 0,
22  Zll,
24  GammaJets
25  };
26 
27  class IPMGSherpaVjetsSysTool : public virtual asg::IAsgTool {
28 
29  // Declare the interface that the class provides
31 
32  public:
33 
35  virtual double getWeight( const std::string& sysVariation = "nom") = 0;
36 
38  virtual void setNjets(int njets) = 0;
39  virtual void cacheDSID(bool do_it=true) = 0;
40 
42  virtual std::vector<std::string> getSupportedVariations(SysParType ptype) = 0;
43 
45  virtual unsigned int getNtruthJets() = 0;
46 
47  }; // class IPMGSherpaVjetsSysTool
48 
49 } // namespace PMGTools
50 
51 #endif //> !PMGTOOLS_IPMGSHERPAVJETSSYSTOOL_H
PMGTools::IPMGSherpaVjetsSysTool
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:27
PMGTools::None
@ None
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:20
PMGTools::Wlnu
@ Wlnu
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:23
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
PMGTools::Znunu
@ Znunu
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:21
PMGTools::GammaJets
@ GammaJets
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:24
PMGTools::IPMGSherpaVjetsSysTool::getSupportedVariations
virtual std::vector< std::string > getSupportedVariations(SysParType ptype)=0
Helpers to get the list of supported variations for Z/W+jets and gamma+jets.
PMGTools
Tool providing sample cross-sections and k-factors etc.
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGCrossSectionTool.h:15
PMGTools::IPMGSherpaVjetsSysTool::getWeight
virtual double getWeight(const std::string &sysVariation="nom")=0
Return weight for a given systematic variation.
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
PMGTools::IPMGSherpaVjetsSysTool::setNjets
virtual void setNjets(int njets)=0
Some setters to speed up the calculation for multiple variations/events.
PMGTools::IPMGSherpaVjetsSysTool::getNtruthJets
virtual unsigned int getNtruthJets()=0
get number of truth jets as defined in the parametrization analysis
PMGTools::SysParType
SysParType
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:19
PMGTools::IPMGSherpaVjetsSysTool::cacheDSID
virtual void cacheDSID(bool do_it=true)=0
CorrectionCode.h
PMGTools::Zll
@ Zll
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGSherpaVjetsSysTool.h:22