Go to the documentation of this file. 1 #ifndef L1GCTJETFINDERBASE_H_
2 #define L1GCTJETFINDERBASE_H_
51 typedef unsigned long int ULong;
100 (this->etSum1 + rhs.
etSum1),
114 static const unsigned int
135 void setupTauAlgo(
const bool useImprovedAlgo,
const bool ignoreVetoBitsForIsolation) {
378 template <
int kBitsInput,
int kBitsOutput>
380 const unsigned& fact0,
382 const unsigned& fact1);
static const unsigned int COL_OFFSET
The index offset between columns.
unsigned short int UShort
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etHadType
std::vector< L1GctRegion > RegionsVector
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
htCompInternJfType m_outputHySum
std::vector< L1GctInternJetData > getInternalJets() const
get output jets in raw format - to be stored in the event
L1GctTwosComplement< L1GctInternEtSum::kJetMissEtNBits > etCompInternJfType
static const unsigned int N_EXTRA_REGIONS_ETA00
Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET)
Pipeline< etCompInternJfType > m_outputEySumPipe
L1GctJetCount< kHfCountBits > nOverThreshold0
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
bool m_gotChannelMask
Remember whether channel mask have been stored.
std::vector< L1GctJetFinderBase * > m_neighbourJetFinders
Store neighbour pointers.
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
A calorimeter trigger region (sum of 4x4 trigger towers)
void setupTauAlgo(const bool useImprovedAlgo, const bool ignoreVetoBitsForIsolation)
Setup the tau algorithm parameters.
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
htCompInternJfType getHySum() const
Get the y component of vector Ht summed over jets above threshold.
JetVector getJets() const
Get the located jets.
std::shared_ptr< L1GctJetEtCalibrationLut > lutPtr
Pipeline< L1GctJet > RawJetPipeline
void setEnergySumMasks(const L1GctChannelMask *chmask)
Set masks for energy summing.
RawJetVector m_outputJets
output jets
htCompInternJfType getHxSum() const
Get the x component of vector Ht summed over jets above threshold.
Base class to allow implementation of jetFinder algorithms.
void doEtSums()
Calculates scalar and vector sum of Et over input regions.
hfTowerSumsType(L1GctJetCount< kHfEtSumBits > e0, L1GctJetCount< kHfEtSumBits > e1, L1GctJetCount< kHfCountBits > n0, L1GctJetCount< kHfCountBits > n1)
std::vector< lutPtr > lutPtrVector
void resetPipelines() override
std::ostream & operator<<(std::ostream &os, const L1GctJetFinderBase &algo)
void setInputRegion(const L1CaloRegion ®ion)
Set input data.
L1GctJetCount< kHfEtSumBits > etSum1
Pipeline< etCompInternJfType > m_outputExSumPipe
virtual unsigned maxRegionsIn() const
L1GctJetCount< kHfCountBits > nOverThreshold1
Pipeline< etHadType > m_outputHtSumPipe
std::vector< L1GctInternEtSum > getInternalEtSums() const
get et sums in raw format - to be stored in the event
etTotalType calcHtStrip(const UShort strip) const
Calculates total calibrated energy in jets (Ht) sum.
L1GctTwosComplement< kBitsOutput > etComponentForJetFinder(const L1GctUnsignedInt< kBitsInput > &etStrip0, const unsigned &fact0, const L1GctUnsignedInt< kBitsInput > &etStrip1, const unsigned &fact1)
Private method for calculating MEt and MHt components.
static const unsigned int N_COLS
void setNeighbourJetFinders(const std::vector< L1GctJetFinderBase * > &neighbours)
Set pointers to neighbours - needed to complete the setup.
void fetchProtoJetsFromNeighbour(const fetchType ft)
fetch the protoJets from neighbour jetFinder
hfTowerSumsType operator+(const hfTowerSumsType &rhs) const
unsigned getFwdJetSeed() const
std::vector< T > contents
L1GctTwosComplement< L1GctInternHtMiss::kJetMissHtNBits > htCompInternJfType
std::vector< L1GctJet > RawJetVector
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
bool m_gotJetEtCalLuts
Remember whether jet Et calibration Lut pointers have been stored.
void setupObjects() override
Initialise inputs with null objects for the correct bunch crossing if required.
hfTowerSumsType calcHfSums() const
Calculates Et sum and number of towers over threshold in Hf.
static const unsigned int CENTRAL_COL0
hfTowerSumsType m_outputHfSums
friend std::ostream & operator<<(std::ostream &os, const L1GctJetFinderBase &algo)
Overload << operator.
void setJetEtCalibrationLuts(const lutPtrVector &jfluts)
Set pointer to calibration Lut - needed to complete the setup.
RegionsVector getRcvdProtoJets() const
get protoJets received from neighbour
const lutPtrVector getJetEtCalLuts() const
Return pointers to calibration LUTs.
bool m_gotNeighbourPointers
Remember whether the neighbour pointers have been stored.
unsigned m_minColThisJf
parameter to determine which Regions belong in our acceptance
hfTowerSumsType(unsigned e0, unsigned e1, unsigned n0, unsigned n1)
unsigned getTauIsolationThreshold() const
RegionsVector getKeptProtoJets() const
get protoJets kept
unsigned getCenJetSeed() const
RegionsVector m_inputRegions
etCompInternJfType m_outputExSum
void process() override=0
process the data, fill output buffers; to be filled in by derived jetFinders
bool m_useImprovedTauAlgo
Setup parameters for the tau jet algorithm.
bool m_idInRange
Remember whether range check on the input ID was ok.
void setJetFinderParams(const L1GctJetFinderParams *jfpars)
Set pointer to parameters - needed to complete the setup.
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
bool m_ignoreTauVetoBitsForIsolation
std::vector< L1GctJetCand > JetVector
void doHtSums()
Calculates scalar and vector sum of Ht over calibrated jets.
Pipeline< htCompInternJfType > m_outputHxSumPipe
hfTowerSumsType getHfSums() const
Get the Hf tower Et sums and tower-over-threshold counts.
unsigned getEtaBoundry() const
unsigned m_HtmSumJetThreshold
RegionsVector getSentProtoJets() const
get protoJets sent to neighbour
~L1GctJetFinderBase() override
unsigned getTauJetSeed() const
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines.
bool setupOk() const
Check setup is Ok.
etHadType getHtSum() const
Get the scalar sum of Ht summed over jets above threshold.
bool m_gotJetFinderParams
Remember whether jetfinder parameters have been stored.
L1GctJetFinderBase(int id)
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.
std::vector< L1GctInternHtMiss > getInternalHtMiss() const
RegionsVector getInputRegions() const
Return input data.
unsigned getHtmSumJetThreshold() const
etTotalType getEtSum() const
Get the scalar sum of Et summed over the input regions.
void reset()
reset value and overflow to zero
htCompInternJfType m_outputHxSum
Pipeline< htCompInternJfType > m_outputHySumPipe
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
void fetchInput() override=0
get input data from sources; to be filled in by derived jetFinders
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etTotalType
void doEnergySums()
Fill the Et strip sums and Ht sum. All jetFinders should call this in process().
unsigned getHttSumJetThreshold() const
fetchType
different ways of getting the neighbour data
static const unsigned int N_JF_PER_WHEEL
No of jetFinders per Wheel.
etCompInternJfType m_outputEySum
etCompInternJfType getExSum() const
Get the x component of vector Et summed over the input regions.
RawJetVector getRawJets() const
get output jets in raw format
L1GctJetCount< kHfEtSumBits > etSum0
virtual unsigned nCols() const
ABC for a GCT trigger data processing unit.
unsigned m_HttSumJetThreshold
unsigned m_tauIsolationThreshold
etCompInternJfType getEySum() const
Get the y component of vector Et summed over the input regions.
etTotalType calcEtStrip(const UShort strip) const
Calculates total (raw) energy in a phi strip.
virtual unsigned centralCol0() const
etTotalType m_outputEtSum
output Et strip sums and Ht - refactored
void sortJets()
Sort the found jets. All jetFinders should call this in process().
L1 GCT internal jet candidate.