ATLAS Offline Software
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 
19 #include "AtlasHepMC/GenEvent.h"
20 
21 
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 
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:
56 
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:41
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