ATLAS Offline Software
Loading...
Searching...
No Matches
TrigElectronCnv_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
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_p3::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_allTheFloats[1], // trkEtaAtCalo
32 persObj->m_allTheFloats[2], // trkPhiAtCalo
33 persObj->m_allTheFloats[3], // EToverPT,
34 cluster,
35 persObj->m_allTheFloats[4], // caloEta
36 persObj->m_allTheFloats[5], // caloPhi
37 persObj->m_allTheFloats[6], // Rcore
38 persObj->m_allTheFloats[7], // Eratio
39 persObj->m_allTheFloats[8], // EThad
40 persObj->m_allTheFloats[9], // F0
41 persObj->m_allTheFloats[10], // F1
42 persObj->m_allTheFloats[11], // F2
43 persObj->m_allTheFloats[12], // F3
44 track,
45 persObj->m_tr_Algo, // trackAlgo
46 persObj->m_allTheFloats[0], // Zvtx
47 persObj->m_tr_nr_trt_hits,
49
50
51
52 m_p4PtEtaPhiMCnv.persToTrans(&(persObj->m_P4PtEtaPhiM), transObj, log);
53 //fillTransFromPStore( &m_p4PtEtaPhiMCnv, persObj->m_p4PtEtaPhiM, transObj, log );
54
55 log << MSG::DEBUG << "TrigElectronCnv_p3::persToTrans done" << endmsg;
56}
57
58
59//-----------------------------------------------------------------------------
60// Transient to persistent
61//-----------------------------------------------------------------------------
63 TrigElectron_p3* persObj,
64 MsgStream &log)
65{
66 log << MSG::DEBUG << "TrigElectronCnv_p3::transToPers called " << endmsg;
67
68 persObj->m_roiWord = transObj->roiId() ;
69 persObj->m_valid = transObj->isValid() ;
70 persObj->m_tr_Algo = transObj->trackAlgo() ;
71 persObj->m_tr_nr_trt_hits = transObj->nTRTHits() ;
72 persObj->m_tr_nr_trt_hithresh_hits = transObj->nTRTHiThresholdHits() ;
73
74 persObj->m_allTheFloats[0] = transObj->Zvtx() ;
75 persObj->m_allTheFloats[1] = transObj->trkEtaAtCalo() ;
76 persObj->m_allTheFloats[2] = transObj->trkPhiAtCalo() ;
77 persObj->m_allTheFloats[3] = transObj->EtOverPt() ;
78 persObj->m_allTheFloats[4] = transObj->caloEta();
79 persObj->m_allTheFloats[5] = transObj->caloPhi();
80 persObj->m_allTheFloats[6] = transObj->Rcore() ;
81 persObj->m_allTheFloats[7] = transObj->Eratio() ;
82 persObj->m_allTheFloats[8] = transObj->EThad() ;
83 persObj->m_allTheFloats[9] = transObj->F0() ;
84 persObj->m_allTheFloats[10] = transObj->F1() ;
85 persObj->m_allTheFloats[11] = transObj->F2() ;
86 persObj->m_allTheFloats[12] = transObj->F3() ;
87
88 log << MSG::DEBUG << "TrigElectronCnv_p3::transToPers calling e-link persToTrabs(track) " << endmsg;
89 ELinkIDTrackCnv.transToPers( &transObj->trackLink(), &persObj->m_track, log );
90 log << MSG::DEBUG << "TrigElectronCnv_p3::transToPers calling e-link persToTrabs(cluster) " << endmsg;
91 m_ELinkEMclusterCnv.transToPers( &transObj->clusterLink(), &persObj->m_cluster, log );
92
93 log << MSG::DEBUG << "TrigElectronCnv_p3::transToPers persistifying 4-mom. base class" << endmsg;
94 m_p4PtEtaPhiMCnv.transToPers(transObj, &(persObj->m_P4PtEtaPhiM), log);
95 //persObj->m_p4PtEtaPhiM = baseToPersistent( &m_p4PtEtaPhiMCnv, transObj, log );
96
97 log << MSG::DEBUG << "TrigElectronCnv_p3::transToPers done" << endmsg;
98}
#define endmsg
static const ElementLinkCnv_p1< ElementLink< TrigInDetTrackCollection > > ELinkIDTrackCnv
virtual void transToPers(const TrigElectron *transObj, TrigElectron_p3 *persObj, MsgStream &log)
ElementLinkCnv_p3< ElementLink< TrigEMClusterContainer > > m_ELinkEMclusterCnv
virtual void persToTrans(const TrigElectron_p3 *persObj, TrigElectron *transObj, MsgStream &log)
P4PtEtaPhiMCnv_p1 m_p4PtEtaPhiMCnv
unsigned int m_roiWord
ElementLinkInt_p3 m_cluster
P4PtEtaPhiM_p1 m_P4PtEtaPhiM
TrigInDetTrack::AlgoId m_tr_Algo
float m_allTheFloats[13]
ElementLinkInt_p3 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