CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
HGCalConcentratorSelectionImpl Class Reference

#include <HGCalConcentratorSelectionImpl.h>

Public Member Functions

uint32_t adcnBitsBH () const
 
double adcsaturationBH () const
 
void bestChoiceSelectImpl (const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput)
 
 HGCalConcentratorSelectionImpl (const edm::ParameterSet &conf)
 
double linLSB () const
 
size_t nCellsInModule () const
 
size_t nData () const
 
int TCThreshold_ADC () const
 
double TCThreshold_fC () const
 
int TCThresholdBH_ADC () const
 
double TCThresholdBH_MIP () const
 
void thresholdSelectImpl (const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput)
 

Private Attributes

double adcLSBBH_
 
uint32_t adcnBitsBH_
 
double adcsaturationBH_
 
double linLSB_
 
size_t nCellsInModule_
 
size_t nData_
 
int TCThreshold_ADC_
 
double TCThreshold_fC_
 
int TCThresholdBH_ADC_
 
double TCThresholdBH_MIP_
 
double triggercell_threshold_scintillator_
 
double triggercell_threshold_silicon_
 
HGCalTriggerTools triggerTools_
 

Detailed Description

Definition at line 15 of file HGCalConcentratorSelectionImpl.h.

Constructor & Destructor Documentation

HGCalConcentratorSelectionImpl::HGCalConcentratorSelectionImpl ( const edm::ParameterSet conf)

Definition at line 4 of file HGCalConcentratorSelectionImpl.cc.

References adcLSBBH_, adcnBitsBH_, adcsaturationBH_, createfilelist::int, linLSB_, nCellsInModule_, nData_, funct::pow(), TCThreshold_ADC_, TCThreshold_fC_, TCThresholdBH_ADC_, TCThresholdBH_MIP_, and thresholdSelectImpl().

4  :
5  nData_(conf.getParameter<uint32_t>("NData")),
6  nCellsInModule_(conf.getParameter<uint32_t>("MaxCellsInModule")),
7  linLSB_(conf.getParameter<double>("linLSB")),
8  adcsaturationBH_(conf.getParameter<double>("adcsaturationBH")),
9  adcnBitsBH_(conf.getParameter<uint32_t>("adcnBitsBH")),
10  TCThreshold_fC_(conf.getParameter<double>("TCThreshold_fC")),
11  TCThresholdBH_MIP_(conf.getParameter<double>("TCThresholdBH_MIP")),
12  triggercell_threshold_silicon_( conf.getParameter<double>("triggercell_threshold_silicon") ),
13  triggercell_threshold_scintillator_( conf.getParameter<double>("triggercell_threshold_scintillator"))
14 {
15  // Cannot have more selected cells than the max number of cells
20 }
T getParameter(std::string const &) const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40

Member Function Documentation

uint32_t HGCalConcentratorSelectionImpl::adcnBitsBH ( ) const
inline

Definition at line 29 of file HGCalConcentratorSelectionImpl.h.

References adcnBitsBH_.

double HGCalConcentratorSelectionImpl::adcsaturationBH ( ) const
inline
void HGCalConcentratorSelectionImpl::bestChoiceSelectImpl ( const std::vector< l1t::HGCalTriggerCell > &  trigCellVecInput,
std::vector< l1t::HGCalTriggerCell > &  trigCellVecOutput 
)

Definition at line 39 of file HGCalConcentratorSelectionImpl.cc.

References a, b, l1t::L1Candidate::hwPt(), and nData_.

Referenced by HGCalConcentratorProcessorSelection::run(), and thresholdSelectImpl().

40 {
41  trigCellVecOutput = trigCellVecInput;
42  // sort, reverse order
43  std::sort(trigCellVecOutput.begin(), trigCellVecOutput.end(),
44  [](const l1t::HGCalTriggerCell& a,
45  const l1t::HGCalTriggerCell& b) -> bool
46  {
47  return a.hwPt() > b.hwPt();
48  }
49  );
50 
51  // keep only the first trigger cells
52  if(trigCellVecOutput.size()>nData_) trigCellVecOutput.resize(nData_);
53 
54 }
int hwPt() const
Definition: L1Candidate.h:48
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
double HGCalConcentratorSelectionImpl::linLSB ( ) const
inline

Definition at line 26 of file HGCalConcentratorSelectionImpl.h.

References linLSB_.

size_t HGCalConcentratorSelectionImpl::nCellsInModule ( ) const
inline
size_t HGCalConcentratorSelectionImpl::nData ( ) const
inline

Definition at line 27 of file HGCalConcentratorSelectionImpl.h.

References nData_.

int HGCalConcentratorSelectionImpl::TCThreshold_ADC ( ) const
inline
double HGCalConcentratorSelectionImpl::TCThreshold_fC ( ) const
inline
int HGCalConcentratorSelectionImpl::TCThresholdBH_ADC ( ) const
inline
double HGCalConcentratorSelectionImpl::TCThresholdBH_MIP ( ) const
inline
void HGCalConcentratorSelectionImpl::thresholdSelectImpl ( const std::vector< l1t::HGCalTriggerCell > &  trigCellVecInput,
std::vector< l1t::HGCalTriggerCell > &  trigCellVecOutput 
)

Definition at line 24 of file HGCalConcentratorSelectionImpl.cc.

References bestChoiceSelectImpl(), HGCHEB, TCThreshold_ADC_, TCThresholdBH_ADC_, electronIdCutBased_cfi::threshold, triggercell_threshold_scintillator_, and triggercell_threshold_silicon_.

Referenced by HGCalConcentratorSelectionImpl(), and HGCalConcentratorProcessorSelection::run().

25 {
26  for (const auto& trigCell: trigCellVecInput){
27 
28  int threshold = (HGCalDetId(trigCell.detId()).subdetId()==ForwardSubdetector::HGCHEB ? TCThresholdBH_ADC_ : TCThreshold_ADC_);
29  double triggercell_threshold = (HGCalDetId(trigCell.detId()).subdetId()==HGCHEB ? triggercell_threshold_scintillator_ : triggercell_threshold_silicon_);
30 
31  if ((trigCell.hwPt() >= threshold) && (trigCell.mipPt() >= triggercell_threshold)){
32  trigCellVecOutput.push_back(trigCell);
33  }
34  }
35 }

Member Data Documentation

double HGCalConcentratorSelectionImpl::adcLSBBH_
private

Definition at line 41 of file HGCalConcentratorSelectionImpl.h.

Referenced by HGCalConcentratorSelectionImpl().

uint32_t HGCalConcentratorSelectionImpl::adcnBitsBH_
private

Definition at line 40 of file HGCalConcentratorSelectionImpl.h.

Referenced by adcnBitsBH(), and HGCalConcentratorSelectionImpl().

double HGCalConcentratorSelectionImpl::adcsaturationBH_
private
double HGCalConcentratorSelectionImpl::linLSB_
private

Definition at line 38 of file HGCalConcentratorSelectionImpl.h.

Referenced by HGCalConcentratorSelectionImpl(), and linLSB().

size_t HGCalConcentratorSelectionImpl::nCellsInModule_
private
size_t HGCalConcentratorSelectionImpl::nData_
private
int HGCalConcentratorSelectionImpl::TCThreshold_ADC_
private
double HGCalConcentratorSelectionImpl::TCThreshold_fC_
private
int HGCalConcentratorSelectionImpl::TCThresholdBH_ADC_
private
double HGCalConcentratorSelectionImpl::TCThresholdBH_MIP_
private
double HGCalConcentratorSelectionImpl::triggercell_threshold_scintillator_
private

Definition at line 47 of file HGCalConcentratorSelectionImpl.h.

Referenced by thresholdSelectImpl().

double HGCalConcentratorSelectionImpl::triggercell_threshold_silicon_
private

Definition at line 46 of file HGCalConcentratorSelectionImpl.h.

Referenced by thresholdSelectImpl().

HGCalTriggerTools HGCalConcentratorSelectionImpl::triggerTools_
private

Definition at line 49 of file HGCalConcentratorSelectionImpl.h.