CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TrackProducerAlgorithm< T > Class Template Reference

#include <TrackProducerAlgorithm.h>

Public Types

typedef std::pair< Trajectory
*, std::pair< T
*, PropagationDirection > > 
AlgoProduct
 
typedef std::vector< AlgoProductAlgoProductCollection
 
typedef edm::RefToBase
< TrajectorySeed
SeedRef
 
typedef std::vector< TTrackCollection
 
typedef edm::AssociationMap
< edm::OneToOne< std::vector
< T >, std::vector
< VertexConstraint > > > 
VtxConstraintAssociationCollection
 

Public Member Functions

bool buildTrack (const TrajectoryFitter *, const Propagator *, AlgoProductCollection &, TransientTrackingRecHit::RecHitContainer &, TrajectoryStateOnSurface &, const TrajectorySeed &, float, const reco::BeamSpot &, SeedRef seedRef=SeedRef(), int qualityMask=0, signed char nLoops=0)
 Construct Tracks to be put in the event. More...
 
void runWithCandidate (const TrackingGeometry *, const MagneticField *, const TrackCandidateCollection &, const TrajectoryFitter *, const Propagator *, const TransientTrackingRecHitBuilder *, const reco::BeamSpot &, AlgoProductCollection &)
 Run the Final Fit taking TrackCandidates as input. More...
 
void runWithMomentum (const TrackingGeometry *, const MagneticField *, const TrackMomConstraintAssociationCollection &, const TrajectoryFitter *, const Propagator *, const TransientTrackingRecHitBuilder *, const reco::BeamSpot &, AlgoProductCollection &)
 Run the Final Fit taking TrackMomConstraintAssociation as input (Refitter with momentum constraint) More...
 
void runWithTrack (const TrackingGeometry *, const MagneticField *, const TrackCollection &, const TrajectoryFitter *, const Propagator *, const TransientTrackingRecHitBuilder *, const reco::BeamSpot &, AlgoProductCollection &)
 Run the Final Fit taking Tracks as input (for Refitter) More...
 
void runWithTrackParameters (const TrackingGeometry *, const MagneticField *, const TrackParamConstraintAssociationCollection &, const TrajectoryFitter *, const Propagator *, const TransientTrackingRecHitBuilder *, const reco::BeamSpot &, AlgoProductCollection &)
 
void runWithVertex (const TrackingGeometry *, const MagneticField *, const VtxConstraintAssociationCollection &, const TrajectoryFitter *, const Propagator *, const TransientTrackingRecHitBuilder *, const reco::BeamSpot &, AlgoProductCollection &)
 
 TrackProducerAlgorithm (const edm::ParameterSet &conf)
 Constructor. More...
 
 ~TrackProducerAlgorithm ()
 Destructor. More...
 

Private Member Functions

TrajectoryStateOnSurface getInitialState (const T *theT, TransientTrackingRecHit::RecHitContainer &hits, const TrackingGeometry *theG, const MagneticField *theMF)
 

Private Attributes

reco::TrackBase::TrackAlgorithm algo_
 
std::string algoName_
 
edm::ParameterSet conf_
 
bool geometricInnerState_
 
bool reMatchSplitHits_
 
bool usePropagatorForPCA_
 

Detailed Description

template<class T>
class TrackProducerAlgorithm< T >

This class calls the Final Fit and builds the Tracks then produced by the TrackProducer or by the TrackRefitter

Author
cerati

Definition at line 42 of file TrackProducerAlgorithm.h.

Member Typedef Documentation

template<class T>
typedef std::pair<Trajectory*, std::pair<T*,PropagationDirection> > TrackProducerAlgorithm< T >::AlgoProduct

Definition at line 45 of file TrackProducerAlgorithm.h.

template<class T>
typedef std::vector< AlgoProduct > TrackProducerAlgorithm< T >::AlgoProductCollection

Definition at line 46 of file TrackProducerAlgorithm.h.

Definition at line 47 of file TrackProducerAlgorithm.h.

template<class T>
typedef std::vector<T> TrackProducerAlgorithm< T >::TrackCollection

Definition at line 44 of file TrackProducerAlgorithm.h.

Definition at line 49 of file TrackProducerAlgorithm.h.

Constructor & Destructor Documentation

template<class T>
TrackProducerAlgorithm< T >::TrackProducerAlgorithm ( const edm::ParameterSet conf)
inline

Constructor.

Definition at line 53 of file TrackProducerAlgorithm.h.

53  :
54  conf_(conf),
55  algoName_(conf_.getParameter<std::string>( "AlgorithmName" )),
57  reMatchSplitHits_(false),
59  {
60  geometricInnerState_ = (conf_.exists("GeometricInnerState") ?
61  conf_.getParameter<bool>( "GeometricInnerState" ) : true);
62  if (conf_.exists("reMatchSplitHits"))
63  reMatchSplitHits_=conf_.getParameter<bool>("reMatchSplitHits");
64  if (conf_.exists("usePropagatorForPCA"))
65  usePropagatorForPCA_ = conf_.getParameter<bool>("usePropagatorForPCA");
66  }
T getParameter(std::string const &) const
bool exists(std::string const &parameterName) const
checks if a parameter exists
reco::TrackBase::TrackAlgorithm algo_
static TrackAlgorithm algoByName(const std::string &name)
Definition: TrackBase.cc:126
template<class T>
TrackProducerAlgorithm< T >::~TrackProducerAlgorithm ( )
inline

Destructor.

Definition at line 69 of file TrackProducerAlgorithm.h.

69 {}

Member Function Documentation

template<class T>
bool TrackProducerAlgorithm< T >::buildTrack ( const TrajectoryFitter ,
const Propagator ,
AlgoProductCollection ,
TransientTrackingRecHit::RecHitContainer ,
TrajectoryStateOnSurface ,
const TrajectorySeed ,
float  ,
const reco::BeamSpot ,
SeedRef  seedRef = SeedRef(),
int  qualityMask = 0,
signed char  nLoops = 0 
)

Construct Tracks to be put in the event.

Referenced by NuclearTrackCorrector::getTrackFromTrajectory(), and TrackProducerWithSCAssociation::produce().

template<class T>
TrajectoryStateOnSurface TrackProducerAlgorithm< T >::getInitialState ( const T theT,
TransientTrackingRecHit::RecHitContainer hits,
const TrackingGeometry theG,
const MagneticField theMF 
)
private
template<class T>
void TrackProducerAlgorithm< T >::runWithCandidate ( const TrackingGeometry ,
const MagneticField ,
const TrackCandidateCollection ,
const TrajectoryFitter ,
const Propagator ,
const TransientTrackingRecHitBuilder ,
const reco::BeamSpot ,
AlgoProductCollection  
)
template<class T>
void TrackProducerAlgorithm< T >::runWithMomentum ( const TrackingGeometry ,
const MagneticField ,
const TrackMomConstraintAssociationCollection ,
const TrajectoryFitter ,
const Propagator ,
const TransientTrackingRecHitBuilder ,
const reco::BeamSpot ,
AlgoProductCollection  
)

Run the Final Fit taking TrackMomConstraintAssociation as input (Refitter with momentum constraint)

Referenced by TrackRefitter::produce().

template<class T>
void TrackProducerAlgorithm< T >::runWithTrack ( const TrackingGeometry ,
const MagneticField ,
const TrackCollection ,
const TrajectoryFitter ,
const Propagator ,
const TransientTrackingRecHitBuilder ,
const reco::BeamSpot ,
AlgoProductCollection  
)

Run the Final Fit taking Tracks as input (for Refitter)

Referenced by GsfTrackRefitter::produce(), and TrackRefitter::produce().

template<class T>
void TrackProducerAlgorithm< T >::runWithTrackParameters ( const TrackingGeometry ,
const MagneticField ,
const TrackParamConstraintAssociationCollection ,
const TrajectoryFitter ,
const Propagator ,
const TransientTrackingRecHitBuilder ,
const reco::BeamSpot ,
AlgoProductCollection  
)

Run the Final Fit taking TrackParamConstraintAssociation as input (Refitter with complete track parameters constraint) currently hit sorting is disabled - will work (only) with standard tracks

Referenced by TrackRefitter::produce().

template<class T>
void TrackProducerAlgorithm< T >::runWithVertex ( const TrackingGeometry ,
const MagneticField ,
const VtxConstraintAssociationCollection ,
const TrajectoryFitter ,
const Propagator ,
const TransientTrackingRecHitBuilder ,
const reco::BeamSpot ,
AlgoProductCollection  
)

Run the Final Fit taking TrackVtxConstraintAssociation as input (Refitter with vertex constraint) currently hit sorting is disabled - will work (only) with standard tracks

Referenced by GsfTrackRefitter::produce(), and TrackRefitter::produce().

Member Data Documentation

template<class T>
reco::TrackBase::TrackAlgorithm TrackProducerAlgorithm< T >::algo_
private
template<class T>
std::string TrackProducerAlgorithm< T >::algoName_
private

Definition at line 139 of file TrackProducerAlgorithm.h.

template<class T>
edm::ParameterSet TrackProducerAlgorithm< T >::conf_
private
template<class T>
bool TrackProducerAlgorithm< T >::geometricInnerState_
private
template<class T>
bool TrackProducerAlgorithm< T >::reMatchSplitHits_
private
template<class T>
bool TrackProducerAlgorithm< T >::usePropagatorForPCA_
private