Emulation of the hardware jet finder. More...
#include <L1GctHardwareJetFinder.h>
Public Member Functions | |
void | fetchInput () override |
get input data from sources More... | |
L1GctHardwareJetFinder (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... | |
virtual void | reset () |
include additional reset functionality More... | |
~L1GctHardwareJetFinder () 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 | 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 | |
void | convertClustersToOutputJets () |
Organise the final clustered jets into L1GctJets. More... | |
void | convertClustersToProtoJets () |
Organise the pre-clustered jets into the ones we keep and those we send to the neighbour. More... | |
void | findFinalClusters () |
Convert protojets to final jets. More... | |
void | findJets () |
The second stage of clustering, called by process() More... | |
void | findLocalMaxima () |
Find local maxima in the search array. More... | |
void | findProtoClusters () |
Convert local maxima to clusters. More... | |
void | findProtoJets () |
The first stage of clustering, called by fetchInput() More... | |
L1GctRegion | makeProtoJet (L1GctRegion localMax) |
Method to make a single proto-jet. More... | |
Private Attributes | |
RegionsVector | m_cluster00 |
RegionsVector | m_clusters |
Each local maximum becomes a cluster. More... | |
RegionsVector | m_localMax00 |
RegionsVector | m_localMaxima |
Local vectors used during both stages of clustering. More... | |
unsigned | m_numberOfClusters |
The number of local Maxima/clusters found at each stage of clustering. More... | |
Static Private Attributes | |
static const unsigned int | CENTRAL_COL0 = 0 |
static const unsigned int | MAX_REGIONS_IN = (((L1CaloRegionDetId::N_ETA)/2)+N_EXTRA_REGIONS_ETA00)*L1GctHardwareJetFinder::N_COLS |
The real jetFinders must define these constants. More... | |
static const unsigned int | N_COLS = 2 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctHardwareJetFinder &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... | |
Emulation of the hardware jet finder.
Definition at line 21 of file L1GctHardwareJetFinder.h.
L1GctHardwareJetFinder::L1GctHardwareJetFinder | ( | int | id | ) |
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.
Definition at line 8 of file L1GctHardwareJetFinder.cc.
References CENTRAL_COL0, L1GctJetFinderBase::m_id, L1GctJetFinderBase::m_minColThisJf, L1CaloRegionDetId::N_PHI, and reset().
|
override |
Definition at line 23 of file L1GctHardwareJetFinder.cc.
|
inlineoverrideprotectedvirtual |
Reimplemented from L1GctJetFinderBase.
Definition at line 47 of file L1GctHardwareJetFinder.h.
References CENTRAL_COL0.
Referenced by findFinalClusters(), and findLocalMaxima().
|
private |
Organise the final clustered jets into L1GctJets.
Definition at line 434 of file L1GctHardwareJetFinder.cc.
References ecaldqm::isForward(), L1GctJetFinderBase::m_CenJetSeed, m_clusters, L1GctJetFinderBase::m_EtaBoundry, L1GctJetFinderBase::m_FwdJetSeed, L1GctJetFinderBase::m_outputJets, L1GctJetFinderBase::MAX_JETS_OUT, and groupFilesInBlocks::temp.
Referenced by findJets().
|
private |
Organise the pre-clustered jets into the ones we keep and those we send to the neighbour.
Definition at line 421 of file L1GctHardwareJetFinder.cc.
References ecaldqm::isForward(), L1GctJetFinderBase::m_CenJetSeed, m_clusters, L1GctJetFinderBase::m_EtaBoundry, L1GctJetFinderBase::m_FwdJetSeed, L1GctJetFinderBase::m_keptProtoJets, L1GctJetFinderBase::m_sentProtoJets, and L1GctJetFinderBase::MAX_JETS_OUT.
Referenced by findProtoJets().
|
overridevirtual |
get input data from sources
Implements L1GctJetFinderBase.
Definition at line 40 of file L1GctHardwareJetFinder.cc.
References findProtoJets(), and L1GctJetFinderBase::setupOk().
|
private |
Convert protojets to final jets.
Definition at line 322 of file L1GctHardwareJetFinder.cc.
References centralCol0(), L1GctJetFinderBase::COL_OFFSET, PVValHelper::eta, GlobalTrackerMuonAlignment_cfi::isolated, gen::k, L1GctJetFinderBase::m_CenJetSeed, m_cluster00, m_clusters, L1GctJetFinderBase::m_EtaBoundry, L1GctJetFinderBase::m_FwdJetSeed, L1GctJetFinderBase::m_ignoreTauVetoBitsForIsolation, L1GctJetFinderBase::m_inputRegions, L1GctJetFinderBase::m_keptProtoJets, L1GctJetFinderBase::m_rcvdProtoJets, L1GctJetFinderBase::m_tauIsolationThreshold, L1GctJetFinderBase::m_useImprovedTauAlgo, L1GctRegion::makeFinalJetRegion(), L1GctJetFinderBase::MAX_JETS_OUT, L1GctJetFinderBase::N_EXTRA_REGIONS_ETA00, phi, and groupFilesInBlocks::temp.
Referenced by findJets().
|
private |
The second stage of clustering, called by process()
Definition at line 68 of file L1GctHardwareJetFinder.cc.
References convertClustersToOutputJets(), and findFinalClusters().
Referenced by process().
|
private |
Find local maxima in the search array.
Both clustering stages need to find local maxima in the search array.
Definition at line 76 of file L1GctHardwareJetFinder.cc.
References centralCol0(), L1GctJetFinderBase::COL_OFFSET, L1GctJetFinderBase::m_CenJetSeed, L1GctJetFinderBase::m_EtaBoundry, L1GctJetFinderBase::m_FwdJetSeed, L1GctJetFinderBase::m_inputRegions, m_localMax00, m_localMaxima, m_numberOfClusters, L1GctJetFinderBase::m_positiveEtaWheel, L1GctJetFinderBase::MAX_JETS_OUT, and phi.
Referenced by findProtoJets().
|
private |
Convert local maxima to clusters.
Definition at line 161 of file L1GctHardwareJetFinder.cc.
References gen::k, m_cluster00, m_clusters, m_localMax00, m_localMaxima, m_numberOfClusters, makeProtoJet(), L1GctJetFinderBase::MAX_JETS_OUT, and groupFilesInBlocks::temp.
Referenced by findProtoJets().
|
private |
The first stage of clustering, called by fetchInput()
HERE IS THE JETFINDER CODE.
The first stage of clustering, called by fetchInput()
Definition at line 60 of file L1GctHardwareJetFinder.cc.
References convertClustersToProtoJets(), findLocalMaxima(), and findProtoClusters().
Referenced by fetchInput().
|
private |
Method to make a single proto-jet.
Definition at line 223 of file L1GctHardwareJetFinder.cc.
References L1CaloRegion::bx(), L1GctJetFinderBase::COL_OFFSET, PVValHelper::eta, L1CaloRegion::gctEta(), L1CaloRegion::gctPhi(), L1GctJetFinderBase::m_ignoreTauVetoBitsForIsolation, L1GctJetFinderBase::m_inputRegions, L1GctJetFinderBase::m_positiveEtaWheel, L1GctJetFinderBase::m_tauIsolationThreshold, L1GctJetFinderBase::m_useImprovedTauAlgo, L1GctRegion::makeProtoJetRegion(), L1CaloRegionDetId::N_ETA, L1GctJetFinderBase::N_EXTRA_REGIONS_ETA00, phi, L1GctRegion::rctEta(), L1CaloRegion::rctPhi(), and groupFilesInBlocks::temp.
Referenced by findProtoClusters().
|
inlineoverrideprotectedvirtual |
*** End of event data ***
Reimplemented from L1GctJetFinderBase.
Definition at line 46 of file L1GctHardwareJetFinder.h.
References MAX_REGIONS_IN.
|
inlineoverrideprotectedvirtual |
Reimplemented from L1GctJetFinderBase.
Definition at line 48 of file L1GctHardwareJetFinder.h.
References N_COLS.
|
overridevirtual |
process the data, fill output buffers
Implements L1GctJetFinderBase.
Definition at line 47 of file L1GctHardwareJetFinder.cc.
References L1GctJetFinderBase::doEnergySums(), L1GctJetFinderBase::fetchProtoJetsFromNeighbour(), findJets(), L1GctJetFinderBase::setupOk(), L1GctJetFinderBase::sortJets(), and L1GctJetFinderBase::TOPBOT.
|
virtual |
include additional reset functionality
Definition at line 35 of file L1GctHardwareJetFinder.cc.
References L1GctProcessor::reset().
Referenced by L1GctHardwareJetFinder().
|
friend |
Overload << operator.
Definition at line 27 of file L1GctHardwareJetFinder.cc.
|
staticprivate |
Definition at line 55 of file L1GctHardwareJetFinder.h.
Referenced by centralCol0(), and L1GctHardwareJetFinder().
|
private |
Definition at line 67 of file L1GctHardwareJetFinder.h.
Referenced by findFinalClusters(), and findProtoClusters().
|
private |
Each local maximum becomes a cluster.
Definition at line 60 of file L1GctHardwareJetFinder.h.
Referenced by convertClustersToOutputJets(), convertClustersToProtoJets(), findFinalClusters(), and findProtoClusters().
|
private |
Definition at line 66 of file L1GctHardwareJetFinder.h.
Referenced by findLocalMaxima(), and findProtoClusters().
|
private |
Local vectors used during both stages of clustering.
Definition at line 58 of file L1GctHardwareJetFinder.h.
Referenced by findLocalMaxima(), and findProtoClusters().
|
private |
The number of local Maxima/clusters found at each stage of clustering.
Definition at line 63 of file L1GctHardwareJetFinder.h.
Referenced by findLocalMaxima(), and findProtoClusters().
|
staticprivate |
The real jetFinders must define these constants.
Dependent on number of rows and columns.
Definition at line 53 of file L1GctHardwareJetFinder.h.
Referenced by maxRegionsIn().
|
staticprivate |
Definition at line 54 of file L1GctHardwareJetFinder.h.
Referenced by nCols().