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)) {
98 cleaned->push_back(
std::move(out->back()));
119 int iDCC = EcalElecId.
dccId();
120 int iDccChan = EcalElecId.
towerId();
121 const bool ignoreSingle =
true;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geomToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
edm::EDGetTokenT< EcalRecHitCollection > recHitToken_
constexpr uint32_t rawId() const
get the raw id
int towerId() const
get the tower id
bool isHighInterest(const EEDetId &detid)
void init(const edm::EventSetup &es) override
bool getData(T &iHolder) const
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
static const int SRF_FULL
void beginEvent(const edm::Event &event, const edm::EventSetup &setup)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::vector< EcalScDetId > getEcalScDetId(int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) 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_
EcalScDetId readOutUnitOf(const EEDetId &detid) 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.
T getParameter(std::string const &) const
edm::EDGetTokenT< EESrFlagCollection > srFlagToken_
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > mappingToken_
PFEcalEndcapRecHitCreator(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
const EcalTrigTowerConstituentsMap * eTTmap_
const EcalElectronicsMapping * elecMap_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const