1 #ifndef RecoParticleFlow_PFClusterProducer_PFEcalEndcapRecHitCreator_h 2 #define RecoParticleFlow_PFClusterProducer_PFEcalEndcapRecHitCreator_h 39 if (not srF.label().empty())
44 std::unique_ptr<reco::PFRecHitCollection>& cleaned,
65 for (
const auto& erh : *recHitHandle) {
66 const DetId& detid = erh.detid();
67 auto energy = erh.energy();
68 auto time = erh.time();
72 std::shared_ptr<const CaloCellGeometry> thisCell = ecalGeo->
getGeometry(detid);
76 throw cms::Exception(
"PFEcalEndcapRecHitCreator") <<
"detid " << detid.
rawId() <<
"not found in geometry";
81 auto& rh =
out->back();
83 bool rcleaned =
false;
88 if (!qtest->test(rh, erh, rcleaned,
hi)) {
119 int iDCC = EcalElecId.
dccId();
120 int iDccChan = EcalElecId.
towerId();
121 const bool ignoreSingle =
true;
T getParameter(std::string const &) const
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geomToken_
uint32_t cc[maxCellsPerHit]
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
edm::EDGetTokenT< EcalRecHitCollection > recHitToken_
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
bool isHighInterest(const EEDetId &detid)
void init(const edm::EventSetup &es) override
int towerId() const
get the tower id
static const int SRF_FULL
void beginEvent(const edm::Event &event, const edm::EventSetup &setup)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
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.
EcalScDetId readOutUnitOf(const EEDetId &detid) const
void importRecHits(std::unique_ptr< reco::PFRecHitCollection > &out, std::unique_ptr< reco::PFRecHitCollection > &cleaned, const edm::Event &iEvent, const edm::EventSetup &iSetup) override
edm::Handle< EESrFlagCollection > srFlagHandle_
constexpr uint32_t rawId() const
get the raw id
edm::EDGetTokenT< EESrFlagCollection > srFlagToken_
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > mappingToken_
std::vector< EcalScDetId > getEcalScDetId(int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) const
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
PFEcalEndcapRecHitCreator(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
const EcalTrigTowerConstituentsMap * eTTmap_
const EcalElectronicsMapping * elecMap_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly