3*3 sliding window algorithm jet finder. More...
#include <L1GctTdrJetFinder.h>
Public Member Functions | |
void | fetchInput () override |
get input data from sources More... | |
L1GctTdrJetFinder (int id) | |
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi. More... | |
void | process () override |
process the data, fill output buffers More... | |
~L1GctTdrJetFinder () override | |
Public Member Functions inherited from L1GctJetFinderBase | |
unsigned | getCenJetSeed () const |
unsigned | getEtaBoundry () const |
etTotalType | getEtSum () const |
Get the scalar sum of Et summed over the input regions. More... | |
etCompInternJfType | getExSum () const |
Get the x component of vector Et summed over the input regions. More... | |
etCompInternJfType | getEySum () const |
Get the y component of vector Et summed over the input regions. More... | |
unsigned | getFwdJetSeed () const |
hfTowerSumsType | getHfSums () const |
Get the Hf tower Et sums and tower-over-threshold counts. More... | |
unsigned | getHtmSumJetThreshold () const |
etHadType | getHtSum () const |
Get the scalar sum of Ht summed over jets above threshold. More... | |
unsigned | getHttSumJetThreshold () const |
htCompInternJfType | getHxSum () const |
Get the x component of vector Ht summed over jets above threshold. More... | |
htCompInternJfType | getHySum () const |
Get the y component of vector Ht summed over jets above threshold. More... | |
RegionsVector | getInputRegions () const |
Return input data. More... | |
std::vector< L1GctInternEtSum > | getInternalEtSums () const |
get et sums in raw format - to be stored in the event More... | |
std::vector< L1GctInternHtMiss > | getInternalHtMiss () const |
std::vector< L1GctInternJetData > | getInternalJets () const |
get output jets in raw format - to be stored in the event More... | |
const lutPtrVector | getJetEtCalLuts () const |
Return pointers to calibration LUTs. More... | |
JetVector | getJets () const |
Get the located jets. More... | |
RegionsVector | getKeptProtoJets () const |
get protoJets kept More... | |
RawJetVector | getRawJets () const |
get output jets in raw format More... | |
RegionsVector | getRcvdProtoJets () const |
get protoJets received from neighbour More... | |
RegionsVector | getSentProtoJets () const |
get protoJets sent to neighbour More... | |
unsigned | getTauIsolationThreshold () const |
unsigned | getTauJetSeed () const |
L1GctJetFinderBase (int id) | |
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi. More... | |
void | setEnergySumMasks (const L1GctChannelMask *chmask) |
Set masks for energy summing. More... | |
void | setInputRegion (const L1CaloRegion ®ion) |
Set input data. More... | |
void | setJetEtCalibrationLuts (const lutPtrVector &jfluts) |
Set pointer to calibration Lut - needed to complete the setup. More... | |
void | setJetFinderParams (const L1GctJetFinderParams *jfpars) |
Set pointer to parameters - needed to complete the setup. More... | |
void | setNeighbourJetFinders (const std::vector< L1GctJetFinderBase *> &neighbours) |
Set pointers to neighbours - needed to complete the setup. More... | |
bool | setupOk () const |
Check setup is Ok. More... | |
void | setupTauAlgo (const bool useImprovedAlgo, const bool ignoreVetoBitsForIsolation) |
Setup the tau algorithm parameters. More... | |
~L1GctJetFinderBase () override | |
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 | |
unsigned | centralCol0 () const override |
unsigned | maxRegionsIn () const override |
unsigned int | nCols () const override |
Protected Member Functions inherited from L1GctJetFinderBase | |
etTotalType | calcEtStrip (const UShort strip) const |
Calculates total (raw) energy in a phi strip. More... | |
hfTowerSumsType | calcHfSums () const |
Calculates Et sum and number of towers over threshold in Hf. More... | |
etTotalType | calcHtStrip (const UShort strip) const |
Calculates total calibrated energy in jets (Ht) sum. More... | |
void | doEnergySums () |
Fill the Et strip sums and Ht sum. All jetFinders should call this in process(). More... | |
void | doEtSums () |
Calculates scalar and vector sum of Et over input regions. More... | |
void | doHtSums () |
Calculates scalar and vector sum of Ht over calibrated jets. More... | |
void | fetchProtoJetsFromNeighbour (const fetchType ft) |
fetch the protoJets from neighbour jetFinder More... | |
void | resetPipelines () override |
void | resetProcessor () override |
Separate reset methods for the processor itself and any data stored in pipelines. More... | |
void | setupObjects () override |
Initialise inputs with null objects for the correct bunch crossing if required. More... | |
void | sortJets () |
Sort the found jets. All jetFinders should call this in process(). 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 | |
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 edge of HCAL. More... | |
L1CaloRegionDetId | calcJetPosition (const UShort centreIndex) const |
returns the encoded (eta, phi) position of the centre region More... | |
bool | calcJetTauVeto (const UShort centreIndex, const bool boundary=false) const |
Returns combined tauVeto of the 9 regions centred (physically) about centreIndex. Set boundary = true if at edge of Endcap. More... | |
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. More... | |
void | findJets () |
Here is the TDR 3x3 sliding window jet finder algorithm. More... | |
Static Private Attributes | |
static const unsigned int | CENTRAL_COL0 = 1 |
static const unsigned int | MAX_REGIONS_IN |
The real jetFinders must define these constants. More... | |
static const unsigned int | N_COLS = 4 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctTdrJetFinder &algo) |
Overload << operator. More... | |
Additional Inherited Members | |
Public Types inherited from L1GctJetFinderBase | |
typedef L1GctTwosComplement< L1GctInternEtSum::kJetMissEtNBits > | etCompInternJfType |
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > | etHadType |
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > | etTotalType |
typedef L1GctTwosComplement< L1GctInternHtMiss::kJetMissHtNBits > | htCompInternJfType |
typedef std::vector< L1GctJetCand > | JetVector |
typedef L1GctJet::lutPtr | lutPtr |
typedef std::vector< lutPtr > | lutPtrVector |
enum | maxValues { etTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue, htTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue } |
typedef Pipeline< L1GctJet > | RawJetPipeline |
typedef std::vector< L1GctJet > | RawJetVector |
typedef std::vector< L1GctRegion > | RegionsVector |
typedef unsigned long int | ULong |
typedef unsigned short int | UShort |
Static Public Attributes inherited from L1GctJetFinderBase | |
static const unsigned int | COL_OFFSET = L1GctJetFinderParams::NUMBER_ETA_VALUES + N_EXTRA_REGIONS_ETA00 |
The index offset between columns. More... | |
static const unsigned int | MAX_JETS_OUT = 6 |
Max of 6 jets found per jetfinder in a 2*11 search area. More... | |
static const unsigned int | N_EXTRA_REGIONS_ETA00 = 2 |
Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET) More... | |
static const unsigned int | N_JF_PER_WHEEL = ((L1CaloRegionDetId::N_PHI) / 2) |
No of jetFinders per Wheel. More... | |
Protected Types inherited from L1GctJetFinderBase | |
enum | fetchType { TOP, BOT, TOPBOT } |
different ways of getting the neighbour data More... | |
Protected Attributes inherited from L1GctJetFinderBase | |
unsigned | m_CenJetSeed |
unsigned | m_EtaBoundry |
bool | m_EtmMask [11] |
bool | m_EttMask [11] |
unsigned | m_FwdJetSeed |
bool | m_gotChannelMask |
Remember whether channel mask have been stored. More... | |
bool | m_gotJetEtCalLuts |
Remember whether jet Et calibration Lut pointers have been stored. More... | |
bool | m_gotJetFinderParams |
Remember whether jetfinder parameters have been stored. More... | |
bool | m_gotNeighbourPointers |
Remember whether the neighbour pointers have been stored. More... | |
bool | m_HtmMask [11] |
unsigned | m_HtmSumJetThreshold |
bool | m_HttMask [11] |
unsigned | m_HttSumJetThreshold |
int | m_id |
algo ID More... | |
bool | m_idInRange |
Remember whether range check on the input ID was ok. More... | |
bool | m_ignoreTauVetoBitsForIsolation |
RegionsVector | m_inputRegions |
lutPtrVector | m_jetEtCalLuts |
Jet Et Conversion LUT pointer. More... | |
RegionsVector | m_keptProtoJets |
List of pre-clustered jets retained locally as input to the final clustering. More... | |
unsigned | m_minColThisJf |
parameter to determine which Regions belong in our acceptance More... | |
std::vector< L1GctJetFinderBase * > | m_neighbourJetFinders |
Store neighbour pointers. More... | |
etTotalType | m_outputEtSum |
output Et strip sums and Ht - refactored More... | |
etCompInternJfType | m_outputExSum |
etCompInternJfType | m_outputEySum |
hfTowerSumsType | m_outputHfSums |
etHadType | m_outputHtSum |
htCompInternJfType | m_outputHxSum |
htCompInternJfType | m_outputHySum |
RawJetVector | m_outputJets |
output jets More... | |
bool | m_positiveEtaWheel |
RegionsVector | m_rcvdProtoJets |
List of pre-clustered jets received from neighbour before the final stage of clustering. More... | |
RegionsVector | m_sentProtoJets |
List of pre-clustered jets to be sent to neighbour after the first stage of clustering. More... | |
JetVector | m_sortedJets |
unsigned | m_tauIsolationThreshold |
unsigned | m_TauJetSeed |
bool | m_useImprovedTauAlgo |
Setup parameters for the tau jet algorithm. More... | |
Protected Attributes inherited from L1GctProcessor | |
bool | m_verbose |
Flag to control output messages. More... | |
3*3 sliding window algorithm jet finder.
Locates the jets from 48 inputted L1CaloRegions. This uses the 3*3 sliding window algorithm.
The the filling of the input L1CaloRegions happens in the L1GctJetFinderBase class
Inputted regions are expected in a certain order with respect to the index i:
Regions should arrive running from the middle (eta=0) of the detector out towards the edge of the forward HCAL, and then moving across in columns like this but increasing in phi each time.
E.g. for 48 inputted regions: region 0: phi=0, other side of eta=0 line (shared data). region 1: phi=0, but correct side of eta=0 (shared data). region 11: phi=0, edge of Forward HCAL (shared data). region 12: phi=20, other side of eta=0 line (shared data) region 13: phi=20, start of jet search area region 23: phi=20, edge of HF (jet search area) etc.
In the event of neighbouring regions having the same energy, this will locate the jet in the region furthest from eta=0 that has the lowest value of phi.
The jet finder now stores jets with (eta, phi) information encoded in an L1CaloRegionDetId.
Modified to use L1GctJetFinderBase class by Greg Heath, June 2006.
Definition at line 51 of file L1GctTdrJetFinder.h.
L1GctTdrJetFinder::L1GctTdrJetFinder | ( | int | id | ) |
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.
Definition at line 16 of file L1GctTdrJetFinder.cc.
References CENTRAL_COL0, L1GctJetFinderBase::m_id, L1GctJetFinderBase::m_minColThisJf, L1CaloRegionDetId::N_PHI, and L1GctProcessor::reset().
|
override |
Definition at line 24 of file L1GctTdrJetFinder.cc.
|
private |
Returns energy sum of the 9 regions centred (physically) about centreIndex. Set boundary = true if at edge of HCAL.
Definition at line 149 of file L1GctTdrJetFinder.cc.
References L1GctJetFinderBase::COL_OFFSET, hcalRecHitTable_cff::energy, and L1GctJetFinderBase::m_inputRegions.
Referenced by findJets().
|
private |
returns the encoded (eta, phi) position of the centre region
Definition at line 169 of file L1GctTdrJetFinder.cc.
References L1GctJetFinderBase::m_inputRegions.
Referenced by findJets().
|
private |
Returns combined tauVeto of the 9 regions centred (physically) about centreIndex. Set boundary = true if at edge of Endcap.
Definition at line 174 of file L1GctTdrJetFinder.cc.
References L1GctJetFinderBase::COL_OFFSET, and L1GctJetFinderBase::m_inputRegions.
Referenced by findJets().
|
inlineoverrideprotectedvirtual |
Reimplemented from L1GctJetFinderBase.
Definition at line 71 of file L1GctTdrJetFinder.h.
References CENTRAL_COL0.
Referenced by findJets().
|
private |
Returns true if region index is the centre of a jet. Set boundary = true if at edge of HCAL.
Definition at line 87 of file L1GctTdrJetFinder.cc.
References L1GctJetFinderBase::COL_OFFSET, and L1GctJetFinderBase::m_inputRegions.
Referenced by findJets().
|
overridevirtual |
get input data from sources
Implements L1GctJetFinderBase.
Definition at line 33 of file L1GctTdrJetFinder.cc.
|
private |
Here is the TDR 3x3 sliding window jet finder algorithm.
HERE IS THE JETFINDER CODE.
Definition at line 45 of file L1GctTdrJetFinder.cc.
References calcJetEnergy(), calcJetPosition(), calcJetTauVeto(), centralCol0(), L1GctJetFinderBase::COL_OFFSET, detectJet(), L1GctJetFinderBase::m_inputRegions, L1GctJetFinderBase::m_outputJets, L1GctJetFinderBase::MAX_JETS_OUT, and MAX_REGIONS_IN.
Referenced by process().
|
inlineoverrideprotectedvirtual |
*** End of event data ***
Reimplemented from L1GctJetFinderBase.
Definition at line 70 of file L1GctTdrJetFinder.h.
References MAX_REGIONS_IN.
|
inlineoverrideprotectedvirtual |
Reimplemented from L1GctJetFinderBase.
Definition at line 72 of file L1GctTdrJetFinder.h.
References N_COLS.
|
overridevirtual |
process the data, fill output buffers
Implements L1GctJetFinderBase.
Definition at line 35 of file L1GctTdrJetFinder.cc.
References L1GctJetFinderBase::doEnergySums(), findJets(), L1GctJetFinderBase::setupOk(), and L1GctJetFinderBase::sortJets().
|
friend |
Overload << operator.
|
staticprivate |
Definition at line 78 of file L1GctTdrJetFinder.h.
Referenced by centralCol0(), and L1GctTdrJetFinder().
|
staticprivate |
The real jetFinders must define these constants.
Dependent on number of rows and columns.
Definition at line 76 of file L1GctTdrJetFinder.h.
Referenced by findJets(), and maxRegionsIn().
|
staticprivate |
Definition at line 77 of file L1GctTdrJetFinder.h.
Referenced by nCols().