CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes
TrackProducerBase< T > Class Template Referenceabstract

#include <TrackProducerBase.h>

Inheritance diagram for TrackProducerBase< T >:
AlgoProductTraits< T >

Public Types

using AlgoProductCollection = typename Base::AlgoProductCollection
 
using Base = AlgoProductTraits< T >
 
using TrackCollection = typename Base::TrackCollection
 
using TrackView = typename Base::TrackView
 
- Public Types inherited from AlgoProductTraits< T >
using AlgoProductCollection = std::vector< AlgoProduct >
 
using TrackCollection = std::vector< T >
 
using TrackView = edm::View< T >
 

Public Member Functions

const edm::ParameterSetgetConf () const
 
virtual void getFromES (const edm::EventSetup &, edm::ESHandle< TrackerGeometry > &, edm::ESHandle< MagneticField > &, edm::ESHandle< TrajectoryFitter > &, edm::ESHandle< Propagator > &, edm::ESHandle< MeasurementTracker > &, edm::ESHandle< TransientTrackingRecHitBuilder > &)
 Get needed services from the Event Setup. More...
 
virtual void getFromEvt (edm::Event &, edm::Handle< TrackCandidateCollection > &, reco::BeamSpot &)
 Get TrackCandidateCollection from the Event (needed by TrackProducer) More...
 
virtual void getFromEvt (edm::Event &, edm::Handle< TrackView > &, reco::BeamSpot &)
 Get TrackCollection from the Event (needed by TrackRefitter) More...
 
void initTrackProducerBase (const edm::ParameterSet &conf, edm::ConsumesCollector cc, const edm::EDGetToken &src)
 Call this method in inheriting class' constructor. More...
 
virtual void produce (edm::Event &, const edm::EventSetup &)=0
 Method where the procduction take place. To be implemented in concrete classes. More...
 
void setAlias (std::string alias)
 set the aliases of produced collections More...
 
void setSecondHitPattern (Trajectory *traj, T &track, const Propagator *prop, const MeasurementTrackerEvent *measTk, const TrackerTopology *ttopo)
 
 TrackProducerBase (bool trajectoryInEvent=false)
 Constructor. More...
 
virtual ~TrackProducerBase () noexcept(false)
 Destructor. More...
 

Protected Attributes

std::string alias_
 
edm::EDGetTokenT< reco::BeamSpotbsSrc_
 
edm::ESGetToken
< TransientTrackingRecHitBuilder,
TransientRecHitRecord
builderSrc_
 
edm::ParameterSet conf_
 
edm::ESGetToken
< TrajectoryFitter,
TrajectoryFitter::Record
fitterSrc_
 
edm::ESGetToken
< MeasurementTracker,
CkfComponentsRecord
measTkSrc_
 
edm::ESGetToken< MagneticField,
IdealMagneticFieldRecord
mfSrc_
 
edm::EDGetTokenT
< MeasurementTrackerEvent
mteSrc_
 
edm::ESGetToken< Propagator,
TrackingComponentsRecord
propagatorSrc_
 
edm::OrphanHandle
< TrackCollection
rTracks_
 
edm::ESGetToken
< NavigationSchool,
NavigationSchoolRecord
schoolSrc_
 
edm::EDGetToken src_
 
edm::ESHandle< NavigationSchooltheSchool
 
edm::ESGetToken
< TrackerGeometry,
TrackerDigiGeometryRecord
trackGeomSrc_
 
bool trajectoryInEvent_
 
bool useSchool_ = false
 

Detailed Description

template<class T>
class TrackProducerBase< T >

Base Class To Produce Tracks

Author
cerati

Definition at line 46 of file TrackProducerBase.h.

Member Typedef Documentation

template<class T>
using TrackProducerBase< T >::AlgoProductCollection = typename Base::AlgoProductCollection

Definition at line 51 of file TrackProducerBase.h.

template<class T>
using TrackProducerBase< T >::Base = AlgoProductTraits<T>

Definition at line 48 of file TrackProducerBase.h.

template<class T>
using TrackProducerBase< T >::TrackCollection = typename Base::TrackCollection

Definition at line 50 of file TrackProducerBase.h.

template<class T>
using TrackProducerBase< T >::TrackView = typename Base::TrackView

Definition at line 49 of file TrackProducerBase.h.

Constructor & Destructor Documentation

template<class T>
TrackProducerBase< T >::TrackProducerBase ( bool  trajectoryInEvent = false)
inline

Constructor.

Definition at line 55 of file TrackProducerBase.h.

55 : trajectoryInEvent_(trajectoryInEvent) {}
template<class T>
virtual TrackProducerBase< T >::~TrackProducerBase ( )
virtualnoexcept

Destructor.

Member Function Documentation

template<class T>
const edm::ParameterSet& TrackProducerBase< T >::getConf ( ) const
inline

Definition at line 92 of file TrackProducerBase.h.

92 { return conf_; }
edm::ParameterSet conf_

Get needed services from the Event Setup.

template<class T>
virtual void TrackProducerBase< T >::getFromEvt ( edm::Event ,
edm::Handle< TrackCandidateCollection > &  ,
reco::BeamSpot  
)
virtual

Get TrackCandidateCollection from the Event (needed by TrackProducer)

template<class T>
virtual void TrackProducerBase< T >::getFromEvt ( edm::Event ,
edm::Handle< TrackView > &  ,
reco::BeamSpot  
)
virtual

Get TrackCollection from the Event (needed by TrackRefitter)

template<class T>
void TrackProducerBase< T >::initTrackProducerBase ( const edm::ParameterSet conf,
edm::ConsumesCollector  cc,
const edm::EDGetToken src 
)

Call this method in inheriting class' constructor.

template<class T>
virtual void TrackProducerBase< T >::produce ( edm::Event ,
const edm::EventSetup  
)
pure virtual

Method where the procduction take place. To be implemented in concrete classes.

Implemented in TrackProducerWithSCAssociation, DAFTrackProducer, TrackProducer, GsfTrackProducer, GsfTrackRefitter, and TrackRefitter.

template<class T>
void TrackProducerBase< T >::setAlias ( std::string  alias)
inline

set the aliases of produced collections

Definition at line 81 of file TrackProducerBase.h.

81  {
82  alias.erase(alias.size() - 6, alias.size());
83  alias_ = alias;
84  }
template<class T>
void TrackProducerBase< T >::setSecondHitPattern ( Trajectory traj,
T track,
const Propagator prop,
const MeasurementTrackerEvent measTk,
const TrackerTopology ttopo 
)

Member Data Documentation

template<class T>
std::string TrackProducerBase< T >::alias_
protected

Definition at line 99 of file TrackProducerBase.h.

Referenced by TrackProducerBase< reco::GsfTrack >::setAlias().

template<class T>
edm::EDGetTokenT<reco::BeamSpot> TrackProducerBase< T >::bsSrc_
protected

Definition at line 102 of file TrackProducerBase.h.

Definition at line 109 of file TrackProducerBase.h.

template<class T>
edm::ParameterSet TrackProducerBase< T >::conf_
protected

Definition at line 95 of file TrackProducerBase.h.

Referenced by TrackProducerBase< reco::GsfTrack >::getConf().

template<class T>
edm::ESGetToken<TrajectoryFitter, TrajectoryFitter::Record> TrackProducerBase< T >::fitterSrc_
protected

Definition at line 107 of file TrackProducerBase.h.

template<class T>
edm::ESGetToken<MeasurementTracker, CkfComponentsRecord> TrackProducerBase< T >::measTkSrc_
protected

Definition at line 110 of file TrackProducerBase.h.

template<class T>
edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> TrackProducerBase< T >::mfSrc_
protected

Definition at line 106 of file TrackProducerBase.h.

template<class T>
edm::EDGetTokenT<MeasurementTrackerEvent> TrackProducerBase< T >::mteSrc_
protected

Definition at line 103 of file TrackProducerBase.h.

template<class T>
edm::ESGetToken<Propagator, TrackingComponentsRecord> TrackProducerBase< T >::propagatorSrc_
protected

Definition at line 108 of file TrackProducerBase.h.

template<class T>
edm::OrphanHandle<TrackCollection> TrackProducerBase< T >::rTracks_
protected

Definition at line 101 of file TrackProducerBase.h.

template<class T>
edm::ESGetToken<NavigationSchool, NavigationSchoolRecord> TrackProducerBase< T >::schoolSrc_
protected

Definition at line 111 of file TrackProducerBase.h.

template<class T>
edm::EDGetToken TrackProducerBase< T >::src_
protected

Definition at line 96 of file TrackProducerBase.h.

template<class T>
edm::ESHandle<NavigationSchool> TrackProducerBase< T >::theSchool
protected

Definition at line 113 of file TrackProducerBase.h.

template<class T>
edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> TrackProducerBase< T >::trackGeomSrc_
protected

Definition at line 105 of file TrackProducerBase.h.

template<class T>
bool TrackProducerBase< T >::trajectoryInEvent_
protected

Definition at line 100 of file TrackProducerBase.h.

template<class T>
bool TrackProducerBase< T >::useSchool_ = false
protected

Definition at line 114 of file TrackProducerBase.h.