ATLAS Offline Software
Loading...
Searching...
No Matches
TrigVertexCnv_p1.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
10//-----------------------------------------------------------------------------
11// Persistent to transient
12//-----------------------------------------------------------------------------
14 TrigVertex *transObj,
15 MsgStream &log )
16{
17 log << MSG::DEBUG << "TrigVertexCnv_p1::persToTrans called " << endmsg;
18
19 transObj->m_x = persObj->m_x ;
20 transObj->m_y = persObj->m_y ;
21 transObj->m_z = persObj->m_z ;
22 transObj->m_mass = persObj->m_mass ;
23 transObj->m_massVar = persObj->m_massVar ;
24 transObj->m_energyFraction = persObj->m_energyFraction ;
25 transObj->m_nTwoTracksSecVtx = persObj->m_nTwoTracksSecVtx ;
26 transObj->m_chiSquared = persObj->m_chiSquared ;
27 transObj->m_nDOF = persObj->m_nDOF ;
28 for(int i=0;i<6;i++){
29 transObj->m_cov[i] = persObj->m_cov[i] ;
30 }
31
32 transObj->m_algId = static_cast<TrigVertex::AlgoId>(persObj->m_algId) ;
33
34 m_TrigInDetTrackVectorCnv.persToTrans( &(persObj->m_tracks), &m_trackInVertexVector, log);
35 if(!m_trackInVertexVector.empty()) {
36 if (transObj->m_tracks)
37 transObj->m_tracks->assign (m_trackInVertexVector.begin(),
39 else
40 transObj->m_tracks =
43 transObj->m_ownTracks = true;
44 }
45}
46
47//-----------------------------------------------------------------------------
48// Transient to persistent
49//-----------------------------------------------------------------------------
51 TrigVertex_p1 *persObj ,
52 MsgStream &log )
53{
54 log << MSG::DEBUG << "TrigVertexCnv_p1::transToPers called " << endmsg;
55
56 persObj->m_x = transObj->m_x ;
57 persObj->m_y = transObj->m_y ;
58 persObj->m_z = transObj->m_z ;
59 persObj->m_mass = transObj->m_mass ;
60 persObj->m_massVar = transObj->m_massVar ;
61 persObj->m_energyFraction = transObj->m_energyFraction ;
62 persObj->m_nTwoTracksSecVtx = transObj->m_nTwoTracksSecVtx ;
63 persObj->m_chiSquared = transObj->m_chiSquared ;
64 persObj->m_nDOF = transObj->m_nDOF ;
65 for(int i=0;i<6;i++){
66 persObj->m_cov[i] = transObj->m_cov[i] ;
67 }
68
69 persObj->m_algId = static_cast<TrigVertex_p1::AlgoId_p1>(transObj->m_algId) ;
70
71 if(transObj->m_tracks!=NULL ){
72
73 TrackInVertexList L = *(transObj->m_tracks);
74 TrackInVertexList::const_iterator iBeg = L.begin();
75 TrackInVertexList::const_iterator iEnd = L.end();
77 m_trackInVertexVector.reserve(L.size());
78
79 for(; iBeg != iEnd; ++iBeg){
80 m_trackInVertexVector.push_back(*iBeg);
81 }
82
83 //TrackInVertexVector::const_iterator iVBeg = m_trackInVertexVector.begin();
84 //TrackInVertexVector::const_iterator iVEnd = m_trackInVertexVector.end();
85
86 m_TrigInDetTrackVectorCnv.transToPers( &m_trackInVertexVector, &(persObj->m_tracks), log);
87
88 } else {
89 log << MSG::DEBUG << "TrigVertexCnv_p1::transToPers: No tracks associated to the vertex" << endmsg;
90 }
91
92}
#define endmsg
std::list< const TrigInDetTrack * > TrackInVertexList
Definition TrigVertex.h:26
TrackInVertexVector m_trackInVertexVector
virtual void persToTrans(const TrigVertex_p1 *persObj, TrigVertex *transObj, MsgStream &log)
virtual void transToPers(const TrigVertex *transObj, TrigVertex_p1 *persObj, MsgStream &log)
TrigInDetTrackVectorCnv_p1 m_TrigInDetTrackVectorCnv
float m_energyFraction
double m_cov[6]
AlgoId_p1 m_algId
std::vector< TPObjRef > m_tracks
encapsulates LVL2 vertex parameters (in the global reference frame), covariance matrix,...
Definition TrigVertex.h:28
double m_energyFraction
energy ratio E(secondary vertex)/E(jet)
Definition TrigVertex.h:170
double m_mass
Definition TrigVertex.h:167
double m_x
Definition TrigVertex.h:167
AlgoId m_algId
Definition TrigVertex.h:181
double m_chiSquared
Definition TrigVertex.h:178
int m_nTwoTracksSecVtx
number of 2-track vertices
Definition TrigVertex.h:172
double m_z
Definition TrigVertex.h:167
bool m_ownTracks
Definition TrigVertex.h:183
double m_cov[6]
Definition TrigVertex.h:168
TrackInVertexList * m_tracks
Definition TrigVertex.h:180
double m_y
Definition TrigVertex.h:167
double m_massVar
Definition TrigVertex.h:167