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 | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends
L1GctWheelJetFpga Class Reference

Represents a GCT Wheel Jet FPGA. More...

#include <L1GctWheelJetFpga.h>

Inheritance diagram for L1GctWheelJetFpga:
L1GctProcessor

Public Types

typedef
L1GctJetLeafCard::hfTowerSumsType 
hfTowerSumsType
 
typedef L1GctTwosComplement
< L1GctInternHtMiss::kMissHxOrHyNBits
htComponentType
 
typedef std::vector< L1GctJetCandJetVector
 

Public Member Functions

virtual void fetchInput ()
 get input data from sources More...
 
JetVector getCentralJets () const
 get the output jets More...
 
JetVector getForwardJets () const
 get the output jets More...
 
JetVector getInputJets () const
 get the input jets. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc. More...
 
std::vector< L1GctInternHtMissgetInternalHtMiss () const
 get the Et sums in internal component format More...
 
hfTowerSumsType getOutputHfSums () const
 get the output Hf Sums More...
 
htComponentType getOutputHx () const
 get the output Ht components More...
 
htComponentType getOutputHy () const
 
JetVector getTauJets () const
 get the output jets More...
 
hfTowerSumsType inputHfSums (unsigned leafnum) const
 get the input Hf Sums More...
 
htComponentType inputHx (unsigned leafnum) const
 get the input Ht components More...
 
htComponentType inputHy (unsigned leafnum) const
 
 L1GctWheelJetFpga (int id, const std::vector< L1GctJetLeafCard * > &inputLeafCards)
 id must be 0 / 1 for -ve/+ve eta halves of CMS More...
 
virtual void process ()
 process the data, fill output buffers More...
 
void setInputJet (int i, const L1GctJetCand &jet)
 set input data More...
 
bool setupOk () const
 Public access to setup check. More...
 
 ~L1GctWheelJetFpga ()
 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 ()
 

Static Public Attributes

static const int MAX_JETS_OUT = 4
 Max number of jets of each type we output. More...
 
static const unsigned int MAX_JETS_PER_LEAF = L1GctJetLeafCard::MAX_JET_FINDERS * L1GctJetFinderBase::MAX_JETS_OUT
 Max number of jets input from each leaf card. More...
 
static const unsigned int MAX_LEAF_CARDS = 3
 Max number of leaf card pointers. More...
 

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

bool checkSetup () const
 Check the setup, independently of how we have been constructed. More...
 
void classifyJets ()
 Classifies jets into central, forward or tau. More...
 
void setupJetsVectors (const int16_t bx)
 Initialises all the jet vectors with jets of the correct type. More...
 
void storeJets (const JetVector &jets, unsigned short iLeaf, unsigned short offset)
 Puts the output from a jetfinder into the correct index range of the m_inputJets array. More...
 

Private Attributes

JetVector m_centralJets
 
L1GctJetSorterm_centralJetSorter
 Jet sorters. More...
 
JetVector m_forwardJets
 
L1GctJetSorterm_forwardJetSorter
 
int m_id
 algo ID More...
 
std::vector< hfTowerSumsTypem_inputHfSums
 
std::vector< htComponentTypem_inputHx
 
std::vector< htComponentTypem_inputHy
 
JetVector m_inputJets
 input data. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc. More...
 
std::vector< L1GctJetLeafCard * > m_inputLeafCards
 the jet leaf cards More...
 
hfTowerSumsType m_outputHfSums
 
htComponentType m_outputHx
 
Pipeline< htComponentTypem_outputHxPipe
 
htComponentType m_outputHy
 
Pipeline< htComponentTypem_outputHyPipe
 
JetVector m_rawCentralJets
 
JetVector m_rawForwardJets
 
JetVector m_rawTauJets
 
JetVector m_tauJets
 
L1GctJetSorterm_tauJetSorter
 

Static Private Attributes

static const int MAX_JETS_IN = L1GctWheelJetFpga::MAX_LEAF_CARDS * L1GctWheelJetFpga::MAX_JETS_PER_LEAF
 Maximum number of jets we can have as input. More...
 

Friends

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

Additional Inherited Members

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

Detailed Description

Represents a GCT Wheel Jet FPGA.

Takes as input the Jet and Ht data from one eta half of CMS (three leaf cards of data) and summarises/reduces this data before passing it onto the L1GctJetFinalStage processing that takes place (physically) on the concentrator card.

Author
Jim Brooke & Robert Frazier
Date
May 2006

Definition at line 29 of file L1GctWheelJetFpga.h.

Member Typedef Documentation

Definition at line 34 of file L1GctWheelJetFpga.h.

Definition at line 33 of file L1GctWheelJetFpga.h.

Definition at line 32 of file L1GctWheelJetFpga.h.

Constructor & Destructor Documentation

L1GctWheelJetFpga::L1GctWheelJetFpga ( int  id,
const std::vector< L1GctJetLeafCard * > &  inputLeafCards 
)

id must be 0 / 1 for -ve/+ve eta halves of CMS

Definition at line 15 of file L1GctWheelJetFpga.cc.

L1GctWheelJetFpga::~L1GctWheelJetFpga ( )

destructor

Definition at line 88 of file L1GctWheelJetFpga.cc.

Member Function Documentation

bool L1GctWheelJetFpga::checkSetup ( ) const
private

Check the setup, independently of how we have been constructed.

Definition at line 47 of file L1GctWheelJetFpga.cc.

Referenced by setupOk().

void L1GctWheelJetFpga::classifyJets ( )
private

Classifies jets into central, forward or tau.

Definition at line 264 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::fetchInput ( )
virtual

get input data from sources

Implements L1GctProcessor.

Definition at line 168 of file L1GctWheelJetFpga.cc.

JetVector L1GctWheelJetFpga::getCentralJets ( ) const
inline

get the output jets

Definition at line 75 of file L1GctWheelJetFpga.h.

References m_centralJets.

75 { return m_centralJets; }
JetVector L1GctWheelJetFpga::getForwardJets ( ) const
inline

get the output jets

Definition at line 78 of file L1GctWheelJetFpga.h.

References m_forwardJets.

78 { return m_forwardJets; }
JetVector L1GctWheelJetFpga::getInputJets ( ) const
inline

get the input jets. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc.

Definition at line 65 of file L1GctWheelJetFpga.h.

References m_inputJets.

65 { return m_inputJets; }
JetVector m_inputJets
input data. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B...
std::vector< L1GctInternHtMiss > L1GctWheelJetFpga::getInternalHtMiss ( ) const

get the Et sums in internal component format

Definition at line 241 of file L1GctWheelJetFpga.cc.

hfTowerSumsType L1GctWheelJetFpga::getOutputHfSums ( ) const
inline

get the output Hf Sums

Definition at line 88 of file L1GctWheelJetFpga.h.

References m_outputHfSums.

88 { return m_outputHfSums; }
hfTowerSumsType m_outputHfSums
htComponentType L1GctWheelJetFpga::getOutputHx ( ) const
inline

get the output Ht components

Definition at line 84 of file L1GctWheelJetFpga.h.

References m_outputHx.

84 { return m_outputHx; }
htComponentType m_outputHx
htComponentType L1GctWheelJetFpga::getOutputHy ( ) const
inline

Definition at line 85 of file L1GctWheelJetFpga.h.

References m_outputHy.

85 { return m_outputHy; }
htComponentType m_outputHy
JetVector L1GctWheelJetFpga::getTauJets ( ) const
inline

get the output jets

Definition at line 81 of file L1GctWheelJetFpga.h.

References m_tauJets.

81 { return m_tauJets; }
hfTowerSumsType L1GctWheelJetFpga::inputHfSums ( unsigned  leafnum) const
inline

get the input Hf Sums

Definition at line 72 of file L1GctWheelJetFpga.h.

References m_inputHfSums.

72 { return m_inputHfSums.at(leafnum); }
std::vector< hfTowerSumsType > m_inputHfSums
htComponentType L1GctWheelJetFpga::inputHx ( unsigned  leafnum) const
inline

get the input Ht components

Definition at line 68 of file L1GctWheelJetFpga.h.

References m_inputHx.

68 { return m_inputHx.at(leafnum); }
std::vector< htComponentType > m_inputHx
htComponentType L1GctWheelJetFpga::inputHy ( unsigned  leafnum) const
inline

Definition at line 69 of file L1GctWheelJetFpga.h.

References m_inputHy.

69 { return m_inputHy.at(leafnum); }
std::vector< htComponentType > m_inputHy
void L1GctWheelJetFpga::process ( )
virtual

process the data, fill output buffers

Implements L1GctProcessor.

Definition at line 191 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::resetPipelines ( )
protectedvirtual

Implements L1GctProcessor.

Definition at line 162 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::resetProcessor ( )
protectedvirtual

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

Implements L1GctProcessor.

Definition at line 144 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::setInputJet ( int  i,
const L1GctJetCand jet 
)

set input data

Definition at line 224 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::setupJetsVectors ( const int16_t  bx)
private

Initialises all the jet vectors with jets of the correct type.

Definition at line 305 of file L1GctWheelJetFpga.cc.

void L1GctWheelJetFpga::setupObjects ( )
protectedvirtual

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

Implements L1GctProcessor.

Definition at line 157 of file L1GctWheelJetFpga.cc.

bool L1GctWheelJetFpga::setupOk ( ) const
inline

Public access to setup check.

Definition at line 91 of file L1GctWheelJetFpga.h.

References checkSetup().

91 { return checkSetup(); }
bool checkSetup() const
Check the setup, independently of how we have been constructed.
void L1GctWheelJetFpga::storeJets ( const JetVector jets,
unsigned short  iLeaf,
unsigned short  offset 
)
private

Puts the output from a jetfinder into the correct index range of the m_inputJets array.

Definition at line 256 of file L1GctWheelJetFpga.cc.

Friends And Related Function Documentation

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

Overload << operator.

Definition at line 95 of file L1GctWheelJetFpga.cc.

Member Data Documentation

JetVector L1GctWheelJetFpga::m_centralJets
private

Definition at line 136 of file L1GctWheelJetFpga.h.

Referenced by getCentralJets().

L1GctJetSorter* L1GctWheelJetFpga::m_centralJetSorter
private

Jet sorters.

Definition at line 116 of file L1GctWheelJetFpga.h.

JetVector L1GctWheelJetFpga::m_forwardJets
private

Definition at line 137 of file L1GctWheelJetFpga.h.

Referenced by getForwardJets().

L1GctJetSorter* L1GctWheelJetFpga::m_forwardJetSorter
private

Definition at line 117 of file L1GctWheelJetFpga.h.

int L1GctWheelJetFpga::m_id
private

algo ID

Definition at line 110 of file L1GctWheelJetFpga.h.

std::vector< hfTowerSumsType > L1GctWheelJetFpga::m_inputHfSums
private

Definition at line 133 of file L1GctWheelJetFpga.h.

Referenced by inputHfSums().

std::vector< htComponentType > L1GctWheelJetFpga::m_inputHx
private

Definition at line 129 of file L1GctWheelJetFpga.h.

Referenced by inputHx().

std::vector< htComponentType > L1GctWheelJetFpga::m_inputHy
private

Definition at line 130 of file L1GctWheelJetFpga.h.

Referenced by inputHy().

JetVector L1GctWheelJetFpga::m_inputJets
private

input data. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc.

Definition at line 121 of file L1GctWheelJetFpga.h.

Referenced by getInputJets().

std::vector<L1GctJetLeafCard*> L1GctWheelJetFpga::m_inputLeafCards
private

the jet leaf cards

Definition at line 113 of file L1GctWheelJetFpga.h.

hfTowerSumsType L1GctWheelJetFpga::m_outputHfSums
private

Definition at line 143 of file L1GctWheelJetFpga.h.

Referenced by getOutputHfSums().

htComponentType L1GctWheelJetFpga::m_outputHx
private

Definition at line 141 of file L1GctWheelJetFpga.h.

Referenced by getOutputHx().

Pipeline< htComponentType > L1GctWheelJetFpga::m_outputHxPipe
private

Definition at line 145 of file L1GctWheelJetFpga.h.

htComponentType L1GctWheelJetFpga::m_outputHy
private

Definition at line 142 of file L1GctWheelJetFpga.h.

Referenced by getOutputHy().

Pipeline< htComponentType > L1GctWheelJetFpga::m_outputHyPipe
private

Definition at line 146 of file L1GctWheelJetFpga.h.

JetVector L1GctWheelJetFpga::m_rawCentralJets
private

Definition at line 124 of file L1GctWheelJetFpga.h.

JetVector L1GctWheelJetFpga::m_rawForwardJets
private

Definition at line 125 of file L1GctWheelJetFpga.h.

JetVector L1GctWheelJetFpga::m_rawTauJets
private

Definition at line 126 of file L1GctWheelJetFpga.h.

JetVector L1GctWheelJetFpga::m_tauJets
private

Definition at line 138 of file L1GctWheelJetFpga.h.

Referenced by getTauJets().

L1GctJetSorter* L1GctWheelJetFpga::m_tauJetSorter
private

Definition at line 118 of file L1GctWheelJetFpga.h.

const int L1GctWheelJetFpga::MAX_JETS_IN = L1GctWheelJetFpga::MAX_LEAF_CARDS * L1GctWheelJetFpga::MAX_JETS_PER_LEAF
staticprivate

Maximum number of jets we can have as input.

Definition at line 107 of file L1GctWheelJetFpga.h.

const int L1GctWheelJetFpga::MAX_JETS_OUT = 4
static

Max number of jets of each type we output.

Definition at line 37 of file L1GctWheelJetFpga.h.

const unsigned int L1GctWheelJetFpga::MAX_JETS_PER_LEAF = L1GctJetLeafCard::MAX_JET_FINDERS * L1GctJetFinderBase::MAX_JETS_OUT
static

Max number of jets input from each leaf card.

Definition at line 43 of file L1GctWheelJetFpga.h.

const unsigned int L1GctWheelJetFpga::MAX_LEAF_CARDS = 3
static

Max number of leaf card pointers.

Definition at line 40 of file L1GctWheelJetFpga.h.