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_
 

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

Date:
2012/11/09 13:17:23
Revision:
1.29
Author
cerati

Definition at line 32 of file TrackProducerAlgorithm.h.

Member Typedef Documentation

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

Definition at line 35 of file TrackProducerAlgorithm.h.

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

Definition at line 36 of file TrackProducerAlgorithm.h.

Definition at line 37 of file TrackProducerAlgorithm.h.

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

Definition at line 34 of file TrackProducerAlgorithm.h.

Definition at line 39 of file TrackProducerAlgorithm.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 43 of file TrackProducerAlgorithm.h.

43  :
44  conf_(conf),
45  algoName_(conf_.getParameter<std::string>( "AlgorithmName" )),
47  reMatchSplitHits_(false)
48  {
49  geometricInnerState_ = (conf_.exists("GeometricInnerState") ?
50  conf_.getParameter<bool>( "GeometricInnerState" ) : true);
51  if (conf_.exists("reMatchSplitHits"))
52  reMatchSplitHits_=conf_.getParameter<bool>("reMatchSplitHits");
53  }
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:55
template<class T>
TrackProducerAlgorithm< T >::~TrackProducerAlgorithm ( )
inline

Destructor.

Definition at line 56 of file TrackProducerAlgorithm.h.

56 {}

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 
)
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 125 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