1 #ifndef RecoAlgos_GsfElectronSelector_h
2 #define RecoAlgos_GsfElectronSelector_h
40 TrackExtraRefProd rTrackExtras = evt.template getRefBeforePut<TrackExtraCollection>();
42 GsfTrackRefProd rTracks = evt.template getRefBeforePut<GsfTrackCollection>();
45 SuperClusterRefProd rSuperClusters = evt.template getRefBeforePut<SuperClusterCollection>();
46 size_t idx = 0, tidx = 0, hidx = 0;
47 for(
I i = begin;
i !=
end; ++
i ) {
65 unsigned int nHitsToAdd = 0;
67 selHits_->push_back( (*hit)->clone() );
70 tx.
setHits( rHits, hidx, nHitsToAdd );
99 std::unique_ptr<TrackingRecHitCollection>
selHits_;
106 produces<reco::GsfElectronCollection>().setBranchAlias( alias +
"GsfElectrons" );
107 produces<reco::GsfElectronCoreCollection>().setBranchAlias( alias +
"GsfElectronCores" );
108 produces<reco::SuperClusterCollection>().setBranchAlias( alias +
"SuperClusters" );
109 produces<reco::GsfTrackCollection>().setBranchAlias( alias +
"GsfTracks" );
110 produces<reco::GsfTrackExtraCollection>().setBranchAlias( alias +
"GsfTrackExtras" );
111 produces<reco::TrackExtraCollection>().setBranchAlias( alias +
"TrackExtras" );
112 produces<TrackingRecHitCollection>().setBranchAlias( alias +
"RecHits" );
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
GsfElectronCollectionStoreManager type
T getParameter(std::string const &) const
edm::Ref< GsfElectronCoreCollection > GsfElectronCoreRef
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool isNonnull() const
Checks for non-null.
reco::GsfElectronCollection collection
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
const TrackExtraRef & extra() const
reference to "extra" object
void setGsfExtra(const GsfTrackExtraRef &ref)
set reference to GSF "extra" object
std::vector< GsfTrackExtra > GsfTrackExtraCollection
collection of GsfTrackExtra objects
bool innerOk() const
return true if the innermost hit is valid
std::unique_ptr< reco::GsfTrackCollection > selTracks_
std::unique_ptr< reco::GsfElectronCollection > selElectrons_
edm::Ref< TrackExtraCollection > TrackExtraRef
persistent reference to a TrackExtra
edm::Ptr< CaloCluster > CaloClusterPtr
edm::OrphanHandle< reco::GsfElectronCollection > put(edm::Event &evt)
std::unique_ptr< TrackingRecHitCollection > selHits_
const math::XYZPoint & outerPosition() const
position of the outermost hit
void cloneAndStore(const I &begin, const I &end, edm::Event &evt)
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
const math::XYZPoint & innerPosition() const
position of the innermost hit
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
std::vector< GsfElectronCore > GsfElectronCoreCollection
std::vector< GsfTrack > GsfTrackCollection
collection of GsfTracks
std::unique_ptr< reco::TrackExtraCollection > selTrackExtras_
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
const std::complex< double > I
edm::RefVector< GsfTrackCollection > GsfTrackRefVector
vector of reference to GsfTrack in the same collection
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
GsfElectronCollectionStoreManager(const edm::Handle< reco::GsfElectronCollection > &)
std::unique_ptr< reco::SuperClusterCollection > selSuperClusters_
edm::Ref< GsfTrackExtraCollection > GsfTrackExtraRef
persistent reference to a GsfTrackExtra
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
void setExtra(const TrackExtraRef &ref)
set reference to "extra" object
const GsfTrackExtraRef & gsfExtra() const
reference to "extra" object
const math::XYZVector & outerMomentum() const
momentum vector at the outermost hit position
bool outerOk() const
return true if the outermost hit is valid
const PropagationDirection & seedDirection() const
direction of how the hits were sorted in the original seed
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
std::unique_ptr< reco::GsfTrackExtraCollection > selGsfTrackExtras_
virtual GsfElectronCoreRef core() const
std::unique_ptr< reco::GsfElectronCoreCollection > selElectronCores_
GsfElectronSelectorBase(const edm::ParameterSet &cfg)
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
GsfElectronSelectorBase base
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.