27 os <<
"===L1GctTdrJetFinder===" << endl;
48 for (
UShort column = 0; column < 2; ++column)
54 bool hfBoundary = (row == COL_OFFSET - 1);
56 bool heBoundary = (row == COL_OFFSET - 5);
59 if ((centreIndex % COL_OFFSET != 0)
68 if (row < COL_OFFSET - 4)
153 for (
int column = -1; column <= +1; ++column) {
159 for (
int column = -1; column <= +1; ++column) {
175 bool partial[3] = {
false,
false,
false};
178 for (
int column = -1; column <= +1; ++column) {
180 m_inputRegions.at(centreIndex + (column * COL_OFFSET)).tauVeto() ||
181 m_inputRegions.at(centreIndex + 1 + (column * COL_OFFSET)).tauVeto();
184 for (
int column = -1; column <= +1; ++column) {
189 return partial[0] || partial[1] || partial[2];
void reset()
complete reset of processor
3*3 sliding window algorithm jet finder.
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
friend std::ostream & operator<<(std::ostream &os, const L1GctTdrJetFinder &algo)
Overload << operator.
unsigned centralCol0() const override
~L1GctTdrJetFinder() override
void findJets()
Here is the TDR 3x3 sliding window jet finder algorithm.
bool calcJetTauVeto(const UShort centreIndex, const bool boundary=false) const
Returns combined tauVeto of the 9 regions centred (physically) about centreIndex. Set boundary = true...
bool setupOk() const
Check setup is Ok.
static const unsigned N_ETA
Base class to allow implementation of jetFinder algorithms.
ULong calcJetEnergy(const UShort centreIndex, const bool boundary=false) const
Returns energy sum of the 9 regions centred (physically) about centreIndex. Set boundary = true if at...
static const unsigned int CENTRAL_COL0
void process() override
process the data, fill output buffers
void sortJets()
Sort the found jets. All jetFinders should call this in process().
unsigned short int UShort
bool detectJet(const UShort centreIndex, const bool boundary=false) const
Returns true if region index is the centre of a jet. Set boundary = true if at edge of HCAL...
static const unsigned int COL_OFFSET
The index offset between columns.
RawJetVector m_outputJets
output jets
RegionsVector m_inputRegions
void fetchInput() override
get input data from sources
L1CaloRegionDetId calcJetPosition(const UShort centreIndex) const
returns the encoded (eta, phi) position of the centre region
static const unsigned N_PHI
unsigned m_minColThisJf
parameter to determine which Regions belong in our acceptance
void doEnergySums()
Fill the Et strip sums and Ht sum. All jetFinders should call this in process().
static const unsigned int N_COLS
L1GctTdrJetFinder(int id)
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.