ATLAS Offline Software
Loading...
Searching...
No Matches
TrigElectronCnv_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
9
11// static ElementLinkCnv_p1<ElementLink<TrigEMClusterContainer> > m_ELinkEMclusterCnv;
12
13//-----------------------------------------------------------------------------
14// Persistent to transient
15//-----------------------------------------------------------------------------
17 TrigElectron* transObj,
18 MsgStream &log)
19{
20 log << MSG::DEBUG << "TrigElectronCnv_p2::persToTrans called " << endmsg;
21
23 ELinkIDTrackCnv.persToTrans( &persObj->m_track, &track, log );
24
26 m_ELinkEMclusterCnv.persToTrans( &persObj->m_cluster, &cluster, log );
27
28 *transObj = TrigElectron (0, 0, 0,
29 persObj->m_roiWord,
30 persObj->m_valid,
31 persObj->m_tr_eta_at_calo, // trkEtaAtCalo
32 persObj->m_tr_phi_at_calo, // trkPhiAtCalo
33 persObj->m_etoverpt, // EToverPT,
34 cluster,
35 persObj->m_cl_eta, // caloEta
36 persObj->m_cl_phi, // caloPhi
37 persObj->m_cl_Rcore, // Rcore
38 persObj->m_cl_Eratio, // Eratio
39 persObj->m_cl_EThad, // EThad
40 persObj->m_cl_e_frac_S0, // F0
41 persObj->m_cl_e_frac_S1, // F1
42 persObj->m_cl_e_frac_S2, // F2
43 persObj->m_cl_e_frac_S3, // F3
44 track,
45 persObj->m_tr_Algo, // trackAlgo
46 persObj->m_tr_Zvtx,
47 persObj->m_tr_nr_trt_hits,
49
50 log << MSG::DEBUG << "TrigElectronCnv_p2::persToTrans filling 4-mom. base class from persistent" << endmsg;
51 fillTransFromPStore( &m_p4PtEtaPhiMCnv, persObj->m_p4PtEtaPhiM, transObj, log );
52
53 log << MSG::DEBUG << "TrigElectronCnv_p2::persToTrans done" << endmsg;
54}
55
56
57//-----------------------------------------------------------------------------
58// Transient to persistent
59//-----------------------------------------------------------------------------
61 TrigElectron_p2* persObj,
62 MsgStream &log)
63{
64 log << MSG::DEBUG << "TrigElectronCnv_p2::transToPers called " << endmsg;
65
66 persObj->m_roiWord = transObj->roiId() ;
67 persObj->m_valid = transObj->isValid() ;
68 persObj->m_tr_Algo = transObj->trackAlgo() ;
69 persObj->m_tr_Zvtx = transObj->Zvtx() ;
70 persObj->m_tr_nr_trt_hits = transObj->nTRTHits() ;
71 persObj->m_tr_nr_trt_hithresh_hits = transObj->nTRTHiThresholdHits() ;
72 persObj->m_tr_eta_at_calo = transObj->trkEtaAtCalo();
73 persObj->m_tr_phi_at_calo = transObj->trkPhiAtCalo();
74 persObj->m_etoverpt = transObj->EtOverPt() ;
75 persObj->m_cl_eta = transObj->caloEta();
76 persObj->m_cl_phi = transObj->caloPhi();
77 persObj->m_cl_Rcore = transObj->Rcore() ;
78 persObj->m_cl_Eratio = transObj->Eratio() ;
79 persObj->m_cl_EThad = transObj->EThad() ;
80 persObj->m_cl_e_frac_S0 = transObj->F0();
81 persObj->m_cl_e_frac_S1 = transObj->F1();
82 persObj->m_cl_e_frac_S2 = transObj->F2();
83 persObj->m_cl_e_frac_S3 = transObj->F3();
84
85 log << MSG::DEBUG << "TrigElectronCnv_p2::transToPers calling e-link persToTrabs(track) " << endmsg;
86 ELinkIDTrackCnv.transToPers( &transObj->trackLink(), &persObj->m_track, log );
87 log << MSG::DEBUG << "TrigElectronCnv_p2::transToPers calling e-link persToTrabs(cluster) " << endmsg;
88 m_ELinkEMclusterCnv.transToPers( &transObj->clusterLink(), &persObj->m_cluster, log );
89
90 log << MSG::DEBUG << "TrigElectronCnv_p2::transToPers persistifying 4-mom. base class" << endmsg;
91 persObj->m_p4PtEtaPhiM = baseToPersistent( &m_p4PtEtaPhiMCnv, transObj, log );
92
93 log << MSG::DEBUG << "TrigElectronCnv_p1::transToPers done" << endmsg;
94}
#define endmsg
static const ElementLinkCnv_p1< ElementLink< TrigInDetTrackCollection > > ELinkIDTrackCnv
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 TrigElectron_p2 *persObj, TrigElectron *transObj, MsgStream &log)
ElementLinkCnv_p1< ElementLink< TrigEMClusterContainer > > m_ELinkEMclusterCnv
virtual void transToPers(const TrigElectron *transObj, TrigElectron_p2 *persObj, MsgStream &log)
P4PtEtaPhiMCnv_p1 * m_p4PtEtaPhiMCnv
unsigned int m_roiWord
ElementLinkInt_p1 m_cluster
TrigInDetTrack::AlgoId m_tr_Algo
ElementLinkInt_p1 m_track
const ElementLink< TrigInDetTrackCollection > & trackLink() const
const ElementLink< TrigEMClusterContainer > & clusterLink() const
bool isValid() const
accessor to get TrigElectron valid flag
TrigInDetTrack::AlgoId trackAlgo() const
accessors to return the tracking quantities
float F0() const
accessors for calibrated energy fractions in each sampling - to reject noise
float caloEta() const
accessors to get cluster eta and phi (note baseclass eta and phi come from track)
float EtOverPt() const
accessor to ratio of cluster Et to track Pt
float Rcore() const
accessors for shower shape quantities
float trkEtaAtCalo() const
accessor to get eta and phi of electron candidate track extrapolated the calorimeter