1#ifndef Event_EvtRecVeeVertex_H
2#define Event_EvtRecVeeVertex_H
4#include "CLHEP/Matrix/SymMatrix.h"
5#include "CLHEP/Matrix/Vector.h"
6#include "EventModel/EventModel.h"
7#include "EvtRecEvent/EvtRecTrack.h"
8#include "GaudiKernel/ContainedObject.h"
9#include "GaudiKernel/ObjectVector.h"
10#include "GaudiKernel/SmartRef.h"
11#include "GaudiKernel/SmartRefVector.h"
14using CLHEP::HepSymMatrix;
15using CLHEP::HepVector;
37 double chi2()
const {
return m_chi2; }
38 int ndof()
const {
return m_ndof; }
39 double mass()
const {
return m_mass; }
40 const HepVector&
w()
const {
return m_w; }
41 const HepSymMatrix&
Ew()
const {
return m_Ew; }
42 const std::pair<int, int>&
pair()
const {
return m_pair; }
43 inline int pair(
int i )
const;
46 std::pair<SmartRef<EvtRecTrack>, SmartRef<EvtRecTrack>>&
pairDaughters() {
49 inline SmartRef<EvtRecTrack>&
daughter(
int i );
56 void setW(
const HepVector&
w ) { m_w =
w; }
61 inline void addDaughter(
const SmartRef<EvtRecTrack>& track,
int i );
62 void setDaughter(
const std::pair<SmartRef<EvtRecTrack>, SmartRef<EvtRecTrack>>& p ) {
74 std::pair<int, int> m_pair;
78 std::pair<SmartRef<EvtRecTrack>, SmartRef<EvtRecTrack>> m_daughters;
82 if ( i == 0 ) {
return m_pair.first; }
88 if ( i == 0 ) {
return m_daughters.first; }
90 return m_daughters.second;
94 if ( i == 0 ) { m_daughters.first = track; }
95 else if ( i == 1 ) { m_daughters.second = track; }
96 else { assert(
false ); }
const CLID & CLID_EvtRecVeeVertex
ObjectVector< EvtRecVeeVertex > EvtRecVeeVertexCol
NTuple::Item< double > m_chi2
const CLID & CLID_EvtRecVeeVertex
const std::pair< int, int > & pair() const
void setVertexType(int vtxType)
void setChi2(double chi2)
std::pair< SmartRef< EvtRecTrack >, SmartRef< EvtRecTrack > > & pairDaughters()
SmartRef< EvtRecTrack > & daughter(int i)
void addDaughter(const SmartRef< EvtRecTrack > &track, int i)
void setEw(const HepSymMatrix &Ew)
void setMass(double mass)
void setNTracks(int nTracks)
void setVertexId(int vtxId)
void setPair(const std::pair< int, int > &pair)
EvtRecVeeVertex & operator=(const EvtRecVeeVertex &)
const HepVector & w() const
static const CLID & classID()
const HepSymMatrix & Ew() const
void setDaughter(const std::pair< SmartRef< EvtRecTrack >, SmartRef< EvtRecTrack > > &p)
void setW(const HepVector &w)
virtual const CLID & clID() const
void setNCharge(int nCharge)