CMS 3D CMS Logo

Classes | Typedefs | Functions
TemplatedSecondaryVertexProducer.cc File Reference
#include <functional>
#include <algorithm>
#include <iterator>
#include <cstddef>
#include <string>
#include <vector>
#include <map>
#include <set>
#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 "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::VertexCompositePtrCandidateCandSecondaryVertexProducer
 
typedef boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
 
typedef boost::shared_ptr< fastjet::JetDefinition > JetDefPtr
 
typedef TemplatedSecondaryVertexProducer< TrackIPTagInfo, reco::VertexSecondaryVertexProducer
 

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 1317 of file TemplatedSecondaryVertexProducer.cc.

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

Definition at line 62 of file TemplatedSecondaryVertexProducer.cc.

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

Definition at line 63 of file TemplatedSecondaryVertexProducer.cc.

Definition at line 1316 of file TemplatedSecondaryVertexProducer.cc.

Function Documentation

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

Definition at line 93 of file TemplatedSecondaryVertexProducer.cc.

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

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

93  {
94 return GlobalVector(sv.x() - pv.x(), sv.y() - pv.y(),sv.z() - pv.z());
95 }
double y() const
y coordinate
Definition: Vertex.h:113
double z() const
z coordinate
Definition: Vertex.h:115
double x() const
x coordinate
Definition: Vertex.h:111
Global3DVector GlobalVector
Definition: GlobalVector.h:10
GlobalVector flightDirection ( const reco::Vertex pv,
const reco::VertexCompositePtrCandidate sv 
)

Definition at line 96 of file TemplatedSecondaryVertexProducer.cc.

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

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

Definition at line 241 of file TemplatedSecondaryVertexProducer.cc.

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

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

242 {
243  if (name == "AlwaysWithGhostTrack")
244  return GhostTrackVertexFinder::kAlwaysWithGhostTrack;
245  else if (name == "SingleTracksWithGhostTrack")
246  return GhostTrackVertexFinder::kSingleTracksWithGhostTrack;
247  else if (name == "RefitGhostTrackWithVertices")
248  return GhostTrackVertexFinder::kRefitGhostTrackWithVertices;
249  else
250  throw cms::Exception("InvalidArgument")
251  << "TemplatedSecondaryVertexProducer: ``fitType'' "
252  "parameter value \"" << name << "\" for "
253  "GhostTrackVertexFinder settings not "
254  "understood." << std::endl;
255 }
const math::XYZPoint& position ( const reco::Vertex sv)

Definition at line 99 of file TemplatedSecondaryVertexProducer.cc.

References reco::Vertex::position().

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

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

Definition at line 101 of file TemplatedSecondaryVertexProducer.cc.

References reco::LeafCandidate::vertex().

102 {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