94 : inputLabel_(conf.getParameter<edm::
InputTag>(
"digiLabel")),
95 forceSOI_(conf.getParameter<int>(
"forceSOI")),
96 soiShift_(conf.getParameter<int>(
"soiShift")),
97 dropZSmarkedPassed_(conf.getParameter<bool>(
"dropZSmarkedPassed")),
98 tsFromDB_(conf.getParameter<bool>(
"tsFromDB")),
99 reco_(conf.getParameter<bool>(
"sumAllTimeSlices")) {
104 produces<HFPreRecHitCollection>();
107 htopoToken_ = esConsumes<HcalTopology, HcalRecNumberingRecord>();
108 propertiesToken_ = esConsumes<HcalChannelPropertiesVec, HcalChannelPropertiesRecord>();
121 unsigned pmtCount = 0;
127 for (
unsigned i = 0;
i < sz; ++
i) {
136 for (
unsigned i = 1;
i < sz; ++
i) {
138 if (baseId != previousBaseId) {
139 previousBaseId = baseId;
161 const unsigned inputSize = digi->size();
213 std::unique_ptr<HFPreRecHitCollection>
out(std::make_unique<HFPreRecHitCollection>());
218 out->reserve(pmtCount);
222 for (
unsigned i = 1;
i <= sz; ++
i) {
223 bool appendData =
i == sz;
226 if (baseId == previousBaseId)
230 previousBaseId = baseId;
260 assert(out->size() == pmtCount);
272 desc.
add<
int>(
"forceSOI", -1);
273 desc.
add<
int>(
"soiShift", 0);
274 desc.
add<
bool>(
"dropZSmarkedPassed");
275 desc.
add<
bool>(
"tsFromDB");
276 desc.
add<
bool>(
"sumAllTimeSlices");
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< HFQIE10Info > qie10Infos_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
uint16_t *__restrict__ id
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
constexpr edm::DataFrame::id_type id() const
#define DEFINE_FWK_MODULE(type)
const HcalQIEShape * shape
const HcalRecoParam * paramTs
constexpr uint32_t rawId() const
get the raw id
std::vector< QIE10InfoWithId > sortedQIE10Infos_
bool getData(T &iHolder) const
U second(std::pair< T, U > const &p)
edm::ESGetToken< HcalChannelPropertiesVec, HcalChannelPropertiesRecord > propertiesToken_
void beginRun(const edm::Run &, const edm::EventSetup &) override
void addDefault(ParameterSetDescription const &psetDescription)
constexpr bool zsMarkAndPass() const
std::vector< HcalChannelProperties > HcalChannelPropertiesVec
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::pair< PmtAnodeId, const HFQIE10Info * > QIE10InfoWithId
void fillInfos(const edm::Event &e, const edm::EventSetup &eventSetup)
constexpr int presamples() const
for backward compatibility
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
edm::InputTag inputLabel_
edm::EDGetTokenT< QIE10DigiCollection > tok_hfQIE10_
~HFPreReconstructor() override
constexpr HcalDetId id() const
HFQIE10Info reconstruct(const QIE10DataFrame &digi, int tsToUse, const HcalCoder &coder, const HcalChannelProperties &prop) const
constexpr unsigned int firstSample() const
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > htopoToken_
HFPreReconstructor(const edm::ParameterSet &)
std::pair< HcalDetId, int > PmtAnodeId
const HcalQIECoder * channelCoder