|
|
template<typename T1>
class HLTRechitInRegionsProducer< T1 >
Definition at line 72 of file HLTRechitInRegionsProducer.cc.
◆ T1Collection
◆ T1iterator
◆ HLTRechitInRegionsProducer()
◆ ~HLTRechitInRegionsProducer()
◆ fillDescriptions()
Definition at line 142 of file HLTRechitInRegionsProducer.cc.
144 std::vector<std::string> productTags;
145 productTags.push_back(
"EcalRegionalRecHitsEB");
146 productTags.push_back(
"EcalRegionalRecHitsEE");
147 desc.add<std::vector<std::string>>(
"productLabels", productTags);
152 desc.add<std::vector<edm::InputTag>>(
"ecalhitLabels",
inputTags);
155 desc.add<
bool>(
"useUncalib",
true);
156 desc.add<
bool>(
"doIsolated",
true);
157 desc.add<
double>(
"l1LowerThr", 5.0);
158 desc.add<
double>(
"l1UpperThr", 999.);
159 desc.add<
double>(
"l1LowerThrIgnoreIsolation", 0.0);
160 desc.add<
double>(
"regionEtaMargin", 0.14);
161 desc.add<
double>(
"regionPhiMargin", 0.4);
References edm::ConfigurationDescriptions::add(), defaultModuleLabel(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and HLTMuonOfflineAnalyzer_cfi::inputTags.
◆ getEtaPhiRegions() [1/2]
◆ getEtaPhiRegions() [2/2]
◆ produce()
Definition at line 166 of file HLTRechitInRegionsProducer.cc.
170 std::unique_ptr<const CaloSubdetectorTopology> topology;
181 std::vector<RectangularEtaPhiRegion>
regions;
191 auto uhits = std::make_unique<EcalUncalibratedRecHitCollection>();
195 edm::LogError(
"ProductNotFound") <<
"could not get a handle on the EcalRecHitCollection! ("
201 if (!uncalibRecHits->
empty()) {
202 if ((*uncalibRecHits)[0].id().subdetId() ==
EcalBarrel) {
204 topology = std::make_unique<EcalBarrelTopology>(
geometry);
205 }
else if ((*uncalibRecHits)[0].
id().subdetId() ==
EcalEndcap) {
207 topology = std::make_unique<EcalEndcapTopology>(
geometry);
208 }
else if ((*uncalibRecHits)[0].
id().subdetId() ==
EcalPreshower) {
210 topology = std::make_unique<EcalPreshowerTopology>();
212 throw(std::runtime_error(
"\n\nProducer encountered invalied ecalhitcollection type.\n\n"));
217 for (it = uncalibRecHits->
begin(); it != uncalibRecHits->
end(); it++) {
218 auto this_cell = geometry_p->
getGeometry(it->id());
220 std::vector<RectangularEtaPhiRegion>::const_iterator
region;
222 if (
region->inRegion(this_cell->etaPos(), this_cell->phiPos())) {
223 uhits->push_back(*it);
236 auto hits = std::make_unique<EcalRecHitCollection>();
240 edm::LogError(
"ProductNotFound") <<
"could not get a handle on the EcalRecHitCollection! ("
249 topology = std::make_unique<EcalBarrelTopology>(
geometry);
252 topology = std::make_unique<EcalEndcapTopology>(
geometry);
255 topology = std::make_unique<EcalPreshowerTopology>();
257 throw(std::runtime_error(
"\n\nProducer encountered invalied ecalhitcollection type.\n\n"));
262 auto this_cell = geometry_p->
getGeometry(it->id());
264 std::vector<RectangularEtaPhiRegion>::const_iterator
region;
266 if (
region->inRegion(this_cell->etaPos(), this_cell->phiPos())) {
267 hits->push_back(*it);
References edm::SortedCollection< T, SORT >::begin(), DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, edm::SortedCollection< T, SORT >::empty(), edm::SortedCollection< T, SORT >::end(), edm::Event::get(), edm::Event::getByToken(), edm::EventSetup::getData(), CaloSubdetectorGeometry::getGeometry(), hfClusterShapes_cfi::hits, mps_fire::i, sistrip::SpyUtilities::isValid(), eostools::move(), or, edm::Handle< T >::product(), HLT_FULL_cff::productLabels, edm::Event::put(), FastTrackerRecHitMaskProducer_cfi::recHits, and HLT_FULL_cff::region.
◆ caloGeometryToken_
◆ doIsolated_
◆ hitLabels
◆ hitTokens
◆ l1CaloGeometryToken_
◆ l1LowerThr_
◆ l1LowerThrIgnoreIsolation_
◆ l1TokenIsolated_
◆ l1TokenNonIsolated_
◆ l1UpperThr_
◆ productLabels
◆ regionEtaMargin_
◆ regionPhiMargin_
◆ uncalibHitTokens
◆ useUncalib_
double emJetPhiBinHighEdge(unsigned int phiIndex) const
const double regionPhiMargin_
std::vector< T >::const_iterator const_iterator
T const * product() const
std::vector< edm::EDGetTokenT< EcalRecHitCollection > > hitTokens
double etaBinHighEdge(unsigned int etaIndex, bool central=true) const
const edm::EDGetTokenT< T1Collection > l1TokenNonIsolated_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const_iterator begin() const
inputTags
All input tags are specified in this pset for convenience.
const double regionEtaMargin_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
const std::vector< edm::InputTag > hitLabels
std::string defaultModuleLabel()
const_iterator end() const
const double l1LowerThrIgnoreIsolation_
const L1GctEmCand * gctEmCand() const
std::vector< edm::EDGetTokenT< EcalUncalibratedRecHitCollection > > uncalibHitTokens
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
Log< level::Error, false > LogError
bool getData(T &iHolder) const
const edm::EDGetTokenT< T1Collection > l1TokenIsolated_
double emJetPhiBinLowEdge(unsigned int phiIndex) const
double et() const final
transverse energy
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
T getParameter(std::string const &) const
const std::vector< std::string > productLabels
unsigned etaIndex() const override
get eta index -6 to -0, +0 to +6 (bit 3 is sign, 1 for -ve Z, 0 for +ve Z)
void getEtaPhiRegions(std::vector< RectangularEtaPhiRegion > *, T1Collection, const L1CaloGeometry &, bool)
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
bool get(ProductID const &oid, Handle< PROD > &result) const
unsigned phiIndex() const override
get phi index (0-17)
double etaBinLowEdge(unsigned int etaIndex, bool central=true) const
const edm::ESGetToken< L1CaloGeometry, L1CaloGeometryRecord > l1CaloGeometryToken_