CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions | Private Attributes

TrackProducerAlgorithm< T > Class Template Reference

#include <TrackProducerAlgorithm.h>

List of all members.

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.
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.
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)
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)
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.
 ~TrackProducerAlgorithm ()
 Destructor.

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 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/03/13 16:42:53
Revision:
1.27
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.

                                                      : 
    conf_(conf),
    algoName_(conf_.getParameter<std::string>( "AlgorithmName" )),
    algo_(reco::TrackBase::algoByName(algoName_)),
    reMatchSplitHits_(false)
      {
        if (conf_.exists("reMatchSplitHits"))
          reMatchSplitHits_=conf_.getParameter<bool>("reMatchSplitHits");
      }
template<class T>
TrackProducerAlgorithm< T >::~TrackProducerAlgorithm ( ) [inline]

Destructor.

Definition at line 54 of file TrackProducerAlgorithm.h.

{}

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 TrackRefitter::produce(), and GsfTrackRefitter::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 TrackRefitter::produce(), and GsfTrackRefitter::produce().


Member Data Documentation

template<class T>
std::string TrackProducerAlgorithm< T >::algoName_ [private]

Definition at line 123 of file TrackProducerAlgorithm.h.

template<class T>
edm::ParameterSet TrackProducerAlgorithm< T >::conf_ [private]
template<class T>
bool TrackProducerAlgorithm< T >::reMatchSplitHits_ [private]