Go to the documentation of this file. 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;
edm::EDGetTokenT< EESrFlagCollection > srFlagToken_
void beginEvent(const edm::Event &event, const edm::EventSetup &setup)
std::vector< EcalScDetId > getEcalScDetId(int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) const
void init(const edm::EventSetup &es) override
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
PFEcalEndcapRecHitCreator(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int towerId() const
get the tower id
edm::Handle< EESrFlagCollection > srFlagHandle_
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
void importRecHits(std::unique_ptr< reco::PFRecHitCollection > &out, std::unique_ptr< reco::PFRecHitCollection > &cleaned, const edm::Event &iEvent, const edm::EventSetup &iSetup) override
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * elecMap_
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.
bool getData(T &iHolder) const
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > mappingToken_
constexpr uint32_t rawId() const
get the raw id
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geomToken_
static const int SRF_FULL
edm::EDGetTokenT< EcalRecHitCollection > recHitToken_
T getParameter(std::string const &) const
bool isHighInterest(const EEDetId &detid)
EcalScDetId readOutUnitOf(const EEDetId &detid) const
const EcalTrigTowerConstituentsMap * eTTmap_