ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
TruthRivetTools
TruthRivetTools
HiggsTruthCategoryTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 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 TRUTHRIVETTOOLS_HIGGSTRUTHCATEGORYTOOL_H
12
#define TRUTHRIVETTOOLS_HIGGSTRUTHCATEGORYTOOL_H 1
13
14
#include "
CxxUtils/checker_macros.h
"
15
#include "Rivet/AnalysisHandler.hh"
16
#include "
TruthRivetTools/HiggsTemplateCrossSections.h
"
17
18
// To avoid coflict of UNUSED macro of
19
// Control/CxxUtils/CxxUtils/unused.h and Rivet/Tools/Utils.hh
20
#ifdef UNUSED
21
#undef UNUSED
22
#endif
// UNUSED
23
24
// Base classes
25
#include "
AsgTools/AsgTool.h
"
26
#include "
GenInterfaces/IHiggsTruthCategoryTool.h
"
27
28
// Return type (non-pointer)
29
// Note: the Template XSec Defs *depends* on having included
30
// the TLorentzVector header *before* it is included -- it
31
// uses the include guard from TLorentzVector to decide
32
// what is available
33
#include "TLorentzVector.h"
34
#include "
TruthRivetTools/HiggsTemplateCrossSectionsDefs.h
"
35
36
#include "
AtlasHepMC/GenEvent.h
"
37
38
// System include(s).
39
#include <memory>
40
41
class
HiggsTruthCategoryTool
42
:
public
asg::AsgTool
,
43
public
virtual
IHiggsTruthCategoryTool
44
{
45
public
:
46
ASG_TOOL_CLASS
(
HiggsTruthCategoryTool
,
IHiggsTruthCategoryTool
)
47
HiggsTruthCategoryTool
(
const
std::string& name );
48
49
public
:
50
std::unique_ptr<Rivet::AnalysisHandler>
m_rivetAnaHandler
;
51
Rivet::HiggsTemplateCrossSections
*
m_higgsTemplateCrossSections
;
52
virtual
StatusCode
initialize
()
override
;
53
StatusCode
finalize
()
override
;
54
HTXS::HiggsClassification*
getHiggsTruthCategoryObject
(
const
HepMC::GenEvent
& HepMCEvent,
const
HTXS::HiggsProdMode
prodMode)
const override
;
55
private
:
56
mutable
std::atomic_flag m_isInitialized
ATLAS_THREAD_SAFE
= ATOMIC_FLAG_INIT;
57
bool
m_outHistos
;
58
};
59
60
#endif
//> !HIGGSTRUTHCLASSIFIER_HIGGSTRUTHCATEGORYTOOL_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
GenEvent.h
HiggsTemplateCrossSectionsDefs.h
HiggsTemplateCrossSections.h
IHiggsTruthCategoryTool.h
checker_macros.h
Define macros for attributes used to control the static checker.
HiggsTruthCategoryTool::m_outHistos
bool m_outHistos
Definition
HiggsTruthCategoryTool.h:57
HiggsTruthCategoryTool::finalize
StatusCode finalize() override
Definition
HiggsTruthCategoryTool.cxx:31
HiggsTruthCategoryTool::m_higgsTemplateCrossSections
Rivet::HiggsTemplateCrossSections * m_higgsTemplateCrossSections
Definition
HiggsTruthCategoryTool.h:51
HiggsTruthCategoryTool::getHiggsTruthCategoryObject
HTXS::HiggsClassification * getHiggsTruthCategoryObject(const HepMC::GenEvent &HepMCEvent, const HTXS::HiggsProdMode prodMode) const override
Definition
HiggsTruthCategoryTool.cxx:48
HiggsTruthCategoryTool::m_rivetAnaHandler
std::unique_ptr< Rivet::AnalysisHandler > m_rivetAnaHandler
Definition
HiggsTruthCategoryTool.h:50
HiggsTruthCategoryTool::ATLAS_THREAD_SAFE
std::atomic_flag m_isInitialized ATLAS_THREAD_SAFE
Definition
HiggsTruthCategoryTool.h:56
HiggsTruthCategoryTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
HiggsTruthCategoryTool.cxx:20
HiggsTruthCategoryTool::HiggsTruthCategoryTool
HiggsTruthCategoryTool(const std::string &name)
Definition
HiggsTruthCategoryTool.cxx:10
IHiggsTruthCategoryTool
Definition
IHiggsTruthCategoryTool.h:22
Rivet::HiggsTemplateCrossSections
Rivet routine for classifying MC events according to the Higgs template cross section categories.
Definition
HiggsTemplateCrossSections.h:35
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
HTXS::HiggsProdMode
HiggsProdMode
Higgs production modes, corresponding to input sample.
Definition
HiggsTemplateCrossSectionsDefs.h:27
HepMC::GenEvent
HepMC3::GenEvent GenEvent
Definition
GenEvent.h:39
Generated on
for ATLAS Offline Software by
1.17.0