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 (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 ( std::vector< L1GctWheelJetFpga * >  WheelJetFpga)

Constructor needs the Wheel card Fpgas set up first.

Definition at line 11 of file L1GctGlobalHfSumAlgos.cc.

References m_minusWheelJetFpga, m_plusWheelJetFpga, m_setupOk, and L1GctProcessor::m_verbose.

11  :
13  m_plusWheelJetFpga(wheelJetFpga.at(1)),
14  m_minusWheelJetFpga(wheelJetFpga.at(0)),
19  m_setupOk(true)
20 {
21  if(wheelJetFpga.size() != 2)
22  {
23  m_setupOk = false;
24  if (m_verbose) {
25  edm::LogWarning("L1GctSetupError")
26  << "L1GctGlobalHfSumAlgos::L1GctGlobalHfSumAlgos() : Global HfSum Algos has been incorrectly constructed!\n"
27  << "This class needs two wheel jet fpga pointers. "
28  << "Number of wheel jet fpga pointers present is " << wheelJetFpga.size() << ".\n";
29  }
30  }
31 
32  if(m_plusWheelJetFpga == 0)
33  {
34  m_setupOk = false;
35  if (m_verbose) {
36  edm::LogWarning("L1GctSetupError")
37  << "L1GctGlobalHfSumAlgos::L1GctGlobalHfSumAlgos() has been incorrectly constructed!\n"
38  << "Plus Wheel Jet Fpga pointer has not been set!\n";
39  }
40  }
41  if(m_minusWheelJetFpga == 0)
42  {
43  m_setupOk = false;
44  if (m_verbose) {
45  edm::LogWarning("L1GctSetupError")
46  << "L1GctGlobalHfSumAlgos::L1GctGlobalHfSumAlgos() has been incorrectly constructed!\n"
47  << "Minus Wheel Jet Fpga pointer has not been set!\n";
48  }
49  }
50 
51  if (!m_setupOk && m_verbose) {
52  edm::LogError("L1GctSetupError") << "L1GctGlobalEnergyAlgos has been incorrectly constructed";
53  }
54 }
L1GctWheelJetFpga * m_minusWheelJetFpga
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > m_hfOutputSumsPipe
bool m_verbose
Flag to control output messages.
hfTowerSumsType m_hfInputSumsPlusWheel
hfTowerSumsType m_hfInputSumsMinusWheel
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > m_etSumLuts
L1GctWheelJetFpga * m_plusWheelJetFpga
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > m_bitCountLuts
L1GctGlobalHfSumAlgos::~L1GctGlobalHfSumAlgos ( )

Destructor.

Definition at line 56 of file L1GctGlobalHfSumAlgos.cc.

References m_bitCountLuts, and m_etSumLuts.

57 {
58  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut*>::const_iterator bclut = m_bitCountLuts.begin();
59  while (bclut != m_bitCountLuts.end()) {
60  delete bclut->second;
61  bclut++;
62  }
63  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut*>::const_iterator eslut = m_etSumLuts.begin();
64  while (eslut != m_etSumLuts.end()) {
65  delete eslut->second;
66  eslut++;
67  }
68 }
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > m_etSumLuts
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > m_bitCountLuts

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.

References L1GctWheelJetFpga::getOutputHfSums(), m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, m_minusWheelJetFpga, m_plusWheelJetFpga, and m_setupOk.

Referenced by L1GctGlobalEnergyAlgos::fetchInput().

109  {
110  if (m_setupOk) {
113  }
114 }
L1GctWheelJetFpga * m_minusWheelJetFpga
hfTowerSumsType m_hfInputSumsPlusWheel
hfTowerSumsType m_hfInputSumsMinusWheel
L1GctWheelJetFpga * m_plusWheelJetFpga
hfTowerSumsType getOutputHfSums() const
get the output Hf Sums
const L1GctHfBitCountsLut * L1GctGlobalHfSumAlgos::getBCLut ( const L1GctHfEtSumsLut::hfLutType  type) const

Get lut pointers.

Definition at line 238 of file L1GctGlobalHfSumAlgos.cc.

References m_bitCountLuts.

Referenced by L1GctPrintLuts::analyze().

239 {
240  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut*>::const_iterator bclut = m_bitCountLuts.find(type);
241  if (bclut != m_bitCountLuts.end()) {
242  return (bclut->second);
243  } else {
244  return 0;
245  }
246 }
type
Definition: HCALResponse.h:22
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > m_bitCountLuts
const L1GctHfEtSumsLut * L1GctGlobalHfSumAlgos::getESLut ( const L1GctHfEtSumsLut::hfLutType  type) const

Definition at line 248 of file L1GctGlobalHfSumAlgos.cc.

References m_etSumLuts.

Referenced by L1GctPrintLuts::analyze(), and getThresholds().

249 {
250  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut*>::const_iterator eslut = m_etSumLuts.find(type);
251  if (eslut != m_etSumLuts.end()) {
252  return (eslut->second);
253  } else {
254  return 0;
255  }
256 }
type
Definition: HCALResponse.h:22
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > m_etSumLuts
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.

References getESLut(), L1CaloEtScale::getThresholds(), L1GctHfEtSumsLut::lutFunction(), and query::result.

260 {
261  std::vector<double> result;
262  const L1GctHfEtSumsLut* ESLut = getESLut(type);
263  if (ESLut != 0) { result = ESLut->lutFunction()->getThresholds(); }
264  return result;
265 }
type
Definition: HCALResponse.h:22
const L1CaloEtScale * lutFunction() const
Return the Lut function.
const std::vector< double > & getThresholds() const
get thresholds
Definition: L1CaloEtScale.h:63
tuple result
Definition: query.py:137
LUT for compression of HF Et sum to output format.
const L1GctHfEtSumsLut * getESLut(const L1GctHfEtSumsLut::hfLutType type) const
std::vector< uint16_t > L1GctGlobalHfSumAlgos::hfSumsOutput ( const L1GctHfEtSumsLut::hfLutType  type) const

Access to output quantities.

Definition at line 170 of file L1GctGlobalHfSumAlgos.cc.

References relmon_rootfiles_spy::contents, lumiPlot::lut, m_hfOutputSumsPipe, L1GctProcessor::numOfBx(), and query::result.

Referenced by hfSumsWord().

171 {
172  std::vector<uint16_t> result(numOfBx());
173  std::map<L1GctHfEtSumsLut::hfLutType, Pipeline<uint16_t> >::const_iterator lut=m_hfOutputSumsPipe.find(type);
174  if (lut != m_hfOutputSumsPipe.end()) {
175  result = (lut->second).contents;
176  }
177 
178  return result;
179 
180 }
type
Definition: HCALResponse.h:22
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > m_hfOutputSumsPipe
int numOfBx() const
tuple result
Definition: query.py:137
tuple lut
Definition: lumiPlot.py:244
std::vector< unsigned > L1GctGlobalHfSumAlgos::hfSumsWord ( ) const

Definition at line 182 of file L1GctGlobalHfSumAlgos.cc.

References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, hfSumsOutput(), L1GctProcessor::numOfBx(), and query::result.

Referenced by operator<<().

182  {
183  std::vector<unsigned> result(numOfBx(), 0x00001000);
184  std::vector<uint16_t> outputBits;
185 
187  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx); }
188 
190  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 3; }
191 
193  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 6; }
194 
196  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 9; }
197 
199  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 12; }
200 
202  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 16; }
203 
205  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 19; }
206 
208  for (unsigned bx=0; bx<outputBits.size(); bx++) { result.at(bx) |= outputBits.at(bx) << 22; }
209 
210  return result;
211 }
int numOfBx() const
tuple result
Definition: query.py:137
std::vector< uint16_t > hfSumsOutput(const L1GctHfEtSumsLut::hfLutType type) const
Access to output quantities.
void L1GctGlobalHfSumAlgos::process ( )
virtual

process the data, fill output buffers

Implements L1GctProcessor.

Definition at line 118 of file L1GctGlobalHfSumAlgos.cc.

References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, L1GctJetFinderBase::hfTowerSumsType::etSum0, L1GctJetFinderBase::hfTowerSumsType::etSum1, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, m_setupOk, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold0, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold1, storeBitCount(), storeEtSum(), and L1GctUnsignedInt< nBits >::value().

Referenced by ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), and L1GctGlobalEnergyAlgos::process().

119 {
120  if (m_setupOk) {
121  // step through the different types of Hf summed quantity
122  // and store each one in turn into the relevant pipeline
123 
124  // bit count, positive eta, ring 1
126 
127  // bit count, negative eta, ring 1
129 
130  // bit count, positive eta, ring 2
132 
133  // bit count, negative eta, ring 2
135 
136  // et sum, positive eta, ring 1
138 
139  // et sum, negative eta, ring 1
141 
142  // et sum, positive eta, ring 2
144 
145  // et sum, negative eta, ring 2
147 
148  }
149 }
hfTowerSumsType m_hfInputSumsPlusWheel
hfTowerSumsType m_hfInputSumsMinusWheel
unsigned value() const
access value as unsigned
void storeEtSum(L1GctHfEtSumsLut::hfLutType type, uint16_t value)
L1GctJetCount< kHfEtSumBits > etSum0
L1GctJetCount< kHfCountBits > nOverThreshold1
L1GctJetCount< kHfEtSumBits > etSum1
void storeBitCount(L1GctHfEtSumsLut::hfLutType type, uint16_t value)
L1GctJetCount< kHfCountBits > nOverThreshold0
void L1GctGlobalHfSumAlgos::resetPipelines ( )
protectedvirtual

Implements L1GctProcessor.

Definition at line 99 of file L1GctGlobalHfSumAlgos.cc.

References m_hfOutputSumsPipe, L1GctHfEtSumsLut::numberOfLutTypes, L1GctProcessor::numOfBx(), lumiQTWidget::t, and groupFilesInBlocks::temp.

99  {
100  m_hfOutputSumsPipe.clear();
101  Pipeline<uint16_t> temp(numOfBx());
102  // Make one copy of the empty pipeline for each type of Hf lut
103  unsigned nTypes = (unsigned) L1GctHfEtSumsLut::numberOfLutTypes;
104  for (unsigned t=0; t<nTypes; ++t) {
106  }
107 }
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > m_hfOutputSumsPipe
int numOfBx() const
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.

References m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, and L1GctJetFinderBase::hfTowerSumsType::reset().

void L1GctGlobalHfSumAlgos::setupLuts ( const L1CaloEtScale scale)

Setup luts.

Definition at line 214 of file L1GctGlobalHfSumAlgos.cc.

References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, m_bitCountLuts, and m_etSumLuts.

Referenced by L1GlobalCaloTrigger::setupHfSumLuts().

215 {
216  // Replaces existing list of luts with a new one
217  while (!m_bitCountLuts.empty()) {
218  delete m_bitCountLuts.begin()->second;
219  m_bitCountLuts.erase(m_bitCountLuts.begin());
220  }
225 
226  while (!m_etSumLuts.empty()) {
227  delete m_etSumLuts.begin()->second;
228  m_etSumLuts.erase(m_etSumLuts.begin());
229  }
234 
235 }
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > m_etSumLuts
LUT for compression of HF feature bit counts to output format.
LUT for compression of HF Et sum to output format.
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > m_bitCountLuts
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.

Referenced by L1GctGlobalEnergyAlgos::L1GctGlobalEnergyAlgos(), and L1GctGlobalEnergyAlgos::setupOk().

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

Definition at line 152 of file L1GctGlobalHfSumAlgos.cc.

References L1GctProcessor::bxRel(), m_bitCountLuts, and m_hfOutputSumsPipe.

Referenced by process().

152  {
153  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut*>::const_iterator bclut = m_bitCountLuts.find(type);
154  if (bclut != m_bitCountLuts.end()) {
155  m_hfOutputSumsPipe[type].store( (*bclut->second)[value], bxRel() );
156  }
157 }
type
Definition: HCALResponse.h:22
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > m_hfOutputSumsPipe
int bxRel() const
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > m_bitCountLuts
void L1GctGlobalHfSumAlgos::storeEtSum ( L1GctHfEtSumsLut::hfLutType  type,
uint16_t  value 
)
private

Definition at line 160 of file L1GctGlobalHfSumAlgos.cc.

References L1GctProcessor::bxRel(), m_etSumLuts, and m_hfOutputSumsPipe.

Referenced by process().

160  {
161  std::map<L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut*>::const_iterator eslut = m_etSumLuts.find(type);
162  if (eslut != m_etSumLuts.end()) {
163  m_hfOutputSumsPipe[type].store( (*eslut->second)[value], bxRel() );
164  }
165 }
type
Definition: HCALResponse.h:22
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > m_hfOutputSumsPipe
int bxRel() const
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > m_etSumLuts

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.

71 {
72  os << "===L1GctGlobalHfSumAlgos===" << std::endl;
73  os << "WheelJetFpga* plus = " << fpga.m_plusWheelJetFpga << std::endl;
74  os << "Plus wheel inputs:" << std::endl;
75  os << "Bit counts ring 1: " << fpga.m_hfInputSumsPlusWheel.nOverThreshold0
76  << ", ring 2: " << fpga.m_hfInputSumsPlusWheel.nOverThreshold1 << std::endl;
77  os << "Et sums ring 1: " << fpga.m_hfInputSumsPlusWheel.etSum0
78  << ", ring 2: " << fpga.m_hfInputSumsPlusWheel.etSum1 << std::endl;
79  os << "WheelJetFpga* minus = " << fpga.m_minusWheelJetFpga << std::endl;
80  os << "Minus wheel inputs:" << std::endl;
81  os << "Bit counts ring 1: " << fpga.m_hfInputSumsMinusWheel.nOverThreshold0
82  << ", ring 2: " << fpga.m_hfInputSumsMinusWheel.nOverThreshold1 << std::endl;
83  os << "Et sums ring 1: " << fpga.m_hfInputSumsMinusWheel.etSum0
84  << ", ring 2: " << fpga.m_hfInputSumsMinusWheel.etSum1 << std::endl;
85 
86  int bxZero = -fpga.bxMin();
87  if (bxZero>=0 && bxZero<fpga.numOfBx()) {
88  os << "Output word " << std::hex << fpga.hfSumsWord().at(bxZero) << std::dec << std::endl;
89  }
90 
91  return os;
92 }
std::vector< unsigned > hfSumsWord() const
L1GctWheelJetFpga * m_minusWheelJetFpga
hfTowerSumsType m_hfInputSumsPlusWheel
int bxMin() const
Support for multiple beam crossing operation.
int numOfBx() const
hfTowerSumsType m_hfInputSumsMinusWheel
L1GctWheelJetFpga * m_plusWheelJetFpga
L1GctJetCount< kHfEtSumBits > etSum0
L1GctJetCount< kHfCountBits > nOverThreshold1
L1GctJetCount< kHfEtSumBits > etSum1
L1GctJetCount< kHfCountBits > nOverThreshold0

Member Data Documentation

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

Definition at line 83 of file L1GctGlobalHfSumAlgos.h.

Referenced by getBCLut(), setupLuts(), storeBitCount(), and ~L1GctGlobalHfSumAlgos().

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

Definition at line 84 of file L1GctGlobalHfSumAlgos.h.

Referenced by getESLut(), setupLuts(), storeEtSum(), and ~L1GctGlobalHfSumAlgos().

hfTowerSumsType L1GctGlobalHfSumAlgos::m_hfInputSumsMinusWheel
private

Definition at line 88 of file L1GctGlobalHfSumAlgos.h.

Referenced by fetchInput(), operator<<(), process(), and resetProcessor().

hfTowerSumsType L1GctGlobalHfSumAlgos::m_hfInputSumsPlusWheel
private

Definition at line 87 of file L1GctGlobalHfSumAlgos.h.

Referenced by fetchInput(), operator<<(), process(), and resetProcessor().

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

Definition at line 91 of file L1GctGlobalHfSumAlgos.h.

Referenced by hfSumsOutput(), resetPipelines(), storeBitCount(), and storeEtSum().

L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::m_minusWheelJetFpga
private
L1GctWheelJetFpga* L1GctGlobalHfSumAlgos::m_plusWheelJetFpga
private
bool L1GctGlobalHfSumAlgos::m_setupOk
private

Definition at line 93 of file L1GctGlobalHfSumAlgos.h.

Referenced by fetchInput(), L1GctGlobalHfSumAlgos(), process(), and setupOk().