ATLAS Offline Software
TrigPhotonCnv_p3.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 
9 static const ElementLinkCnv_p3< ElementLink<TrigEMClusterContainer> > eLinkEMClusterCnv;
10 
11 //-----------------------------------------------------------------------------
12 // Persistent to transient
13 //-----------------------------------------------------------------------------
15  TrigPhoton *transObj,
16  MsgStream &log )
17 {
18  log << MSG::DEBUG << "TrigPhotonCnv_p3::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_allTheFloats[0], // HadEt
28  persObj->m_allTheFloats[1], // energyRatio
29  persObj->m_allTheFloats[2], // rCore,
30  persObj->m_allTheFloats[4], // deta
31  persObj->m_allTheFloats[3], // dphi
32  persObj->m_allTheFloats[9], // Fside
33  persObj->m_allTheFloats[10], // Weta2,
34  persObj->m_allTheFloats[5], // F0
35  persObj->m_allTheFloats[6], // F1
36  persObj->m_allTheFloats[7], // F2
37  persObj->m_allTheFloats[8] // F3
38  );
39  //fillTransFromPStore( &m_p4PtEtaPhiMCnv, persObj->m_p4PtEtaPhiM, transObj, log );
40  m_p4PtEtaPhiMCnv.persToTrans(&(persObj->m_P4PtEtaPhiM), transObj, log);
41 }
42 
43 //-----------------------------------------------------------------------------
44 // Transient to persistent
45 //-----------------------------------------------------------------------------
47  TrigPhoton_p3 *persObj,
48  MsgStream &log )
49 {
50  log << MSG::DEBUG << "TrigPhotonCnv_p3::transToPers called " << endmsg;
51 
52  persObj->m_roiID = transObj->roiId();
53 
54  persObj->m_allTheFloats[0] = transObj->HadEt() ;
55  persObj->m_allTheFloats[1] = transObj->energyRatio() ;
56  persObj->m_allTheFloats[2] = transObj->rCore() ;
57  persObj->m_allTheFloats[3] = transObj->dPhi() ;
58  persObj->m_allTheFloats[4] = transObj->dEta() ;
59  persObj->m_allTheFloats[5] = transObj->F0() ;
60  persObj->m_allTheFloats[6] = transObj->F1() ;
61  persObj->m_allTheFloats[7] = transObj->F2() ;
62  persObj->m_allTheFloats[8] = transObj->F3() ;
63  persObj->m_allTheFloats[9] = transObj->Fside() ;
64  persObj->m_allTheFloats[10] = transObj->Weta2() ;
65 
66  persObj->m_valid = transObj->isValid();
67 
68  eLinkEMClusterCnv.transToPers( &transObj->clusterLink(), &persObj->m_cluster, log );
69 
70  //persObj->m_p4PtEtaPhiM = baseToPersistent( &m_p4PtEtaPhiMCnv, transObj, log );
71  m_p4PtEtaPhiMCnv.transToPers(transObj, &(persObj->m_P4PtEtaPhiM), log);
72 }
TrigPhoton::Fside
float Fside() const
energy in a 7 strips (around hottest strip) minus energy in 3 strips divided by energy in 3 strips
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:116
ElementLinkCnv_p3
Definition: ElementLinkCnv_p3.h:27
TrigPhoton_p3
Definition: TrigPhoton_p3.h:28
ElementLinkCnv_p3::persToTrans
void persToTrans(const PersLink_t &pers, Link_t &trans, MsgStream &log) const
TrigPhoton.h
TrigPhoton_p3::m_valid
bool m_valid
Definition: TrigPhoton_p3.h:70
TrigPhoton::F0
float F0() const
accessors for calibrated energy and energy fraction in calo samples
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:129
TrigPhotonCnv_p3.h
TrigPhoton::roiId
int roiId() const
accessor to get RoI ID (should also introduce roiWord
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:96
TrigPhoton::dPhi
float dPhi() const
accessor for difference between cluster and Roi phi
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:122
ElementLinkCnv_p3::transToPers
void transToPers(const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
TrigPhoton::F1
float F1() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:130
TrigPhoton::F2
float F2() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:131
xAOD::TrigPhoton
TrigPhoton_v1 TrigPhoton
Declare the latest version of TrigPhoton.
Definition: Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/TrigPhoton.h:16
TrigPhoton_p3::m_cluster
ElementLinkInt_p3 m_cluster
Definition: TrigPhoton_p3.h:73
TrigPhoton::dEta
float dEta() const
accessor for difference between cluster and Roi eta
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:125
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
TrigPhoton::HadEt
float HadEt() const
accessor for hadronic energy in 1st hadronic sampling behind cluster
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:103
TrigPhotonCnv_p3::m_p4PtEtaPhiMCnv
P4PtEtaPhiMCnv_p1 m_p4PtEtaPhiMCnv
Definition: TrigPhotonCnv_p3.h:51
TrigPhoton_p3::m_allTheFloats
float m_allTheFloats[11]
Definition: TrigPhoton_p3.h:55
TrigPhoton::F3
float F3() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:132
P4PtEtaPhiMCnv_p1::persToTrans
virtual void persToTrans(const P4PtEtaPhiM_p1 *persObj, P4PtEtaPhiM *transObj, MsgStream &log) const override
Method creating the transient representation of P4PtEtaPhiM from its persistent representation P4PtEt...
Definition: P4PtEtaPhiMCnv_p1.cxx:26
TrigPhoton::clusterLink
const ElementLink< TrigEMClusterContainer > & clusterLink() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:138
P4PtEtaPhiMCnv_p1::transToPers
virtual void transToPers(const P4PtEtaPhiM *transObj, P4PtEtaPhiM_p1 *persObj, MsgStream &log) const override
Method creating the persistent representation P4PtEtaPhiM_p1 from its transient representation P4PtEt...
Definition: P4PtEtaPhiMCnv_p1.cxx:38
TrigPhoton_p3::m_P4PtEtaPhiM
P4PtEtaPhiM_p1 m_P4PtEtaPhiM
Definition: TrigPhoton_p3.h:76
TrigPhoton::isValid
bool isValid() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:93
TrigPhoton::energyRatio
float energyRatio() const
accessor for fraction difference of EM cluster emaxs1 and e2tsts1
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:107
TrigPhotonCnv_p3::transToPers
virtual void transToPers(const TrigPhoton *transObj, TrigPhoton_p3 *persObj, MsgStream &log)
Definition: TrigPhotonCnv_p3.cxx:46
TrigPhoton_p3::m_roiID
int m_roiID
Definition: TrigPhoton_p3.h:54
TrigPhoton::rCore
float rCore() const
cluster energy in 3x7 cells / energy in 7x7 cells in 2nd sampling
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:111
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrigPhoton_p3.h
TrigPhotonCnv_p3::persToTrans
virtual void persToTrans(const TrigPhoton_p3 *persObj, TrigPhoton *transObj, MsgStream &log)
Definition: TrigPhotonCnv_p3.cxx:14
TrigPhoton::Weta2
float Weta2() const
cluster width (based on a 3x5 cluster - 2nd layer)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:119
TrigPhoton
File: TrigPhoton.h.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigPhoton.h:44