10 template<
typename FECODEC,
typename DATA>
23 HGCalEESensitive_(conf.getParameter<
std::
string>(
"HGCalEESensitive_tag")),
24 HGCalHESiliconSensitive_(conf.getParameter<
std::
string>(
"HGCalHESiliconSensitive_tag")),
27 typedef std::unique_ptr<HGCalTriggerGeometryBase>
ReturnType;
41 for(
const auto& digi :
coll )
46 digi.decode(codec_, data);
47 for(
const auto& triggercell : data.payload)
49 if(triggercell.hwPt()>0)
54 int cellThickness = 0;
56 if( subdet ==
HGCEE ){
57 cellThickness = (hgceeTopoHandle_)->dddConstants().waferTypeL((
unsigned int)detid.wafer() );
58 }
else if( subdet ==
HGCHEF ){
59 cellThickness = (hgchefTopoHandle_)->dddConstants().waferTypeL((
unsigned int)detid.wafer() );
60 }
else if( subdet ==
HGCHEB ){
61 edm::LogWarning(
"DataNotFound") <<
"ATTENTION: the BH trgCells are not yet implemented !! ";
64 calibration_.calibrateInGeV(calibratedtriggercell, cellThickness);
65 cluster_product_->push_back(0,calibratedtriggercell);
76 virtual void reset() override final
98 "SingleCellClusterAlgoBestChoice");
102 "SingleCellClusterAlgoThreshold");
BXVector< HGCalTriggerCell > HGCalTriggerCellBxCollection
virtual void run(const l1t::HGCFETriggerDigiCollection &coll, const edm::EventSetup &es, edm::Event &evt) override final
ParameterSet const & getParameterSet(ParameterSetID const &id)
std::string HGCalHESiliconSensitive_
SingleCellClusterAlgo(const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
SingleCellClusterAlgo< HGCalTriggerCellThresholdCodec, HGCalTriggerCellThresholdCodec::data_type > SingleCellClusterAlgoThreshold
virtual void reset() override final
virtual void setProduces(edm::stream::EDProducer<> &prod) const override final
edm::ESHandle< HGCalTopology > hgchefTopoHandle_
virtual void putInEvent(edm::Event &evt) override final
std::unique_ptr< l1t::HGCalTriggerCellBxCollection > cluster_product_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::ESHandle< HGCalTopology > hgceeTopoHandle_
HGCalTriggerCellCalibration calibration_
SingleCellClusterAlgo< HGCalTriggerCellBestChoiceCodec, HGCalTriggerCellBestChoiceCodec::data_type > SingleCellClusterAlgoBestChoice
std::unique_ptr< HGCalTriggerGeometryBase > ReturnType
char data[epos_bytes_allocation]
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::string HGCalEESensitive_