38 MsgStream&
msg )
const
40 msg << MSG::DEBUG <<
"Loading Jet from persistent state... e = "<< pers->
m_momentum.
m_ene
47 msg << MSG::DEBUG <<
" after momCnv e=" << trans->
e() <<
endmsg;
58 if( momentNames.size() != (pers)->m_shapeStore.size() )
msg << MSG::ERROR <<
" JEtCnv_p2 can't convert moments ! expected moment n= "<< momentNames.size() <<
" persistatn has "<< (pers)->m_shapeStore.size() <<
endmsg;
59 else for(
size_t i=0;i<momentNames.size();i++){
60 trans->
setMoment(momentNames[i], (pers)->m_shapeStore[i],
true);
65 else if ( !(pers)->m_tagJetInfo.empty() ) {
72 else if ( !(pers)->m_associations.empty() ) {
84 const_cast<Jet_p3*
>(pers)->m_shapeStore.clear();
85 const_cast<Jet_p3*
>(pers)->m_tagJetInfo.clear();
86 const_cast<Jet_p3*
>(pers)->m_associations.clear();
101 static const Jet jtmp;
104 msg << MSG::DEBUG <<
"Loaded Jet from persistent state [OK]"
110 MsgStream&
msg )
const
112 msg << MSG::DEBUG <<
"Creating persistent state of Jet... e="<< trans->
e() <<
" "<< trans->
momentumBase().
e()
146 msg << MSG::DEBUG <<
"Created persistent state of Jet [OK] e="<< pers->
m_momentum.
m_ene
NavigableCnv_p1< Navigable< INavigable4MomentumCollection, double > > NavigableCnv_t
static const NavigableCnv_t navCnv
static const P4ImplPxPyPzECnv_p1 momCnv
This file contains the class definition for the NavigableCnv_p1 class.
virtual void persToTrans(const Jet_p3 *persObj, Jet *transObj, MsgStream &msg) const override
Method creating the transient representation of Jet from its persistent representation Jet_p3.
virtual void transToPers(const Jet *transObj, Jet_p3 *persObj, MsgStream &msg) const override
Method creating the persistent representation Jet_p3 from its transient representation Jet.
Theses classes implement a mapping between string and index used by jets.
const std::vector< key_t > & getKeys(const category_t &cat) const
static JetKeyDescriptorInstance * instance()
char m_ratioPy
ratio for uncalibrated p_x
bool m_ownPointers
True if we own the objects pointed to from the above collections.
char m_ratioPx
ratio for uncalibrated E
P4PxPyPzE_p1 m_momentum
the 4-mom part
std::vector< const JetTagInfoBase * > m_tagJetInfo
JetTagInfoBase objects.
Navigable_p1< uint32_t, double > m_nav
the navigable part
std::vector< const JetAssociationBase * > m_associations
JetAssociationBase objects.
char m_ratioPz
ratio for uncalibrated p_y
std::vector< const assoc_t * > assostore_t
tagstore_t * m_tagInfoStore
Tag info store.
std::vector< const taginfo_t * > tagstore_t
size_t m_jetAuthor
Jet author store.
assostore_t * m_assocStore
key descriptor for all jet stores
void setMoment(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Alias for setShape.
void setRawPx(double px)
Sets uncalibrated .
void setRawE(double e)
Sets uncalibrated .
void setRawPy(double py)
Sets uncalibrated .
void setRawPz(double pz)
Sets uncalibrated .
double e() const
get energy data member
virtual bool setSignalState(state_t s)
set the current signal state
const particle_type & particleBase() const
access to underlying base type (IParticle-like)
virtual double pz() const
z component of momentum
virtual double e() const
energy
virtual double py() const
y component of momentum
const navigable_type & navigableBase() const
access to underlying base type (INavigable-like)
const momentum_type & momentumBase(state_t s) const
access to underlying base type (I4Momentum-like)
virtual double px() const
We re-define here extra class routines that will allow direct access to signal state kinematics witho...
double ratio_from_char(char c) const
char char_from_ratio(double r) const
static const key_t ShapeCat
Index category for jet shapes.