#include <L1Trigger/GlobalCaloTrigger/interface/L1GctGlobalEnergyAlgos.h>
Public Types | |
typedef L1GctJetLeafCard::etComponentType | etComponentType |
typedef L1GctUnsignedInt < L1GctEtHad::kEtHadNBits > | etHadType |
typedef L1GctMet::etmiss_vec | etmiss_vec |
typedef L1GctMet::etMissPhiType | etMissPhiType |
typedef L1GctMet::etMissType | etMissType |
typedef L1GctUnsignedInt < L1GctEtTotal::kEtTotalNBits > | etTotalType |
Public Member Functions | |
virtual void | fetchInput () |
get input data from sources | |
std::vector< etHadType > | getEtHadColl () const |
return std::vector< output calibrated jet Et | |
std::vector< etMissType > | getEtMissColl () const |
Access to output quantities for all bunch crossings return output missing Et magnitude. | |
std::vector< etMissPhiType > | getEtMissPhiColl () const |
return output missing Et value | |
std::vector< etTotalType > | getEtSumColl () const |
return output total scalar Et | |
L1GctGlobalHfSumAlgos * | getHfSumProcessor () const |
provide access to hf sum processor | |
std::vector< etMissType > | getHtMissColl () const |
return output missing Ht magnitude | |
std::vector< etMissPhiType > | getHtMissPhiColl () const |
return output missing Ht value | |
std::vector< etTotalType > | getInputEtValPlusWheel () const |
return input Et value wheel 1 | |
std::vector< etTotalType > | getInputEtVlMinusWheel () const |
return input Et value wheel 0 | |
std::vector< etComponentType > | getInputExValPlusWheel () const |
return input Ex value wheel 1 | |
std::vector< etComponentType > | getInputExVlMinusWheel () const |
return input Ey value wheel 0 | |
std::vector< etComponentType > | getInputEyValPlusWheel () const |
return input Ex value wheel 1 | |
std::vector< etComponentType > | getInputEyVlMinusWheel () const |
return input Ey value wheel 0 | |
std::vector< etHadType > | getInputHtValPlusWheel () const |
return input Ht value wheel 1 | |
std::vector< etHadType > | getInputHtVlMinusWheel () const |
return input Ht value wheel 0 | |
std::vector< etComponentType > | getInputHxValPlusWheel () const |
return input Ht component values wheel 1 | |
std::vector< etComponentType > | getInputHxVlMinusWheel () const |
return input Ht value wheel 0 | |
std::vector< etComponentType > | getInputHyValPlusWheel () const |
std::vector< etComponentType > | getInputHyVlMinusWheel () const |
std::vector< L1GctJetCount< 3 > > | getInputJcValPlusWheel () const |
return input jet count (number 0-11) wheel 1 | |
std::vector< L1GctJetCount< 3 > > | getInputJcVlMinusWheel () const |
return input jet count (number 0-11) wheel 0 | |
L1GctJetCount< 5 > | getJetCount (const unsigned jcnum, const unsigned bx) const |
return a particular jet count | |
std::vector< std::vector < unsigned > > | getJetCountValuesColl () const |
return vector of jet count values | |
L1GctWheelEnergyFpga * | getMinusWheelFpga () const |
provide access to input pointer, Wheel Energy Fpga 0 | |
L1GctWheelJetFpga * | getMinusWheelJetFpga () const |
provide access to input pointer, Wheel Jet Fpga 0 | |
L1GctWheelEnergyFpga * | getPlusWheelFpga () const |
provide access to input pointer, Wheel Energy Fpga 1 | |
L1GctWheelJetFpga * | getPlusWheelJetFpga () const |
provide access to input pointer, Wheel Jet Fpga 1 | |
L1GctGlobalEnergyAlgos (std::vector< L1GctWheelEnergyFpga * > WheelFpga, std::vector< L1GctWheelJetFpga * > WheelJetFpga) | |
Constructor needs the Wheel card Fpgas set up first. | |
virtual void | process () |
process the data, fill output buffers | |
void | reset () |
clear internal buffers | |
void | setBxRange (const int firstBx, const int numberOfBx) |
define the bunch crossing range to process | |
void | setInputWheelEt (unsigned wheel, unsigned energy, bool overflow) |
set input Et value per wheel (0 or 1); not used in normal operation | |
void | setInputWheelEx (unsigned wheel, int energy, bool overflow) |
set input Ex value per wheel (0 or 1); not used in normal operation | |
void | setInputWheelEy (unsigned wheel, int energy, bool overflow) |
set input Ey value per wheel (0 or 1); not used in normal operation | |
void | setInputWheelHt (unsigned wheel, unsigned energy, bool overflow) |
set input Ht value per wheel (0 or 1); not used in normal operation | |
void | setInputWheelHx (unsigned wheel, unsigned energy, bool overflow) |
set input Ht component values per wheel (0 or 1); not used in normal operation | |
void | setInputWheelHy (unsigned wheel, unsigned energy, bool overflow) |
void | setInputWheelJc (unsigned wheel, unsigned jcnum, unsigned count) |
set input jet count (number 0-11) per wheel (0 or 1); not used in normal operation | |
void | setNextBx (const int bx) |
partially clear buffers | |
bool | setupOk () const |
check setup | |
~L1GctGlobalEnergyAlgos () | |
Destructor. | |
Static Public Attributes | |
static const unsigned int | N_JET_COUNTERS_MAX = 12 |
static const unsigned int | N_JET_COUNTERS_USED = L1GctWheelJetFpga::N_JET_COUNTERS |
Number of jet counter per wheel. | |
Protected Member Functions | |
virtual void | resetPipelines () |
virtual void | resetProcessor () |
Separate reset methods for the processor itself and any data stored in pipelines. | |
virtual void | setupObjects () |
Initialise inputs with null objects for the correct bunch crossing if required. | |
Private Member Functions | |
std::vector< unsigned > | jetCountValues (const int bx) const |
Private Attributes | |
Pipeline< etTotalType > | m_etValPlusPipe |
etTotalType | m_etValPlusWheel |
Pipeline< etTotalType > | m_etVlMinusPipe |
etTotalType | m_etVlMinusWheel |
Pipeline< etComponentType > | m_exValPlusPipe |
etComponentType | m_exValPlusWheel |
Pipeline< etComponentType > | m_exVlMinusPipe |
etComponentType | m_exVlMinusWheel |
Pipeline< etComponentType > | m_eyValPlusPipe |
etComponentType | m_eyValPlusWheel |
Pipeline< etComponentType > | m_eyVlMinusPipe |
etComponentType | m_eyVlMinusWheel |
L1GctGlobalHfSumAlgos * | m_hfSumProcessor |
Pipeline< etHadType > | m_htValPlusPipe |
etHadType | m_htValPlusWheel |
Pipeline< etHadType > | m_htVlMinusPipe |
etHadType | m_htVlMinusWheel |
Pipeline< etComponentType > | m_hxValPlusPipe |
etComponentType | m_hxValPlusWheel |
Pipeline< etComponentType > | m_hxVlMinusPipe |
etComponentType | m_hxVlMinusWheel |
Pipeline< etComponentType > | m_hyValPlusPipe |
etComponentType | m_hyValPlusWheel |
Pipeline< etComponentType > | m_hyVlMinusPipe |
etComponentType | m_hyVlMinusWheel |
Pipeline< L1GctJetCount< 3 > > | m_jcValPlusPipe |
std::vector< L1GctJetCount< 3 > > | m_jcValPlusWheel |
Pipeline< L1GctJetCount< 3 > > | m_jcVlMinusPipe |
std::vector< L1GctJetCount< 3 > > | m_jcVlMinusWheel |
L1GctMet | m_metComponents |
L1GctMet | m_mhtComponents |
L1GctWheelEnergyFpga * | m_minusWheelFpga |
L1GctWheelJetFpga * | m_minusWheelJetFpga |
Pipeline< etHadType > | m_outputEtHad |
Pipeline< etMissType > | m_outputEtMiss |
Pipeline< etMissPhiType > | m_outputEtMissPhi |
Pipeline< etTotalType > | m_outputEtSum |
Pipeline< etMissType > | m_outputHtMiss |
Pipeline< etMissPhiType > | m_outputHtMissPhi |
Pipeline< L1GctJetCount< 5 > > | m_outputJetCounts |
L1GctWheelEnergyFpga * | m_plusWheelFpga |
L1GctWheelJetFpga * | m_plusWheelJetFpga |
bool | m_setupOk |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctGlobalEnergyAlgos &fpga) |
Overload << operator. |
This class carries out the final stage of summing of total Et, missing Et components Ex and Ey, calibrated jet energy Ht, and jet counts. It converts the final missing Ex and Ey sums to magnitude and direction. The inputs come from the two Wheel cards and the outputs are sent to the Global Trigger.
Definition at line 35 of file L1GctGlobalEnergyAlgos.h.
Definition at line 44 of file L1GctGlobalEnergyAlgos.h.
typedef L1GctUnsignedInt< L1GctEtHad::kEtHadNBits > L1GctGlobalEnergyAlgos::etHadType |
Definition at line 40 of file L1GctGlobalEnergyAlgos.h.
Definition at line 43 of file L1GctGlobalEnergyAlgos.h.
Definition at line 42 of file L1GctGlobalEnergyAlgos.h.
Definition at line 41 of file L1GctGlobalEnergyAlgos.h.
typedef L1GctUnsignedInt< L1GctEtTotal::kEtTotalNBits > L1GctGlobalEnergyAlgos::etTotalType |
Definition at line 39 of file L1GctGlobalEnergyAlgos.h.
L1GctGlobalEnergyAlgos::L1GctGlobalEnergyAlgos | ( | std::vector< L1GctWheelEnergyFpga * > | WheelFpga, | |
std::vector< L1GctWheelJetFpga * > | WheelJetFpga | |||
) |
Constructor needs the Wheel card Fpgas set up first.
L1GctGlobalEnergyAlgos::~L1GctGlobalEnergyAlgos | ( | ) |
Destructor.
Definition at line 119 of file L1GctGlobalEnergyAlgos.cc.
References m_hfSumProcessor.
00120 { 00121 if (m_hfSumProcessor != 0) { 00122 delete m_hfSumProcessor; 00123 } 00124 }
void L1GctGlobalEnergyAlgos::fetchInput | ( | ) | [virtual] |
get input data from sources
Implements L1GctProcessor.
Definition at line 229 of file L1GctGlobalEnergyAlgos.cc.
References L1GctGlobalHfSumAlgos::fetchInput(), L1GctWheelEnergyFpga::getOutputEt(), L1GctWheelEnergyFpga::getOutputEx(), L1GctWheelEnergyFpga::getOutputEy(), L1GctWheelJetFpga::getOutputHt(), L1GctWheelJetFpga::getOutputHx(), L1GctWheelJetFpga::getOutputHy(), L1GctWheelJetFpga::getOutputJc(), i, m_etValPlusWheel, m_etVlMinusWheel, m_exValPlusWheel, m_exVlMinusWheel, m_eyValPlusWheel, m_eyVlMinusWheel, m_hfSumProcessor, m_htValPlusWheel, m_htVlMinusWheel, m_hxValPlusWheel, m_hxVlMinusWheel, m_hyValPlusWheel, m_hyVlMinusWheel, m_jcValPlusWheel, m_jcVlMinusWheel, m_minusWheelFpga, m_minusWheelJetFpga, m_plusWheelFpga, m_plusWheelJetFpga, m_setupOk, and N_JET_COUNTERS_USED.
Referenced by L1GlobalCaloTrigger::bxProcess().
00229 { 00230 if (m_setupOk) { 00231 // input from WheelEnergyFpgas 00232 m_exValPlusWheel = m_plusWheelFpga->getOutputEx(); 00233 m_eyValPlusWheel = m_plusWheelFpga->getOutputEy(); 00234 m_etValPlusWheel = m_plusWheelFpga->getOutputEt(); 00235 m_htValPlusWheel = m_plusWheelJetFpga->getOutputHt(); 00236 m_hxValPlusWheel = m_plusWheelJetFpga->getOutputHx(); 00237 m_hyValPlusWheel = m_plusWheelJetFpga->getOutputHy(); 00238 00239 m_exVlMinusWheel = m_minusWheelFpga->getOutputEx(); 00240 m_eyVlMinusWheel = m_minusWheelFpga->getOutputEy(); 00241 m_etVlMinusWheel = m_minusWheelFpga->getOutputEt(); 00242 m_htVlMinusWheel = m_minusWheelJetFpga->getOutputHt(); 00243 m_hxVlMinusWheel = m_minusWheelJetFpga->getOutputHx(); 00244 m_hyVlMinusWheel = m_minusWheelJetFpga->getOutputHy(); 00245 00246 // 00247 for (unsigned i=0; i<N_JET_COUNTERS_USED; i++) { 00248 m_jcValPlusWheel.at(i) = m_plusWheelJetFpga->getOutputJc(i); 00249 m_jcVlMinusWheel.at(i) = m_minusWheelJetFpga->getOutputJc(i); 00250 } 00251 00252 m_hfSumProcessor->fetchInput(); 00253 } 00254 }
std::vector< etHadType > L1GctGlobalEnergyAlgos::getEtHadColl | ( | ) | const [inline] |
return std::vector< output calibrated jet Et
Definition at line 135 of file L1GctGlobalEnergyAlgos.h.
References m_outputEtHad.
Referenced by L1GlobalCaloTrigger::getEtHadCollection().
00135 { return m_outputEtHad.contents; }
std::vector< etMissType > L1GctGlobalEnergyAlgos::getEtMissColl | ( | ) | const [inline] |
Access to output quantities for all bunch crossings return output missing Et magnitude.
Definition at line 129 of file L1GctGlobalEnergyAlgos.h.
References m_outputEtMiss.
Referenced by L1GlobalCaloTrigger::getEtMissCollection().
00129 { return m_outputEtMiss.contents; }
std::vector< etMissPhiType > L1GctGlobalEnergyAlgos::getEtMissPhiColl | ( | ) | const [inline] |
return output missing Et value
Definition at line 131 of file L1GctGlobalEnergyAlgos.h.
References m_outputEtMissPhi.
Referenced by L1GlobalCaloTrigger::getEtMissCollection().
00131 { return m_outputEtMissPhi.contents; }
std::vector< etTotalType > L1GctGlobalEnergyAlgos::getEtSumColl | ( | ) | const [inline] |
return output total scalar Et
Definition at line 133 of file L1GctGlobalEnergyAlgos.h.
References m_outputEtSum.
Referenced by L1GlobalCaloTrigger::getEtSumCollection().
00133 { return m_outputEtSum.contents; }
L1GctGlobalHfSumAlgos* L1GctGlobalEnergyAlgos::getHfSumProcessor | ( | ) | const [inline] |
provide access to hf sum processor
Definition at line 98 of file L1GctGlobalEnergyAlgos.h.
References m_hfSumProcessor.
Referenced by L1GctPrintLuts::beginJob(), and L1GlobalCaloTrigger::getHfSumProcessor().
00098 { return m_hfSumProcessor; }
std::vector< etMissType > L1GctGlobalEnergyAlgos::getHtMissColl | ( | ) | const [inline] |
return output missing Ht magnitude
Definition at line 137 of file L1GctGlobalEnergyAlgos.h.
References m_outputHtMiss.
Referenced by L1GlobalCaloTrigger::getHtMissCollection().
00137 { return m_outputHtMiss.contents; }
std::vector< etMissPhiType > L1GctGlobalEnergyAlgos::getHtMissPhiColl | ( | ) | const [inline] |
return output missing Ht value
Definition at line 139 of file L1GctGlobalEnergyAlgos.h.
References m_outputHtMissPhi.
Referenced by L1GlobalCaloTrigger::getHtMissCollection().
00139 { return m_outputHtMissPhi.contents; }
std::vector< etTotalType > L1GctGlobalEnergyAlgos::getInputEtValPlusWheel | ( | ) | const [inline] |
return input Et value wheel 1
Definition at line 109 of file L1GctGlobalEnergyAlgos.h.
References m_etValPlusPipe.
00109 { return m_etValPlusPipe.contents; }
std::vector< etTotalType > L1GctGlobalEnergyAlgos::getInputEtVlMinusWheel | ( | ) | const [inline] |
return input Et value wheel 0
Definition at line 116 of file L1GctGlobalEnergyAlgos.h.
References m_etVlMinusPipe.
00116 { return m_etVlMinusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputExValPlusWheel | ( | ) | const [inline] |
return input Ex value wheel 1
Definition at line 101 of file L1GctGlobalEnergyAlgos.h.
References m_exValPlusPipe.
00101 { return m_exValPlusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputExVlMinusWheel | ( | ) | const [inline] |
return input Ey value wheel 0
Definition at line 105 of file L1GctGlobalEnergyAlgos.h.
References m_exVlMinusPipe.
00105 { return m_exVlMinusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputEyValPlusWheel | ( | ) | const [inline] |
return input Ex value wheel 1
Definition at line 103 of file L1GctGlobalEnergyAlgos.h.
References m_eyValPlusPipe.
00103 { return m_eyValPlusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputEyVlMinusWheel | ( | ) | const [inline] |
return input Ey value wheel 0
Definition at line 107 of file L1GctGlobalEnergyAlgos.h.
References m_eyVlMinusPipe.
00107 { return m_eyVlMinusPipe.contents; }
std::vector< etHadType > L1GctGlobalEnergyAlgos::getInputHtValPlusWheel | ( | ) | const [inline] |
return input Ht value wheel 1
Definition at line 111 of file L1GctGlobalEnergyAlgos.h.
References m_htValPlusPipe.
00111 { return m_htValPlusPipe.contents; }
std::vector< etHadType > L1GctGlobalEnergyAlgos::getInputHtVlMinusWheel | ( | ) | const [inline] |
return input Ht value wheel 0
Definition at line 118 of file L1GctGlobalEnergyAlgos.h.
References m_htVlMinusPipe.
00118 { return m_htVlMinusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputHxValPlusWheel | ( | ) | const [inline] |
return input Ht component values wheel 1
Definition at line 113 of file L1GctGlobalEnergyAlgos.h.
References m_hxValPlusPipe.
00113 { return m_hxValPlusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputHxVlMinusWheel | ( | ) | const [inline] |
return input Ht value wheel 0
Definition at line 120 of file L1GctGlobalEnergyAlgos.h.
References m_hxVlMinusPipe.
00120 { return m_hxVlMinusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputHyValPlusWheel | ( | ) | const [inline] |
Definition at line 114 of file L1GctGlobalEnergyAlgos.h.
References m_hyValPlusPipe.
00114 { return m_hyValPlusPipe.contents; }
std::vector< etComponentType > L1GctGlobalEnergyAlgos::getInputHyVlMinusWheel | ( | ) | const [inline] |
Definition at line 121 of file L1GctGlobalEnergyAlgos.h.
References m_hyVlMinusPipe.
00121 { return m_hyVlMinusPipe.contents; }
std::vector< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::getInputJcValPlusWheel | ( | ) | const [inline] |
return input jet count (number 0-11) wheel 1
Definition at line 123 of file L1GctGlobalEnergyAlgos.h.
References m_jcValPlusPipe.
00123 {return m_jcValPlusPipe.contents; }
std::vector< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::getInputJcVlMinusWheel | ( | ) | const [inline] |
return input jet count (number 0-11) wheel 0
Definition at line 125 of file L1GctGlobalEnergyAlgos.h.
References m_jcVlMinusPipe.
00125 {return m_jcVlMinusPipe.contents; }
L1GctJetCount<5> L1GctGlobalEnergyAlgos::getJetCount | ( | const unsigned | jcnum, | |
const unsigned | bx | |||
) | const [inline] |
return a particular jet count
Definition at line 142 of file L1GctGlobalEnergyAlgos.h.
References L1GctProcessor::bxMin(), m_outputJetCounts, and N_JET_COUNTERS_MAX.
00143 { return (m_outputJetCounts.contents.at((bx-bxMin())*N_JET_COUNTERS_MAX + jcnum) ); }
std::vector< std::vector< unsigned > > L1GctGlobalEnergyAlgos::getJetCountValuesColl | ( | ) | const |
return vector of jet count values
Definition at line 338 of file L1GctGlobalEnergyAlgos.cc.
References i, jetCountValues(), L1GctProcessor::numOfBx(), and HLT_VtxMuL3::result.
Referenced by L1GlobalCaloTrigger::getJetCountsCollection().
00338 { 00339 std::vector< std::vector<unsigned> > result(numOfBx()); 00340 for (int i=0; i<numOfBx(); i++) { 00341 result.at(i) = jetCountValues(i); 00342 } 00343 return result; 00344 }
L1GctWheelEnergyFpga* L1GctGlobalEnergyAlgos::getMinusWheelFpga | ( | ) | const [inline] |
provide access to input pointer, Wheel Energy Fpga 0
Definition at line 92 of file L1GctGlobalEnergyAlgos.h.
References m_minusWheelFpga.
00092 { return m_minusWheelFpga; }
L1GctWheelJetFpga* L1GctGlobalEnergyAlgos::getMinusWheelJetFpga | ( | ) | const [inline] |
provide access to input pointer, Wheel Jet Fpga 0
Definition at line 96 of file L1GctGlobalEnergyAlgos.h.
References m_minusWheelJetFpga.
00096 { return m_minusWheelJetFpga; }
L1GctWheelEnergyFpga* L1GctGlobalEnergyAlgos::getPlusWheelFpga | ( | ) | const [inline] |
provide access to input pointer, Wheel Energy Fpga 1
Definition at line 90 of file L1GctGlobalEnergyAlgos.h.
References m_plusWheelFpga.
00090 { return m_plusWheelFpga; }
L1GctWheelJetFpga* L1GctGlobalEnergyAlgos::getPlusWheelJetFpga | ( | ) | const [inline] |
provide access to input pointer, Wheel Jet Fpga 1
Definition at line 94 of file L1GctGlobalEnergyAlgos.h.
References m_plusWheelJetFpga.
00094 { return m_plusWheelJetFpga; }
std::vector< unsigned > L1GctGlobalEnergyAlgos::jetCountValues | ( | const int | bx | ) | const [private] |
Definition at line 346 of file L1GctGlobalEnergyAlgos.cc.
References m_outputJetCounts, and N_JET_COUNTERS_MAX.
Referenced by getJetCountValuesColl().
00346 { 00347 std::vector<unsigned> jetCountValues(N_JET_COUNTERS_MAX); 00348 int pos = bx*N_JET_COUNTERS_MAX; 00349 for (unsigned jc=0; jc<N_JET_COUNTERS_MAX; jc++) { 00350 jetCountValues.at(jc) = m_outputJetCounts.contents.at(pos++).value(); 00351 } 00352 return jetCountValues; 00353 }
void L1GctGlobalEnergyAlgos::process | ( | ) | [virtual] |
process the data, fill output buffers
Implements L1GctProcessor.
Definition at line 258 of file L1GctGlobalEnergyAlgos.cc.
References L1GctProcessor::bxRel(), i, m_etValPlusPipe, m_etValPlusWheel, m_etVlMinusPipe, m_etVlMinusWheel, m_exValPlusPipe, m_exValPlusWheel, m_exVlMinusPipe, m_exVlMinusWheel, m_eyValPlusPipe, m_eyValPlusWheel, m_eyVlMinusPipe, m_eyVlMinusWheel, m_hfSumProcessor, m_htValPlusPipe, m_htValPlusWheel, m_htVlMinusPipe, m_htVlMinusWheel, m_hxValPlusPipe, m_hxValPlusWheel, m_hxVlMinusPipe, m_hxVlMinusWheel, m_hyValPlusPipe, m_hyValPlusWheel, m_hyVlMinusPipe, m_hyVlMinusWheel, m_jcValPlusPipe, m_jcValPlusWheel, m_jcVlMinusPipe, m_jcVlMinusWheel, m_metComponents, m_mhtComponents, m_outputEtHad, m_outputEtMiss, m_outputEtMissPhi, m_outputEtSum, m_outputHtMiss, m_outputHtMissPhi, m_outputJetCounts, m_setupOk, L1GctMet::etmiss_vec::mag, L1GctMet::metVector(), N_JET_COUNTERS_MAX, N_JET_COUNTERS_USED, L1GctUnsignedInt< nBits >::overFlow(), L1GctMet::etmiss_vec::phi, L1GctGlobalHfSumAlgos::process(), L1GctMet::setComponents(), L1GctUnsignedInt< nBits >::setValue(), pyDBSRunClass::temp, and L1GctUnsignedInt< nBits >::value().
Referenced by L1GlobalCaloTrigger::bxProcess().
00259 { 00260 if (m_setupOk) { 00261 // Store the inputs in pipelines 00262 m_exValPlusPipe.store(m_exValPlusWheel, bxRel()); 00263 m_eyValPlusPipe.store(m_eyValPlusWheel, bxRel()); 00264 m_etValPlusPipe.store(m_etValPlusWheel, bxRel()); 00265 m_htValPlusPipe.store(m_htValPlusWheel, bxRel()); 00266 m_hxValPlusPipe.store(m_hxValPlusWheel, bxRel()); 00267 m_hyValPlusPipe.store(m_hyValPlusWheel, bxRel()); 00268 00269 m_exVlMinusPipe.store(m_exVlMinusWheel, bxRel()); 00270 m_eyVlMinusPipe.store(m_eyVlMinusWheel, bxRel()); 00271 m_etVlMinusPipe.store(m_etVlMinusWheel, bxRel()); 00272 m_htVlMinusPipe.store(m_htVlMinusWheel, bxRel()); 00273 m_hxVlMinusPipe.store(m_hxVlMinusWheel, bxRel()); 00274 m_hyVlMinusPipe.store(m_hyVlMinusWheel, bxRel()); 00275 00276 m_jcValPlusPipe.store(m_jcValPlusWheel, bxRel()); 00277 m_jcVlMinusPipe.store(m_jcVlMinusWheel, bxRel()); 00278 00279 // Process to produce the outputs 00280 etComponentType ExSum, EySum; 00281 etmiss_vec EtMissing, HtMissing; 00282 00283 // 00284 //----------------------------------------------------------------------------- 00285 // Form the Ex and Ey sums 00286 ExSum = m_exValPlusWheel + m_exVlMinusWheel; 00287 EySum = m_eyValPlusWheel + m_eyVlMinusWheel; 00288 // Execute the missing Et algorithm 00289 m_metComponents.setComponents(-ExSum, -EySum); 00290 EtMissing = m_metComponents.metVector(); 00291 00292 m_outputEtMiss.store (EtMissing.mag, bxRel()); 00293 m_outputEtMissPhi.store (EtMissing.phi, bxRel()); 00294 00295 // 00296 //----------------------------------------------------------------------------- 00297 // Form the Hx and Hy sums 00298 ExSum = m_hxValPlusWheel + m_hxVlMinusWheel; 00299 EySum = m_hyValPlusWheel + m_hyVlMinusWheel; 00300 // Execute the missing Et algorithm 00301 m_mhtComponents.setComponents(-ExSum, -EySum); 00302 HtMissing = m_mhtComponents.metVector(); 00303 00304 // Store 6 bits each of magnitude and phi angle. 00305 // Note EtMissPhi is 7 bits so we keep the range (0-70) 00306 // and lose the LSB. 00307 static const unsigned MAX_HT_VALUE = 0x3f; 00308 static const unsigned PHI_HT_MASK = 0x7e; 00309 if ( (HtMissing.mag.value() > MAX_HT_VALUE) || (HtMissing.mag.overFlow()) ) { 00310 HtMissing.mag.setValue(MAX_HT_VALUE); 00311 } 00312 HtMissing.phi.setValue(HtMissing.phi.value() & PHI_HT_MASK); 00313 00314 m_outputHtMiss.store (HtMissing.mag, bxRel()); 00315 m_outputHtMissPhi.store (HtMissing.phi, bxRel()); 00316 00317 // 00318 //----------------------------------------------------------------------------- 00319 // Form the Et and Ht sums 00320 m_outputEtSum.store (m_etValPlusWheel + m_etVlMinusWheel, bxRel()); 00321 m_outputEtHad.store (m_htValPlusWheel + m_htVlMinusWheel, bxRel()); 00322 00323 // 00324 //----------------------------------------------------------------------------- 00325 // Add the jet counts. 00326 std::vector<L1GctJetCount<5> > temp(N_JET_COUNTERS_MAX); 00327 for (unsigned i=0; i<N_JET_COUNTERS_USED; i++) { 00328 temp.at(i) = 00329 L1GctJetCount<5>(m_jcValPlusWheel.at(i)) + 00330 L1GctJetCount<5>(m_jcVlMinusWheel.at(i)); 00331 } 00332 m_outputJetCounts.store(temp, bxRel()); 00333 00334 m_hfSumProcessor->process(); 00335 } 00336 }
clear internal buffers
clear buffers
Reimplemented from L1GctProcessor.
Definition at line 166 of file L1GctGlobalEnergyAlgos.cc.
References m_hfSumProcessor, and L1GctProcessor::reset().
Referenced by L1GlobalCaloTrigger::reset().
00166 { 00167 L1GctProcessor::reset(); 00168 m_hfSumProcessor->reset(); 00169 }
void L1GctGlobalEnergyAlgos::resetPipelines | ( | ) | [protected, virtual] |
Implements L1GctProcessor.
Definition at line 201 of file L1GctGlobalEnergyAlgos.cc.
References m_etValPlusPipe, m_etVlMinusPipe, m_exValPlusPipe, m_exVlMinusPipe, m_eyValPlusPipe, m_eyVlMinusPipe, m_htValPlusPipe, m_htVlMinusPipe, m_hxValPlusPipe, m_hxVlMinusPipe, m_hyValPlusPipe, m_hyVlMinusPipe, m_jcValPlusPipe, m_jcVlMinusPipe, m_outputEtHad, m_outputEtMiss, m_outputEtMissPhi, m_outputEtSum, m_outputHtMiss, m_outputHtMissPhi, m_outputJetCounts, and L1GctProcessor::numOfBx().
00201 { 00202 m_outputEtMiss.reset (numOfBx()); 00203 m_outputEtMissPhi.reset (numOfBx()); 00204 m_outputEtSum.reset (numOfBx()); 00205 m_outputEtHad.reset (numOfBx()); 00206 m_outputHtMiss.reset (numOfBx()); 00207 m_outputHtMissPhi.reset (numOfBx()); 00208 m_outputJetCounts.reset (numOfBx()); 00209 00210 m_exValPlusPipe.reset (numOfBx()); 00211 m_eyValPlusPipe.reset (numOfBx()); 00212 m_etValPlusPipe.reset (numOfBx()); 00213 m_htValPlusPipe.reset (numOfBx()); 00214 m_hxValPlusPipe.reset (numOfBx()); 00215 m_hyValPlusPipe.reset (numOfBx()); 00216 00217 m_exVlMinusPipe.reset (numOfBx()); 00218 m_eyVlMinusPipe.reset (numOfBx()); 00219 m_etVlMinusPipe.reset (numOfBx()); 00220 m_htVlMinusPipe.reset (numOfBx()); 00221 m_hxVlMinusPipe.reset (numOfBx()); 00222 m_hyVlMinusPipe.reset (numOfBx()); 00223 00224 m_jcValPlusPipe.reset (numOfBx()); 00225 m_jcVlMinusPipe.reset (numOfBx()); 00226 00227 }
void L1GctGlobalEnergyAlgos::resetProcessor | ( | ) | [protected, virtual] |
Separate reset methods for the processor itself and any data stored in pipelines.
Implements L1GctProcessor.
Definition at line 182 of file L1GctGlobalEnergyAlgos.cc.
References i, m_etValPlusWheel, m_etVlMinusWheel, m_exValPlusWheel, m_exVlMinusWheel, m_eyValPlusWheel, m_eyVlMinusWheel, m_htValPlusWheel, m_htVlMinusWheel, m_hxValPlusWheel, m_hxVlMinusWheel, m_hyValPlusWheel, m_hyVlMinusWheel, m_jcValPlusWheel, m_jcVlMinusWheel, N_JET_COUNTERS_USED, L1GctUnsignedInt< nBits >::reset(), and L1GctTwosComplement< nBits >::reset().
00182 { 00183 m_exValPlusWheel.reset(); 00184 m_exVlMinusWheel.reset(); 00185 m_eyValPlusWheel.reset(); 00186 m_eyVlMinusWheel.reset(); 00187 m_etValPlusWheel.reset(); 00188 m_etVlMinusWheel.reset(); 00189 m_htValPlusWheel.reset(); 00190 m_htVlMinusWheel.reset(); 00191 m_hxValPlusWheel.reset(); 00192 m_hxVlMinusWheel.reset(); 00193 m_hyValPlusWheel.reset(); 00194 m_hyVlMinusWheel.reset(); 00195 for (unsigned i=0; i<N_JET_COUNTERS_USED; i++) { 00196 m_jcValPlusWheel.at(i).reset(); 00197 m_jcVlMinusWheel.at(i).reset(); 00198 } 00199 }
define the bunch crossing range to process
partially clear buffers
Reimplemented from L1GctProcessor.
Definition at line 172 of file L1GctGlobalEnergyAlgos.cc.
References m_hfSumProcessor, and L1GctProcessor::setBxRange().
Referenced by L1GlobalCaloTrigger::bxSetup().
00172 { 00173 L1GctProcessor::setBxRange(firstBx, numberOfBx); 00174 m_hfSumProcessor->setBxRange(firstBx, numberOfBx); 00175 }
set input Et value per wheel (0 or 1); not used in normal operation
Definition at line 396 of file L1GctGlobalEnergyAlgos.cc.
References m_etValPlusWheel, m_etVlMinusWheel, L1GctUnsignedInt< nBits >::setOverFlow(), and L1GctUnsignedInt< nBits >::setValue().
00397 { 00398 if (wheel==0) { 00399 m_etValPlusWheel.setValue(energy); 00400 m_etValPlusWheel.setOverFlow(overflow); 00401 } else if (wheel==1) { 00402 m_etVlMinusWheel.setValue(energy); 00403 m_etVlMinusWheel.setOverFlow(overflow); 00404 } 00405 }
set input Ex value per wheel (0 or 1); not used in normal operation
Definition at line 368 of file L1GctGlobalEnergyAlgos.cc.
References m_exValPlusWheel, m_exVlMinusWheel, L1GctTwosComplement< nBits >::setOverFlow(), and L1GctTwosComplement< nBits >::setValue().
00369 { 00370 if (wheel==0) { 00371 m_exValPlusWheel.setValue(energy); 00372 m_exValPlusWheel.setOverFlow(overflow); 00373 } else if (wheel==1) { 00374 m_exVlMinusWheel.setValue(energy); 00375 m_exVlMinusWheel.setOverFlow(overflow); 00376 } 00377 }
set input Ey value per wheel (0 or 1); not used in normal operation
Definition at line 382 of file L1GctGlobalEnergyAlgos.cc.
References m_eyValPlusWheel, m_eyVlMinusWheel, L1GctTwosComplement< nBits >::setOverFlow(), and L1GctTwosComplement< nBits >::setValue().
00383 { 00384 if (wheel==0) { 00385 m_eyValPlusWheel.setValue(energy); 00386 m_eyValPlusWheel.setOverFlow(overflow); 00387 } else if (wheel==1) { 00388 m_eyVlMinusWheel.setValue(energy); 00389 m_eyVlMinusWheel.setOverFlow(overflow); 00390 } 00391 }
set input Ht value per wheel (0 or 1); not used in normal operation
Definition at line 410 of file L1GctGlobalEnergyAlgos.cc.
References m_htValPlusWheel, m_htVlMinusWheel, L1GctUnsignedInt< nBits >::setOverFlow(), and L1GctUnsignedInt< nBits >::setValue().
00411 { 00412 if (wheel==0) { 00413 m_htValPlusWheel.setValue(energy); 00414 m_htValPlusWheel.setOverFlow(overflow); 00415 } else if (wheel==1) { 00416 m_htVlMinusWheel.setValue(energy); 00417 m_htVlMinusWheel.setOverFlow(overflow); 00418 } 00419 }
set input Ht component values per wheel (0 or 1); not used in normal operation
Definition at line 425 of file L1GctGlobalEnergyAlgos.cc.
References m_hxValPlusWheel, m_hxVlMinusWheel, L1GctTwosComplement< nBits >::setOverFlow(), and L1GctTwosComplement< nBits >::setValue().
00426 { 00427 if (wheel==0) { 00428 m_hxValPlusWheel.setValue(energy); 00429 m_hxValPlusWheel.setOverFlow(overflow); 00430 } else if (wheel==1) { 00431 m_hxVlMinusWheel.setValue(energy); 00432 m_hxVlMinusWheel.setOverFlow(overflow); 00433 } 00434 }
Definition at line 440 of file L1GctGlobalEnergyAlgos.cc.
References m_hyValPlusWheel, m_hyVlMinusWheel, L1GctTwosComplement< nBits >::setOverFlow(), and L1GctTwosComplement< nBits >::setValue().
00441 { 00442 if (wheel==0) { 00443 m_hyValPlusWheel.setValue(energy); 00444 m_hyValPlusWheel.setOverFlow(overflow); 00445 } else if (wheel==1) { 00446 m_hyVlMinusWheel.setValue(energy); 00447 m_hyVlMinusWheel.setOverFlow(overflow); 00448 } 00449 }
void L1GctGlobalEnergyAlgos::setInputWheelJc | ( | unsigned | wheel, | |
unsigned | jcnum, | |||
unsigned | count | |||
) |
set input jet count (number 0-11) per wheel (0 or 1); not used in normal operation
Definition at line 455 of file L1GctGlobalEnergyAlgos.cc.
References m_jcValPlusWheel, m_jcVlMinusWheel, and N_JET_COUNTERS_USED.
00456 { 00457 if (jcnum<N_JET_COUNTERS_USED) { 00458 if (wheel==0) { 00459 m_jcValPlusWheel.at(jcnum).setValue(count); 00460 } else if (wheel==1) { 00461 m_jcVlMinusWheel.at(jcnum).setValue(count); 00462 } 00463 } 00464 }
partially clear buffers
Reimplemented from L1GctProcessor.
Definition at line 177 of file L1GctGlobalEnergyAlgos.cc.
References m_hfSumProcessor, and L1GctProcessor::setNextBx().
Referenced by L1GlobalCaloTrigger::bxReset().
00177 { 00178 L1GctProcessor::setNextBx(bx); 00179 m_hfSumProcessor->setNextBx(bx); 00180 }
virtual void L1GctGlobalEnergyAlgos::setupObjects | ( | ) | [inline, protected, virtual] |
Initialise inputs with null objects for the correct bunch crossing if required.
Implements L1GctProcessor.
Definition at line 157 of file L1GctGlobalEnergyAlgos.h.
bool L1GctGlobalEnergyAlgos::setupOk | ( | ) | const |
check setup
Reimplemented from L1GctProcessor.
Definition at line 358 of file L1GctGlobalEnergyAlgos.cc.
References m_hfSumProcessor, m_setupOk, and L1GctGlobalHfSumAlgos::setupOk().
Referenced by L1GlobalCaloTrigger::setupOk().
00358 { 00359 return (m_setupOk && 00360 m_hfSumProcessor != 0 && 00361 m_hfSumProcessor->setupOk()); 00362 }
std::ostream& operator<< | ( | std::ostream & | os, | |
const L1GctGlobalEnergyAlgos & | fpga | |||
) | [friend] |
Overload << operator.
Pipeline< etTotalType > L1GctGlobalEnergyAlgos::m_etValPlusPipe [private] |
Definition at line 194 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputEtValPlusWheel(), process(), and resetPipelines().
Definition at line 176 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEt().
Pipeline< etTotalType > L1GctGlobalEnergyAlgos::m_etVlMinusPipe [private] |
Definition at line 201 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputEtVlMinusWheel(), process(), and resetPipelines().
Definition at line 183 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEt().
Definition at line 192 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputExValPlusWheel(), process(), and resetPipelines().
Definition at line 174 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEx().
Definition at line 199 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputExVlMinusWheel(), process(), and resetPipelines().
Definition at line 181 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEx().
Definition at line 193 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputEyValPlusWheel(), process(), and resetPipelines().
Definition at line 175 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEy().
Definition at line 200 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputEyVlMinusWheel(), process(), and resetPipelines().
Definition at line 182 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelEy().
Definition at line 167 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), getHfSumProcessor(), operator<<(), process(), reset(), setBxRange(), setNextBx(), setupOk(), and ~L1GctGlobalEnergyAlgos().
Pipeline< etHadType > L1GctGlobalEnergyAlgos::m_htValPlusPipe [private] |
Definition at line 195 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHtValPlusWheel(), process(), and resetPipelines().
Definition at line 177 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelHt().
Pipeline< etHadType > L1GctGlobalEnergyAlgos::m_htVlMinusPipe [private] |
Definition at line 202 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHtVlMinusWheel(), process(), and resetPipelines().
Definition at line 184 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelHt().
Definition at line 196 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHxValPlusWheel(), process(), and resetPipelines().
Definition at line 178 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), resetProcessor(), and setInputWheelHx().
Definition at line 203 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHxVlMinusWheel(), process(), and resetPipelines().
Definition at line 185 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), resetProcessor(), and setInputWheelHx().
Definition at line 197 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHyValPlusWheel(), process(), and resetPipelines().
Definition at line 179 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), resetProcessor(), and setInputWheelHy().
Definition at line 204 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputHyVlMinusWheel(), process(), and resetPipelines().
Definition at line 186 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), resetProcessor(), and setInputWheelHy().
Pipeline< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::m_jcValPlusPipe [private] |
Definition at line 206 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputJcValPlusWheel(), process(), and resetPipelines().
std::vector< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::m_jcValPlusWheel [private] |
Definition at line 188 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelJc().
Pipeline< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::m_jcVlMinusPipe [private] |
Definition at line 207 of file L1GctGlobalEnergyAlgos.h.
Referenced by getInputJcVlMinusWheel(), process(), and resetPipelines().
std::vector< L1GctJetCount<3> > L1GctGlobalEnergyAlgos::m_jcVlMinusWheel [private] |
Definition at line 189 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), operator<<(), process(), resetProcessor(), and setInputWheelJc().
Definition at line 162 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), getMinusWheelFpga(), and operator<<().
Definition at line 164 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), getMinusWheelJetFpga(), and operator<<().
Definition at line 213 of file L1GctGlobalEnergyAlgos.h.
Referenced by getEtHadColl(), operator<<(), process(), and resetPipelines().
Definition at line 210 of file L1GctGlobalEnergyAlgos.h.
Referenced by getEtMissColl(), operator<<(), process(), and resetPipelines().
Definition at line 211 of file L1GctGlobalEnergyAlgos.h.
Referenced by getEtMissPhiColl(), operator<<(), process(), and resetPipelines().
Definition at line 212 of file L1GctGlobalEnergyAlgos.h.
Referenced by getEtSumColl(), operator<<(), process(), and resetPipelines().
Definition at line 214 of file L1GctGlobalEnergyAlgos.h.
Referenced by getHtMissColl(), process(), and resetPipelines().
Definition at line 215 of file L1GctGlobalEnergyAlgos.h.
Referenced by getHtMissPhiColl(), process(), and resetPipelines().
Pipeline<L1GctJetCount<5> > L1GctGlobalEnergyAlgos::m_outputJetCounts [private] |
Definition at line 217 of file L1GctGlobalEnergyAlgos.h.
Referenced by getJetCount(), jetCountValues(), operator<<(), process(), and resetPipelines().
Definition at line 161 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), getPlusWheelFpga(), and operator<<().
Definition at line 163 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), getPlusWheelJetFpga(), and operator<<().
bool L1GctGlobalEnergyAlgos::m_setupOk [private] |
Definition at line 219 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), and setupOk().
const unsigned int L1GctGlobalEnergyAlgos::N_JET_COUNTERS_MAX = 12 [static] |
Definition at line 48 of file L1GctGlobalEnergyAlgos.h.
Referenced by getJetCount(), jetCountValues(), operator<<(), and process().
const unsigned int L1GctGlobalEnergyAlgos::N_JET_COUNTERS_USED = L1GctWheelJetFpga::N_JET_COUNTERS [static] |
Number of jet counter per wheel.
Definition at line 47 of file L1GctGlobalEnergyAlgos.h.
Referenced by fetchInput(), process(), resetProcessor(), and setInputWheelJc().