CMS 3D CMS Logo

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::VertexCompositePtrCandidateCandSecondaryVertexProducer
 
typedef std::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
 
typedef std::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

◆ CandSecondaryVertexProducer

Definition at line 1316 of file TemplatedSecondaryVertexProducer.cc.

◆ ClusterSequencePtr

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

Definition at line 68 of file TemplatedSecondaryVertexProducer.cc.

◆ JetDefPtr

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

Definition at line 69 of file TemplatedSecondaryVertexProducer.cc.

◆ SecondaryVertexProducer

Definition at line 1315 of file TemplatedSecondaryVertexProducer.cc.

Function Documentation

◆ flightDirection() [1/2]

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

◆ flightDirection() [2/2]

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

Definition at line 95 of file TemplatedSecondaryVertexProducer.cc.

References pfDeepBoostedJetPreprocessParams_cfi::sv.

95  {
96  return GlobalVector(sv.vertex().x() - pv.x(), sv.vertex().y() - pv.y(), sv.vertex().z() - pv.z());
97 }
Global3DVector GlobalVector
Definition: GlobalVector.h:10

◆ getGhostTrackFitType()

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, reco::GhostTrackVertexFinder::kSingleTracksWithGhostTrack, and Skims_PA_cff::name.

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 }

◆ position() [1/2]

const math::XYZPoint& position ( const reco::Vertex sv)

◆ position() [2/2]

const math::XYZPoint& position ( const reco::VertexCompositePtrCandidate sv)

◆ s_filler__LINE__()

static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker< edm::ParameterSetDescriptionFiller< CandSecondaryVertexProducer > > s_filler__LINE__ ( "SecondaryVertexProducer"  )
static

◆ s_maker__LINE__()

static const edm::MakerPluginFactory::PMaker< edm::WorkerMaker< CandSecondaryVertexProducer > > s_maker__LINE__ ( "SecondaryVertexProducer"  )
static