CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
L1GctGlobalHfSumAlgos Class Reference

Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts. More...

#include <L1GctGlobalHfSumAlgos.h>

Inheritance diagram for L1GctGlobalHfSumAlgos:
L1GctProcessor

Public Types

typedef
L1GctJetFinderBase::hfTowerSumsType 
hfTowerSumsType
 

Public Member Functions

virtual void fetchInput ()
 get input data from sources; this is the standard way to provide input More...
 
const L1GctHfBitCountsLutgetBCLut (const L1GctHfEtSumsLut::hfLutType type) const
 Get lut pointers. More...
 
const L1GctHfEtSumsLutgetESLut (const L1GctHfEtSumsLut::hfLutType type) const
 
L1GctWheelJetFpgagetMinusWheelJetFpga () const
 provide access to input pointer, Wheel Jet Fpga 0 More...
 
L1GctWheelJetFpgagetPlusWheelJetFpga () const
 provide access to input pointer, Wheel Jet Fpga 1 More...
 
std::vector< double > getThresholds (const L1GctHfEtSumsLut::hfLutType type) const
 Get thresholds. More...
 
std::vector< uint16_t > hfSumsOutput (const L1GctHfEtSumsLut::hfLutType type) const
 Access to output quantities. More...
 
std::vector< unsigned > hfSumsWord () const
 
 L1GctGlobalHfSumAlgos (const std::vector< L1GctWheelJetFpga * > &WheelJetFpga)
 Constructor needs the Wheel card Fpgas set up first. More...
 
virtual void process ()
 process the data, fill output buffers More...
 
void setupLuts (const L1CaloEtScale *scale)
 Setup luts. More...
 
bool setupOk () const
 check setup More...
 
 ~L1GctGlobalHfSumAlgos ()
 Destructor. More...
 
- Public Member Functions inherited from L1GctProcessor
 L1GctProcessor ()
 
void reset ()
 complete reset of processor More...
 
void setBxRange (const int firstBx, const int numberOfBx)
 define the bunch crossing range to process More...
 
void setNextBx (const int bxnum)
 clear input data buffers and process a new bunch crossing More...
 
void setTerse ()
 
bool setupOk () const
 Method to check the setup for this processor. Returns true by default. More...
 
void setVerbose ()
 control output messages More...
 
virtual ~L1GctProcessor ()
 

Protected Member Functions

virtual void resetPipelines ()
 
virtual void resetProcessor ()
 Separate reset methods for the processor itself and any data stored in pipelines. More...
 
virtual void setupObjects ()
 Initialise inputs with null objects for the correct bunch crossing if required. More...
 
- Protected Member Functions inherited from L1GctProcessor
int bxAbs () const
 
int bxMax () const
 
int bxMin () const
 Support for multiple beam crossing operation. More...
 
int bxRel () const
 
int numOfBx () const
 

Private Member Functions

void storeBitCount (L1GctHfEtSumsLut::hfLutType type, uint16_t value)
 
void storeEtSum (L1GctHfEtSumsLut::hfLutType type, uint16_t value)
 

Private Attributes

std::map
< L1GctHfEtSumsLut::hfLutType,
const L1GctHfBitCountsLut * > 
m_bitCountLuts
 
std::map
< L1GctHfEtSumsLut::hfLutType,
const L1GctHfEtSumsLut * > 
m_etSumLuts
 
hfTowerSumsType m_hfInputSumsMinusWheel
 
hfTowerSumsType m_hfInputSumsPlusWheel
 
std::map
< L1GctHfEtSumsLut::hfLutType,
Pipeline< uint16_t > > 
m_hfOutputSumsPipe
 
L1GctWheelJetFpgam_minusWheelJetFpga
 
L1GctWheelJetFpgam_plusWheelJetFpga
 
bool m_setupOk
 

Friends

std::ostream & operator<< (std::ostream &os, const L1GctGlobalHfSumAlgos &fpga)
 Overload << operator. More...
 

Additional Inherited Members

- Protected Attributes inherited from L1GctProcessor
bool m_verbose
 Flag to control output messages. More...
 

Detailed Description

Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts.

Gets the sums from the wheel cards and packs them into the output after compression using look-up tables

Author
Greg Heath
Date
09/09/2008

Definition at line 27 of file L1GctGlobalHfSumAlgos.h.

Member Typedef Documentation

Definition at line 31 of file L1GctGlobalHfSumAlgos.h.

Constructor & Destructor Documentation

L1GctGlobalHfSumAlgos::L1GctGlobalHfSumAlgos ( const std::vector< L1GctWheelJetFpga * > &  WheelJetFpga)

Constructor needs the Wheel card Fpgas set up first.

Definition at line 11 of file L1GctGlobalHfSumAlgos.cc.

L1GctGlobalHfSumAlgos::~L1GctGlobalHfSumAlgos ( )

Destructor.

Definition at line 56 of file L1GctGlobalHfSumAlgos.cc.

Member Function Documentation

void L1GctGlobalHfSumAlgos::fetchInput ( )
virtual

get input data from sources; this is the standard way to provide input

Implements L1GctProcessor.

Definition at line 109 of file L1GctGlobalHfSumAlgos.cc.

const L1GctHfBitCountsLut * L1GctGlobalHfSumAlgos::getBCLut ( const L1GctHfEtSumsLut::hfLutType  type) const

Get lut pointers.

Definition at line 238 of file L1GctGlobalHfSumAlgos.cc.

const L1GctHfEtSumsLut * L1GctGlobalHfSumAlgos::getESLut ( const L1GctHfEtSumsLut::hfLutType  type) const

Definition at line 248 of file L1GctGlobalHfSumAlgos.cc.

L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::getMinusWheelJetFpga ( ) const
inline

provide access to input pointer, Wheel Jet Fpga 0

Definition at line 64 of file L1GctGlobalHfSumAlgos.h.

References m_minusWheelJetFpga.

64 { return m_minusWheelJetFpga; }
L1GctWheelJetFpga * m_minusWheelJetFpga
L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::getPlusWheelJetFpga ( ) const
inline

provide access to input pointer, Wheel Jet Fpga 1

Definition at line 62 of file L1GctGlobalHfSumAlgos.h.

References m_plusWheelJetFpga.

62 { return m_plusWheelJetFpga; }
L1GctWheelJetFpga * m_plusWheelJetFpga
std::vector< double > L1GctGlobalHfSumAlgos::getThresholds ( const L1GctHfEtSumsLut::hfLutType  type) const

Get thresholds.

Definition at line 259 of file L1GctGlobalHfSumAlgos.cc.

std::vector< uint16_t > L1GctGlobalHfSumAlgos::hfSumsOutput ( const L1GctHfEtSumsLut::hfLutType  type) const

Access to output quantities.

Definition at line 170 of file L1GctGlobalHfSumAlgos.cc.

std::vector< unsigned > L1GctGlobalHfSumAlgos::hfSumsWord ( ) const

Definition at line 182 of file L1GctGlobalHfSumAlgos.cc.

void L1GctGlobalHfSumAlgos::process ( )
virtual

process the data, fill output buffers

Implements L1GctProcessor.

Definition at line 118 of file L1GctGlobalHfSumAlgos.cc.

void L1GctGlobalHfSumAlgos::resetPipelines ( )
protectedvirtual

Implements L1GctProcessor.

Definition at line 99 of file L1GctGlobalHfSumAlgos.cc.

void L1GctGlobalHfSumAlgos::resetProcessor ( )
protectedvirtual

Separate reset methods for the processor itself and any data stored in pipelines.

Implements L1GctProcessor.

Definition at line 94 of file L1GctGlobalHfSumAlgos.cc.

void L1GctGlobalHfSumAlgos::setupLuts ( const L1CaloEtScale scale)

Setup luts.

Definition at line 214 of file L1GctGlobalHfSumAlgos.cc.

virtual void L1GctGlobalHfSumAlgos::setupObjects ( )
inlineprotectedvirtual

Initialise inputs with null objects for the correct bunch crossing if required.

Implements L1GctProcessor.

Definition at line 75 of file L1GctGlobalHfSumAlgos.h.

75 {}
bool L1GctGlobalHfSumAlgos::setupOk ( ) const
inline

check setup

Definition at line 67 of file L1GctGlobalHfSumAlgos.h.

References m_setupOk.

67 { return m_setupOk; }
void L1GctGlobalHfSumAlgos::storeBitCount ( L1GctHfEtSumsLut::hfLutType  type,
uint16_t  value 
)
private

Definition at line 152 of file L1GctGlobalHfSumAlgos.cc.

void L1GctGlobalHfSumAlgos::storeEtSum ( L1GctHfEtSumsLut::hfLutType  type,
uint16_t  value 
)
private

Definition at line 160 of file L1GctGlobalHfSumAlgos.cc.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const L1GctGlobalHfSumAlgos fpga 
)
friend

Overload << operator.

Definition at line 70 of file L1GctGlobalHfSumAlgos.cc.

Member Data Documentation

std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut*> L1GctGlobalHfSumAlgos::m_bitCountLuts
private

Definition at line 83 of file L1GctGlobalHfSumAlgos.h.

std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut*> L1GctGlobalHfSumAlgos::m_etSumLuts
private

Definition at line 84 of file L1GctGlobalHfSumAlgos.h.

hfTowerSumsType L1GctGlobalHfSumAlgos::m_hfInputSumsMinusWheel
private

Definition at line 88 of file L1GctGlobalHfSumAlgos.h.

hfTowerSumsType L1GctGlobalHfSumAlgos::m_hfInputSumsPlusWheel
private

Definition at line 87 of file L1GctGlobalHfSumAlgos.h.

std::map<L1GctHfEtSumsLut::hfLutType, Pipeline<uint16_t> > L1GctGlobalHfSumAlgos::m_hfOutputSumsPipe
private

Definition at line 91 of file L1GctGlobalHfSumAlgos.h.

L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::m_minusWheelJetFpga
private

Definition at line 80 of file L1GctGlobalHfSumAlgos.h.

Referenced by getMinusWheelJetFpga().

L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::m_plusWheelJetFpga
private

Definition at line 79 of file L1GctGlobalHfSumAlgos.h.

Referenced by getPlusWheelJetFpga().

bool L1GctGlobalHfSumAlgos::m_setupOk
private

Definition at line 93 of file L1GctGlobalHfSumAlgos.h.

Referenced by setupOk().