 |
ATLAS Offline Software
|
Go to the documentation of this file.
20 std::string decoName =
"LinkedElectron_" +
quality;
21 return getLinkedObject< xAOD::ElectronContainer >(
track, decoName );
28 std::string decoName =
"LinkedMuon_" +
quality;
29 return getLinkedObject< xAOD::MuonContainer >(
track, decoName );
35 const int requiredNtracks,
36 const std::string&
type,
38 std::string decoName =
"LinkedTau" +
type +
40 return getLinkedObject< xAOD::TauJetContainer >(
track, decoName );
47 std::string decoName =
"LinkedJet_" +
quality;
48 return getLinkedObject< xAOD::JetContainer >(
track, decoName );
56 if( not
jet )
return -999.;
63 float signD0 = vs>=0. ? 1. : -1.;
64 return signD0 * std::fabs(
track.d0() );
71 track,
"truthParticleLink" );
72 return ( truth ==
nullptr );
80 if( std::isnan(
prob) )
return -1;
86 const float truthProbCut ) {
88 if( std::isnan(
prob) )
return nullptr;
89 if(
prob <= truthProbCut )
return nullptr;
91 return getLinkedObject< xAOD::TruthParticleContainer >(
92 track,
"truthParticleLink" );
95 template <
typename PARTICLE >
97 float absEta = std::abs(
p.eta());
109 std::vector< const xAOD::TrackParticle* >& vtxTracks,
110 std::vector< float >& vtxTrackWeights,
111 const std::vector< const xAOD::TrackParticle* >& selTracks,
114 bool success(
true );
118 vtxTrackWeights.clear();
129 if( not( nTracks == elVec.size() and nTracks == wVec.size() ) )
return false;
132 for(
size_t it=0 ;
it<nTracks ;
it++ ) {
140 float thisTrkW = wVec[
it ];
144 std::find( selTracks.begin(), selTracks.end(), thisTrk ) == selTracks.end() )
continue;
147 vtxTracks.push_back( thisTrk );
148 vtxTrackWeights.push_back( thisTrkW );
float getTruthMatchProb(const xAOD::TrackParticle &track)
getTruthMatchProb
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
std::string find(const std::string &s)
return a remapped string
const xAOD::TauJet * getLinkedTau(const xAOD::TrackParticle &track, const int requiredNtracks, const std::string &type, const std::string &quality)
getLinkedTau
unsigned int getEtaBin(const PARTICLE &p, const std::vector< float > &etaBins)
const xAOD::TruthParticle * getLinkedTruth(const xAOD::TrackParticle &track, const float truthProbCut)
getLinkedTruth
const TrackParticleLinks_t & trackParticleLinks() const
Get all the particles associated with the vertex.
const std::vector< float > & trackWeights() const
Get all the track weights.
const xAOD::Electron * getLinkedElectron(const xAOD::TrackParticle &track, const std::string &quality)
getLinkedElectron
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
VxType::VertexType vertexType() const
The type of the vertex.
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
Utility methods to access track/truth particles parmeters in a consitent way in this package.
float getD0TrackInJet(const xAOD::TrackParticle &track, const std::string &quality)
recompute d0 projecting in jet direction w.r.t. origin
Class describing a truth particle in the MC record.
Class describing a tau jet.
const xAOD::Muon * getLinkedMuon(const xAOD::TrackParticle &track, const std::string &quality)
getLinkedMuon
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Type for the associated track particles.
std::string to_string(const DetectorType &type)
Eigen::Matrix< double, 3, 1 > Vector3D
bool getVertexTracksAndWeights(const xAOD::Vertex &vtx, std::vector< const xAOD::TrackParticle * > &vtxTracks, std::vector< float > &vtxTrackWeights, const std::vector< const xAOD::TrackParticle * > &selTracks, bool useSelected)
getVertexTracksAndWeights
Class describing a Vertex.
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
const xAOD::Jet * getLinkedJet(const xAOD::TrackParticle &track, const std::string &quality)
getLinkedJet
bool absEta(const xAOD::TauJet &tau, double &out)
Class describing a TrackParticle.
Helper class to provide constant type-safe access to aux data.
Utility methods to access offline object decorations.
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
bool isUnlinkedTruth(const xAOD::TrackParticle &track)
isUnlinkedTruth
const_reference_type withDefault(const ELT &e, const T &deflt) const
Fetch the variable for one element, as a const reference, with a default.