CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends
L1GctJetFinderBase Class Referenceabstract

Base class to allow implementation of jetFinder algorithms. More...

#include <L1GctJetFinderBase.h>

Inheritance diagram for L1GctJetFinderBase:
L1GctProcessor L1GctHardwareJetFinder L1GctNullJetFinder L1GctSimpleJetFinder L1GctTdrJetFinder

Classes

struct  hfTowerSumsType
 

Public Types

typedef L1GctTwosComplement< L1GctInternEtSum::kJetMissEtNBitsetCompInternJfType
 
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBitsetHadType
 
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBitsetTotalType
 
typedef L1GctTwosComplement< L1GctInternHtMiss::kJetMissHtNBitshtCompInternJfType
 
typedef std::vector< L1GctJetCandJetVector
 
typedef L1GctJet::lutPtr lutPtr
 
typedef std::vector< lutPtrlutPtrVector
 
enum  maxValues { etTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue, htTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue }
 
typedef Pipeline< L1GctJetRawJetPipeline
 
typedef std::vector< L1GctJetRawJetVector
 
typedef std::vector< L1GctRegionRegionsVector
 
typedef unsigned long int ULong
 
typedef unsigned short int UShort
 

Public Member Functions

void fetchInput () override=0
 get input data from sources; to be filled in by derived jetFinders More...
 
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< L1GctInternEtSumgetInternalEtSums () const
 get et sums in raw format - to be stored in the event More...
 
std::vector< L1GctInternHtMissgetInternalHtMiss () const
 
std::vector< L1GctInternJetDatagetInternalJets () 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 process () override=0
 process the data, fill output buffers; to be filled in by derived jetFinders More...
 
void setEnergySumMasks (const L1GctChannelMask *chmask)
 Set masks for energy summing. More...
 
void setInputRegion (const L1CaloRegion &region)
 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 ()
 

Static Public Attributes

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

enum  fetchType { TOP, BOT, TOPBOT }
 different ways of getting the neighbour data More...
 

Protected Member Functions

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...
 
virtual unsigned centralCol0 () const
 
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...
 
virtual unsigned maxRegionsIn () const
 
virtual unsigned nCols () const
 
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
 

Protected Attributes

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...
 

Private Member Functions

template<int kBitsInput, int kBitsOutput>
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. More...
 

Private Attributes

Pipeline< etTotalTypem_outputEtSumPipe
 "Pipeline memories" for energy sums More...
 
Pipeline< etCompInternJfTypem_outputExSumPipe
 
Pipeline< etCompInternJfTypem_outputEySumPipe
 
Pipeline< etHadTypem_outputHtSumPipe
 
Pipeline< htCompInternJfTypem_outputHxSumPipe
 
Pipeline< htCompInternJfTypem_outputHySumPipe
 
RawJetPipeline m_outputJetsPipe
 Output jets "pipeline memory" for checking. More...
 

Static Private Attributes

static const unsigned int CENTRAL_COL0 = 0
 
static const unsigned int MAX_REGIONS_IN = L1GctJetFinderBase::COL_OFFSET*L1GctJetFinderBase::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 L1GctJetFinderBase &algo)
 Overload << operator. More...
 

Detailed Description

Base class to allow implementation of jetFinder algorithms.

The base class defines the reset() method, setXxx() and getXxx() methods. Individual jetFinders must define the fetchInput() and process() methods, using protected methods of the base class where necessary.

The jetFinder looks for jets over a 2x11 search area. Its input region are pushed in from the appropriate (phi, eta) range, including across the eta=0 boundary between Wheels. The input regions are copied into a vector of dimension N_COLS*COL_OFFSET.

The array of input regions is filled in a certain order with respect to the index i:

The jetFinder can also pull in "proto-jets" from adjacent jetFinders. If required by the algorithm, these must be calculated in the fetchInput() method;

Definition at line 50 of file L1GctJetFinderBase.h.

Member Typedef Documentation

Definition at line 62 of file L1GctJetFinderBase.h.

Definition at line 61 of file L1GctJetFinderBase.h.

Definition at line 60 of file L1GctJetFinderBase.h.

Definition at line 63 of file L1GctJetFinderBase.h.

Definition at line 58 of file L1GctJetFinderBase.h.

Definition at line 110 of file L1GctJetFinderBase.h.

Definition at line 111 of file L1GctJetFinderBase.h.

Definition at line 59 of file L1GctJetFinderBase.h.

Definition at line 57 of file L1GctJetFinderBase.h.

Definition at line 56 of file L1GctJetFinderBase.h.

typedef unsigned long int L1GctJetFinderBase::ULong

Definition at line 54 of file L1GctJetFinderBase.h.

typedef unsigned short int L1GctJetFinderBase::UShort

Definition at line 55 of file L1GctJetFinderBase.h.

Member Enumeration Documentation

different ways of getting the neighbour data

Enumerator
TOP 
BOT 
TOPBOT 

Definition at line 219 of file L1GctJetFinderBase.h.

Constructor & Destructor Documentation

L1GctJetFinderBase::L1GctJetFinderBase ( int  id)

id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.

Definition at line 24 of file L1GctJetFinderBase.cc.

References m_id, m_idInRange, L1GctProcessor::m_verbose, L1CaloRegionDetId::N_PHI, and L1GctProcessor::reset().

24  :
26  m_id(id),
28  m_idInRange(false),
30  m_gotJetFinderParams(false),
31  m_gotJetEtCalLuts(false),
32  m_gotChannelMask(false),
46 {
47  // Call reset to initialise vectors for input and output
48  this->reset();
49  //Check jetfinder setup
50  if(m_id < 0 || m_id >= static_cast<int>(L1CaloRegionDetId::N_PHI))
51  {
52  if (m_verbose) {
53  edm::LogWarning("L1GctSetupError")
54  << "L1GctJetFinderBase::L1GctJetFinderBase() : Jet Finder ID " << m_id << " has been incorrectly constructed!\n"
55  << "ID number should be between the range of 0 to " << L1CaloRegionDetId::N_PHI-1 << "\n";
56  }
57  } else { m_idInRange = true; }
58 
59 }
bool m_idInRange
Remember whether range check on the input ID was ok.
void reset()
complete reset of processor
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
bool m_verbose
Flag to control output messages.
bool m_gotChannelMask
Remember whether channel mask have been stored.
Pipeline< etCompInternJfType > m_outputExSumPipe
Pipeline< htCompInternJfType > m_outputHySumPipe
Pipeline< htCompInternJfType > m_outputHxSumPipe
bool m_gotNeighbourPointers
Remember whether the neighbour pointers have been stored.
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
std::vector< L1GctJetFinderBase * > m_neighbourJetFinders
Store neighbour pointers.
Pipeline< etHadType > m_outputHtSumPipe
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
RawJetVector m_outputJets
output jets
RegionsVector m_inputRegions
Pipeline< etCompInternJfType > m_outputEySumPipe
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
bool m_gotJetFinderParams
Remember whether jetfinder parameters have been stored.
static const unsigned N_PHI
unsigned m_minColThisJf
parameter to determine which Regions belong in our acceptance
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.
bool m_useImprovedTauAlgo
Setup parameters for the tau jet algorithm.
hfTowerSumsType m_outputHfSums
L1GctJetFinderBase::~L1GctJetFinderBase ( )
override

Definition at line 61 of file L1GctJetFinderBase.cc.

62 {
63 }

Member Function Documentation

etTotalType L1GctJetFinderBase::calcEtStrip ( const UShort  strip) const
protected

Calculates total (raw) energy in a phi strip.

Referenced by nCols().

L1GctJetFinderBase::hfTowerSumsType L1GctJetFinderBase::calcHfSums ( ) const
protected

Calculates Et sum and number of towers over threshold in Hf.

Definition at line 470 of file L1GctJetFinderBase.cc.

References centralCol0(), COL_OFFSET, stringResolutionProvider_cfi::et, mps_fire::i, m_inputRegions, nt, PFRecoTauDiscriminationByIsolation_cfi::offset, and groupFilesInBlocks::temp.

Referenced by doEnergySums(), and nCols().

471 {
472  static const UShort NUMBER_OF_FRWRD_RINGS = 4;
473  static const UShort NUMBER_OF_INNER_RINGS = 2;
474  std::vector<unsigned> et(NUMBER_OF_INNER_RINGS, 0);
475  std::vector<bool> of(NUMBER_OF_INNER_RINGS, false);
476  std::vector<unsigned> nt(NUMBER_OF_INNER_RINGS, 0);
477 
479  for (UShort i=0; i < NUMBER_OF_FRWRD_RINGS; ++i) {
480  offset--;
481 
482  // Sum HF Et and count jets above threshold over "inner rings"
483  if (i<NUMBER_OF_INNER_RINGS) {
484  et.at(i) += m_inputRegions.at(offset).et();
485  of.at(i) = of.at(i) || m_inputRegions.at(offset).overFlow();
486 
487  et.at(i) += m_inputRegions.at(offset+COL_OFFSET).et();
488  of.at(i) = of.at(i) || m_inputRegions.at(offset+COL_OFFSET).overFlow();
489 
490  if (m_inputRegions.at(offset).fineGrain()) nt.at(i)++;
491  if (m_inputRegions.at(offset+COL_OFFSET).fineGrain()) nt.at(i)++;
492  }
493  }
494  hfTowerSumsType temp(et.at(0), et.at(1), nt.at(0), nt.at(1));
495  temp.etSum0.setOverFlow(temp.etSum0.overFlow() || of.at(0));
496  temp.etSum1.setOverFlow(temp.etSum1.overFlow() || of.at(1));
497  return temp;
498 }
virtual unsigned centralCol0() const
unsigned short int UShort
static const unsigned int COL_OFFSET
The index offset between columns.
RegionsVector m_inputRegions
int nt
Definition: AMPTWrapper.h:32
et
define resolution functions of each parameter
etTotalType L1GctJetFinderBase::calcHtStrip ( const UShort  strip) const
protected

Calculates total calibrated energy in jets (Ht) sum.

Referenced by nCols().

virtual unsigned L1GctJetFinderBase::centralCol0 ( ) const
inlineprotectedvirtual

Reimplemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctSimpleJetFinder, and L1GctNullJetFinder.

Definition at line 330 of file L1GctJetFinderBase.h.

References CENTRAL_COL0.

Referenced by calcHfSums(), and doEtSums().

330 { return CENTRAL_COL0; }
static const unsigned int CENTRAL_COL0
void L1GctJetFinderBase::doEnergySums ( )
protected

Fill the Et strip sums and Ht sum. All jetFinders should call this in process().

Definition at line 358 of file L1GctJetFinderBase.cc.

References calcHfSums(), doEtSums(), doHtSums(), and m_outputHfSums.

Referenced by nCols(), L1GctNullJetFinder::process(), L1GctHardwareJetFinder::process(), and L1GctTdrJetFinder::process().

359 {
360 
361  // Refactored energy sums code - find scalar and vector sums
362  // of Et and Ht instead of strip stums
363  doEtSums();
364  doHtSums();
365 
366  //calculate the Hf tower Et sums and tower-over-threshold counts
368 
369  return;
370 }
void doEtSums()
Calculates scalar and vector sum of Et over input regions.
hfTowerSumsType calcHfSums() const
Calculates Et sum and number of towers over threshold in Hf.
void doHtSums()
Calculates scalar and vector sum of Ht over calibrated jets.
hfTowerSumsType m_outputHfSums
void L1GctJetFinderBase::doEtSums ( )
protected

Calculates scalar and vector sum of Et over input regions.

Definition at line 373 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxRel(), centralCol0(), COL_OFFSET, etTotalMaxValue, mps_fire::i, m_EttMask, m_id, m_inputRegions, m_outputEtSum, m_outputEtSumPipe, m_outputExSum, m_outputExSumPipe, m_outputEySum, m_outputEySumPipe, N_EXTRA_REGIONS_ETA00, PFRecoTauDiscriminationByIsolation_cfi::offset, L1GctUnsignedInt< nBits >::overFlow(), L1GctUnsignedInt< nBits >::setOverFlow(), and L1GctUnsignedInt< nBits >::setValue().

Referenced by doEnergySums(), and nCols().

373  {
374  unsigned et0 = 0;
375  unsigned et1 = 0;
376  bool of = false;
377 
378  // Add the Et values from regions 2 to 12 for strip 0,
379  // the Et values from regions 15 to 25 for strip 1.
380  unsigned offset = COL_OFFSET * centralCol0();
381  unsigned ieta = 0;
382  for (UShort i=offset+N_EXTRA_REGIONS_ETA00; i < offset+COL_OFFSET; ++i, ++ieta) {
383  if (!m_EttMask[ieta]) {
384  et0 += m_inputRegions.at(i).et();
385  of |= m_inputRegions.at(i).overFlow();
386  et1 += m_inputRegions.at(i+COL_OFFSET).et();
387  of |= m_inputRegions.at(i+COL_OFFSET).overFlow();
388  }
389  }
390 
391  etTotalType etStrip0(et0);
392  etTotalType etStrip1(et1);
393  etStrip0.setOverFlow(etStrip0.overFlow() || of);
394  etStrip1.setOverFlow(etStrip1.overFlow() || of);
395  unsigned xfact0 = (4*m_id + 6) % 36;
396  unsigned xfact1 = (4*m_id + 8) % 36;
397  unsigned yfact0 = (4*m_id + 15) % 36;
398  unsigned yfact1 = (4*m_id + 17) % 36;
399  m_outputEtSum = etStrip0 + etStrip1;
401  m_outputExSum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits,L1GctInternEtSum::kJetMissEtNBits>
402  (etStrip0, xfact0, etStrip1, xfact1);
403  m_outputEySum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits,L1GctInternEtSum::kJetMissEtNBits>
404  (etStrip0, yfact0, etStrip1, yfact1);
405 
408  m_outputEySumPipe.store(m_outputEySum, bxRel());
409 }
etTotalType m_outputEtSum
output Et strip sums and Ht - refactored
Pipeline< etCompInternJfType > m_outputExSumPipe
int bxRel() const
virtual unsigned centralCol0() const
static const unsigned int N_EXTRA_REGIONS_ETA00
Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET) ...
unsigned short int UShort
static const unsigned int COL_OFFSET
The index offset between columns.
RegionsVector m_inputRegions
Pipeline< etCompInternJfType > m_outputEySumPipe
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etTotalType
etCompInternJfType m_outputEySum
void setValue(unsigned value)
Set value from unsigned.
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
bool overFlow() const
access overflow
etCompInternJfType m_outputExSum
void L1GctJetFinderBase::doHtSums ( )
protected

Calculates scalar and vector sum of Ht over calibrated jets.

Definition at line 412 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxRel(), htTotalMaxValue, mps_fire::i, m_HtmMask, m_HtmSumJetThreshold, m_HttMask, m_HttSumJetThreshold, m_id, m_jetEtCalLuts, m_outputHtSum, m_outputHtSumPipe, m_outputHxSum, m_outputHxSumPipe, m_outputHySum, m_outputHySumPipe, m_outputJets, MAX_JETS_OUT, L1GctUnsignedInt< nBits >::overFlow(), L1GctTwosComplement< nBits >::overFlow(), L1GctUnsignedInt< nBits >::setOverFlow(), L1GctTwosComplement< nBits >::setOverFlow(), and L1GctUnsignedInt< nBits >::setValue().

Referenced by doEnergySums(), and nCols().

412  {
413  unsigned htt = 0;
414  unsigned ht0 = 0;
415  unsigned ht1 = 0;
416  bool of = false;
417 
418  for(UShort i=0; i < MAX_JETS_OUT; ++i)
419  {
420  // Only sum Ht for valid jets
421  if (!m_outputJets.at(i).isNullJet()) {
422  unsigned ieta = m_outputJets.at(i).rctEta();
423  unsigned htJet = m_outputJets.at(i).calibratedEt(m_jetEtCalLuts.at(ieta));
424  // Scalar sum of Htt, with associated threshold
425  if (htJet >= m_HttSumJetThreshold && !m_HttMask[ieta]) {
426  htt += htJet;
427  }
428  // Strip sums, for input to Htm calculation, with associated threshold
429  if (htJet >= m_HtmSumJetThreshold && !m_HtmMask[ieta]) {
430  if (m_outputJets.at(i).rctPhi() == 0) {
431  ht0 += htJet;
432  }
433  if (m_outputJets.at(i).rctPhi() == 1) {
434  ht1 += htJet;
435  }
436  of |= m_outputJets.at(i).overFlow();
437  }
438  }
439  }
440 
441  etHadType httTotal(htt);
442  etHadType htStrip0(ht0);
443  etHadType htStrip1(ht1);
444  httTotal.setOverFlow(httTotal.overFlow() || of);
445  if (httTotal.overFlow()) httTotal.setValue(htTotalMaxValue);
446  htStrip0.setOverFlow(htStrip0.overFlow() || of);
447  htStrip1.setOverFlow(htStrip1.overFlow() || of);
448  unsigned xfact0 = (4*m_id + 10) % 36;
449  unsigned xfact1 = (4*m_id + 4) % 36;
450  unsigned yfact0 = (4*m_id + 19) % 36;
451  unsigned yfact1 = (4*m_id + 13) % 36;
452  m_outputHtSum = httTotal;
453  m_outputHxSum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits,L1GctInternHtMiss::kJetMissHtNBits>
454  (htStrip0, xfact0, htStrip1, xfact1);
455  m_outputHySum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits,L1GctInternHtMiss::kJetMissHtNBits>
456  (htStrip0, yfact0, htStrip1, yfact1);
457 
458  // Common overflow for Ht components
459  bool htmOverFlow = m_outputHxSum.overFlow() || m_outputHySum.overFlow();
460  m_outputHxSum.setOverFlow(htmOverFlow);
461  m_outputHySum.setOverFlow(htmOverFlow);
462 
465  m_outputHySumPipe.store(m_outputHySum, bxRel());
466 }
bool overFlow() const
access overflow
void setOverFlow(bool oflow)
set the overflow bit
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
htCompInternJfType m_outputHySum
int bxRel() const
htCompInternJfType m_outputHxSum
Pipeline< htCompInternJfType > m_outputHySumPipe
Pipeline< htCompInternJfType > m_outputHxSumPipe
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
Pipeline< etHadType > m_outputHtSumPipe
unsigned short int UShort
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etHadType
RawJetVector m_outputJets
output jets
template<int kBitsInput, int kBitsOutput>
L1GctTwosComplement< kBitsOutput > L1GctJetFinderBase::etComponentForJetFinder ( const L1GctUnsignedInt< kBitsInput > &  etStrip0,
const unsigned &  fact0,
const L1GctUnsignedInt< kBitsInput > &  etStrip1,
const unsigned &  fact1 
)
private

Private method for calculating MEt and MHt components.

Definition at line 507 of file L1GctJetFinderBase.cc.

References L1GctProcessor::m_verbose, L1GctUnsignedInt< nBits >::overFlow(), groupFilesInBlocks::temp, and L1GctUnsignedInt< nBits >::value().

508  {
509 
510  // typedefs and constants
511  typedef L1GctTwosComplement<kBitsOutput> OutputType;
512 
513  // The sin(phi), cos(phi) factors are represented in 15 bits,
514  // as numbers in the range -2^14 to 2^14.
515  // We multiply each input strip Et by the required factor
516  // then shift, to divide by 2^13. This gives an extra bit
517  // of precision on the LSB of the output values.
518  // It's important to avoid systematically biasing the Ex, Ey
519  // component values because this results in an asymmetric
520  // distribution in phi for the final MEt.
521  // The extra LSB is required because one of the factors is 0.5.
522  // Applying this factor without the extra LSB corrects odd values
523  // systematically down by 0.5; or all values by 0.25
524  // on average, giving a shift of -2 units in Ex.
525 
526  static const int internalComponentSize = 15;
527  static const int maxEt = 1<<internalComponentSize;
528 
529  static const int kBitsFactor = internalComponentSize+kBitsInput+1;
530  static const int maxFactor = 1<<kBitsFactor;
531 
532  static const int bitsToShift = internalComponentSize-2;
533  static const int halfInputLsb = 1<<(bitsToShift-1);
534 
535  // These factors correspond to the sine of angles from -90 degrees to
536  // 90 degrees in 10 degree steps, multiplied by 16383 and written
537  // as a <kBitsFactor>-bit 2s-complement number.
538  const int factors[19] = {maxFactor-16383, maxFactor-16134, maxFactor-15395, maxFactor-14188, maxFactor-12550,
539  maxFactor-10531, maxFactor-8192, maxFactor-5603, maxFactor-2845, 0,
540  2845, 5603, 8192, 10531, 12550, 14188, 15395, 16134, 16383};
541 
542  int rotatedValue0, rotatedValue1, myFact;
543  int etComponentSum = 0;
544 
545  if (fact0 >= 36 || fact1 >= 36) {
546  if (m_verbose) {
547  edm::LogError("L1GctProcessingError")
548  << "L1GctJetLeafCard::rotateEtValue() has been called with factor numbers "
549  << fact0 << " and " << fact1 << "; should be less than 36 \n";
550  }
551  } else {
552 
553  // First strip - choose the required multiplication factor
554  if (fact0>18) { myFact = factors[(36-fact0)]; }
555  else { myFact = factors[fact0]; }
556 
557  // Multiply the Et value by the factor.
558  rotatedValue0 = static_cast<int>(etStrip0.value()) * myFact;
559 
560  // Second strip - choose the required multiplication factor
561  if (fact1>18) { myFact = factors[(36-fact1)]; }
562  else { myFact = factors[fact1]; }
563 
564  // Multiply the Et value by the factor.
565  rotatedValue1 = static_cast<int>(etStrip1.value()) * myFact;
566 
567  // Add the two scaled values together, with full resolution including
568  // fractional parts from the sin(phi), cos(phi) scaling.
569  // Adjust the value to avoid truncation errors since these
570  // accumulate and cause problems for the missing Et measurement.
571  // Then discard the 13 LSB and interpret the result as
572  // a 15-bit twos complement integer.
573  etComponentSum = ((rotatedValue0 + rotatedValue1) + halfInputLsb)>>bitsToShift;
574 
575  etComponentSum = etComponentSum & (maxEt-1);
576  if (etComponentSum >= (maxEt/2)) {
577  etComponentSum = etComponentSum - maxEt;
578  }
579  }
580 
581  // Store as a TwosComplement format integer and return
582  OutputType temp(etComponentSum);
583  temp.setOverFlow(temp.overFlow() || etStrip0.overFlow() || etStrip1.overFlow());
584  return temp;
585 }
bool m_verbose
Flag to control output messages.
unsigned value() const
access value as unsigned
Definition of signed integer types with overflow.
bool overFlow() const
access overflow
void L1GctJetFinderBase::fetchInput ( )
overridepure virtual

get input data from sources; to be filled in by derived jetFinders

Implements L1GctProcessor.

Implemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctSimpleJetFinder, and L1GctNullJetFinder.

Referenced by L1GctJetLeafCard::fetchInput(), and setupOk().

void L1GctJetFinderBase::fetchProtoJetsFromNeighbour ( const fetchType  ft)
protected

fetch the protoJets from neighbour jetFinder

Helper functions for the fetchInput() and process() methods fetch the protoJets from neighbour jetFinder

Definition at line 317 of file L1GctJetFinderBase.cc.

References BOT, m_neighbourJetFinders, m_rcvdProtoJets, MAX_JETS_OUT, groupFilesInBlocks::temp, TOP, and TOPBOT.

Referenced by nCols(), and L1GctHardwareJetFinder::process().

318 {
319  switch (ft) {
320  case TOP :
321  m_rcvdProtoJets = m_neighbourJetFinders.at(0)->getSentProtoJets(); break;
322  case BOT :
323  m_rcvdProtoJets = m_neighbourJetFinders.at(1)->getSentProtoJets(); break;
324  case TOPBOT :
325  // Copy half the jets from each neighbour
326  static const unsigned int MAX_TOPBOT_JETS = MAX_JETS_OUT/2;
327  unsigned j=0;
329  temp = m_neighbourJetFinders.at(0)->getSentProtoJets();
330  for ( ; j<MAX_TOPBOT_JETS; ++j) {
331  m_rcvdProtoJets.at(j) = temp.at(j);
332  }
333  temp = m_neighbourJetFinders.at(1)->getSentProtoJets();
334  for ( ; j<MAX_JETS_OUT; ++j) {
335  m_rcvdProtoJets.at(j) = temp.at(j);
336  }
337  break;
338  }
339 }
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
std::vector< L1GctJetFinderBase * > m_neighbourJetFinders
Store neighbour pointers.
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
std::vector< L1GctRegion > RegionsVector
unsigned L1GctJetFinderBase::getCenJetSeed ( ) const
inline

Definition at line 199 of file L1GctJetFinderBase.h.

References m_CenJetSeed.

199 { return m_CenJetSeed; }
unsigned L1GctJetFinderBase::getEtaBoundry ( ) const
inline

Definition at line 202 of file L1GctJetFinderBase.h.

References m_EtaBoundry.

202 { return m_EtaBoundry; }
etTotalType L1GctJetFinderBase::getEtSum ( ) const
inline

Get the scalar sum of Et summed over the input regions.

Definition at line 189 of file L1GctJetFinderBase.h.

References m_outputEtSum.

Referenced by L1GctJetLeafCard::process().

etCompInternJfType L1GctJetFinderBase::getExSum ( ) const
inline

Get the x component of vector Et summed over the input regions.

Definition at line 190 of file L1GctJetFinderBase.h.

References m_outputExSum.

Referenced by L1GctJetLeafCard::process().

etCompInternJfType L1GctJetFinderBase::getEySum ( ) const
inline

Get the y component of vector Et summed over the input regions.

Definition at line 191 of file L1GctJetFinderBase.h.

References m_outputEySum.

Referenced by L1GctJetLeafCard::process().

unsigned L1GctJetFinderBase::getFwdJetSeed ( ) const
inline

Definition at line 200 of file L1GctJetFinderBase.h.

References m_FwdJetSeed.

200 { return m_FwdJetSeed; }
hfTowerSumsType L1GctJetFinderBase::getHfSums ( ) const
inline

Get the Hf tower Et sums and tower-over-threshold counts.

Definition at line 196 of file L1GctJetFinderBase.h.

References m_outputHfSums.

Referenced by L1GctJetLeafCard::process().

unsigned L1GctJetFinderBase::getHtmSumJetThreshold ( ) const
inline
etHadType L1GctJetFinderBase::getHtSum ( ) const
inline

Get the scalar sum of Ht summed over jets above threshold.

Definition at line 192 of file L1GctJetFinderBase.h.

References m_outputHtSum.

Referenced by L1GctJetLeafCard::process().

unsigned L1GctJetFinderBase::getHttSumJetThreshold ( ) const
inline

Definition at line 204 of file L1GctJetFinderBase.h.

References m_HttSumJetThreshold.

204 { return m_HttSumJetThreshold; }
htCompInternJfType L1GctJetFinderBase::getHxSum ( ) const
inline

Get the x component of vector Ht summed over jets above threshold.

Definition at line 193 of file L1GctJetFinderBase.h.

References m_outputHxSum.

Referenced by L1GctJetLeafCard::process().

htCompInternJfType L1GctJetFinderBase::getHySum ( ) const
inline

Get the y component of vector Ht summed over jets above threshold.

Definition at line 194 of file L1GctJetFinderBase.h.

References m_outputHySum.

Referenced by L1GctJetLeafCard::process().

RegionsVector L1GctJetFinderBase::getInputRegions ( ) const
inline

Return input data.

Definition at line 162 of file L1GctJetFinderBase.h.

References m_inputRegions.

162 { return m_inputRegions; }
RegionsVector m_inputRegions
std::vector< L1GctInternEtSum > L1GctJetFinderBase::getInternalEtSums ( ) const

get et sums in raw format - to be stored in the event

Definition at line 281 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxMin(), L1GctInternEtSum::fromEmulatorJetMissEt(), L1GctInternEtSum::fromEmulatorJetTotEt(), L1GctInternEtSum::fromEmulatorJetTotHt(), m_outputEtSumPipe, m_outputExSumPipe, m_outputEySumPipe, m_outputHtSumPipe, L1GctProcessor::numOfBx(), and mps_fire::result.

Referenced by getRawJets().

281  {
282 
283  std::vector< L1GctInternEtSum > result;
284  for (int bx=0; bx<numOfBx(); bx++) {
285  result.push_back( L1GctInternEtSum::fromEmulatorJetTotEt ( m_outputEtSumPipe.contents.at(bx).value(),
286  m_outputEtSumPipe.contents.at(bx).overFlow(),
287  static_cast<int16_t> (bx-bxMin()) ) );
288  result.push_back( L1GctInternEtSum::fromEmulatorJetMissEt( m_outputExSumPipe.contents.at(bx).value(),
289  m_outputExSumPipe.contents.at(bx).overFlow(),
290  static_cast<int16_t> (bx-bxMin()) ) );
291  result.push_back( L1GctInternEtSum::fromEmulatorJetMissEt( m_outputEySumPipe.contents.at(bx).value(),
292  m_outputEySumPipe.contents.at(bx).overFlow(),
293  static_cast<int16_t> (bx-bxMin()) ) );
294  result.push_back( L1GctInternEtSum::fromEmulatorJetTotHt ( m_outputHtSumPipe.contents.at(bx).value(),
295  m_outputHtSumPipe.contents.at(bx).overFlow(),
296  static_cast<int16_t> (bx-bxMin()) ) );
297  }
298  return result;
299 }
static L1GctInternEtSum fromEmulatorJetTotEt(unsigned totEt, bool overFlow, int16_t bx)
Emulator constructors.
Pipeline< etCompInternJfType > m_outputExSumPipe
int bxMin() const
Support for multiple beam crossing operation.
int numOfBx() const
static L1GctInternEtSum fromEmulatorJetTotHt(unsigned totHt, bool overFlow, int16_t bx)
Pipeline< etHadType > m_outputHtSumPipe
Pipeline< etCompInternJfType > m_outputEySumPipe
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
static L1GctInternEtSum fromEmulatorJetMissEt(int missEtxOrEty, bool overFlow, int16_t bx)
std::vector< L1GctInternHtMiss > L1GctJetFinderBase::getInternalHtMiss ( ) const

Definition at line 301 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxMin(), L1GctInternHtMiss::emulatorJetMissHt(), m_outputHxSumPipe, m_outputHySumPipe, L1GctProcessor::numOfBx(), and mps_fire::result.

Referenced by getRawJets().

301  {
302 
303  std::vector< L1GctInternHtMiss > result;
304  for (int bx=0; bx<numOfBx(); bx++) {
305  result.push_back( L1GctInternHtMiss::emulatorJetMissHt( m_outputHxSumPipe.contents.at(bx).value(),
306  m_outputHySumPipe.contents.at(bx).value(),
307  m_outputHxSumPipe.contents.at(bx).overFlow(),
308  static_cast<int16_t> (bx-bxMin()) ) );
309  }
310  return result;
311 
312 }
int bxMin() const
Support for multiple beam crossing operation.
Pipeline< htCompInternJfType > m_outputHySumPipe
int numOfBx() const
Pipeline< htCompInternJfType > m_outputHxSumPipe
static L1GctInternHtMiss emulatorJetMissHt(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 (jetFinder output)...
std::vector< L1GctInternJetData > L1GctJetFinderBase::getInternalJets ( ) const

get output jets in raw format - to be stored in the event

Definition at line 262 of file L1GctJetFinderBase.cc.

References L1GctProcessor::Pipeline< T >::contents, L1GctInternJetData::fromEmulator(), metsig::jet, m_jetEtCalLuts, m_outputJetsPipe, and mps_fire::result.

Referenced by getRawJets().

262  {
263 
264  std::vector< L1GctInternJetData > result;
265  for (RawJetVector::const_iterator jet=m_outputJetsPipe.contents.begin();
266  jet!=m_outputJetsPipe.contents.end(); jet++) {
267  result.push_back( L1GctInternJetData::fromEmulator(jet->id(),
268  jet->bx(),
269  jet->calibratedEt(m_jetEtCalLuts.at(jet->rctEta())),
270  jet->overFlow(),
271  jet->tauVeto(),
272  jet->hwEta(),
273  jet->hwPhi(),
274  jet->rank(m_jetEtCalLuts.at(jet->rctEta())) ) );
275  }
276  return result;
277 
278 }
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
static L1GctInternJetData fromEmulator(L1CaloRegionDetId rgn, int16_t bx, uint16_t et, bool overFlow, bool tauVeto, uint8_t eta, uint8_t phi, uint16_t rank)
std::vector< T > contents
const lutPtrVector L1GctJetFinderBase::getJetEtCalLuts ( ) const
inline

Return pointers to calibration LUTs.

Definition at line 184 of file L1GctJetFinderBase.h.

References m_jetEtCalLuts.

184 { return m_jetEtCalLuts; }
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
JetVector L1GctJetFinderBase::getJets ( ) const
inline
RegionsVector L1GctJetFinderBase::getKeptProtoJets ( ) const
inline

get protoJets kept

Definition at line 171 of file L1GctJetFinderBase.h.

References m_keptProtoJets.

171 { return m_keptProtoJets; }
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
RawJetVector L1GctJetFinderBase::getRawJets ( ) const
inline

get output jets in raw format

Definition at line 174 of file L1GctJetFinderBase.h.

References L1GctProcessor::Pipeline< T >::contents, getInternalEtSums(), getInternalHtMiss(), getInternalJets(), and m_outputJetsPipe.

174 { return m_outputJetsPipe.contents; }
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
std::vector< T > contents
RegionsVector L1GctJetFinderBase::getRcvdProtoJets ( ) const
inline

get protoJets received from neighbour

Definition at line 168 of file L1GctJetFinderBase.h.

References m_rcvdProtoJets.

168 { return m_rcvdProtoJets; }
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
RegionsVector L1GctJetFinderBase::getSentProtoJets ( ) const
inline

get protoJets sent to neighbour

Definition at line 165 of file L1GctJetFinderBase.h.

References m_sentProtoJets.

165 { return m_sentProtoJets; }
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
unsigned L1GctJetFinderBase::getTauIsolationThreshold ( ) const
inline

Definition at line 203 of file L1GctJetFinderBase.h.

References m_tauIsolationThreshold.

203 { return m_tauIsolationThreshold; }
unsigned L1GctJetFinderBase::getTauJetSeed ( ) const
inline

Definition at line 201 of file L1GctJetFinderBase.h.

References m_TauJetSeed.

201 { return m_TauJetSeed; }
virtual unsigned L1GctJetFinderBase::maxRegionsIn ( ) const
inlineprotectedvirtual

*** End of event data ***


Reimplemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctSimpleJetFinder, and L1GctNullJetFinder.

Definition at line 329 of file L1GctJetFinderBase.h.

References MAX_REGIONS_IN.

Referenced by resetProcessor(), and setupObjects().

329 { return MAX_REGIONS_IN; }
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
virtual unsigned L1GctJetFinderBase::nCols ( ) const
inlineprotectedvirtual
void L1GctJetFinderBase::process ( )
overridepure virtual

process the data, fill output buffers; to be filled in by derived jetFinders

Implements L1GctProcessor.

Implemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctSimpleJetFinder, and L1GctNullJetFinder.

Referenced by L1GctJetLeafCard::process(), and setupOk().

void L1GctJetFinderBase::resetPipelines ( )
overrideprotectedvirtual

Implements L1GctProcessor.

Definition at line 200 of file L1GctJetFinderBase.cc.

References m_outputEtSumPipe, m_outputExSumPipe, m_outputEySumPipe, m_outputHtSumPipe, m_outputHxSumPipe, m_outputHySumPipe, m_outputJetsPipe, L1GctProcessor::numOfBx(), and L1GctProcessor::Pipeline< T >::reset().

Referenced by getHtmSumJetThreshold().

201 {
203  m_outputEtSumPipe.reset(numOfBx());
204  m_outputExSumPipe.reset(numOfBx());
205  m_outputEySumPipe.reset(numOfBx());
206  m_outputHtSumPipe.reset(numOfBx());
207  m_outputHxSumPipe.reset(numOfBx());
208  m_outputHySumPipe.reset(numOfBx());
209 }
Pipeline< etCompInternJfType > m_outputExSumPipe
Pipeline< htCompInternJfType > m_outputHySumPipe
int numOfBx() const
Pipeline< htCompInternJfType > m_outputHxSumPipe
Pipeline< etHadType > m_outputHtSumPipe
Pipeline< etCompInternJfType > m_outputEySumPipe
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
void reset(const unsigned nBx)
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
void L1GctJetFinderBase::resetProcessor ( )
overrideprotectedvirtual

Separate reset methods for the processor itself and any data stored in pipelines.

Implements L1GctProcessor.

Definition at line 174 of file L1GctJetFinderBase.cc.

References m_inputRegions, m_keptProtoJets, m_outputEtSum, m_outputExSum, m_outputEySum, m_outputHfSums, m_outputHtSum, m_outputHxSum, m_outputHySum, m_outputJets, m_rcvdProtoJets, m_sentProtoJets, m_sortedJets, MAX_JETS_OUT, maxRegionsIn(), and L1GctJetFinderBase::hfTowerSumsType::reset().

Referenced by L1GctNullJetFinder::fetchInput(), and getHtmSumJetThreshold().

175 {
176  m_inputRegions.clear();
177  m_inputRegions.resize(this->maxRegionsIn());
178  m_outputJets.clear();
179  m_outputJets.resize(MAX_JETS_OUT);
180  m_sortedJets.clear();
181  m_sortedJets.resize(MAX_JETS_OUT);
182 
183  m_sentProtoJets.clear();
185  m_rcvdProtoJets.clear();
187  m_keptProtoJets.clear();
189 
190  m_outputEtSum = 0;
191  m_outputExSum = 0;
192  m_outputEySum = 0;
193  m_outputHtSum = 0;
194  m_outputHxSum = 0;
195  m_outputHySum = 0;
196 
198 }
etTotalType m_outputEtSum
output Et strip sums and Ht - refactored
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
htCompInternJfType m_outputHySum
htCompInternJfType m_outputHxSum
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
RawJetVector m_outputJets
output jets
RegionsVector m_inputRegions
etCompInternJfType m_outputEySum
virtual unsigned maxRegionsIn() const
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
etCompInternJfType m_outputExSum
hfTowerSumsType m_outputHfSums
void L1GctJetFinderBase::setEnergySumMasks ( const L1GctChannelMask chmask)

Set masks for energy summing.

Set et sum masks from ChannelMask object - needed to complete the setup.

Definition at line 121 of file L1GctJetFinderBase.cc.

References m_EtmMask, m_EttMask, m_gotChannelMask, m_HtmMask, m_HttMask, m_id, m_positiveEtaWheel, L1GctChannelMask::missingEtMask(), L1GctChannelMask::missingHtMask(), L1GctJetFinderParams::NUMBER_ETA_VALUES, L1GctChannelMask::totalEtMask(), and L1GctChannelMask::totalHtMask().

122 {
123  bool matchCheckEttAndEtm = true;
124  if (chmask != nullptr) {
125  static const unsigned N_ETA = L1GctJetFinderParams::NUMBER_ETA_VALUES;
126  for (unsigned ieta=0; ieta<N_ETA; ++ieta) {
127  unsigned globalEta = (m_positiveEtaWheel ? N_ETA+ieta : N_ETA - (ieta+1) );
128  m_EttMask[ieta] = chmask->totalEtMask(globalEta);
129  m_EtmMask[ieta] = chmask->missingEtMask(globalEta);
130  m_HttMask[ieta] = chmask->totalHtMask(globalEta);
131  m_HtmMask[ieta] = chmask->missingHtMask(globalEta);
132 
133  matchCheckEttAndEtm &= (m_EttMask[ieta] == m_EtmMask[ieta]);
134  }
135  if (!matchCheckEttAndEtm)
136  edm::LogWarning("L1GctSetupError")
137  << "L1GctJetFinderBase::setEnergySumMasks() : In Jet Finder ID " << m_id
138  << " setting eta-dependent masks for Et sums: you cannot have different masks for total and missing Et\n";
139  m_gotChannelMask = true;
140  }
141 }
bool m_gotChannelMask
Remember whether channel mask have been stored.
bool totalHtMask(unsigned ieta) const
bool missingHtMask(unsigned ieta) const
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
bool totalEtMask(unsigned ieta) const
bool missingEtMask(unsigned ieta) const
void L1GctJetFinderBase::setInputRegion ( const L1CaloRegion region)

Set input data.

Definition at line 235 of file L1GctJetFinderBase.cc.

References COL_OFFSET, mps_fire::i, m_id, m_inputRegions, m_minColThisJf, L1GctRegion::makeJfInputRegion(), N_EXTRA_REGIONS_ETA00, N_JF_PER_WHEEL, L1CaloRegionDetId::N_PHI, nCols(), L1CaloRegion::rctCrate(), L1CaloRegion::rctEta(), and L1CaloRegion::rctPhi().

Referenced by setupOk().

236 {
237  static const unsigned NPHI = L1CaloRegionDetId::N_PHI;
238  static const unsigned N_00 = N_EXTRA_REGIONS_ETA00;
239  unsigned crate = region.rctCrate();
240  // Find the column for this region in a global (eta,phi) array
241  // Note the column numbers here are not the same as region->gctPhi()
242  // because the RCT crates are not numbered from phi=0.
243  unsigned colAbsolute = (crate+1)*2 + region.rctPhi();
244  unsigned colRelative = ((colAbsolute+NPHI) - m_minColThisJf) % NPHI;
245  if (colRelative < this->nCols()) {
246  // We are in the right range in phi
247  // Now check we are in the right wheel (positive or negative eta)
248  if ( (crate/N_JF_PER_WHEEL) == (m_id/N_JF_PER_WHEEL) ) {
249  unsigned i = colRelative*COL_OFFSET + N_00 + region.rctEta();
251  } else {
252  // Accept neighbouring regions from the other wheel
253  if (region.rctEta() < N_00) {
254  unsigned i = colRelative*COL_OFFSET + N_00 - (region.rctEta()+1);
256  }
257  }
258  }
259 }
unsigned rctEta() const
get local eta index (within RCT crate)
Definition: L1CaloRegion.h:174
unsigned rctCrate() const
get RCT crate ID
Definition: L1CaloRegion.h:165
static L1GctRegion makeJfInputRegion(const L1CaloRegion &)
Definition: L1GctRegion.cc:7
unsigned rctPhi() const
get local phi index (within RCT crate)
Definition: L1CaloRegion.h:177
static const unsigned int N_EXTRA_REGIONS_ETA00
Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET) ...
static const unsigned int COL_OFFSET
The index offset between columns.
RegionsVector m_inputRegions
virtual unsigned nCols() const
static const unsigned N_PHI
unsigned m_minColThisJf
parameter to determine which Regions belong in our acceptance
static const unsigned int N_JF_PER_WHEEL
No of jetFinders per Wheel.
void L1GctJetFinderBase::setJetEtCalibrationLuts ( const lutPtrVector jfluts)

Set pointer to calibration Lut - needed to complete the setup.

Definition at line 114 of file L1GctJetFinderBase.cc.

References m_gotJetEtCalLuts, m_jetEtCalLuts, and L1GctJetFinderParams::NUMBER_ETA_VALUES.

115 {
116  m_jetEtCalLuts = jfluts;
118 }
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
bool m_gotJetEtCalLuts
Remember whether jet Et calibration Lut pointers have been stored.
void L1GctJetFinderBase::setJetFinderParams ( const L1GctJetFinderParams jfpars)

Set pointer to parameters - needed to complete the setup.

Definition at line 101 of file L1GctJetFinderBase.cc.

References L1GctJetFinderParams::getCenForJetEtaBoundary(), L1GctJetFinderParams::getCenJetEtSeedGct(), L1GctJetFinderParams::getForJetEtSeedGct(), L1GctJetFinderParams::getHtJetEtThresholdGct(), L1GctJetFinderParams::getMHtJetEtThresholdGct(), L1GctJetFinderParams::getTauIsoEtThresholdGct(), L1GctJetFinderParams::getTauJetEtSeedGct(), m_CenJetSeed, m_EtaBoundry, m_FwdJetSeed, m_gotJetFinderParams, m_HtmSumJetThreshold, m_HttSumJetThreshold, m_tauIsolationThreshold, and m_TauJetSeed.

102 {
103  m_CenJetSeed = jfpars->getCenJetEtSeedGct();
104  m_FwdJetSeed = jfpars->getForJetEtSeedGct();
105  m_TauJetSeed = jfpars->getTauJetEtSeedGct();
110  m_gotJetFinderParams = true;
111 }
unsigned getCenJetEtSeedGct() const
unsigned getTauJetEtSeedGct() const
unsigned getTauIsoEtThresholdGct() const
unsigned getMHtJetEtThresholdGct() const
unsigned getCenForJetEtaBoundary() const
unsigned getHtJetEtThresholdGct() const
unsigned getForJetEtSeedGct() const
bool m_gotJetFinderParams
Remember whether jetfinder parameters have been stored.
void L1GctJetFinderBase::setNeighbourJetFinders ( const std::vector< L1GctJetFinderBase * > &  neighbours)

Set pointers to neighbours - needed to complete the setup.

Set pointers to neighbours.

Definition at line 66 of file L1GctJetFinderBase.cc.

References m_gotNeighbourPointers, m_id, m_neighbourJetFinders, and L1GctProcessor::m_verbose.

Referenced by L1GctJetLeafCard::setNeighbourLeafCards().

67 {
69  if (neighbours.size()==2) {
70  m_neighbourJetFinders = neighbours;
71  } else {
72  m_gotNeighbourPointers = false;
73  if (m_verbose) {
74  edm::LogWarning("L1GctSetupError")
75  << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
76  << " size of input vector should be 2, but is in fact " << neighbours.size() << "\n";
77  }
78  }
79  if (m_neighbourJetFinders.at(0) == nullptr) {
80  m_gotNeighbourPointers = false;
81  if (m_verbose) {
82  edm::LogWarning("L1GctSetupError")
83  << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
84  << " first neighbour pointer is set to zero\n";
85  }
86  }
87  if (m_neighbourJetFinders.at(1) == nullptr) {
88  m_gotNeighbourPointers = false;
89  if (m_verbose) {
90  edm::LogWarning("L1GctSetupError")
91  << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
92  << " second neighbour pointer is set to zero\n";
93  }
94  }
96  edm::LogError("L1GctSetupError") << "Jet Finder ID " << m_id << " has incorrect assignment of neighbour pointers";
97  }
98 }
bool m_verbose
Flag to control output messages.
bool m_gotNeighbourPointers
Remember whether the neighbour pointers have been stored.
std::vector< L1GctJetFinderBase * > m_neighbourJetFinders
Store neighbour pointers.
void L1GctJetFinderBase::setupObjects ( )
overrideprotectedvirtual

Initialise inputs with null objects for the correct bunch crossing if required.

Initialise inputs with null objects for the correct bunch crossing If no other input candidates "arrive", we have the correct bunch crossing to propagate through the processing.

Create a null input region with the right bunch crossing, and fill the input candidates with copies of this.

The same for the lists of pre-clustered jets passed between neighbour jetFinders

The same for the lists of output jets

Implements L1GctProcessor.

Definition at line 214 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxAbs(), m_inputRegions, m_keptProtoJets, m_outputJets, m_rcvdProtoJets, m_sentProtoJets, MAX_JETS_OUT, maxRegionsIn(), L1GctJet::setBx(), and L1CaloRegion::setBx().

Referenced by L1GctNullJetFinder::fetchInput(), and getHtmSumJetThreshold().

215 {
218  L1GctRegion tempRgn;
219  tempRgn.setBx(bxAbs());
220  m_inputRegions.assign(this->maxRegionsIn(), tempRgn);
221 
224  m_sentProtoJets.assign(MAX_JETS_OUT, tempRgn);
225  m_rcvdProtoJets.assign(MAX_JETS_OUT, tempRgn);
226  m_keptProtoJets.assign(MAX_JETS_OUT, tempRgn);
227 
229  L1GctJet tempJet;
230  tempJet.setBx(bxAbs());
231  m_outputJets.assign(MAX_JETS_OUT, tempJet);
232 }
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
Gct version of a calorimeter region, used within GCT emulation.
Definition: L1GctRegion.h:17
void setBx(int16_t bx)
set bx
A Level-1 jet candidate, used within GCT emulation.
Definition: L1GctJet.h:27
void setBx(const int16_t bx)
Definition: L1GctJet.h:51
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
RawJetVector m_outputJets
output jets
RegionsVector m_inputRegions
int bxAbs() const
virtual unsigned maxRegionsIn() const
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
bool L1GctJetFinderBase::setupOk ( ) const
inline

Check setup is Ok.

Definition at line 143 of file L1GctJetFinderBase.h.

References patPFMETCorrections_cff::algo, fetchInput(), m_gotChannelMask, m_gotJetEtCalLuts, m_gotJetFinderParams, m_gotNeighbourPointers, m_idInRange, operator<<, process(), and setInputRegion().

Referenced by L1GctHardwareJetFinder::fetchInput(), L1GctNullJetFinder::process(), L1GctHardwareJetFinder::process(), L1GctTdrJetFinder::process(), and L1GctJetLeafCard::setupOk().

143  { return m_idInRange
147  && m_gotChannelMask; }
bool m_idInRange
Remember whether range check on the input ID was ok.
bool m_gotChannelMask
Remember whether channel mask have been stored.
bool m_gotNeighbourPointers
Remember whether the neighbour pointers have been stored.
bool m_gotJetFinderParams
Remember whether jetfinder parameters have been stored.
bool m_gotJetEtCalLuts
Remember whether jet Et calibration Lut pointers have been stored.
void L1GctJetFinderBase::setupTauAlgo ( const bool  useImprovedAlgo,
const bool  ignoreVetoBitsForIsolation 
)
inline

Setup the tau algorithm parameters.

Definition at line 137 of file L1GctJetFinderBase.h.

References m_ignoreTauVetoBitsForIsolation, and m_useImprovedTauAlgo.

137  {
138  m_useImprovedTauAlgo = useImprovedAlgo;
139  m_ignoreTauVetoBitsForIsolation = ignoreVetoBitsForIsolation;
140  }
bool m_useImprovedTauAlgo
Setup parameters for the tau jet algorithm.
void L1GctJetFinderBase::sortJets ( )
protected

Sort the found jets. All jetFinders should call this in process().

Definition at line 342 of file L1GctJetFinderBase.cc.

References L1GctProcessor::bxRel(), L1GctJetSorter::getSortedJets(), m_jetEtCalLuts, m_outputJets, m_outputJetsPipe, m_sortedJets, MAX_JETS_OUT, and L1GctProcessor::Pipeline< T >::store().

Referenced by nCols(), L1GctHardwareJetFinder::process(), and L1GctTdrJetFinder::process().

343 {
344  JetVector tempJets(MAX_JETS_OUT);
345  for (unsigned j=0; j<MAX_JETS_OUT; j++) {
346  tempJets.at(j) = m_outputJets.at(j).jetCand(m_jetEtCalLuts);
347  }
348 
349  // Sort the jets
350  L1GctJetSorter jSorter(tempJets);
351  m_sortedJets = jSorter.getSortedJets();
352 
353  //store jets in "pipeline memory" for checking
355 }
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
std::vector< L1GctJetCand > JetVector
void store(const T &thisBx, const int bxNum)
int bxRel() const
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
RawJetVector m_outputJets
output jets
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const L1GctJetFinderBase algo 
)
friend

Overload << operator.

Definition at line 144 of file L1GctJetFinderBase.cc.

Referenced by setupOk().

145 {
146  using std::endl;
147  os << "ID = " << algo.m_id << endl;
148  os << "Calibration lut pointers stored for " << algo.m_jetEtCalLuts.size() << " eta bins" << endl;
149  for (unsigned ieta=0; ieta<algo.m_jetEtCalLuts.size(); ieta++) {
150  os << "Eta bin " << ieta << ", JetEtCalibrationLut* = " << algo.m_jetEtCalLuts.at(ieta) << endl;
151  }
152  os << "No of input regions " << algo.m_inputRegions.size() << endl;
153 // for(unsigned i=0; i < algo.m_inputRegions.size(); ++i)
154 // {
155 // os << algo.m_inputRegions.at(i);
156 // }
157  os << "No of output jets " << algo.m_outputJets.size() << endl;
158 // for(unsigned i=0; i < algo.m_outputJets.size(); ++i)
159 // {
160 // os << algo.m_outputJets.at(i);
161 // }
162  os << "Output total scalar Et " << algo.m_outputEtSum << endl;
163  os << "Output vector Et x component " << algo.m_outputExSum << endl;
164  os << "Output vector Et y component " << algo.m_outputEySum << endl;
165  os << "Output total scalar Ht " << algo.m_outputHtSum << endl;
166  os << "Output vector Ht x component " << algo.m_outputHxSum << endl;
167  os << "Output vector Ht y component " << algo.m_outputHySum << endl;
168  os << endl;
169 
170  return os;
171 }
etTotalType m_outputEtSum
output Et strip sums and Ht - refactored
htCompInternJfType m_outputHySum
htCompInternJfType m_outputHxSum
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
RawJetVector m_outputJets
output jets
RegionsVector m_inputRegions
etCompInternJfType m_outputEySum
etCompInternJfType m_outputExSum

Member Data Documentation

const unsigned int L1GctJetFinderBase::CENTRAL_COL0 = 0
staticprivate

Definition at line 361 of file L1GctJetFinderBase.h.

Referenced by centralCol0().

const unsigned int L1GctJetFinderBase::COL_OFFSET = L1GctJetFinderParams::NUMBER_ETA_VALUES+N_EXTRA_REGIONS_ETA00
static
unsigned L1GctJetFinderBase::m_CenJetSeed
protected
unsigned L1GctJetFinderBase::m_EtaBoundry
protected
bool L1GctJetFinderBase::m_EtmMask[11]
protected

Definition at line 286 of file L1GctJetFinderBase.h.

Referenced by setEnergySumMasks().

bool L1GctJetFinderBase::m_EttMask[11]
protected

Definition at line 285 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), and setEnergySumMasks().

unsigned L1GctJetFinderBase::m_FwdJetSeed
protected
bool L1GctJetFinderBase::m_gotChannelMask
protected

Remember whether channel mask have been stored.

Definition at line 240 of file L1GctJetFinderBase.h.

Referenced by setEnergySumMasks(), and setupOk().

bool L1GctJetFinderBase::m_gotJetEtCalLuts
protected

Remember whether jet Et calibration Lut pointers have been stored.

Definition at line 237 of file L1GctJetFinderBase.h.

Referenced by setJetEtCalibrationLuts(), and setupOk().

bool L1GctJetFinderBase::m_gotJetFinderParams
protected

Remember whether jetfinder parameters have been stored.

Definition at line 234 of file L1GctJetFinderBase.h.

Referenced by setJetFinderParams(), and setupOk().

bool L1GctJetFinderBase::m_gotNeighbourPointers
protected

Remember whether the neighbour pointers have been stored.

Definition at line 231 of file L1GctJetFinderBase.h.

Referenced by setNeighbourJetFinders(), and setupOk().

bool L1GctJetFinderBase::m_HtmMask[11]
protected

Definition at line 288 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), and setEnergySumMasks().

unsigned L1GctJetFinderBase::m_HtmSumJetThreshold
protected

Definition at line 282 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getHtmSumJetThreshold(), and setJetFinderParams().

bool L1GctJetFinderBase::m_HttMask[11]
protected

Definition at line 287 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), and setEnergySumMasks().

unsigned L1GctJetFinderBase::m_HttSumJetThreshold
protected

Definition at line 281 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getHttSumJetThreshold(), and setJetFinderParams().

int L1GctJetFinderBase::m_id
protected
bool L1GctJetFinderBase::m_idInRange
protected

Remember whether range check on the input ID was ok.

Definition at line 228 of file L1GctJetFinderBase.h.

Referenced by L1GctJetFinderBase(), and setupOk().

bool L1GctJetFinderBase::m_ignoreTauVetoBitsForIsolation
protected
RegionsVector L1GctJetFinderBase::m_inputRegions
protected
lutPtrVector L1GctJetFinderBase::m_jetEtCalLuts
protected

Jet Et Conversion LUT pointer.

Definition at line 262 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getInternalJets(), getJetEtCalLuts(), operator<<(), setJetEtCalibrationLuts(), and sortJets().

RegionsVector L1GctJetFinderBase::m_keptProtoJets
protected

List of pre-clustered jets retained locally as input to the final clustering.

Definition at line 305 of file L1GctJetFinderBase.h.

Referenced by L1GctHardwareJetFinder::convertClustersToProtoJets(), L1GctHardwareJetFinder::findFinalClusters(), getKeptProtoJets(), resetProcessor(), and setupObjects().

unsigned L1GctJetFinderBase::m_minColThisJf
protected

parameter to determine which Regions belong in our acceptance

Definition at line 249 of file L1GctJetFinderBase.h.

Referenced by L1GctHardwareJetFinder::L1GctHardwareJetFinder(), L1GctTdrJetFinder::L1GctTdrJetFinder(), and setInputRegion().

std::vector<L1GctJetFinderBase*> L1GctJetFinderBase::m_neighbourJetFinders
protected

Store neighbour pointers.

Definition at line 225 of file L1GctJetFinderBase.h.

Referenced by fetchProtoJetsFromNeighbour(), and setNeighbourJetFinders().

etTotalType L1GctJetFinderBase::m_outputEtSum
protected

output Et strip sums and Ht - refactored

Definition at line 312 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getEtSum(), operator<<(), and resetProcessor().

Pipeline< etTotalType > L1GctJetFinderBase::m_outputEtSumPipe
private

"Pipeline memories" for energy sums

Definition at line 367 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getInternalEtSums(), and resetPipelines().

etCompInternJfType L1GctJetFinderBase::m_outputExSum
protected

Definition at line 313 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getExSum(), operator<<(), and resetProcessor().

Pipeline< etCompInternJfType > L1GctJetFinderBase::m_outputExSumPipe
private

Definition at line 368 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getInternalEtSums(), and resetPipelines().

etCompInternJfType L1GctJetFinderBase::m_outputEySum
protected

Definition at line 314 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getEySum(), operator<<(), and resetProcessor().

Pipeline< etCompInternJfType > L1GctJetFinderBase::m_outputEySumPipe
private

Definition at line 369 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), getInternalEtSums(), and resetPipelines().

hfTowerSumsType L1GctJetFinderBase::m_outputHfSums
protected

Definition at line 319 of file L1GctJetFinderBase.h.

Referenced by doEnergySums(), getHfSums(), and resetProcessor().

etHadType L1GctJetFinderBase::m_outputHtSum
protected

Definition at line 315 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getHtSum(), operator<<(), and resetProcessor().

Pipeline< etHadType > L1GctJetFinderBase::m_outputHtSumPipe
private

Definition at line 370 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getInternalEtSums(), and resetPipelines().

htCompInternJfType L1GctJetFinderBase::m_outputHxSum
protected

Definition at line 316 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getHxSum(), operator<<(), and resetProcessor().

Pipeline< htCompInternJfType > L1GctJetFinderBase::m_outputHxSumPipe
private

Definition at line 371 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getInternalHtMiss(), and resetPipelines().

htCompInternJfType L1GctJetFinderBase::m_outputHySum
protected

Definition at line 317 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getHySum(), operator<<(), and resetProcessor().

Pipeline< htCompInternJfType > L1GctJetFinderBase::m_outputHySumPipe
private

Definition at line 372 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), getInternalHtMiss(), and resetPipelines().

RawJetVector L1GctJetFinderBase::m_outputJets
protected
RawJetPipeline L1GctJetFinderBase::m_outputJetsPipe
private

Output jets "pipeline memory" for checking.

Definition at line 364 of file L1GctJetFinderBase.h.

Referenced by getInternalJets(), getRawJets(), resetPipelines(), and sortJets().

bool L1GctJetFinderBase::m_positiveEtaWheel
protected

*** Geometry parameters ***

Positive/negative eta flag

Definition at line 246 of file L1GctJetFinderBase.h.

Referenced by L1GctHardwareJetFinder::findLocalMaxima(), L1GctHardwareJetFinder::makeProtoJet(), and setEnergySumMasks().

RegionsVector L1GctJetFinderBase::m_rcvdProtoJets
protected

List of pre-clustered jets received from neighbour before the final stage of clustering.

Definition at line 303 of file L1GctJetFinderBase.h.

Referenced by fetchProtoJetsFromNeighbour(), L1GctHardwareJetFinder::findFinalClusters(), getRcvdProtoJets(), resetProcessor(), and setupObjects().

RegionsVector L1GctJetFinderBase::m_sentProtoJets
protected

List of pre-clustered jets to be sent to neighbour after the first stage of clustering.

Definition at line 301 of file L1GctJetFinderBase.h.

Referenced by L1GctHardwareJetFinder::convertClustersToProtoJets(), getSentProtoJets(), resetProcessor(), and setupObjects().

JetVector L1GctJetFinderBase::m_sortedJets
protected

Definition at line 309 of file L1GctJetFinderBase.h.

Referenced by getJets(), resetProcessor(), and sortJets().

unsigned L1GctJetFinderBase::m_tauIsolationThreshold
protected
unsigned L1GctJetFinderBase::m_TauJetSeed
protected

Definition at line 258 of file L1GctJetFinderBase.h.

Referenced by getTauJetSeed(), and setJetFinderParams().

bool L1GctJetFinderBase::m_useImprovedTauAlgo
protected

Setup parameters for the tau jet algorithm.

Definition at line 267 of file L1GctJetFinderBase.h.

Referenced by L1GctHardwareJetFinder::findFinalClusters(), L1GctHardwareJetFinder::makeProtoJet(), and setupTauAlgo().

const unsigned int L1GctJetFinderBase::MAX_JETS_OUT = 6
static
const unsigned int L1GctJetFinderBase::MAX_REGIONS_IN = L1GctJetFinderBase::COL_OFFSET*L1GctJetFinderBase::N_COLS
staticprivate

The real jetFinders must define these constants.

Dependent on number of rows and columns.

Definition at line 359 of file L1GctJetFinderBase.h.

Referenced by maxRegionsIn().

const unsigned int L1GctJetFinderBase::N_COLS = 2
staticprivate

Definition at line 360 of file L1GctJetFinderBase.h.

Referenced by nCols().

const unsigned int L1GctJetFinderBase::N_EXTRA_REGIONS_ETA00 = 2
static

Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET)

Definition at line 117 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), L1GctHardwareJetFinder::findFinalClusters(), L1GctHardwareJetFinder::makeProtoJet(), and setInputRegion().

const unsigned int L1GctJetFinderBase::N_JF_PER_WHEEL = ((L1CaloRegionDetId::N_PHI)/2)
static

No of jetFinders per Wheel.

Definition at line 116 of file L1GctJetFinderBase.h.

Referenced by setInputRegion().