CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Typedefs | Functions
TemplatedSecondaryVertexProducer.cc File Reference
#include <algorithm>
#include <cstddef>
#include <functional>
#include <iterator>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <vector>
#include <boost/iterator/transform_iterator.hpp>
#include "FWCore/Framework/interface/stream/EDProducer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/ParameterSet/interface/IfExistsDescription.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
#include "FWCore/ParameterSet/interface/Registry.h"
#include "FWCore/Common/interface/Provenance.h"
#include "DataFormats/Provenance/interface/ProductProvenance.h"
#include "DataFormats/PatCandidates/interface/Jet.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/VertexReco/interface/Vertex.h"
#include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
#include "DataFormats/BTauReco/interface/TrackIPTagInfo.h"
#include "DataFormats/BTauReco/interface/CandIPTagInfo.h"
#include "DataFormats/BTauReco/interface/SecondaryVertexTagInfo.h"
#include "RecoVertex/VertexPrimitives/interface/VertexException.h"
#include "RecoVertex/VertexPrimitives/interface/ConvertToFromReco.h"
#include "RecoVertex/ConfigurableVertexReco/interface/ConfigurableVertexReconstructor.h"
#include "RecoVertex/GhostTrackFitter/interface/GhostTrackVertexFinder.h"
#include "RecoVertex/GhostTrackFitter/interface/GhostTrackPrediction.h"
#include "RecoVertex/GhostTrackFitter/interface/GhostTrackState.h"
#include "RecoVertex/GhostTrackFitter/interface/GhostTrack.h"
#include "TrackingTools/TransientTrack/interface/TransientTrack.h"
#include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
#include "TrackingTools/TransientTrack/interface/CandidatePtrTransientTrack.h"
#include "TrackingTools/Records/interface/TransientTrackRecord.h"
#include "RecoBTag/SecondaryVertex/interface/TrackSelector.h"
#include "RecoBTag/SecondaryVertex/interface/TrackSorting.h"
#include "RecoBTag/SecondaryVertex/interface/SecondaryVertex.h"
#include "RecoBTag/SecondaryVertex/interface/VertexFilter.h"
#include "RecoBTag/SecondaryVertex/interface/VertexSorting.h"
#include "DataFormats/GeometryVector/interface/VectorUtil.h"
#include "fastjet/JetDefinition.hh"
#include "fastjet/ClusterSequence.hh"
#include "fastjet/PseudoJet.hh"

Go to the source code of this file.

Classes

struct  TemplatedSecondaryVertexProducer< IPTI, VTX >::SVBuilder
 
struct  TemplatedSecondaryVertexProducer< IPTI, VTX >::SVFilter
 
class  TemplatedSecondaryVertexProducer< IPTI, VTX >
 

Typedefs

typedef
TemplatedSecondaryVertexProducer
< CandIPTagInfo,
reco::VertexCompositePtrCandidate
CandSecondaryVertexProducer
 
typedef std::shared_ptr
< fastjet::ClusterSequence > 
ClusterSequencePtr
 
typedef std::shared_ptr
< fastjet::JetDefinition > 
JetDefPtr
 
typedef
TemplatedSecondaryVertexProducer
< TrackIPTagInfo, reco::Vertex
SecondaryVertexProducer
 

Functions

GlobalVector flightDirection (const reco::Vertex &pv, const reco::Vertex &sv)
 
GlobalVector flightDirection (const reco::Vertex &pv, const reco::VertexCompositePtrCandidate &sv)
 
static
GhostTrackVertexFinder::FitType 
getGhostTrackFitType (const std::string &name)
 
const math::XYZPointposition (const reco::Vertex &sv)
 
const math::XYZPointposition (const reco::VertexCompositePtrCandidate &sv)
 
static const
edm::ParameterSetDescriptionFillerPluginFactory::PMaker
< edm::ParameterSetDescriptionFiller
< SecondaryVertexProducer > > 
s_filler__LINE__ ("SecondaryVertexProducer")
 
static const
edm::MakerPluginFactory::PMaker
< edm::WorkerMaker
< SecondaryVertexProducer > > 
s_maker__LINE__ ("SecondaryVertexProducer")
 

Typedef Documentation

Definition at line 1314 of file TemplatedSecondaryVertexProducer.cc.

typedef std::shared_ptr<fastjet::ClusterSequence> ClusterSequencePtr

Definition at line 68 of file TemplatedSecondaryVertexProducer.cc.

typedef std::shared_ptr<fastjet::JetDefinition> JetDefPtr

Definition at line 69 of file TemplatedSecondaryVertexProducer.cc.

Definition at line 1313 of file TemplatedSecondaryVertexProducer.cc.

Function Documentation

GlobalVector flightDirection ( const reco::Vertex pv,
const reco::Vertex sv 
)

Definition at line 92 of file TemplatedSecondaryVertexProducer.cc.

References reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().

Referenced by TemplatedSecondaryVertexProducer< IPTI, VTX >::produce(), and BtoCharmDecayVertexMergerT< VTX >::resolveBtoDchain().

92  {
93  return GlobalVector(sv.x() - pv.x(), sv.y() - pv.y(), sv.z() - pv.z());
94 }
double y() const
y coordinate
Definition: Vertex.h:131
double z() const
z coordinate
Definition: Vertex.h:133
double x() const
x coordinate
Definition: Vertex.h:129
Global3DVector GlobalVector
Definition: GlobalVector.h:10
GlobalVector flightDirection ( const reco::Vertex pv,
const reco::VertexCompositePtrCandidate sv 
)

Definition at line 95 of file TemplatedSecondaryVertexProducer.cc.

References reco::LeafCandidate::vertex(), reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().

95  {
96  return GlobalVector(sv.vertex().x() - pv.x(), sv.vertex().y() - pv.y(), sv.vertex().z() - pv.z());
97 }
double y() const
y coordinate
Definition: Vertex.h:131
const Point & vertex() const override
vertex position (overwritten by PF...)
double z() const
z coordinate
Definition: Vertex.h:133
double x() const
x coordinate
Definition: Vertex.h:129
Global3DVector GlobalVector
Definition: GlobalVector.h:10
static GhostTrackVertexFinder::FitType getGhostTrackFitType ( const std::string &  name)
static

Definition at line 226 of file TemplatedSecondaryVertexProducer.cc.

References Exception, reco::GhostTrackVertexFinder::kAlwaysWithGhostTrack, reco::GhostTrackVertexFinder::kRefitGhostTrackWithVertices, and reco::GhostTrackVertexFinder::kSingleTracksWithGhostTrack.

Referenced by TemplatedSecondaryVertexProducer< IPTI, VTX >::produce().

226  {
227  if (name == "AlwaysWithGhostTrack")
228  return GhostTrackVertexFinder::kAlwaysWithGhostTrack;
229  else if (name == "SingleTracksWithGhostTrack")
230  return GhostTrackVertexFinder::kSingleTracksWithGhostTrack;
231  else if (name == "RefitGhostTrackWithVertices")
232  return GhostTrackVertexFinder::kRefitGhostTrackWithVertices;
233  else
234  throw cms::Exception("InvalidArgument") << "TemplatedSecondaryVertexProducer: ``fitType'' "
235  "parameter value \""
236  << name
237  << "\" for "
238  "GhostTrackVertexFinder settings not "
239  "understood."
240  << std::endl;
241 }
const math::XYZPoint& position ( const reco::Vertex sv)

Definition at line 98 of file TemplatedSecondaryVertexProducer.cc.

References reco::Vertex::position().

98 { return sv.position(); }
const Point & position() const
position
Definition: Vertex.h:127
const math::XYZPoint& position ( const reco::VertexCompositePtrCandidate sv)

Definition at line 99 of file TemplatedSecondaryVertexProducer.cc.

References reco::LeafCandidate::vertex().

99 { return sv.vertex(); }
const Point & vertex() const override
vertex position (overwritten by PF...)
static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker< edm::ParameterSetDescriptionFiller< CandSecondaryVertexProducer > > s_filler__LINE__ ( "SecondaryVertexProducer"  )
static
static const edm::MakerPluginFactory::PMaker< edm::WorkerMaker< CandSecondaryVertexProducer > > s_maker__LINE__ ( "SecondaryVertexProducer"  )
static