ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_HepMC
ISF_HepMC_Tools
src
KeepChildrenTruthStrategy.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_TOOLS_KEEPCHILDRENTRUTHSTRATEGY_H
6
#define ISF_TOOLS_KEEPCHILDRENTRUTHSTRATEGY_H 1
7
8
// stl includes
9
#include <set>
10
#include <vector>
11
12
// Athena includes
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
15
// ISF includes
16
#include "
ISF_HepMC_Interfaces/ITruthStrategy.h
"
17
18
namespace
ISF
{
19
typedef
std::vector<int>
VertexTypesVector
;
20
typedef
std::set<int>
VertexTypesSet
;
21
typedef
std::vector<int>
PDGCodesVector
;
22
typedef
std::set<int>
PDGCodesSet
;
23
31
class
KeepChildrenTruthStrategy
final :
public
extends<AthAlgTool, ITruthStrategy> {
32
33
public
:
35
KeepChildrenTruthStrategy
(
const
std::string& t,
const
std::string& n,
const
IInterface* p );
36
38
~KeepChildrenTruthStrategy
() =
default
;
39
40
// Athena algtool's Hooks
41
virtual
StatusCode
initialize
() override final;
42
44
virtual
bool
pass
(
ITruthIncident
& incident)
const
override final;
45
47
virtual
bool
appliesToRegion
(
unsigned
short
)
const
override final;
48
49
private
:
50
52
Gaudi
::
Property
<
VertexTypesVector
>
m_vertexTypesVector
{
this
,
"VertexTypes"
, 0};
53
VertexTypesSet
m_vertexTypes
{};
54
bool
m_doVertexRangeCheck
{
false
};
55
Gaudi::Property<int>
m_vertexTypeRangeLow
{
this
,
"VertexTypeRangeLow"
, 0};
56
Gaudi::Property<int>
m_vertexTypeRangeHigh
{
this
,
"VertexTypeRangeHigh"
, 0};
57
unsigned
m_vertexTypeRangeLength
{0};
58
Gaudi::Property<int>
m_passProcessCategory
{
this
,
"PassProcessCategory"
, 9};
59
Gaudi::Property<bool>
m_bsmParent
{
this
,
"BSMParent"
,
false
};
61
Gaudi::Property<PDGCodesVector>
m_parentPdgCodesVector
{
this
,
"ParentPDGCodes"
, 0};
62
PDGCodesSet
m_parentPdgCodes
{};
63
};
64
65
}
66
67
#endif
//> !ISF_TOOLS_KEEPCHILDRENTRUTHSTRATEGY_H
AthAlgTool.h
ITruthStrategy.h
ISF::ITruthIncident
ISF interface class for TruthIncidents.
Definition
ITruthIncident.h:45
ISF::KeepChildrenTruthStrategy::m_vertexTypes
VertexTypesSet m_vertexTypes
optimized for search
Definition
KeepChildrenTruthStrategy.h:53
ISF::KeepChildrenTruthStrategy::initialize
virtual StatusCode initialize() override final
Definition
KeepChildrenTruthStrategy.cxx:23
ISF::KeepChildrenTruthStrategy::KeepChildrenTruthStrategy
KeepChildrenTruthStrategy(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition
KeepChildrenTruthStrategy.cxx:17
ISF::KeepChildrenTruthStrategy::m_parentPdgCodesVector
Gaudi::Property< PDGCodesVector > m_parentPdgCodesVector
PDG code checks.
Definition
KeepChildrenTruthStrategy.h:61
ISF::KeepChildrenTruthStrategy::m_vertexTypeRangeLow
Gaudi::Property< int > m_vertexTypeRangeLow
Definition
KeepChildrenTruthStrategy.h:55
ISF::KeepChildrenTruthStrategy::m_bsmParent
Gaudi::Property< bool > m_bsmParent
Apply to BSM parents.
Definition
KeepChildrenTruthStrategy.h:59
ISF::KeepChildrenTruthStrategy::pass
virtual bool pass(ITruthIncident &incident) const override final
true if the ITruthStrategy implementation applies to the given ITruthIncident
Definition
KeepChildrenTruthStrategy.cxx:48
ISF::KeepChildrenTruthStrategy::appliesToRegion
virtual bool appliesToRegion(unsigned short) const override final
true if the strategy applies to this region
Definition
KeepChildrenTruthStrategy.cxx:85
ISF::KeepChildrenTruthStrategy::m_vertexTypesVector
Gaudi::Property< VertexTypesVector > m_vertexTypesVector
vertex type (physics code) checks
Definition
KeepChildrenTruthStrategy.h:52
ISF::KeepChildrenTruthStrategy::~KeepChildrenTruthStrategy
~KeepChildrenTruthStrategy()=default
Destructor.
ISF::KeepChildrenTruthStrategy::m_parentPdgCodes
PDGCodesSet m_parentPdgCodes
optimized for search
Definition
KeepChildrenTruthStrategy.h:62
ISF::KeepChildrenTruthStrategy::m_vertexTypeRangeHigh
Gaudi::Property< int > m_vertexTypeRangeHigh
Definition
KeepChildrenTruthStrategy.h:56
ISF::KeepChildrenTruthStrategy::m_passProcessCategory
Gaudi::Property< int > m_passProcessCategory
Definition
KeepChildrenTruthStrategy.h:58
ISF::KeepChildrenTruthStrategy::m_vertexTypeRangeLength
unsigned m_vertexTypeRangeLength
Definition
KeepChildrenTruthStrategy.h:57
ISF::KeepChildrenTruthStrategy::m_doVertexRangeCheck
bool m_doVertexRangeCheck
Definition
KeepChildrenTruthStrategy.h:54
Property
Support class for PropertyMgr.
Definition
Property.h:23
const
Gaudi
=============================================================================
Definition
CaloGPUClusterAndCellDataMonitorOptions.h:273
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
ISF::PDGCodesVector
std::vector< int > PDGCodesVector
Definition
GenericTruthStrategy.h:22
ISF::VertexTypesSet
std::set< int > VertexTypesSet
Definition
GenericTruthStrategy.h:21
ISF::PDGCodesSet
std::set< int > PDGCodesSet
Definition
GenericTruthStrategy.h:23
ISF::VertexTypesVector
std::vector< int > VertexTypesVector
Definition
GenericTruthStrategy.h:20
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0