ATLAS Offline Software
Loading...
Searching...
No Matches
TauJetCnv_p2 Class Reference

#include <TauJetCnv_p2.h>

Collaboration diagram for TauJetCnv_p2:

Public Member Functions

 TauJetCnv_p2 ()
void persToTrans (const TauJet_p2 *persObj, Analysis ::TauJet *transObj, MsgStream &msg) const
void transToPers (const Analysis ::TauJet *transObj, TauJet_p2 *persObj, MsgStream &msg) const

Detailed Description

Definition at line 19 of file TauJetCnv_p2.h.

Constructor & Destructor Documentation

◆ TauJetCnv_p2()

TauJetCnv_p2::TauJetCnv_p2 ( )
inline

Definition at line 22 of file TauJetCnv_p2.h.

22{};

Member Function Documentation

◆ persToTrans()

void TauJetCnv_p2::persToTrans ( const TauJet_p2 * persObj,
Analysis ::TauJet * transObj,
MsgStream & msg ) const

Definition at line 39 of file TauJetCnv_p2.cxx.

42{
43 momCnv.persToTrans( &pers->m_momentum, &trans->momentumBase(), msg );
44 partBaseCnv.persToTrans( &pers->m_particleBase, &trans->particleBase(),
45 msg );
46 clusterCnv.persToTrans( &pers->m_cluster, &trans->clusterLink(), msg );
47 clusterCnv.persToTrans( &pers->m_cellCluster, &trans->cellClusterLink(), msg );
48 jetCnv.persToTrans( &pers->m_jet, &trans->jetLink(), msg );
49 tracksCnv.persToTrans( &pers->m_tracks, &trans->trackLinkVector(), msg );
50 detailsCnv.persToTrans( &pers->m_tauDetails, &trans->tauDetailLinkVector(), msg );
51 trans->setNumberOfTracks (pers->m_numberOfTracks);
52 trans->setROIWord (pers->m_roiWord);
53
54 if( getBit( pers->m_flags, 0 ) )
55 {
56 std::vector<std::pair<TauJetParameters::TauID, double> > params;
57 params.reserve(pers->m_params.size());
58 for (const auto& p : pers->m_params) {
59 params.emplace_back( static_cast<TauJetParameters::TauID>( p.first),
60 p.second);
61
62 }
63
64 Analysis::TauPID* tauID = new Analysis::TauPID (std::move(params),
65 std::bitset<32>(),
66 pers->m_vetoFlags);
67 trans->setTauID (tauID);
68 }
69 else
70 trans->setTauID( 0 );
71
72 if( getBit( pers->m_flags, 2 ) )
73 trans->setAuthor( TauJetParameters :: tauRec );
74 if( getBit( pers->m_flags, 3 ) )
75 trans->setAuthor( TauJetParameters :: tau1P3P );
76}
static const P4ImplPxPyPzECnv_p1 momCnv
Definition JetCnv_p1.cxx:30
static const JetCnv_p1 jetCnv
static const ClusterLinkCnv_t clusterCnv
static const ParticleBaseCnv_p1 partBaseCnv
static const ElementLinkVectorCnv_p1< ElementLinkVector< Rec::TrackParticleContainer > > tracksCnv
static bool getBit(unsigned char field, unsigned num)
static const ElementLinkVectorCnv_p1< ElementLinkVector< Analysis::TauDetailsContainer > > detailsCnv
void persToTrans(const PersLink_t &pers, Link_t &trans, MsgStream &log) const
void persToTrans(const PersLinkVect_t &pers, LinkVect_t &trans, MsgStream &log) const
virtual void persToTrans(const Jet_p1 *persObj, Jet *transObj, MsgStream &msg) const override
Method creating the transient representation of Jet from its persistent representation Jet_p1.
Definition JetCnv_p1.cxx:34
virtual void persToTrans(const P4ImplPxPyPzE_p1 *persObj, P4ImplPxPyPzE *transObj, MsgStream &msg) const override
Method creating the transient representation of P4ImplPxPyPzE from its persistent representation P4Im...
virtual void persToTrans(const ParticleBase_p1 *persObj, ParticleBase *transObj, MsgStream &msg) const final
Method creating the transient representation of ParticleBase from its persistent representation Parti...
TauID
Enum for discriminants.
MsgStream & msg
Definition testRead.cxx:32

◆ transToPers()

void TauJetCnv_p2::transToPers ( const Analysis ::TauJet * transObj,
TauJet_p2 * persObj,
MsgStream & msg ) const

Definition at line 78 of file TauJetCnv_p2.cxx.

81{
82 momCnv.transToPers( &trans->momentumBase(), &pers->m_momentum, msg );
83 partBaseCnv.transToPers( &trans->particleBase(), &pers->m_particleBase,
84 msg );
85 const ElementLink<CaloClusterContainer> clusterLink = trans->clusterLink();
86 clusterCnv.transToPers( &clusterLink, &pers->m_cluster, msg );
87 const ElementLink<CaloClusterContainer> cellClusterLink = trans->cellClusterLink();
88 clusterCnv.transToPers( &cellClusterLink, &pers->m_cellCluster, msg );
89 const ElementLink<JetCollection> jetLink = trans->jetLink();
90 jetCnv.transToPers( &jetLink, &pers->m_jet, msg );
91 tracksCnv.transToPers( &trans->trackLinkVector(), &pers->m_tracks, msg );
92 detailsCnv.transToPers( &trans->tauDetailLinkVector(), &pers->m_tauDetails, msg );
93 pers->m_numberOfTracks = trans->numberOfTracks();
94 pers->m_roiWord = trans->ROIWord();
95 pers->m_params.clear();
96
97 if( trans->tauID() )
98 {
99 setBit( pers->m_flags, 0, true );
100
101 pers->m_vetoFlags = trans->tauID()->vetoFlags().to_ulong();
102
103 pers->m_params.reserve (trans->tauID()->params().size());
104 for (const auto& p : trans->tauID()->params()) {
105 pers->m_params.emplace_back (static_cast<int>( p.first ), p.second);
106 }
107 }
108 else
109 setBit( pers->m_flags, 0, false );
110
111 if( trans->hasAuthor( TauJetParameters :: tauRec ) )
112 setBit( pers->m_flags, 2, true );
113 if( trans->hasAuthor( TauJetParameters :: tau1P3P ) )
114 setBit( pers->m_flags, 3, true );
115}
static void setBit(unsigned char &field, unsigned num, bool val)
void transToPers(const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
void transToPers(const LinkVect_t &trans, PersLinkVect_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
virtual void transToPers(const Jet *transObj, Jet_p1 *persObj, MsgStream &msg) const override
Method creating the persistent representation Jet_p1 from its transient representation Jet.
Definition JetCnv_p1.cxx:69
virtual void transToPers(const P4ImplPxPyPzE *transObj, P4ImplPxPyPzE_p1 *persObj, MsgStream &msg) const override
Method creating the persistent representation P4ImplPxPyPzE_p1 from its transient representation P4Px...
virtual void transToPers(const ParticleBase *transObj, ParticleBase_p1 *persObj, MsgStream &msg) const final
Method creating the persistent representation ParticleBase_p1 from its transient representation Parti...

The documentation for this class was generated from the following files: