1 #ifndef DataFormats_BTauReco_TemplatedSecondaryVertexTagInfo_h
2 #define DataFormats_BTauReco_TemplatedSecondaryVertexTagInfo_h
19 #include <ext/functional>
53 template <
class IPTI,
class VTX>
71 tracks(tracks), track(track) {}
76 const typename IPTI::input_container &
tracks;
82 {
return idt.second.associatedToVertex(); }
90 {
return idt.second.associatedToVertex(
index); }
103 const std::vector<IndexedTrackData> &
trackData,
104 const std::vector<VertexData> &svData,
105 unsigned int vertexCandidates,
106 const edm::Ref<std::vector<IPTI> >&);
148 float trackWeight(
unsigned int svIndex,
unsigned int trackindex)
const;
174 unsigned int vertexCandidates,
176 m_trackData(trackData),
178 m_vertexCandidates(vertexCandidates),
195 template<
class IPTI,
class VTX>
205 trackRefs.push_back(trackIPTrackRefs[iter->first]);
210 template<
class IPTI,
class VTX>
220 if (iter->second.associatedToVertex())
221 trackRefs.push_back(trackIPTrackRefs[iter->first]);
226 template<
class IPTI,
class VTX>
236 if (iter->second.associatedToVertex(index))
237 trackRefs.push_back(trackIPTrackRefs[iter->first]);
256 <<
"Track not found in "
257 " TemplatedSecondaryVertexTagInfo<IPTI,VTX>::findTrack." << std::endl;
262 template<
class IPTI,
class VTX>
268 template<
class IPTI,
class VTX>
274 template<
class IPTI,
class VTX>
281 template<
class IPTI,
class VTX>
294 unsigned int trackIndex)
const
306 iter->dist2d.value(),
true);
308 iter->dist2d.significance(),
true);
310 iter->dist3d.value(),
true);
312 iter->dist3d.significance(),
true);
326 #endif // DataFormats_BTauReco_TemplatedSecondaryVertexTagInfo_h
Measurement1D flightDistance(unsigned int index, bool in2d=false) const
bool operator()(const IndexedTrackData &idt)
edm::Ref< Container > Ref
std::vector< VertexData > m_svData
const VTX & secondaryVertex(unsigned int index) const
const IPTI::input_container & tracks
float weight(const reco::TrackRef &t, const reco::Vertex &v)
unsigned int nSelectedTracks() const
#define CMS_CLASS_VERSION(_version_)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
input_container vertexTracks() const
const edm::Ref< std::vector< IPTI > > & trackIPTagInfoRef() const
reco::btag::IndexedTrackData IndexedTrackData
unsigned int findTrack(const typename input_container::value_type &track) const
reco::btag::TrackData TrackData
float trackWeight(unsigned int svIndex, unsigned int trackindex) const
virtual ~TemplatedSecondaryVertexTagInfo()
float trackWeight(const TrackBaseRef &r) const
returns the weight with which a Track has contributed to the vertex-fit.
IPTI::input_container input_container
const IPTI::input_container::value_type & track
const reco::btag::TrackIPData & trackIPData(unsigned int index) const
const TrackData & trackData(unsigned int index) const
Container::value_type value_type
input_container::value_type track(unsigned int index) const
const GlobalVector & flightDirection(unsigned int index) const
input_container selectedTracks() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
double deltaR(double eta1, double eta2, double phi1, double phi2)
edm::Ref< std::vector< IPTI > > m_trackIPTagInfoRef
unsigned int nVertices() const
unsigned int m_vertexCandidates
TrackFinder(const typename IPTI::input_container &tracks, const typename IPTI::input_container::value_type &track)
bool usedForVertexFit() const
bool associatedToVertex(unsigned int index) const
virtual TemplatedSecondaryVertexTagInfo * clone(void) const
clone
const daughters & daughterPtrVector() const
references to daughtes
unsigned int nVertexTracks() const
virtual TaggingVariableList taggingVariables() const
returns a description of the extended informations in a TaggingVariableList
bool associatedToVertex() const
std::vector< IndexedTrackData > m_trackData
std::pair< unsigned int, TrackData > IndexedTrackData
void insert(const TaggingVariable &variable, bool delayed=false)
virtual edm::RefToBase< Jet > jet(void) const
returns a polymorphic reference to the tagged jet
TemplatedSecondaryVertexTagInfo()
unsigned int nVertexCandidates() const