ATLAS Offline Software
HighGranularityTimingDetector
HGTD_Reconstruction
HGTD_RecToolInterfaces
HGTD_RecToolInterfaces
IHGTD_ClusterTruthTool.h
Go to the documentation of this file.
1
13
#ifndef IHGTD_CLUSTERTRUTHTOOL_H
14
#define IHGTD_CLUSTERTRUTHTOOL_H
15
16
#include "GaudiKernel/IAlgTool.h"
17
18
#include "
xAODTruth/TruthParticle.h
"
19
#include "
AtlasHepMC/GenEvent.h
"
20
21
22
class
InDetSimDataCollection
;
23
24
class
HGTD_Cluster
;
25
26
namespace
HGTD
{
27
enum class
ClusterTruthOrigin
{
28
UNIDENTIFIED
= 0,
29
TRUTH_PARTICLE
= 1,
// originates from the tested truth particle
30
HARD_SCATTER
= 2,
// originates from a HS particle, but unclear which
31
PILEUP
= 3,
// originates from a pileup interaction
32
SECONDARY
= 4
// originates from some secondary interaction
33
};
34
35
struct
ClusterTruthInfo
{
36
ClusterTruthOrigin
origin
=
ClusterTruthOrigin::UNIDENTIFIED
;
42
bool
is_shadowed
=
false
;
47
bool
is_merged
=
false
;
48
};
49
}
// namespace HGTD
50
51
class
IHGTD_ClusterTruthTool
:
virtual
public
IAlgTool {
52
53
public
:
55
DeclareInterfaceID
(
IHGTD_ClusterTruthTool
, 1, 0);
56
73
virtual
HGTD::ClusterTruthInfo
74
classifyCluster
(
const
HGTD_Cluster
* cluster,
75
const
xAOD::TruthParticle
*
tp
,
76
const
InDetSimDataCollection
* sim_data,
77
const
HepMC::GenEvent* hard_scatter_evnt =
nullptr
)
const
= 0;
78
};
79
80
#endif // IHGTD_CLUSTERTRUTHTOOL_H
GenEvent.h
IHGTD_ClusterTruthTool
Definition:
IHGTD_ClusterTruthTool.h:51
HGTD::ClusterTruthOrigin
ClusterTruthOrigin
Definition:
IHGTD_ClusterTruthTool.h:27
HGTD::ClusterTruthInfo
Definition:
IHGTD_ClusterTruthTool.h:35
ParticleTest.tp
tp
Definition:
ParticleTest.py:25
InDetSimDataCollection
Definition:
InDetSimDataCollection.h:25
IHGTD_ClusterTruthTool::DeclareInterfaceID
DeclareInterfaceID(IHGTD_ClusterTruthTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
IHGTD_ClusterTruthTool::classifyCluster
virtual HGTD::ClusterTruthInfo classifyCluster(const HGTD_Cluster *cluster, const xAOD::TruthParticle *tp, const InDetSimDataCollection *sim_data, const HepMC::GenEvent *hard_scatter_evnt=nullptr) const =0
Checks if the cluster originates from the tested truth particle or if it can be assigned to the hard ...
HGTD_Cluster
Definition:
HGTD_Cluster.h:35
HGTD
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Definition:
Clustering.h:28
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition:
TruthParticle_v1.h:37
HGTD::ClusterTruthOrigin::UNIDENTIFIED
@ UNIDENTIFIED
HGTD::ClusterTruthOrigin::SECONDARY
@ SECONDARY
HGTD::ClusterTruthInfo::origin
ClusterTruthOrigin origin
Definition:
IHGTD_ClusterTruthTool.h:36
HGTD::ClusterTruthOrigin::TRUTH_PARTICLE
@ TRUTH_PARTICLE
HGTD::ClusterTruthOrigin::HARD_SCATTER
@ HARD_SCATTER
HGTD::ClusterTruthOrigin::PILEUP
@ PILEUP
HGTD::ClusterTruthInfo::is_shadowed
bool is_shadowed
Shadowing means that a deposit was left by the truth particle, but it was not the first deposit and i...
Definition:
IHGTD_ClusterTruthTool.h:42
HGTD::ClusterTruthInfo::is_merged
bool is_merged
A cluster is considered to be merged if more than one particle deposited energy in a given pad.
Definition:
IHGTD_ClusterTruthTool.h:47
TruthParticle.h
Generated on Sun Dec 22 2024 21:11:28 for ATLAS Offline Software by
1.8.18