![]() |
![]() |
#include <SecondaryVertexTagInfo.h>
Classes | |
struct | TrackData |
struct | VertexData |
Public Types | |
typedef std::pair< unsigned int, TrackData > | IndexedTrackData |
Public Member Functions | |
virtual SecondaryVertexTagInfo * | clone (void) const |
clone | |
unsigned int | findTrack (const TrackRef &track) const |
const GlobalVector & | flightDirection (unsigned int index) const |
Measurement1D | flightDistance (unsigned int index, bool in2d=false) const |
virtual edm::RefToBase< Jet > | jet (void) const |
returns a polymorphic reference to the tagged jet | |
const JetTracksAssociationRef & | jtaRef (void) const |
unsigned int | nSelectedTracks () const |
unsigned int | nVertexCandidates () const |
unsigned int | nVertexTracks () const |
unsigned int | nVertexTracks (unsigned int index) const |
unsigned int | nVertices () const |
const Vertex & | secondaryVertex (unsigned int index) const |
SecondaryVertexTagInfo () | |
SecondaryVertexTagInfo (const std::vector< IndexedTrackData > &trackData, const std::vector< VertexData > &svData, unsigned int vertexCandidates, const TrackIPTagInfoRef &trackIPTagInfoRef) | |
TrackRefVector | selectedTracks () const |
virtual TaggingVariableList | taggingVariables () const |
returns a description of the extended informations in a TaggingVariableList | |
TrackRef | track (unsigned int index) const |
const TrackData & | trackData (unsigned int index) const |
const TrackData & | trackData (const TrackRef &track) const |
const TrackIPTagInfo::TrackIPData & | trackIPData (const TrackRef &track) const |
const TrackIPTagInfo::TrackIPData & | trackIPData (unsigned int index) const |
const TrackIPTagInfoRef & | trackIPTagInfoRef () const |
virtual TrackRefVector | tracks (void) const |
returns a list of tracks associated to the jet | |
float | trackWeight (unsigned int svIndex, unsigned int trackindex) const |
float | trackWeight (unsigned int svIndex, const TrackRef &track) const |
TrackRefVector | vertexTracks () const |
TrackRefVector | vertexTracks (unsigned int index) const |
virtual | ~SecondaryVertexTagInfo () |
Private Attributes | |
std::vector< VertexData > | m_svData |
std::vector< IndexedTrackData > | m_trackData |
TrackIPTagInfoRef | m_trackIPTagInfoRef |
unsigned int | m_vertexCandidates |
Definition at line 19 of file SecondaryVertexTagInfo.h.
typedef std::pair<unsigned int, TrackData> reco::SecondaryVertexTagInfo::IndexedTrackData |
Definition at line 44 of file SecondaryVertexTagInfo.h.
reco::SecondaryVertexTagInfo::SecondaryVertexTagInfo | ( | ) | [inline] |
virtual reco::SecondaryVertexTagInfo::~SecondaryVertexTagInfo | ( | ) | [inline, virtual] |
Definition at line 47 of file SecondaryVertexTagInfo.h.
{}
SecondaryVertexTagInfo::SecondaryVertexTagInfo | ( | const std::vector< IndexedTrackData > & | trackData, |
const std::vector< VertexData > & | svData, | ||
unsigned int | vertexCandidates, | ||
const TrackIPTagInfoRef & | trackIPTagInfoRef | ||
) |
Definition at line 42 of file SecondaryVertexTagInfo.cc.
: m_trackData(trackData), m_svData(svData), m_vertexCandidates(vertexCandidates), m_trackIPTagInfoRef(trackIPTagInfoRef) { }
virtual SecondaryVertexTagInfo* reco::SecondaryVertexTagInfo::clone | ( | void | ) | const [inline, virtual] |
clone
Reimplemented from reco::BaseTagInfo.
Definition at line 56 of file SecondaryVertexTagInfo.h.
References SecondaryVertexTagInfo().
{ return new SecondaryVertexTagInfo(*this); }
unsigned int SecondaryVertexTagInfo::findTrack | ( | const TrackRef & | track | ) | const |
Definition at line 115 of file SecondaryVertexTagInfo.cc.
References edm::errors::InvalidReference, m_trackData, m_trackIPTagInfoRef, pos, and track().
Referenced by trackData(), and trackIPData().
{ std::vector<IndexedTrackData>::const_iterator pos = std::find_if(m_trackData.begin(), m_trackData.end(), TrackFinder(m_trackIPTagInfoRef->selectedTracks(), track)); if (pos == m_trackData.end()) throw edm::Exception(edm::errors::InvalidReference) << "Track not found in " "SecondaryVertexTagInfo::findTrack." << std::endl; return pos - m_trackData.begin(); }
const GlobalVector& reco::SecondaryVertexTagInfo::flightDirection | ( | unsigned int | index | ) | const [inline] |
Definition at line 100 of file SecondaryVertexTagInfo.h.
References getHLTprescales::index, and m_svData.
Referenced by PatBJetVertexAnalyzer::analyze(), CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
Measurement1D reco::SecondaryVertexTagInfo::flightDistance | ( | unsigned int | index, |
bool | in2d = false |
||
) | const [inline] |
Definition at line 98 of file SecondaryVertexTagInfo.h.
References getHLTprescales::index, and m_svData.
Referenced by PatBJetVertexAnalyzer::analyze(), SimpleSecondaryVertexComputer::discriminator(), main(), CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
virtual edm::RefToBase<Jet> reco::SecondaryVertexTagInfo::jet | ( | void | ) | const [inline, virtual] |
returns a polymorphic reference to the tagged jet
Reimplemented from reco::BaseTagInfo.
Definition at line 63 of file SecondaryVertexTagInfo.h.
References m_trackIPTagInfoRef.
Referenced by taggingVariables().
{ return m_trackIPTagInfoRef->jet(); }
const JetTracksAssociationRef& reco::SecondaryVertexTagInfo::jtaRef | ( | void | ) | const [inline] |
Definition at line 69 of file SecondaryVertexTagInfo.h.
References m_trackIPTagInfoRef.
{ return m_trackIPTagInfoRef->jtaRef(); }
unsigned int reco::SecondaryVertexTagInfo::nSelectedTracks | ( | ) | const [inline] |
Definition at line 75 of file SecondaryVertexTagInfo.h.
References m_trackData.
{ return m_trackData.size(); }
unsigned int reco::SecondaryVertexTagInfo::nVertexCandidates | ( | ) | const [inline] |
Definition at line 79 of file SecondaryVertexTagInfo.h.
References m_vertexCandidates.
{ return m_vertexCandidates; }
unsigned int SecondaryVertexTagInfo::nVertexTracks | ( | ) | const |
Definition at line 54 of file SecondaryVertexTagInfo.cc.
References m_trackData.
Referenced by SimpleSecondaryVertexComputer::discriminator(), CombinedSVComputer::operator()(), and taggingVariables().
{ return std::count_if(m_trackData.begin(), m_trackData.end(), VertexTrackSelector()); }
unsigned int SecondaryVertexTagInfo::nVertexTracks | ( | unsigned int | index | ) | const |
Definition at line 60 of file SecondaryVertexTagInfo.cc.
References m_trackData.
{ return std::count_if(m_trackData.begin(), m_trackData.end(), IndexedVertexTrackSelector(index)); }
unsigned int reco::SecondaryVertexTagInfo::nVertices | ( | ) | const [inline] |
Definition at line 78 of file SecondaryVertexTagInfo.h.
References m_svData.
Referenced by PatBJetVertexAnalyzer::analyze(), FWSecVertexProxyBuilder::build(), SimpleSecondaryVertexComputer::discriminator(), main(), CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
{ return m_svData.size(); }
const Vertex& reco::SecondaryVertexTagInfo::secondaryVertex | ( | unsigned int | index | ) | const [inline] |
Definition at line 72 of file SecondaryVertexTagInfo.h.
References getHLTprescales::index, and m_svData.
Referenced by PatBJetVertexAnalyzer::analyze(), FWSecVertexProxyBuilder::build(), SimpleSecondaryVertexComputer::discriminator(), main(), CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
TrackRefVector SecondaryVertexTagInfo::selectedTracks | ( | ) | const |
Definition at line 66 of file SecondaryVertexTagInfo.cc.
References m_trackData, m_trackIPTagInfoRef, and edm::RefVector< C, T, F >::push_back().
{ TrackRefVector trackRefs; const TrackRefVector &trackIPTrackRefs = m_trackIPTagInfoRef->selectedTracks(); for(std::vector<IndexedTrackData>::const_iterator iter = m_trackData.begin(); iter != m_trackData.end(); iter++) trackRefs.push_back(trackIPTrackRefs[iter->first]); return trackRefs; }
TaggingVariableList SecondaryVertexTagInfo::taggingVariables | ( | void | ) | const [virtual] |
returns a description of the extended informations in a TaggingVariableList
Reimplemented from reco::BaseTagInfo.
Definition at line 167 of file SecondaryVertexTagInfo.cc.
References Geom::deltaR(), reco::TaggingVariableList::finalize(), reco::btau::flightDistance2dSig, reco::btau::flightDistance2dVal, reco::btau::flightDistance3dSig, reco::btau::flightDistance3dVal, reco::TaggingVariableList::insert(), jet(), reco::btau::jetNSecondaryVertices, m_svData, m_vertexCandidates, nVertexTracks(), reco::btau::vertexJetDeltaR, and reco::btau::vertexNTracks.
{ TaggingVariableList vars; for(std::vector<VertexData>::const_iterator iter = m_svData.begin(); iter != m_svData.end(); iter++) { vars.insert(btau::flightDistance2dVal, iter->dist2d.value(), true); vars.insert(btau::flightDistance2dSig, iter->dist2d.significance(), true); vars.insert(btau::flightDistance3dVal, iter->dist3d.value(), true); vars.insert(btau::flightDistance3dSig, iter->dist3d.significance(), true); vars.insert(btau::vertexJetDeltaR, Geom::deltaR(iter->direction, jet()->momentum()), true); } vars.insert(btau::jetNSecondaryVertices, m_vertexCandidates, true); vars.insert(btau::vertexNTracks, nVertexTracks(), true); vars.finalize(); return vars; }
TrackRef SecondaryVertexTagInfo::track | ( | unsigned int | index | ) | const |
Definition at line 110 of file SecondaryVertexTagInfo.cc.
References getHLTprescales::index, m_trackData, and m_trackIPTagInfoRef.
Referenced by findTrack(), and trackWeight().
{ return m_trackIPTagInfoRef->selectedTracks()[m_trackData[index].first]; }
const SecondaryVertexTagInfo::TrackData & SecondaryVertexTagInfo::trackData | ( | unsigned int | index | ) | const |
Definition at line 131 of file SecondaryVertexTagInfo.cc.
References getHLTprescales::index, and m_trackData.
{ return m_trackData[index].second; }
const SecondaryVertexTagInfo::TrackData & SecondaryVertexTagInfo::trackData | ( | const TrackRef & | track | ) | const |
Definition at line 137 of file SecondaryVertexTagInfo.cc.
References findTrack(), and m_trackData.
{ return m_trackData[findTrack(track)].second; }
const TrackIPTagInfo::TrackIPData & SecondaryVertexTagInfo::trackIPData | ( | const TrackRef & | track | ) | const |
Definition at line 150 of file SecondaryVertexTagInfo.cc.
References findTrack(), and trackIPData().
{ return trackIPData(findTrack(track)); }
const TrackIPTagInfo::TrackIPData & SecondaryVertexTagInfo::trackIPData | ( | unsigned int | index | ) | const |
Definition at line 143 of file SecondaryVertexTagInfo.cc.
References getHLTprescales::index, m_trackData, and m_trackIPTagInfoRef.
Referenced by trackIPData().
{ return m_trackIPTagInfoRef->impactParameterData()[ m_trackData[index].first]; }
const TrackIPTagInfoRef& reco::SecondaryVertexTagInfo::trackIPTagInfoRef | ( | ) | const [inline] |
Definition at line 60 of file SecondaryVertexTagInfo.h.
References m_trackIPTagInfoRef.
{ return m_trackIPTagInfoRef; }
virtual TrackRefVector reco::SecondaryVertexTagInfo::tracks | ( | void | ) | const [inline, virtual] |
returns a list of tracks associated to the jet
Reimplemented from reco::BaseTagInfo.
Definition at line 66 of file SecondaryVertexTagInfo.h.
References m_trackIPTagInfoRef.
{ return m_trackIPTagInfoRef->tracks(); }
float SecondaryVertexTagInfo::trackWeight | ( | unsigned int | svIndex, |
unsigned int | trackindex | ||
) | const |
Definition at line 161 of file SecondaryVertexTagInfo.cc.
References track().
Referenced by CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
{ return trackWeight(svIndex, track(trackIndex)); }
float SecondaryVertexTagInfo::trackWeight | ( | unsigned int | svIndex, |
const TrackRef & | track | ||
) | const |
Definition at line 155 of file SecondaryVertexTagInfo.cc.
References m_svData.
{ return m_svData[svIndex].vertex.trackWeight(track); }
TrackRefVector SecondaryVertexTagInfo::vertexTracks | ( | unsigned int | index | ) | const |
Definition at line 95 of file SecondaryVertexTagInfo.cc.
References m_trackData, m_trackIPTagInfoRef, and edm::RefVector< C, T, F >::push_back().
{ TrackRefVector trackRefs; const TrackRefVector &trackIPTrackRefs = m_trackIPTagInfoRef->selectedTracks(); for(std::vector<IndexedTrackData>::const_iterator iter = m_trackData.begin(); iter != m_trackData.end(); iter++) if (iter->second.associatedToVertex(index)) trackRefs.push_back(trackIPTrackRefs[iter->first]); return trackRefs; }
TrackRefVector SecondaryVertexTagInfo::vertexTracks | ( | ) | const |
Definition at line 80 of file SecondaryVertexTagInfo.cc.
References m_trackData, m_trackIPTagInfoRef, and edm::RefVector< C, T, F >::push_back().
Referenced by CombinedSVComputer::operator()(), and GhostTrackComputer::operator()().
{ TrackRefVector trackRefs; const TrackRefVector &trackIPTrackRefs = m_trackIPTagInfoRef->selectedTracks(); for(std::vector<IndexedTrackData>::const_iterator iter = m_trackData.begin(); iter != m_trackData.end(); iter++) if (iter->second.associatedToVertex()) trackRefs.push_back(trackIPTrackRefs[iter->first]); return trackRefs; }
std::vector<VertexData> reco::SecondaryVertexTagInfo::m_svData [private] |
Definition at line 107 of file SecondaryVertexTagInfo.h.
Referenced by flightDirection(), flightDistance(), nVertices(), secondaryVertex(), taggingVariables(), and trackWeight().
std::vector<IndexedTrackData> reco::SecondaryVertexTagInfo::m_trackData [private] |
Definition at line 106 of file SecondaryVertexTagInfo.h.
Referenced by findTrack(), nSelectedTracks(), nVertexTracks(), selectedTracks(), track(), trackData(), trackIPData(), and vertexTracks().
TrackIPTagInfoRef reco::SecondaryVertexTagInfo::m_trackIPTagInfoRef [private] |
Definition at line 110 of file SecondaryVertexTagInfo.h.
Referenced by findTrack(), jet(), jtaRef(), selectedTracks(), track(), trackIPData(), trackIPTagInfoRef(), tracks(), and vertexTracks().
unsigned int reco::SecondaryVertexTagInfo::m_vertexCandidates [private] |
Definition at line 108 of file SecondaryVertexTagInfo.h.
Referenced by nVertexCandidates(), and taggingVariables().