Go to the documentation of this file.
49 produces<reco::ConversionTrackCollection>();
61 std::map<reco::TrackRef, edm::Ref<std::vector<Trajectory> > > tracktrajmap;
62 std::map<reco::GsfTrackRef, edm::Ref<std::vector<Trajectory> > > gsftracktrajmap;
66 if (dynamic_cast<const reco::GsfTrack*>(&trks.
at(0))) {
69 gsftracktrajmap[pair.val] = pair.key;
74 tracktrajmap[pair.val] = pair.key;
81 auto outputTrks = std::make_unique<reco::ConversionTrackCollection>();
95 for (
size_t i = 0;
i < trks.
size(); ++
i) {
116 if (!gsftracktrajmap.empty()) {
123 outputTrks->push_back(convTrack);
void produce(edm::Event &e, const edm::EventSetup &c) override
void setIsArbitratedMerged(bool b)
RefToBase< value_type > refAt(size_type i) const
void setIsArbitratedEcalSeeded(bool b)
edm::EDGetTokenT< TrajTrackAssociationCollection > kfTrajectories
void setMagnField(const MagneticField *magnField)
edm::EDGetTokenT< edm::View< reco::Track > > genericTracks
bool setArbitratedMergedEcalGeneral
void setTrajRef(edm::Ref< std::vector< Trajectory > > tr)
value_type const * get() const
bool setArbitratedEcalSeeded
const_reference at(size_type pos) const
bool filterOnConvTrackHyp
XYZVectorD XYZVector
spatial vector with cartesian internal representation
edm::EDGetTokenT< TrajGsfTrackAssociationCollection > gsfTrajectories
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken
bool getData(T &iHolder) const
void setIsTrackerOnly(bool b)
setArbitratedMergedEcalGeneral
~ConversionTrackProducer() override
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::BeamSpot > beamSpotInputTag
void setIsGsfTrackOpen(bool b)
ConversionTrackProducer(const edm::ParameterSet &conf)
void setIsArbitratedMergedEcalGeneral(bool b)
IdealHelixParameters ConvTrackPreSelector
bool isTangentPointDistanceLessThan(float rmax, const reco::Track *track, const math::XYZVector &refPoint)