ATLAS Offline Software
Loading...
Searching...
No Matches
SVInfoPlusCnv_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
8
13
14#include "GaudiKernel/MsgStream.h"
15
16#include <algorithm>
17using std::transform;
18using std::back_inserter;
19
20namespace Analysis {
21
22
27 SVInfoPlus_p1 *persObj,
28 MsgStream &msg)
29 {
32 transObj,
33 msg);
34
36 persObj->m_NGTinJet = transObj->getNGTrackInJet();
37 persObj->m_NGTinSvx = transObj->getNGTrackInSvx();
38 persObj->m_N2Tpair = transObj->getN2T();
39 persObj->m_masssvx = transObj->getMass();
40 persObj->m_efracsvx = transObj->getEnergyFraction();
41 persObj->m_normdist = transObj->getNormDist();
42
44 &transObj->getRecSvx(),
45 msg);
46
53
55 size_t sz = transObj->numTrackInfo();
56 for (size_t i = 0; i < sz; i++)
57 movedVector.push_back (transObj->getTrackInfo(i).trackLink());
58
59 m_trackVecCnv.transToPers (&movedVector, &persObj->m_trackinfo, msg);
60 }
61
66 SVInfoPlus *transObj,
67 MsgStream &msg)
68 {
69 // Clear contained vector.
70 *transObj = SVInfoPlus();
71
73 fillTransFromPStore (&m_baseTagCnv, persObj->m_BaseTagInfo, transObj, msg);
74
76 transObj->setNGTrackInJet (persObj->m_NGTinJet);
77 transObj->setNGTrackInSvx (persObj->m_NGTinSvx);
78 transObj->setN2T (persObj->m_N2Tpair);
79 transObj->setMass (persObj->m_masssvx);
80 transObj->setEnergyFraction (persObj->m_efracsvx);
81 transObj->setNormDist (persObj->m_normdist);
82
85 persObj->m_recsvx,
86 &svx,
87 msg);
88 transObj->setRecSvx (std::move (svx));
89
97
99 m_trackVecCnv.persToTrans(&persObj->m_trackinfo, &movedVector, msg);
100 size_t sz = movedVector.size();
101 for (size_t i = 0; i < sz; i++)
102 transObj->addTrackInfo (SVTrackInfo (movedVector[i]));
103 }
104
105}
static Double_t sz
virtual void persToTrans(const SVInfoPlus_p1 *persObj, SVInfoPlus *transObj, MsgStream &log)
Load from disk format to in-memory format.
BaseTagInfoCnv_p1 * m_baseTagCnv
virtual void transToPers(const SVInfoPlus *transObj, SVInfoPlus_p1 *persObj, MsgStream &log)
Given a transient rep, save it to a persistent one.
ElementLinkVectorCnv_p1< ElementLinkVector< Rec::TrackParticleContainer > > m_trackVecCnv
ITPConverterFor< Trk::Vertex > * m_recoVertexCnv
TPObjRef m_recsvx
All of this data will be written out.
ElementLinkIntVector_p1 m_trackinfo
TPObjRef m_BaseTagInfo
Basic info.
long int getNGTrackInSvx() const
Definition SVInfoPlus.h:79
void setN2T(long int)
Definition SVInfoPlus.h:71
const SVTrackInfo & getTrackInfo(uint i) const
Definition SVInfoPlus.h:85
long int getN2T() const
Definition SVInfoPlus.h:80
void setEnergyFraction(float)
Definition SVInfoPlus.h:73
float getMass() const
Definition SVInfoPlus.h:81
float getNormDist() const
Definition SVInfoPlus.h:83
void setRecSvx(const Trk::RecVertex &)
Set methods.
Definition SVInfoPlus.h:68
void setNGTrackInJet(long int)
Definition SVInfoPlus.h:69
int numTrackInfo() const
Definition SVInfoPlus.h:84
const Trk::RecVertex & getRecSvx() const
Get methods.
Definition SVInfoPlus.h:77
void addTrackInfo(const SVTrackInfo &i)
Definition SVInfoPlus.h:75
void setNGTrackInSvx(long int)
Definition SVInfoPlus.h:70
float getEnergyFraction() const
Definition SVInfoPlus.h:82
long int getNGTrackInJet() const
Definition SVInfoPlus.h:78
void setNormDist(float)
Definition SVInfoPlus.h:74
void setMass(float)
Definition SVInfoPlus.h:72
const ElementLink< Rec::TrackParticleContainer > & trackLink() const
Definition SVTrackInfo.h:52
ElementLinkVector implementation for standalone ROOT.
void push_back(const ElemLink &link)
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
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