ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaEventTPCnv
src
egammaCnv_p1.cxx
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// egammaCnv_p1.cxx
8
// Implementation file for class egammaCnv_p1
9
// Author: K.Cranmer<cranmer@cern.ch>
10
// Author: S.Binet<binet@cern.ch>
12
13
14
// STL includes
15
16
#include "GaudiKernel/GaudiException.h"
17
18
// egammaEventTPCnv includes
19
#include "
egammaEventTPCnv/egammaCnv_p1.h
"
20
21
// some constants used to keep consistency over business of egPID conversion
22
// --hack-hack-hack-- (ugly-ugly)
23
25
// Public methods:
27
28
// Constructors
30
31
// Destructor
33
35
// Const methods:
37
38
void
egammaCnv_p1::persToTrans
(
const
egamma_p1
* pers,
39
egamma
* trans,
40
MsgStream&
msg
)
41
{
42
// msg << MSG::DEBUG << "Loading egamma from persistent state..."
43
// << endmsg;
44
45
// Clear
46
*trans =
egamma
(pers->
m_author
);
47
48
m_momCnv
.persToTrans (&pers->
m_momentum
,
49
&trans->
momentumBase
(),
50
msg
);
51
m_partBaseCnv
.persToTrans (&pers->
m_particleBase
,
52
&trans->
particleBase
(),
53
msg
);
54
55
// element links
56
ElementLink<CaloClusterContainer>
cluster;
57
m_clusterCnv
.persToTrans( &pers->
m_cluster
, &cluster,
msg
);
58
trans->
setClusterElementLink
(cluster);
59
60
ElementLink<Rec::TrackParticleContainer>
el;
61
m_trackCnv
.persToTrans( &pers->
m_trackParticle
,
62
&el,
63
msg
);
64
trans->
setTrackParticleElementLink
(el);
65
66
ElementLink<VxContainer>
vx;
67
m_conversionCnv
.persToTrans( &pers->
m_conversion
,
68
&vx,
69
msg
);
70
trans->
setConversionElementLink
(vx);
71
72
ElementLinkVector<egDetailContainer>
egDetails;
73
m_egDetailsCnv
.persToTrans( &pers->
m_egDetails
,
74
&egDetails,
75
msg
);
76
trans->
setDetailElementLinkVector
(std::move (egDetails));
77
78
// egPID filling (doubles)
79
{
80
const
std::vector<double>& egID = pers->
m_egammaDblPIDs
;
81
const
std::vector<unsigned int>& egEnum = pers->
m_egammaEnumPIDs
;
82
83
// if you crash here, then there is a data corruption...
84
assert( egEnum.size() == egID.size() );
85
86
for
(
unsigned
int
i=0; i< egID.size(); i++ ) {
87
trans->
set_egammaID
( (
egammaPIDObs::PID
) egEnum[i], egID[i] );
88
}
89
}
90
//Clearing Rings ElementLink:
91
trans->
resetRings
();
92
}
93
94
void
egammaCnv_p1::transToPers
(
const
egamma
*
/*trans*/
,
95
egamma_p1
*
/*pers*/
,
96
MsgStream&
/*msg*/
)
97
{
98
99
throw
GaudiException(
"Deprecated method, we have evolved to use egamma_p2.Please migrate to use egammaCnv_p2::transToPers"
,
"egammaCnv_p1::transToPers"
, StatusCode::FAILURE);
100
}
ElementLinkVector
ElementLinkVector implementation for standalone ROOT.
Definition
AthLinks/ElementLinkVector.h:64
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
ParticleImpl::momentumBase
const momentum_type & momentumBase() const
access to underlying base type (I4Momentum-like)
Definition
ParticleImpl.h:393
ParticleImpl::particleBase
const particle_type & particleBase() const
access to underlying base type (IParticle-like)
Definition
ParticleImpl.h:403
egammaCnv_p1::m_partBaseCnv
ParticleBaseCnv_p1 m_partBaseCnv
Definition
egammaCnv_p1.h:81
egammaCnv_p1::m_trackCnv
TrackLinkCnv_t m_trackCnv
Definition
egammaCnv_p1.h:83
egammaCnv_p1::m_momCnv
P4ImplEEtaPhiMCnv_p1 m_momCnv
Definition
egammaCnv_p1.h:80
egammaCnv_p1::persToTrans
virtual void persToTrans(const egamma_p1 *persObj, egamma *transObj, MsgStream &msg) override final
Method creating the transient representation of egamma from its persistent representation egamma_p1.
Definition
egammaCnv_p1.cxx:38
egammaCnv_p1::transToPers
virtual void transToPers(const egamma *transObj, egamma_p1 *persObj, MsgStream &msg) override final
Method creating the persistent representation egamma_p1 from its transient representation egamma.
Definition
egammaCnv_p1.cxx:94
egammaCnv_p1::m_conversionCnv
ConversionLinkCnv_t m_conversionCnv
Definition
egammaCnv_p1.h:84
egammaCnv_p1::m_egDetailsCnv
EgDetailsCnv_t m_egDetailsCnv
Definition
egammaCnv_p1.h:85
egammaCnv_p1::m_clusterCnv
ClusterLinkCnv_t m_clusterCnv
Definition
egammaCnv_p1.h:82
egamma_p1
Definition
egamma_p1.h:33
egamma_p1::m_author
unsigned int m_author
Definition
egamma_p1.h:80
egamma_p1::m_conversion
ElementLinkInt_p1 m_conversion
links to tracks
Definition
egamma_p1.h:74
egamma_p1::m_momentum
P4EEtaPhiM_p1 m_momentum
the 4-mom part
Definition
egamma_p1.h:60
egamma_p1::m_particleBase
ParticleBase_p1 m_particleBase
the ParticleBase part
Definition
egamma_p1.h:63
egamma_p1::m_egammaDblPIDs
std::vector< double > m_egammaDblPIDs
Definition
egamma_p1.h:84
egamma_p1::m_egDetails
ElementLinkIntVector_p1 m_egDetails
links to egDetails
Definition
egamma_p1.h:77
egamma_p1::m_egammaEnumPIDs
std::vector< unsigned int > m_egammaEnumPIDs
egamma PID
Definition
egamma_p1.h:83
egamma_p1::m_trackParticle
ElementLinkInt_p1 m_trackParticle
links to tracks
Definition
egamma_p1.h:71
egamma_p1::m_cluster
ElementLinkInt_p1 m_cluster
links to clusters
Definition
egamma_p1.h:68
egamma
elec/gamma data class.
Definition
egamma.h:59
egamma::setTrackParticleElementLink
void setTrackParticleElementLink(const ElementLink< Rec::TrackParticleContainer > &link)
Set Track Particle Link.
Definition
egamma.cxx:541
egamma::setDetailElementLinkVector
void setDetailElementLinkVector(const ElementLinkVector< egDetailContainer > &v)
Definition
egamma.cxx:625
egamma::set_egammaID
bool set_egammaID(egammaPIDObs::PID id, double result)
set_egamma ID, for doubles and all possible weights as likelihood
Definition
egamma.cxx:327
egamma::resetRings
void resetRings()
Reset Cluster.
Definition
egamma.cxx:477
egamma::setClusterElementLink
void setClusterElementLink(const ElementLink< CaloClusterContainer > &link)
Set Cluster Element Link.
Definition
egamma.cxx:510
egamma::setConversionElementLink
void setConversionElementLink(const ElementLink< VxContainer > &link)
Set Conversion.
Definition
egamma.cxx:586
egammaCnv_p1.h
egammaPIDObs::PID
PID
Definition
egammaPIDdefsObs.h:53
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0