ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
TruthParticleID
McParticleTools
src
TruthParticleCnvTool.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// TruthParticleCnvTool.h
8
// Header file for class TruthParticleCnvTool
9
// Author: S.Binet<binet@cern.ch>
10
// Purpose: Create a TruthParticleContainer from a HepMC::GenEvent
12
#ifndef MCPARTICLETOOLS_TRUTHPARTICLECNVTOOL_H
13
#define MCPARTICLETOOLS_TRUTHPARTICLECNVTOOL_H
14
33
34
35
// Framework includes
36
#include "GaudiKernel/ToolHandle.h"
37
#include "GaudiKernel/ServiceHandle.h"
38
#include "
AthenaBaseComps/AthAlgTool.h
"
39
40
#include "
EventKernel/IParticle.h
"
//> for ParticleDataType
41
42
// CLHEP/HepMC includes
43
#include "
GeneratorObjects/McEventCollection.h
"
44
45
// McParticleKernel includes
46
#include "
McParticleKernel/ITruthParticleCnvTool.h
"
47
48
#include "
McParticleEvent/PileUpClassification.h
"
49
50
// McParticleEvent includes
51
#include "
McParticleEvent/TruthParticleContainer.h
"
52
53
// Forward declarations
54
class
McEventCollection
;
55
class
TruthParticle
;
56
class
ITruthIsolationTool
;
57
58
class
TruthParticleCnvTool
:
public
extends<AthAlgTool, ITruthParticleCnvTool>
59
{
61
// Public methods:
63
public
:
64
66
TruthParticleCnvTool
(
const
std::string&
type
,
67
const
std::string& name,
68
const
IInterface* parent );
69
71
virtual
~TruthParticleCnvTool
();
72
73
// Athena's Hooks
74
virtual
StatusCode
initialize
()
override
;
75
virtual
StatusCode
execute
()
const override
;
76
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
77
79
// Const methods:
81
90
StatusCode
convert
(
const
McEventCollection
* mcEvts,
91
const
unsigned
int
genEvtIndex,
92
TruthParticleContainer
* mcParts,
93
const
ITruthParticleVisitor
* visitor )
const override
;
94
96
// Non-const methods:
98
99
void
setDataType
(
const
int
type
);
100
void
setVxCandidateName
(
const
std::string& name );
101
103
// Private data:
105
private
:
106
109
ParticleDataType::DataType
m_dataType
;
110
int
m_dataType_int
;
111
112
std::string
m_vxCandidatesName
;
113
116
SG::ReadHandleKey<McEventCollection>
m_mcEventsReadHandleKey
{
this
,
"McEvents"
,
"GEN_AOD"
,
"ReadHandleKey for the input McEventCollection, from which the TruthParticles will be made from"
};
117
120
SG::WriteHandleKey<TruthParticleContainer>
m_mcPartsOutputWriteHandleKey
{
this
,
"TruthParticlesOutput"
,
"SpclMC"
,
"WriteHandleKey for the output truth particles (built from the McEventCollection)"
};
121
124
PileUpClassification::PileuType_t
m_selectSignalType
;
125
128
int
m_selectSignalTypeProp
;
129
130
131
133
// Protected data:
135
protected
:
136
142
BooleanProperty
m_doEtIsolation
;
143
144
typedef
ToolHandle<ITruthIsolationTool>
IsolTool_t
;
145
149
IsolTool_t
m_isolationTool
;
150
151
};
152
156
inline
void
TruthParticleCnvTool::setDataType
(
const
int
type
)
157
{
158
m_dataType
=
ParticleDataType::DataType
(
type
);
159
}
160
161
inline
void
TruthParticleCnvTool::setVxCandidateName
(
const
std::string& name )
162
{
163
m_vxCandidatesName
= name;
164
}
165
166
#endif
// MCPARTICLETOOLS_TRUTHPARTICLECNVTOOL_H
AthAlgTool.h
IParticle.h
ITruthParticleCnvTool.h
McEventCollection.h
TruthParticleContainer.h
PileUpClassification.h
ITruthIsolationTool
interface for AlgTools which want to compute and/or retrieve isolation energies for/from HepMC::GenEv...
Definition
ITruthIsolationTool.h:33
ITruthParticleVisitor
TruthParticles.
Definition
ITruthParticleVisitor.h:30
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
Definition
McEventCollection.h:31
PileUpClassification::PileuType_t
PileuType_t
define some Pile-up classification Important : this classification is copied in McParticleAlgs/python...
Definition
PileUpClassification.h:29
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
TruthParticleCnvTool::m_selectSignalTypeProp
int m_selectSignalTypeProp
Type of truth particle we want to create (property to be set by jobO).
Definition
TruthParticleCnvTool.h:128
TruthParticleCnvTool::m_dataType_int
int m_dataType_int
Definition
TruthParticleCnvTool.h:110
TruthParticleCnvTool::~TruthParticleCnvTool
virtual ~TruthParticleCnvTool()
Destructor:
Definition
TruthParticleCnvTool.cxx:90
TruthParticleCnvTool::TruthParticleCnvTool
TruthParticleCnvTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
TruthParticleCnvTool.cxx:46
TruthParticleCnvTool::m_mcPartsOutputWriteHandleKey
SG::WriteHandleKey< TruthParticleContainer > m_mcPartsOutputWriteHandleKey
Output TruthParticle WriteHandleKey (built from the McEventCollection).
Definition
TruthParticleCnvTool.h:120
TruthParticleCnvTool::IsolTool_t
ToolHandle< ITruthIsolationTool > IsolTool_t
Definition
TruthParticleCnvTool.h:144
TruthParticleCnvTool::execute
virtual StatusCode execute() const override
Definition
TruthParticleCnvTool.cxx:129
TruthParticleCnvTool::m_dataType
ParticleDataType::DataType m_dataType
Type of data we are dealing with (Full/Fast/Truth/...).
Definition
TruthParticleCnvTool.h:109
TruthParticleCnvTool::m_isolationTool
IsolTool_t m_isolationTool
Pointer to the ITruthIsolationTool to be able to retrieve the previously computed transverse energy i...
Definition
TruthParticleCnvTool.h:149
TruthParticleCnvTool::setDataType
void setDataType(const int type)
Inline methods:
Definition
TruthParticleCnvTool.h:156
TruthParticleCnvTool::initialize
virtual StatusCode initialize() override
Athena Algorithm's Hooks.
Definition
TruthParticleCnvTool.cxx:97
TruthParticleCnvTool::setVxCandidateName
void setVxCandidateName(const std::string &name)
Definition
TruthParticleCnvTool.h:161
TruthParticleCnvTool::m_selectSignalType
PileUpClassification::PileuType_t m_selectSignalType
Type of truth particle we want to create.
Definition
TruthParticleCnvTool.h:124
TruthParticleCnvTool::convert
StatusCode convert(const McEventCollection *mcEvts, const unsigned int genEvtIndex, TruthParticleContainer *mcParts, const ITruthParticleVisitor *visitor) const override
Converts a McEventCollection into an TruthParticleContainer (ie: converts it into an AOD compliant co...
Definition
TruthParticleCnvTool.cxx:207
TruthParticleCnvTool::m_vxCandidatesName
std::string m_vxCandidatesName
Definition
TruthParticleCnvTool.h:112
TruthParticleCnvTool::m_doEtIsolation
BooleanProperty m_doEtIsolation
Switch to compute or not the Et-isolations for TruthParticle (and their underlying HepMC::GenParticle...
Definition
TruthParticleCnvTool.h:142
TruthParticleCnvTool::m_mcEventsReadHandleKey
SG::ReadHandleKey< McEventCollection > m_mcEventsReadHandleKey
ReadHandleKey for the McEventCollection the TruthParticles will be made from.
Definition
TruthParticleCnvTool.h:116
TruthParticleContainer
Definition
PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h:42
TruthParticle
(HepMC) Monte Carlo particle.
Definition
PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticle.h:58
ParticleDataType::DataType
DataType
Definition
Event/EventKernel/EventKernel/IParticle.h:36
type
Generated on
for ATLAS Offline Software by
1.17.0