ATLAS Offline Software
Loading...
Searching...
No Matches
TrigPhotonCnv_p2.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
8
10
11//-----------------------------------------------------------------------------
12// Persistent to transient
13//-----------------------------------------------------------------------------
15 TrigPhoton *transObj,
16 MsgStream &log )
17{
18 log << MSG::DEBUG << "TrigPhotonCnv_p2::persToTrans called " << endmsg;
19
21 eLinkEMClusterCnv.persToTrans( &persObj->m_cluster, &cluster, log );
22
23 *transObj = TrigPhoton (0, 0, 0,
24 persObj->m_roiID,
25 persObj->m_valid,
26 cluster,
27 persObj->m_HadEt,
28 persObj->m_energyRatio,
29 persObj->m_rCore,
30 persObj->m_dEta,
31 persObj->m_dPhi,
32 persObj->m_Fside,
33 persObj->m_Weta2,
34 persObj->m_cl_e_frac_S0,
35 persObj->m_cl_e_frac_S1,
36 persObj->m_cl_e_frac_S2,
37 persObj->m_cl_e_frac_S3
38 );
39
40 fillTransFromPStore( &m_p4PtEtaPhiMCnv, persObj->m_p4PtEtaPhiM, transObj, log );
41}
42
43//-----------------------------------------------------------------------------
44// Transient to persistent
45//-----------------------------------------------------------------------------
47 TrigPhoton_p2 *persObj,
48 MsgStream &log )
49{
50 log << MSG::DEBUG << "TrigPhotonCnv_p2::transToPers called " << endmsg;
51
52 persObj->m_roiID = transObj->roiId() ;
53 persObj->m_HadEt = transObj->HadEt() ;
54 persObj->m_energyRatio = transObj->energyRatio() ;
55 persObj->m_rCore = transObj->rCore() ;
56 persObj->m_dPhi = transObj->dPhi() ;
57 persObj->m_dEta = transObj->dEta() ;
58 persObj->m_cl_e_frac_S0 = transObj->F0() ;
59 persObj->m_cl_e_frac_S1 = transObj->F1() ;
60 persObj->m_cl_e_frac_S2 = transObj->F2() ;
61 persObj->m_cl_e_frac_S3 = transObj->F3() ;
62 persObj->m_Fside = transObj->Fside() ;
63 persObj->m_Weta2 = transObj->Weta2() ;
64 persObj->m_valid = transObj->isValid() ;
65
66 eLinkEMClusterCnv.transToPers( &transObj->clusterLink(), &persObj->m_cluster, log );
67
68 persObj->m_p4PtEtaPhiM = baseToPersistent( &m_p4PtEtaPhiMCnv, transObj, log );
69
70}
#define endmsg
static const ElementLinkCnv_p1< ElementLink< TrigEMClusterContainer > > eLinkEMClusterCnv
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Definition TPConverter.h:97
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
virtual void persToTrans(const TrigPhoton_p2 *persObj, TrigPhoton *transObj, MsgStream &log)
P4PtEtaPhiMCnv_p1 * m_p4PtEtaPhiMCnv
virtual void transToPers(const TrigPhoton *transObj, TrigPhoton_p2 *persObj, MsgStream &log)
TPObjRef m_p4PtEtaPhiM
ElementLinkInt_p1 m_cluster
float HadEt() const
accessor for hadronic energy in 1st hadronic sampling behind cluster
float Fside() const
energy in a 7 strips (around hottest strip) minus energy in 3 strips divided by energy in 3 strips
float rCore() const
cluster energy in 3x7 cells / energy in 7x7 cells in 2nd sampling
float F0() const
accessors for calibrated energy and energy fraction in calo samples
int roiId() const
accessor to get RoI ID (should also introduce roiWord
float energyRatio() const
accessor for fraction difference of EM cluster emaxs1 and e2tsts1
float dEta() const
accessor for difference between cluster and Roi eta
float dPhi() const
accessor for difference between cluster and Roi phi
float Weta2() const
cluster width (based on a 3x5 cluster - 2nd layer)
const ElementLink< TrigEMClusterContainer > & clusterLink() const