87 trackAssociatorPS_ (iConfig.getParameter<edm::
ParameterSet>(
"TrackAssociatorParameters")),
88 minTrackPt_ (iConfig.getParameter<double>(
"MinTrackPt"))
97 produces<DetIdCollection>();
120 auto interestingDetIdCollection = std::make_unique<DetIdCollection>();
127 for(reco::TrackCollection::const_iterator tkItr =
tracks->begin(); tkItr !=
tracks->end(); ++tkItr)
138 if(centerId.
rawId()==0)
143 const std::vector<DetId>& ids = topology->
getWindow(centerId, 5, 5);
144 for(std::vector<DetId>::const_iterator idItr = ids.begin(); idItr != ids.end(); ++idItr)
146 if(
std::find(interestingDetIdCollection->begin(), interestingDetIdCollection->end(), *idItr)
147 == interestingDetIdCollection->end())
148 interestingDetIdCollection->push_back(*idItr);
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
~InterestingTrackEcalDetIdProducer()
edm::ParameterSet trackAssociatorPS_
CaloTopology const * topology(0)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
InterestingTrackEcalDetIdProducer(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
static FreeTrajectoryState getFreeTrajectoryState(const edm::EventSetup &, const reco::Track &)
get FreeTrajectoryState from different track representations
TrackDetectorAssociator trackAssociator_
void useDefaultPropagator()
use the default propagator
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
DetId findMaxDeposition(EnergyType)
Find detector elements with highest energy deposition.
edm::EDGetTokenT< reco::TrackCollection > trackCollectionToken_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
uint32_t rawId() const
get the raw id
TrackAssociatorParameters trackAssociatorParameters_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void beginRun(edm::Run const &, const edm::EventSetup &) override
virtual void produce(edm::Event &, const edm::EventSetup &) override
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
const CaloTopology * caloTopology_
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
edm::InputTag trackCollection_