CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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/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 boost::shared_ptr
< fastjet::ClusterSequence > 
ClusterSequencePtr
 
typedef boost::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 1175 of file TemplatedSecondaryVertexProducer.cc.

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

Definition at line 61 of file TemplatedSecondaryVertexProducer.cc.

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

Definition at line 62 of file TemplatedSecondaryVertexProducer.cc.

Definition at line 1174 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().

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:110
double z() const
y coordinate
Definition: Vertex.h:112
double x() const
x coordinate
Definition: Vertex.h:108
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 }
virtual const Point & vertex() const
vertex position (overwritten by PF...)
double y() const
y coordinate
Definition: Vertex.h:110
double z() const
y coordinate
Definition: Vertex.h:112
double x() const
x coordinate
Definition: Vertex.h:108
Global3DVector GlobalVector
Definition: GlobalVector.h:10
static GhostTrackVertexFinder::FitType getGhostTrackFitType ( const std::string &  name)
static

Definition at line 236 of file TemplatedSecondaryVertexProducer.cc.

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

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

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

Definition at line 98 of file TemplatedSecondaryVertexProducer.cc.

References reco::Vertex::position().

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

Definition at line 100 of file TemplatedSecondaryVertexProducer.cc.

References reco::LeafCandidate::vertex().

101 {return sv.vertex();}
virtual const Point & vertex() const
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