CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
SingleCellClusterAlgo< FECODEC, DATA > Class Template Reference
Inheritance diagram for SingleCellClusterAlgo< FECODEC, DATA >:
HGCalTriggerBackend::Algorithm< FECODEC > HGCalTriggerBackendAlgorithmBase

Public Types

typedef std::unique_ptr< HGCalTriggerGeometryBaseReturnType
 

Public Member Functions

virtual void putInEvent (edm::Event &evt) override final
 
virtual void reset () override final
 
virtual void run (const l1t::HGCFETriggerDigiCollection &coll, const edm::EventSetup &es, edm::Event &evt) override final
 
virtual void setProduces (edm::stream::EDProducer<> &prod) const override final
 
 SingleCellClusterAlgo (const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
 
- Public Member Functions inherited from HGCalTriggerBackend::Algorithm< FECODEC >
 Algorithm (const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
 
virtual void setGeometry (const HGCalTriggerGeometryBase *const geom) override final
 
- Public Member Functions inherited from HGCalTriggerBackendAlgorithmBase
 HGCalTriggerBackendAlgorithmBase (const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
 
const std::string & name () const
 
virtual ~HGCalTriggerBackendAlgorithmBase ()
 

Private Attributes

HGCalTriggerCellCalibration calibration_
 
std::unique_ptr< l1t::HGCalTriggerCellBxCollectioncluster_product_
 
std::string HGCalEESensitive_
 
std::string HGCalHESiliconSensitive_
 
edm::ESHandle< HGCalTopologyhgceeTopoHandle_
 
edm::ESHandle< HGCalTopologyhgchefTopoHandle_
 

Additional Inherited Members

- Protected Attributes inherited from HGCalTriggerBackend::Algorithm< FECODEC >
FECODEC codec_
 
- Protected Attributes inherited from HGCalTriggerBackendAlgorithmBase
const HGCalTriggerGeometryBasegeometry_
 

Detailed Description

template<typename FECODEC, typename DATA>
class SingleCellClusterAlgo< FECODEC, DATA >

Definition at line 11 of file SingleCellClusterAlgo.cc.

Member Typedef Documentation

template<typename FECODEC , typename DATA >
typedef std::unique_ptr<HGCalTriggerGeometryBase> SingleCellClusterAlgo< FECODEC, DATA >::ReturnType

Definition at line 27 of file SingleCellClusterAlgo.cc.

Constructor & Destructor Documentation

template<typename FECODEC , typename DATA >
SingleCellClusterAlgo< FECODEC, DATA >::SingleCellClusterAlgo ( const edm::ParameterSet conf,
edm::ConsumesCollector cc 
)
inline

Definition at line 20 of file SingleCellClusterAlgo.cc.

20  :
21  Algorithm<FECODEC>(conf,cc),
23  HGCalEESensitive_(conf.getParameter<std::string>("HGCalEESensitive_tag")),
24  HGCalHESiliconSensitive_(conf.getParameter<std::string>("HGCalHESiliconSensitive_tag")),
25  calibration_(conf.getParameterSet("calib_parameters")){}
std::unique_ptr< l1t::HGCalTriggerCellBxCollection > cluster_product_
HGCalTriggerCellCalibration calibration_

Member Function Documentation

template<typename FECODEC , typename DATA >
virtual void SingleCellClusterAlgo< FECODEC, DATA >::putInEvent ( edm::Event evt)
inlinefinaloverridevirtual

Implements HGCalTriggerBackendAlgorithmBase.

Definition at line 71 of file SingleCellClusterAlgo.cc.

References eostools::move(), and dataset::name.

72  {
74  }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:122
std::unique_ptr< l1t::HGCalTriggerCellBxCollection > cluster_product_
def move(src, dest)
Definition: eostools.py:510
template<typename FECODEC , typename DATA >
virtual void SingleCellClusterAlgo< FECODEC, DATA >::reset ( void  )
inlinefinaloverridevirtual

Implements HGCalTriggerBackendAlgorithmBase.

Definition at line 76 of file SingleCellClusterAlgo.cc.

77  {
79  }
std::unique_ptr< l1t::HGCalTriggerCellBxCollection > cluster_product_
template<typename FECODEC , typename DATA >
virtual void SingleCellClusterAlgo< FECODEC, DATA >::run ( const l1t::HGCFETriggerDigiCollection coll,
const edm::EventSetup es,
edm::Event evt 
)
inlinefinaloverridevirtual

Implements HGCalTriggerBackendAlgorithmBase.

Definition at line 34 of file SingleCellClusterAlgo.cc.

References coll, cscdqm::DATA, data, HGCEE, HGCHEB, HGCHEF, and DetId::subdetId().

37  {
40 
41  for( const auto& digi : coll )
42  {
43  HGCalDetId module_id(digi.id());
44  DATA data;
45  data.reset();
46  digi.decode(codec_, data);
47  for(const auto& triggercell : data.payload)
48  {
49  if(triggercell.hwPt()>0)
50  {
51 
52  HGCalDetId detid(triggercell.detId());
53  int subdet = detid.subdetId();
54  int cellThickness = 0;
55 
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 !! ";
62  }
63  l1t::HGCalTriggerCell calibratedtriggercell(triggercell);
64  calibration_.calibrateInGeV(calibratedtriggercell, cellThickness);
65  cluster_product_->push_back(0,calibratedtriggercell);
66  }
67  }
68  }
69  }
void calibrateInGeV(l1t::HGCalTriggerCell &, int cellThickness)
edm::ESHandle< HGCalTopology > hgchefTopoHandle_
std::unique_ptr< l1t::HGCalTriggerCellBxCollection > cluster_product_
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
edm::ESHandle< HGCalTopology > hgceeTopoHandle_
HGCalTriggerCellCalibration calibration_
const T & get() const
Definition: EventSetup.h:56
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
template<typename FECODEC , typename DATA >
virtual void SingleCellClusterAlgo< FECODEC, DATA >::setProduces ( edm::stream::EDProducer<> &  prod) const
inlinefinaloverridevirtual

Implements HGCalTriggerBackendAlgorithmBase.

Definition at line 29 of file SingleCellClusterAlgo.cc.

References dataset::name, and parseEventContent::prod.

30  {
31  prod.produces<l1t::HGCalTriggerCellBxCollection>(name());
32  }

Member Data Documentation

template<typename FECODEC , typename DATA >
HGCalTriggerCellCalibration SingleCellClusterAlgo< FECODEC, DATA >::calibration_
private

Definition at line 89 of file SingleCellClusterAlgo.cc.

template<typename FECODEC , typename DATA >
std::unique_ptr<l1t::HGCalTriggerCellBxCollection> SingleCellClusterAlgo< FECODEC, DATA >::cluster_product_
private

Definition at line 83 of file SingleCellClusterAlgo.cc.

template<typename FECODEC , typename DATA >
std::string SingleCellClusterAlgo< FECODEC, DATA >::HGCalEESensitive_
private

Definition at line 84 of file SingleCellClusterAlgo.cc.

template<typename FECODEC , typename DATA >
std::string SingleCellClusterAlgo< FECODEC, DATA >::HGCalHESiliconSensitive_
private

Definition at line 85 of file SingleCellClusterAlgo.cc.

template<typename FECODEC , typename DATA >
edm::ESHandle<HGCalTopology> SingleCellClusterAlgo< FECODEC, DATA >::hgceeTopoHandle_
private

Definition at line 87 of file SingleCellClusterAlgo.cc.

template<typename FECODEC , typename DATA >
edm::ESHandle<HGCalTopology> SingleCellClusterAlgo< FECODEC, DATA >::hgchefTopoHandle_
private

Definition at line 88 of file SingleCellClusterAlgo.cc.