|
|
Go to the documentation of this file.
18 m_whichJetFinder(jfType),
36 if (m_id < 0 || m_id > 5) {
39 edm::LogWarning(
"L1GctSetupError") <<
"L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " <<
m_id
40 <<
" has been incorrectly constructed!\n"
41 <<
"ID number should be between the range of 0 to 5\n";
49 edm::LogWarning(
"L1GctSetupError") <<
"L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " <<
m_id
50 <<
" has been incorrectly constructed!\n"
52 <<
" for this ID value \n";
80 <<
"L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " <<
m_id
81 <<
" has been incorrectly constructed!\n"
82 <<
"Unrecognised jetFinder type " <<
m_whichJetFinder <<
", cannot setup jetFinders\n";
87 edm::LogError(
"L1GctSetupError") <<
"Jet Leaf Card ID " <<
m_id <<
" has been incorrectly constructed";
99 std::vector<L1GctJetFinderBase*> jfNeighbours(2);
101 if (neighbours.size() == 2) {
102 jfNeighbours.at(0) = neighbours.at(0)->getJetFinderC();
111 jfNeighbours.at(1) = neighbours.at(1)->getJetFinderA();
117 edm::LogWarning(
"L1GctSetupError") <<
"L1GctJetLeafCard::setNeighbourLeafCards() : In Jet Leaf Card ID " <<
m_id
118 <<
" size of input vector should be 2, but is in fact " << neighbours.size()
127 s <<
"===L1GctJetLeafCard===" << endl;
128 s <<
"ID = " << card.
m_id << endl;
252 std::vector<L1GctInternEtSum>
result;
256 static_cast<int16_t>(
bx -
bxMin())));
259 static_cast<int16_t>(
bx -
bxMin())));
262 static_cast<int16_t>(
bx -
bxMin())));
265 static_cast<int16_t>(
bx -
bxMin())));
271 std::vector<L1GctInternHtMiss>
result;
277 static_cast<int16_t>(
bx -
bxMin())));
void setValue(unsigned value)
Set value from unsigned.
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines.
~L1GctJetLeafCard() override
Pipeline< hfTowerSumsType > m_hfSumsPipe
Pipeline< etComponentType > m_exSumPipe
jetFinderType m_whichJetFinder
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
htCompInternJfType getHySum() const
Get the y component of vector Ht summed over jets above threshold.
Pipeline< htComponentType > m_hxSumPipe
JetVector getJets() const
Get the located jets.
htCompInternJfType getHxSum() const
Get the x component of vector Ht summed over jets above threshold.
Pipeline< etHadType > m_htSumPipe
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
void setNeighbourLeafCards(const std::vector< L1GctJetLeafCard * > &neighbours)
set pointers to neighbours - needed to complete the setup
Emulation of the hardware jet finder.
std::vector< L1GctInternEtSum > getInternalEtSums() const
get the Et sums in internal component format
Pipeline< htComponentType > m_hySumPipe
Log< level::Warning, false > LogWarning
no-op jet finder for test purposes.
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
void setNeighbourJetFinders(const std::vector< L1GctJetFinderBase * > &neighbours)
Set pointers to neighbours - needed to complete the setup.
3*3 sliding window algorithm jet finder.
std::ostream & operator<<(std::ostream &s, const L1GctJetLeafCard &card)
void process() override
process the data and set outputs
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
void resetPipelines() override
bool setupOk() const
Check setup is Ok.
void reset()
complete reset of processor
void reset()
clear internal buffers
void process() override=0
process the data, fill output buffers; to be filled in by derived jetFinders
void setNextBx(const int bx)
partially clear buffers
std::vector< L1GctJetCand > JetVector
hfTowerSumsType getHfSums() const
Get the Hf tower Et sums and tower-over-threshold counts.
bool m_verbose
Flag to control output messages.
std::vector< L1GctInternHtMiss > getInternalHtMiss() const
int bxMin() const
Support for multiple beam crossing operation.
static const int MAX_JET_FINDERS
Number of jetfinders per jet leaf card.
L1GctTwosComplement< L1GctInternEtSum::kMissExOrEyNBits > etComponentType
std::vector< L1GctJetCand > getOutputJetsB() const
Output jetfinder B jets (middle jetFinder in phi)
L1GctTwosComplement< L1GctInternHtMiss::kMissHxOrHyNBits > htComponentType
Pipeline< etTotalType > m_etSumPipe
Log< level::Error, false > LogError
bool setupOk() const
Check setup is Ok.
static L1GctInternEtSum fromEmulatorJetMissEt(int missEtxOrEty, bool overFlow, int16_t bx)
void fetchInput() override
set the input buffers
etHadType getHtSum() const
Get the scalar sum of Ht summed over jets above threshold.
std::vector< L1GctJetCand > getOutputJetsA() const
Output jetfinder A jets (lowest jetFinder in phi)
etTotalType getEtSum() const
Get the scalar sum of Et summed over the input regions.
void reset()
reset value and overflow to zero
bool overFlow() const
access overflow
void fetchInput() override=0
get input data from sources; to be filled in by derived jetFinders
std::vector< L1GctJetCand > getOutputJetsC() const
Ouptut jetfinder C jets (highest jetFinder in phi)
static L1GctInternHtMiss emulatorMissHtxHty(const int htx, const int hty, const bool overFlow, const int16_t bx)
Named ctor for making missing Ht x & y components object from emulator (wheel input).
etCompInternJfType getExSum() const
Get the x component of vector Et summed over the input regions.
Pipeline< etComponentType > m_eySumPipe
static L1GctInternEtSum fromEmulatorJetTotHt(unsigned totHt, bool overFlow, int16_t bx)
ABC for a GCT trigger data processing unit.
L1GctJetLeafCard(int id, int iphi, jetFinderType jfType=tdrJetFinder)
etCompInternJfType getEySum() const
Get the y component of vector Et summed over the input regions.
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
void reset()
reset value and overflow to zero
static L1GctInternEtSum fromEmulatorJetTotEt(unsigned totEt, bool overFlow, int16_t bx)
Emulator constructors.