97 auto interestingDetIdCollection = std::make_unique<DetIdCollection>();
106 for (reco::TrackCollection::const_iterator tkItr =
tracks->begin(); tkItr !=
tracks->end(); ++tkItr) {
118 if (centerId.
rawId() == 0)
123 const std::vector<DetId>& ids = topology->
getWindow(centerId, 5, 5);
124 for (std::vector<DetId>::const_iterator idItr = ids.begin(); idItr != ids.end(); ++idItr) {
125 if (
std::find(interestingDetIdCollection->begin(), interestingDetIdCollection->end(), *idItr) ==
126 interestingDetIdCollection->end())
127 interestingDetIdCollection->push_back(*idItr);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
TrackDetectorAssociator trackAssociator_
constexpr uint32_t rawId() const
get the raw id
DetId findMaxDeposition(EnergyType)
Find detector elements with highest energy deposition.
auto const & tracks
cannot be loose
edm::EDGetTokenT< reco::TrackCollection > trackCollectionToken_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool getData(T &iHolder) const
TrackAssociatorParameters trackAssociatorParameters_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > bFieldToken
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopologyToken_
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
static FreeTrajectoryState getFreeTrajectoryState(const MagneticField *, const reco::Track &)
get FreeTrajectoryState from different track representations
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)