22 auto trkSummary = std::unique_ptr<Trk::TrackSummary>
25 std::vector<const Trk::TrackParameters*> parameters;
28 auto fq = std::make_unique<Trk::FitQuality>
35 std::bitset<Trk::TrackInfo::NumberOfTrackProperties> properties(persObj->
bitsAndPieces[3]);
37 std::bitset<Trk::TrackInfo::NumberOfTrackRecoInfo> patternRecognition(persObj->
bitsAndPieces[4]);
40 unsigned int mask = (1<<(i-32));
54 std::sqrt ((
long double)mom.mag2() + (
long double)mpi*mpi));
60 std::move(trkSummary),
61 std::move(parameters),
92 persObj->
bitsAndPieces[1] =
static_cast<unsigned int>(info.trackFitter());
93 persObj->
bitsAndPieces[2] =
static_cast<unsigned int>(info.particleHypothesis());
95 if (info.patternRecognition().size()<32) {
96 persObj->
bitsAndPieces[4] = info.patternRecognition().to_ulong();
100 unsigned int size=info.patternRecognition().size();
103 for (;i<32;++i) persObj->
bitsAndPieces[4] |= ((info.patternRecognition()[i]) << i);
104 for (i=32;i<size;++i) persObj->
bitsAndPieces[5] |= ((info.patternRecognition()[i]) << (i-32));
void setAthenaBarCode(AthenaBarCode_t id)
ElementLink implementation for ROOT usage.
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
P4PxPyPzE is a class with 4-momentum behavior, for which Px, Py, Pz and M are data members.
float m_fitQuality_m_chiSquared
std::vector< TPObjRef > m_trackParameters
unsigned int bitsAndPieces[6]
ElementLinkInt_p3 m_elVxCandidate
ElementLinkInt_p3 m_originalTrack
float m_fitQuality_m_numberDoF
AthenaBarCode_t getAthenaBarCode() const
void setAthenaBarCode(AthenaBarCode_t)
ElementLinkCnv_p3< ElementLink< VxContainer > > m_elementLinkVxContainerConverter
AthenaBarCodeCnv_p1 m_AthenaBarCodeCnv
TrackSummaryCnv_p2 * m_trackSummaryCnv
virtual void persToTrans(const Rec ::TrackParticle_p2 *persObj, Rec ::TrackParticle *transObj, MsgStream &log)
ElementLinkCnv_p3< ElementLink< TrackCollection > > m_elementLinkTrackCollectionConverter
vecParametersBaseCnv_p1 m_vecParametersBaseCnv
virtual void transToPers(const Rec ::TrackParticle *transObj, Rec ::TrackParticle_p2 *persObj, MsgStream &log)
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
double chiSquared() const
returns the of the overall track fit
Contains information about the 'fitter' of this track.
TrackFitter
enums to identify who created this track and what propertis does it have.
@ NumberOfTrackRecoInfo
Maximum number of enums.
const ElementLink< TrackCollection > * trackElementLink() const
Return the ElementLink to the Track.
const FitQuality * fitQuality() const
accessor function for FitQuality.
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
const std::vector< const TrackParameters * > & trackParameters() const
Returns the track parameters.
const ElementLink< VxContainer > & reconstructedVertexLink() const
TrackParticleOrigin particleOriginType() const
Get the particle origin type.
const TrackInfo & info() const
returns the info of the track.
Eigen::Matrix< double, 3, 1 > Vector3D
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
VertexType TrackParticleOrigin
@ pz
global momentum (cartesian)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.