27 #include "Math/GenVector/VectorUtil.h"
28 #include "Math/GenVector/PxPyPzE4D.h"
39 edm::LogVerbatim(
"HITRegionalPixelSeedGenerator") <<
"Enter the HITRegionalPixelSeedGenerator";
59 if (usetracks_ || useIsoTracks_ || fixedReg_ || usejets_)
71 std::vector<std::unique_ptr<TrackingRegion> >
result;
86 reco::VertexCollection::const_iterator ci = vertCollection.begin();
88 if (!vertCollection.empty()) {
98 reco::TrackCollection::const_iterator itr = tracks->begin();
99 for (; itr != tracks->end(); itr++) {
100 GlobalVector ptrVec((itr)->px(), (itr)->py(), (itr)->pz());
101 globalVector = ptrVec;
103 result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(globalVector,
119 std::vector<edm::Ref<reco::IsolatedPixelTrackCandidateCollection> > isoPixTrackRefs;
126 reco::VertexCollection::const_iterator ci = vertCollection.begin();
128 if (!vertCollection.empty()) {
135 if (isoPixTrackRefs.empty())
138 for (uint32_t
p = 0;
p < isoPixTrackRefs.size();
p++) {
140 (isoPixTrackRefs[
p]->
track())->py(),
141 (isoPixTrackRefs[
p]->
track())->pz());
142 globalVector = ptrVec;
144 result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(globalVector,
163 reco::VertexCollection::const_iterator ci = vertCollection.begin();
164 if (!vertCollection.empty()) {
174 for (l1extra::L1JetParticleCollection::const_iterator iJet = jets->begin(); iJet != jets->end(); iJet++) {
175 GlobalVector jetVector(iJet->p4().x(), iJet->p4().y(), iJet->p4().z());
178 result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(
191 if (!vertCollection.empty()) {
198 result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(
Log< level::Info, true > LogVerbatim
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::VertexCollection > token_vertex
edm::EDGetTokenT< l1extra::L1JetParticleCollection > token_l1jet
Sin< T >::type sin(const T &t)
Global3DPoint GlobalPoint
std::vector< Track > TrackCollection
collection of Tracks
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > token_isoTrack
std::vector< Vertex > VertexCollection
collection of Vertex objects
auto const & tracks
cannot be loose
Exp< T >::type exp(const T &t)
bool getData(T &iHolder) const
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > token_msmaker
HITRegionalPixelSeedGenerator(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
Cos< T >::type cos(const T &t)
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &e, const edm::EventSetup &es) const override
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > token_bfield
~HITRegionalPixelSeedGenerator() override
T const * product() const
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::TrackCollection > token_trks
#define DEFINE_EDM_PLUGIN(factory, type, name)