58 std::vector<edm::EDGetTokenT<DetIdCollection> >
toks_did_;
72 output.reserve(input->size());
73 typename CollectionType::const_iterator
begin=input->begin();
74 typename CollectionType::const_iterator
end=input->end();
75 typename CollectionType::const_iterator
hit=
begin;
77 for (;hit!=
end;++hit){
79 const DetId &
id = hit->detid();
80 const uint32_t & recHitFlag = hit->flags();
83 const uint32_t & dbStatusFlag =
theHcalChStatus->getValues(
id)->getValue();
86 if (severityLevel>severityThreshold){
87 output.push_back(*hit);
91 output.push_back(*hit);
121 const unsigned nLabels = interestingDetIdCollections.size();
122 for (
unsigned i=0;
i != nLabels;
i++ )
123 toks_did_.push_back(consumes<DetIdCollection>(interestingDetIdCollections[
i]));
128 produces<HFRecHitCollection>(hfTag.
label());
129 produces<HORecHitCollection>(hoTag.
label());
171 toBeKept.insert(detId->begin(),detId->end());
174 auto hbhe_out = std::make_unique<HBHERecHitCollection>();
175 skim(hbhe,*hbhe_out);
178 auto hf_out = std::make_unique<HFRecHitCollection>();
182 auto ho_out = std::make_unique<HORecHitCollection>();
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< edm::InputTag > interestingDetIdCollections
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::set< DetId > toBeKept
#define DEFINE_FWK_MODULE(type)
edm::ESHandle< HcalChannelQuality > theHcalChStatus
edm::EDGetTokenT< HORecHitCollection > tok_ho_
std::vector< edm::EDGetTokenT< DetIdCollection > > toks_did_
static std::string const input
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
void skim(const edm::Handle< CollectionType > &input, CollectionType &output, int severityThreshold=0) const
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
edm::ESHandle< HcalSeverityLevelComputer > theHcalSevLvlComputer
HcalHitSelection(const edm::ParameterSet &)