ATLAS Offline Software
Loading...
Searching...
No Matches
MSVVtxInfoCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6
10
11#include "GaudiKernel/MsgStream.h"
12
13#include <algorithm>
14using std::transform;
15using std::back_inserter;
16
17namespace Analysis {
18
19
24 MSVVtxInfo_p1 *persObj,
25 MsgStream &msg)
26 {
27
28 persObj->m_masssvx = transObj->getMass();
29 persObj->m_efracsvx = transObj->getEnergyFraction();
30 persObj->m_normdist = transObj->getNormDist();
31
33 &transObj->getRecSvx(),
34 msg);
35
42
44 size_t sz = transObj->numTrackInfo();
45 for (size_t i = 0; i < sz; i++)
46 movedVector.push_back (transObj->getTrackInfo(i).trackLink());
47
48 m_trackVecCnv.transToPers (&movedVector, &persObj->m_trackinfo, msg);
49 }
50
55 MSVVtxInfo *transObj,
56 MsgStream &msg)
57 {
58 // Clear contained vector.
59 *transObj = MSVVtxInfo();
60
61 transObj->setMass (persObj->m_masssvx);
62 transObj->setEnergyFraction (persObj->m_efracsvx);
63 transObj->setNormDist (persObj->m_normdist);
64
67 persObj->m_recsvx,
68 &svx,
69 msg);
70 transObj->setRecSvx (std::move (svx));
71
79
81 m_trackVecCnv.persToTrans(&persObj->m_trackinfo, &movedVector, msg);
82 size_t sz = movedVector.size();
83 for (size_t i = 0; i < sz; i++)
84 transObj->addTrackInfo (SVTrackInfo (movedVector[i]));
85 }
86
87}
static Double_t sz
virtual void persToTrans(const MSVVtxInfo_p1 *persObj, MSVVtxInfo *transObj, MsgStream &log)
Load from disk format to in-memory format.
ITPConverterFor< Trk::Vertex > * m_recoVertexCnv
ElementLinkVectorCnv_p1< ElementLinkVector< Rec::TrackParticleContainer > > m_trackVecCnv
virtual void transToPers(const MSVVtxInfo *transObj, MSVVtxInfo_p1 *persObj, MsgStream &log)
Given a transient rep, save it to a persistent one.
TPObjRef m_recsvx
All of this data will be written out.
ElementLinkIntVector_p1 m_trackinfo
void addTrackInfo(const SVTrackInfo &i)
Definition MSVVtxInfo.h:61
float getNormDist() const
Definition MSVVtxInfo.h:69
void setMass(float)
Definition MSVVtxInfo.h:55
void setRecSvx(const Trk::RecVertex &)
Set methods.
Definition MSVVtxInfo.h:54
const Trk::RecVertex & getRecSvx() const
Get methods.
Definition MSVVtxInfo.h:63
float getEnergyFraction() const
Definition MSVVtxInfo.h:68
const SVTrackInfo & getTrackInfo(unsigned int i) const
Definition MSVVtxInfo.h:71
int numTrackInfo() const
Definition MSVVtxInfo.h:70
float getMass() const
Definition MSVVtxInfo.h:64
void setEnergyFraction(float)
Definition MSVVtxInfo.h:59
void setNormDist(float)
Definition MSVVtxInfo.h:60
const ElementLink< Rec::TrackParticleContainer > & trackLink() const
Definition SVTrackInfo.h:52
ElementLinkVector implementation for standalone ROOT.
void push_back(const ElemLink &link)
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
The namespace of all packages in PhysicsAnalysis/JetTagging.
MsgStream & msg
Definition testRead.cxx:32