ATLAS Offline Software
IHiggsTruthCategoryTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * Dual-use tool interface for Rivet routine for classifying MC events according to the Higgs template cross section categories
7  * Authors: Jim Lacey (Carleton University)
8  * <james.lacey@cern.ch,jlacey@physics.carleton.ca>
9  */
10 
11 #ifndef GENINTERFACES_IHIGGSTRUTHCATEGORYTOOL_H
12 #define GENINTERFACES_IHIGGSTRUTHCATEGORYTOOL_H 1
13 
14 #include "AsgTools/IAsgTool.h"
15 #include "AtlasHepMC/GenEvent.h"
17 namespace HTXS {
18  struct HiggsClassification;
19 
20 }
21 
22 class IHiggsTruthCategoryTool : public virtual asg::IAsgTool {
23  public:
24  ASG_TOOL_INTERFACE( IHiggsTruthCategoryTool ) //declares the interface to athena
25  virtual ~IHiggsTruthCategoryTool() = default;
26  public:
27  virtual HTXS::HiggsClassification* getHiggsTruthCategoryObject(const HepMC::GenEvent& HepMCEvent, const HTXS::HiggsProdMode prodMode) const =0;
28 };
29 
30 #endif //> !GENINTERFACES_IHIGGSTRUTHCATEGORYTOOL_H
GenEvent.h
HiggsTemplateCrossSectionsDefs.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IHiggsTruthCategoryTool
Definition: IHiggsTruthCategoryTool.h:22
IAsgTool.h
HTXS
Higgs Template Cross Section namespace.
Definition: IHiggsTruthCategoryTool.h:17
HTXS::HiggsProdMode
HiggsProdMode
Higgs production modes, corresponding to input sample.
Definition: HiggsTemplateCrossSectionsDefs.h:27
IHiggsTruthCategoryTool::ASG_TOOL_INTERFACE
ASG_TOOL_INTERFACE(IHiggsTruthCategoryTool) virtual ~IHiggsTruthCategoryTool()=default
IHiggsTruthCategoryTool::getHiggsTruthCategoryObject
virtual HTXS::HiggsClassification * getHiggsTruthCategoryObject(const HepMC::GenEvent &HepMCEvent, const HTXS::HiggsProdMode prodMode) const =0