ATLAS Offline Software
PhysicsAnalysis
Interfaces
AsgAnalysisInterfaces
AsgAnalysisInterfaces
ITruthClassificationTool.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
#ifndef ITRUTHCLASSIFICATIONTOOL_H_
6
#define ITRUTHCLASSIFICATIONTOOL_H_
7
8
#include <iostream>
9
#include <type_traits>
10
11
#include <
AsgAnalysisInterfaces/IClassificationTool.h
>
12
#include <
xAODBase/IParticle.h
>
13
14
15
namespace
Truth
16
{
17
19
enum class
Type
{
20
Unknown
,
21
KnownUnknown
,
22
IsoElectron
,
23
ChargeFlipIsoElectron
,
24
PromptMuon
,
25
PromptPhotonConversion
,
26
ElectronFromMuon
,
27
TauDecay
,
28
BHadronDecay
,
29
CHadronDecay
,
30
LightFlavorDecay
,
31
ChargeFlipMuon
,
32
NonMuonlike
,
33
TauDecayLike
= 70,
34
BHadronDecayLike
= 80,
35
CHadronDecayLike
= 90,
36
};
37
38
}
// namespace Truth
39
40
inline
std::ostream &
operator<<
(std::ostream &
os
,
const
Truth::Type
&
obj
)
41
{
42
os << static_cast<std::underlying_type<Truth::Type>::type
>(
obj
);
43
return
os
;
44
}
45
46
47
54
class
ITruthClassificationTool
:
virtual
public
CP::IClassificationTool
55
{
56
ASG_TOOL_INTERFACE
(
ITruthClassificationTool
)
57
58
public
:
59
virtual
~ITruthClassificationTool
() =
default
;
60
63
virtual
StatusCode
classify
(
const
xAOD::IParticle
&
particle
,
64
unsigned
int
&classification)
const
= 0;
65
67
virtual
StatusCode
classify
(
const
xAOD::IParticle
&
particle
,
68
Truth::Type
&classification)
const
= 0;
69
};
70
71
#endif // ITRUTHCLASSIFICATIONTOOL_H_
Truth::Type::IsoElectron
@ IsoElectron
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:76
IParticle.h
Truth::Type::LightFlavorDecay
@ LightFlavorDecay
Truth::Type::TauDecayLike
@ TauDecayLike
operator<<
std::ostream & operator<<(std::ostream &os, const Truth::Type &obj)
Definition:
ITruthClassificationTool.h:40
ITruthClassificationTool
a tool interface to classify particles into multiple categories based on their truth information
Definition:
ITruthClassificationTool.h:55
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
Truth::Type::CHadronDecay
@ CHadronDecay
Truth::Type::BHadronDecayLike
@ BHadronDecayLike
ITruthClassificationTool::~ITruthClassificationTool
virtual ~ITruthClassificationTool()=default
Truth
Definition:
ITruthClassificationTool.h:16
Truth::Type::TauDecay
@ TauDecay
Truth::Type::Unknown
@ Unknown
Truth::Type::ChargeFlipIsoElectron
@ ChargeFlipIsoElectron
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITruthClassificationTool::classify
virtual StatusCode classify(const xAOD::IParticle &particle, unsigned int &classification) const =0
classify and return unsigned int re-declaration needed due to the same name used
ITruthClassificationTool::classify
virtual StatusCode classify(const xAOD::IParticle &particle, Truth::Type &classification) const =0
classify and return Truth::Type
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
xAODType
Definition:
ObjectType.h:13
ReadFromCoolCompare.os
os
Definition:
ReadFromCoolCompare.py:231
Truth::Type::PromptPhotonConversion
@ PromptPhotonConversion
Truth::Type::BHadronDecay
@ BHadronDecay
Truth::Type::NonMuonlike
@ NonMuonlike
Truth::Type::KnownUnknown
@ KnownUnknown
Truth::Type::ElectronFromMuon
@ ElectronFromMuon
Truth::Type::CHadronDecayLike
@ CHadronDecayLike
IClassificationTool.h
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
python.PyAthena.obj
obj
Definition:
PyAthena.py:132
Truth::Type::ChargeFlipMuon
@ ChargeFlipMuon
CP::IClassificationTool
a tool interface to classify particles into multiple categories by assigning them an unsigned integer
Definition:
IClassificationTool.h:20
Truth::Type::PromptMuon
@ PromptMuon
Truth::Type
Type
truth classification type enum
Definition:
ITruthClassificationTool.h:19
Generated on Thu Nov 7 2024 21:17:40 for ATLAS Offline Software by
1.8.18