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 48 of file L1GctJetFinderBase.h.

Member Typedef Documentation

◆ etCompInternJfType

Definition at line 59 of file L1GctJetFinderBase.h.

◆ etHadType

Definition at line 58 of file L1GctJetFinderBase.h.

◆ etTotalType

Definition at line 57 of file L1GctJetFinderBase.h.

◆ htCompInternJfType

Definition at line 60 of file L1GctJetFinderBase.h.

◆ JetVector

Definition at line 55 of file L1GctJetFinderBase.h.

◆ lutPtr

Definition at line 107 of file L1GctJetFinderBase.h.

◆ lutPtrVector

Definition at line 108 of file L1GctJetFinderBase.h.

◆ RawJetPipeline

Definition at line 56 of file L1GctJetFinderBase.h.

◆ RawJetVector

Definition at line 54 of file L1GctJetFinderBase.h.

◆ RegionsVector

Definition at line 53 of file L1GctJetFinderBase.h.

◆ ULong

typedef unsigned long int L1GctJetFinderBase::ULong

Definition at line 51 of file L1GctJetFinderBase.h.

◆ UShort

typedef unsigned short int L1GctJetFinderBase::UShort

Definition at line 52 of file L1GctJetFinderBase.h.

Member Enumeration Documentation

◆ fetchType

different ways of getting the neighbour data

Enumerator
TOP 
BOT 
TOPBOT 

Definition at line 223 of file L1GctJetFinderBase.h.

223 { TOP, BOT, TOPBOT };

◆ maxValues

Enumerator
etTotalMaxValue 
htTotalMaxValue 

Definition at line 62 of file L1GctJetFinderBase.h.

Constructor & Destructor Documentation

◆ L1GctJetFinderBase()

L1GctJetFinderBase::L1GctJetFinderBase ( int  id)

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

Definition at line 23 of file L1GctJetFinderBase.cc.

24  : L1GctProcessor(),
25  m_id(id),
27  m_idInRange(false),
29  m_gotJetFinderParams(false),
30  m_gotJetEtCalLuts(false),
31  m_gotChannelMask(false),
33  m_minColThisJf(0),
34  m_CenJetSeed(0),
35  m_FwdJetSeed(0),
36  m_TauJetSeed(0),
37  m_EtaBoundry(0),
39  m_useImprovedTauAlgo(false),
44  m_EttMask(),
45  m_EtmMask(),
46  m_HttMask(),
47  m_HtmMask(),
62  // Call reset to initialise vectors for input and output
63  this->reset();
64  //Check jetfinder setup
65  if (m_id < 0 || m_id >= static_cast<int>(L1CaloRegionDetId::N_PHI)) {
66  if (m_verbose) {
67  edm::LogWarning("L1GctSetupError") << "L1GctJetFinderBase::L1GctJetFinderBase() : Jet Finder ID " << m_id
68  << " has been incorrectly constructed!\n"
69  << "ID number should be between the range of 0 to "
70  << L1CaloRegionDetId::N_PHI - 1 << "\n";
71  }
72  } else {
73  m_idInRange = true;
74  }
75 }

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

◆ ~L1GctJetFinderBase()

L1GctJetFinderBase::~L1GctJetFinderBase ( )
override

Definition at line 77 of file L1GctJetFinderBase.cc.

77 {}

Member Function Documentation

◆ calcEtStrip()

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

Calculates total (raw) energy in a phi strip.

◆ calcHfSums()

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

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

Definition at line 464 of file L1GctJetFinderBase.cc.

464  {
465  static const UShort NUMBER_OF_FRWRD_RINGS = 4;
466  static const UShort NUMBER_OF_INNER_RINGS = 2;
467  std::vector<unsigned> et(NUMBER_OF_INNER_RINGS, 0);
468  std::vector<bool> of(NUMBER_OF_INNER_RINGS, false);
469  std::vector<unsigned> nt(NUMBER_OF_INNER_RINGS, 0);
470 
471  UShort offset = COL_OFFSET * (centralCol0() + 1);
472  for (UShort i = 0; i < NUMBER_OF_FRWRD_RINGS; ++i) {
473  offset--;
474 
475  // Sum HF Et and count jets above threshold over "inner rings"
476  if (i < NUMBER_OF_INNER_RINGS) {
477  et.at(i) += m_inputRegions.at(offset).et();
478  of.at(i) = of.at(i) || m_inputRegions.at(offset).overFlow();
479 
480  et.at(i) += m_inputRegions.at(offset + COL_OFFSET).et();
481  of.at(i) = of.at(i) || m_inputRegions.at(offset + COL_OFFSET).overFlow();
482 
483  if (m_inputRegions.at(offset).fineGrain())
484  nt.at(i)++;
485  if (m_inputRegions.at(offset + COL_OFFSET).fineGrain())
486  nt.at(i)++;
487  }
488  }
489  hfTowerSumsType temp(et.at(0), et.at(1), nt.at(0), nt.at(1));
490  temp.etSum0.setOverFlow(temp.etSum0.overFlow() || of.at(0));
491  temp.etSum1.setOverFlow(temp.etSum1.overFlow() || of.at(1));
492  return temp;
493 }

References centralCol0(), COL_OFFSET, EgHLTOffHistBins_cfi::et, mps_fire::i, m_inputRegions, nt, hltrates_dqm_sourceclient-live_cfg::offset, and groupFilesInBlocks::temp.

Referenced by doEnergySums().

◆ calcHtStrip()

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

Calculates total calibrated energy in jets (Ht) sum.

◆ centralCol0()

virtual unsigned L1GctJetFinderBase::centralCol0 ( ) const
inlineprotectedvirtual

Reimplemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctNullJetFinder, and L1GctSimpleJetFinder.

Definition at line 334 of file L1GctJetFinderBase.h.

334 { return CENTRAL_COL0; }

References CENTRAL_COL0.

Referenced by calcHfSums(), and doEtSums().

◆ doEnergySums()

void L1GctJetFinderBase::doEnergySums ( )
protected

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

Definition at line 354 of file L1GctJetFinderBase.cc.

354  {
355  // Refactored energy sums code - find scalar and vector sums
356  // of Et and Ht instead of strip stums
357  doEtSums();
358  doHtSums();
359 
360  //calculate the Hf tower Et sums and tower-over-threshold counts
362 
363  return;
364 }

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

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

◆ doEtSums()

void L1GctJetFinderBase::doEtSums ( )
protected

Calculates scalar and vector sum of Et over input regions.

Definition at line 367 of file L1GctJetFinderBase.cc.

367  {
368  unsigned et0 = 0;
369  unsigned et1 = 0;
370  bool of = false;
371 
372  // Add the Et values from regions 2 to 12 for strip 0,
373  // the Et values from regions 15 to 25 for strip 1.
374  unsigned offset = COL_OFFSET * centralCol0();
375  unsigned ieta = 0;
376  for (UShort i = offset + N_EXTRA_REGIONS_ETA00; i < offset + COL_OFFSET; ++i, ++ieta) {
377  if (!m_EttMask[ieta]) {
378  et0 += m_inputRegions.at(i).et();
379  of |= m_inputRegions.at(i).overFlow();
380  et1 += m_inputRegions.at(i + COL_OFFSET).et();
381  of |= m_inputRegions.at(i + COL_OFFSET).overFlow();
382  }
383  }
384 
385  etTotalType etStrip0(et0);
386  etTotalType etStrip1(et1);
387  etStrip0.setOverFlow(etStrip0.overFlow() || of);
388  etStrip1.setOverFlow(etStrip1.overFlow() || of);
389  unsigned xfact0 = (4 * m_id + 6) % 36;
390  unsigned xfact1 = (4 * m_id + 8) % 36;
391  unsigned yfact0 = (4 * m_id + 15) % 36;
392  unsigned yfact1 = (4 * m_id + 17) % 36;
393  m_outputEtSum = etStrip0 + etStrip1;
394  if (m_outputEtSum.overFlow())
396  m_outputExSum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits, L1GctInternEtSum::kJetMissEtNBits>(
397  etStrip0, xfact0, etStrip1, xfact1);
398  m_outputEySum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits, L1GctInternEtSum::kJetMissEtNBits>(
399  etStrip0, yfact0, etStrip1, yfact1);
400 
404 }

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

Referenced by doEnergySums().

◆ doHtSums()

void L1GctJetFinderBase::doHtSums ( )
protected

Calculates scalar and vector sum of Ht over calibrated jets.

Definition at line 407 of file L1GctJetFinderBase.cc.

407  {
408  unsigned htt = 0;
409  unsigned ht0 = 0;
410  unsigned ht1 = 0;
411  bool of = false;
412 
413  for (UShort i = 0; i < MAX_JETS_OUT; ++i) {
414  // Only sum Ht for valid jets
415  if (!m_outputJets.at(i).isNullJet()) {
416  unsigned ieta = m_outputJets.at(i).rctEta();
417  unsigned htJet = m_outputJets.at(i).calibratedEt(m_jetEtCalLuts.at(ieta));
418  // Scalar sum of Htt, with associated threshold
419  if (htJet >= m_HttSumJetThreshold && !m_HttMask[ieta]) {
420  htt += htJet;
421  }
422  // Strip sums, for input to Htm calculation, with associated threshold
423  if (htJet >= m_HtmSumJetThreshold && !m_HtmMask[ieta]) {
424  if (m_outputJets.at(i).rctPhi() == 0) {
425  ht0 += htJet;
426  }
427  if (m_outputJets.at(i).rctPhi() == 1) {
428  ht1 += htJet;
429  }
430  of |= m_outputJets.at(i).overFlow();
431  }
432  }
433  }
434 
435  etHadType httTotal(htt);
436  etHadType htStrip0(ht0);
437  etHadType htStrip1(ht1);
438  httTotal.setOverFlow(httTotal.overFlow() || of);
439  if (httTotal.overFlow())
440  httTotal.setValue(htTotalMaxValue);
441  htStrip0.setOverFlow(htStrip0.overFlow() || of);
442  htStrip1.setOverFlow(htStrip1.overFlow() || of);
443  unsigned xfact0 = (4 * m_id + 10) % 36;
444  unsigned xfact1 = (4 * m_id + 4) % 36;
445  unsigned yfact0 = (4 * m_id + 19) % 36;
446  unsigned yfact1 = (4 * m_id + 13) % 36;
447  m_outputHtSum = httTotal;
448  m_outputHxSum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits, L1GctInternHtMiss::kJetMissHtNBits>(
449  htStrip0, xfact0, htStrip1, xfact1);
450  m_outputHySum = etComponentForJetFinder<L1GctInternEtSum::kTotEtOrHtNBits, L1GctInternHtMiss::kJetMissHtNBits>(
451  htStrip0, yfact0, htStrip1, yfact1);
452 
453  // Common overflow for Ht components
454  bool htmOverFlow = m_outputHxSum.overFlow() || m_outputHySum.overFlow();
455  m_outputHxSum.setOverFlow(htmOverFlow);
456  m_outputHySum.setOverFlow(htmOverFlow);
457 
461 }

References L1GctProcessor::bxRel(), htTotalMaxValue, mps_fire::i, LEDCalibrationChannels::ieta, 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().

◆ etComponentForJetFinder()

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 500 of file L1GctJetFinderBase.cc.

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

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

◆ fetchInput()

void L1GctJetFinderBase::fetchInput ( )
overridepure virtual

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

Implements L1GctProcessor.

Implemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctNullJetFinder, and L1GctSimpleJetFinder.

Referenced by L1GctJetLeafCard::fetchInput().

◆ fetchProtoJetsFromNeighbour()

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 313 of file L1GctJetFinderBase.cc.

313  {
314  switch (ft) {
315  case TOP:
316  m_rcvdProtoJets = m_neighbourJetFinders.at(0)->getSentProtoJets();
317  break;
318  case BOT:
319  m_rcvdProtoJets = m_neighbourJetFinders.at(1)->getSentProtoJets();
320  break;
321  case TOPBOT:
322  // Copy half the jets from each neighbour
323  static const unsigned int MAX_TOPBOT_JETS = MAX_JETS_OUT / 2;
324  unsigned j = 0;
326  temp = m_neighbourJetFinders.at(0)->getSentProtoJets();
327  for (; j < MAX_TOPBOT_JETS; ++j) {
328  m_rcvdProtoJets.at(j) = temp.at(j);
329  }
330  temp = m_neighbourJetFinders.at(1)->getSentProtoJets();
331  for (; j < MAX_JETS_OUT; ++j) {
332  m_rcvdProtoJets.at(j) = temp.at(j);
333  }
334  break;
335  }
336 }

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

Referenced by L1GctHardwareJetFinder::process().

◆ getCenJetSeed()

unsigned L1GctJetFinderBase::getCenJetSeed ( ) const
inline

Definition at line 205 of file L1GctJetFinderBase.h.

205 { return m_CenJetSeed; }

References m_CenJetSeed.

◆ getEtaBoundry()

unsigned L1GctJetFinderBase::getEtaBoundry ( ) const
inline

Definition at line 208 of file L1GctJetFinderBase.h.

208 { return m_EtaBoundry; }

References m_EtaBoundry.

◆ getEtSum()

etTotalType L1GctJetFinderBase::getEtSum ( ) const
inline

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

Definition at line 185 of file L1GctJetFinderBase.h.

References m_outputEtSum.

Referenced by L1GctJetLeafCard::process().

◆ getExSum()

etCompInternJfType L1GctJetFinderBase::getExSum ( ) const
inline

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

Definition at line 186 of file L1GctJetFinderBase.h.

References m_outputExSum.

Referenced by L1GctJetLeafCard::process().

◆ getEySum()

etCompInternJfType L1GctJetFinderBase::getEySum ( ) const
inline

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

Definition at line 189 of file L1GctJetFinderBase.h.

References m_outputEySum.

Referenced by L1GctJetLeafCard::process().

◆ getFwdJetSeed()

unsigned L1GctJetFinderBase::getFwdJetSeed ( ) const
inline

Definition at line 206 of file L1GctJetFinderBase.h.

206 { return m_FwdJetSeed; }

References m_FwdJetSeed.

◆ getHfSums()

hfTowerSumsType L1GctJetFinderBase::getHfSums ( ) const
inline

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

Definition at line 200 of file L1GctJetFinderBase.h.

References m_outputHfSums.

Referenced by L1GctJetLeafCard::process().

◆ getHtmSumJetThreshold()

unsigned L1GctJetFinderBase::getHtmSumJetThreshold ( ) const
inline

Definition at line 211 of file L1GctJetFinderBase.h.

211 { return m_HtmSumJetThreshold; }

References m_HtmSumJetThreshold.

◆ getHtSum()

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

◆ getHttSumJetThreshold()

unsigned L1GctJetFinderBase::getHttSumJetThreshold ( ) const
inline

Definition at line 210 of file L1GctJetFinderBase.h.

210 { return m_HttSumJetThreshold; }

References m_HttSumJetThreshold.

◆ getHxSum()

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

◆ getHySum()

htCompInternJfType L1GctJetFinderBase::getHySum ( ) const
inline

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

Definition at line 196 of file L1GctJetFinderBase.h.

References m_outputHySum.

Referenced by L1GctJetLeafCard::process().

◆ getInputRegions()

RegionsVector L1GctJetFinderBase::getInputRegions ( ) const
inline

Return input data.

Definition at line 158 of file L1GctJetFinderBase.h.

158 { return m_inputRegions; }

References m_inputRegions.

◆ getInternalEtSums()

std::vector< L1GctInternEtSum > L1GctJetFinderBase::getInternalEtSums ( ) const

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

Definition at line 280 of file L1GctJetFinderBase.cc.

280  {
281  std::vector<L1GctInternEtSum> result;
282  for (int bx = 0; bx < numOfBx(); bx++) {
283  result.push_back(L1GctInternEtSum::fromEmulatorJetTotEt(m_outputEtSumPipe.contents.at(bx).value(),
284  m_outputEtSumPipe.contents.at(bx).overFlow(),
285  static_cast<int16_t>(bx - bxMin())));
287  m_outputExSumPipe.contents.at(bx).overFlow(),
288  static_cast<int16_t>(bx - bxMin())));
290  m_outputEySumPipe.contents.at(bx).overFlow(),
291  static_cast<int16_t>(bx - bxMin())));
292  result.push_back(L1GctInternEtSum::fromEmulatorJetTotHt(m_outputHtSumPipe.contents.at(bx).value(),
293  m_outputHtSumPipe.contents.at(bx).overFlow(),
294  static_cast<int16_t>(bx - bxMin())));
295  }
296  return result;
297 }

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

◆ getInternalHtMiss()

std::vector< L1GctInternHtMiss > L1GctJetFinderBase::getInternalHtMiss ( ) const

Definition at line 299 of file L1GctJetFinderBase.cc.

299  {
300  std::vector<L1GctInternHtMiss> result;
301  result.reserve(numOfBx());
302  for (int bx = 0; bx < numOfBx(); bx++) {
303  result.push_back(L1GctInternHtMiss::emulatorJetMissHt(m_outputHxSumPipe.contents.at(bx).value(),
304  m_outputHySumPipe.contents.at(bx).value(),
305  m_outputHxSumPipe.contents.at(bx).overFlow(),
306  static_cast<int16_t>(bx - bxMin())));
307  }
308  return result;
309 }

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

◆ getInternalJets()

std::vector< L1GctInternJetData > L1GctJetFinderBase::getInternalJets ( ) const

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

Definition at line 263 of file L1GctJetFinderBase.cc.

263  {
264  std::vector<L1GctInternJetData> result;
265  for (RawJetVector::const_iterator jet = m_outputJetsPipe.contents.begin(); jet != m_outputJetsPipe.contents.end();
266  jet++) {
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 }

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

◆ getJetEtCalLuts()

const lutPtrVector L1GctJetFinderBase::getJetEtCalLuts ( ) const
inline

Return pointers to calibration LUTs.

Definition at line 180 of file L1GctJetFinderBase.h.

180 { return m_jetEtCalLuts; }

References m_jetEtCalLuts.

◆ getJets()

JetVector L1GctJetFinderBase::getJets ( ) const
inline

◆ getKeptProtoJets()

RegionsVector L1GctJetFinderBase::getKeptProtoJets ( ) const
inline

get protoJets kept

Definition at line 167 of file L1GctJetFinderBase.h.

167 { return m_keptProtoJets; }

References m_keptProtoJets.

◆ getRawJets()

RawJetVector L1GctJetFinderBase::getRawJets ( ) const
inline

get output jets in raw format

Definition at line 170 of file L1GctJetFinderBase.h.

170 { return m_outputJetsPipe.contents; }

References L1GctProcessor::Pipeline< T >::contents, and m_outputJetsPipe.

◆ getRcvdProtoJets()

RegionsVector L1GctJetFinderBase::getRcvdProtoJets ( ) const
inline

get protoJets received from neighbour

Definition at line 164 of file L1GctJetFinderBase.h.

164 { return m_rcvdProtoJets; }

References m_rcvdProtoJets.

◆ getSentProtoJets()

RegionsVector L1GctJetFinderBase::getSentProtoJets ( ) const
inline

get protoJets sent to neighbour

Definition at line 161 of file L1GctJetFinderBase.h.

161 { return m_sentProtoJets; }

References m_sentProtoJets.

◆ getTauIsolationThreshold()

unsigned L1GctJetFinderBase::getTauIsolationThreshold ( ) const
inline

Definition at line 209 of file L1GctJetFinderBase.h.

209 { return m_tauIsolationThreshold; }

References m_tauIsolationThreshold.

◆ getTauJetSeed()

unsigned L1GctJetFinderBase::getTauJetSeed ( ) const
inline

Definition at line 207 of file L1GctJetFinderBase.h.

207 { return m_TauJetSeed; }

References m_TauJetSeed.

◆ maxRegionsIn()

virtual unsigned L1GctJetFinderBase::maxRegionsIn ( ) const
inlineprotectedvirtual

*** End of event data ***


Reimplemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctNullJetFinder, and L1GctSimpleJetFinder.

Definition at line 333 of file L1GctJetFinderBase.h.

333 { return MAX_REGIONS_IN; }

References MAX_REGIONS_IN.

Referenced by resetProcessor(), and setupObjects().

◆ nCols()

virtual unsigned L1GctJetFinderBase::nCols ( ) const
inlineprotectedvirtual

Reimplemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctNullJetFinder, and L1GctSimpleJetFinder.

Definition at line 335 of file L1GctJetFinderBase.h.

335 { return N_COLS; }

References N_COLS.

Referenced by setInputRegion().

◆ process()

void L1GctJetFinderBase::process ( )
overridepure virtual

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

Implements L1GctProcessor.

Implemented in L1GctTdrJetFinder, L1GctHardwareJetFinder, L1GctNullJetFinder, and L1GctSimpleJetFinder.

Referenced by L1GctJetLeafCard::process().

◆ resetPipelines()

void L1GctJetFinderBase::resetPipelines ( )
overrideprotectedvirtual

◆ resetProcessor()

void L1GctJetFinderBase::resetProcessor ( )
overrideprotectedvirtual

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

Implements L1GctProcessor.

Definition at line 179 of file L1GctJetFinderBase.cc.

179  {
180  m_inputRegions.clear();
181  m_inputRegions.resize(this->maxRegionsIn());
182  m_outputJets.clear();
183  m_outputJets.resize(MAX_JETS_OUT);
184  m_sortedJets.clear();
185  m_sortedJets.resize(MAX_JETS_OUT);
186 
187  m_sentProtoJets.clear();
189  m_rcvdProtoJets.clear();
191  m_keptProtoJets.clear();
193 
194  m_outputEtSum = 0;
195  m_outputExSum = 0;
196  m_outputEySum = 0;
197  m_outputHtSum = 0;
198  m_outputHxSum = 0;
199  m_outputHySum = 0;
200 
202 }

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

◆ setEnergySumMasks()

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 130 of file L1GctJetFinderBase.cc.

130  {
131  bool matchCheckEttAndEtm = true;
132  if (chmask != nullptr) {
133  static const unsigned N_ETA = L1GctJetFinderParams::NUMBER_ETA_VALUES;
134  for (unsigned ieta = 0; ieta < N_ETA; ++ieta) {
135  unsigned globalEta = (m_positiveEtaWheel ? N_ETA + ieta : N_ETA - (ieta + 1));
136  m_EttMask[ieta] = chmask->totalEtMask(globalEta);
137  m_EtmMask[ieta] = chmask->missingEtMask(globalEta);
138  m_HttMask[ieta] = chmask->totalHtMask(globalEta);
139  m_HtmMask[ieta] = chmask->missingHtMask(globalEta);
140 
141  matchCheckEttAndEtm &= (m_EttMask[ieta] == m_EtmMask[ieta]);
142  }
143  if (!matchCheckEttAndEtm)
144  edm::LogWarning("L1GctSetupError")
145  << "L1GctJetFinderBase::setEnergySumMasks() : In Jet Finder ID " << m_id
146  << " setting eta-dependent masks for Et sums: you cannot have different masks for total and missing Et\n";
147  m_gotChannelMask = true;
148  }
149 }

References LEDCalibrationChannels::ieta, 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().

◆ setInputRegion()

void L1GctJetFinderBase::setInputRegion ( const L1CaloRegion region)

Set input data.

Definition at line 237 of file L1GctJetFinderBase.cc.

237  {
238  static const unsigned NPHI = L1CaloRegionDetId::N_PHI;
239  static const unsigned N_00 = N_EXTRA_REGIONS_ETA00;
240  unsigned crate = region.rctCrate();
241  // Find the column for this region in a global (eta,phi) array
242  // Note the column numbers here are not the same as region->gctPhi()
243  // because the RCT crates are not numbered from phi=0.
244  unsigned colAbsolute = (crate + 1) * 2 + region.rctPhi();
245  unsigned colRelative = ((colAbsolute + NPHI) - m_minColThisJf) % NPHI;
246  if (colRelative < this->nCols()) {
247  // We are in the right range in phi
248  // Now check we are in the right wheel (positive or negative eta)
249  if ((crate / N_JF_PER_WHEEL) == (m_id / N_JF_PER_WHEEL)) {
250  unsigned i = colRelative * COL_OFFSET + N_00 + region.rctEta();
252  } else {
253  // Accept neighbouring regions from the other wheel
254  if (region.rctEta() < N_00) {
255  unsigned i = colRelative * COL_OFFSET + N_00 - (region.rctEta() + 1);
257  }
258  }
259  }
260 }

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(), and HLT_FULL_cff::region.

◆ setJetEtCalibrationLuts()

void L1GctJetFinderBase::setJetEtCalibrationLuts ( const lutPtrVector jfluts)

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

Definition at line 124 of file L1GctJetFinderBase.cc.

124  {
125  m_jetEtCalLuts = jfluts;
127 }

References m_gotJetEtCalLuts, m_jetEtCalLuts, and L1GctJetFinderParams::NUMBER_ETA_VALUES.

◆ setJetFinderParams()

void L1GctJetFinderBase::setJetFinderParams ( const L1GctJetFinderParams jfpars)

◆ setNeighbourJetFinders()

void L1GctJetFinderBase::setNeighbourJetFinders ( const std::vector< L1GctJetFinderBase * > &  neighbours)

Set pointers to neighbours - needed to complete the setup.

Set pointers to neighbours.

Definition at line 80 of file L1GctJetFinderBase.cc.

80  {
82  if (neighbours.size() == 2) {
83  m_neighbourJetFinders = neighbours;
84  } else {
85  m_gotNeighbourPointers = false;
86  if (m_verbose) {
87  edm::LogWarning("L1GctSetupError") << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
88  << " size of input vector should be 2, but is in fact " << neighbours.size()
89  << "\n";
90  }
91  }
92  if (m_neighbourJetFinders.at(0) == nullptr) {
93  m_gotNeighbourPointers = false;
94  if (m_verbose) {
95  edm::LogWarning("L1GctSetupError") << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
96  << " first neighbour pointer is set to zero\n";
97  }
98  }
99  if (m_neighbourJetFinders.at(1) == nullptr) {
100  m_gotNeighbourPointers = false;
101  if (m_verbose) {
102  edm::LogWarning("L1GctSetupError") << "L1GctJetFinderBase::setNeighbourJetFinders() : In Jet Finder ID " << m_id
103  << " second neighbour pointer is set to zero\n";
104  }
105  }
107  edm::LogError("L1GctSetupError") << "Jet Finder ID " << m_id << " has incorrect assignment of neighbour pointers";
108  }
109 }

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

Referenced by L1GctJetLeafCard::setNeighbourLeafCards().

◆ setupObjects()

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 217 of file L1GctJetFinderBase.cc.

217  {
220  L1GctRegion tempRgn;
221  tempRgn.setBx(bxAbs());
222  m_inputRegions.assign(this->maxRegionsIn(), tempRgn);
223 
226  m_sentProtoJets.assign(MAX_JETS_OUT, tempRgn);
227  m_rcvdProtoJets.assign(MAX_JETS_OUT, tempRgn);
228  m_keptProtoJets.assign(MAX_JETS_OUT, tempRgn);
229 
231  L1GctJet tempJet;
232  tempJet.setBx(bxAbs());
233  m_outputJets.assign(MAX_JETS_OUT, tempJet);
234 }

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

◆ setupOk()

bool L1GctJetFinderBase::setupOk ( ) const
inline

◆ setupTauAlgo()

void L1GctJetFinderBase::setupTauAlgo ( const bool  useImprovedAlgo,
const bool  ignoreVetoBitsForIsolation 
)
inline

Setup the tau algorithm parameters.

Definition at line 135 of file L1GctJetFinderBase.h.

135  {
136  m_useImprovedTauAlgo = useImprovedAlgo;
137  m_ignoreTauVetoBitsForIsolation = ignoreVetoBitsForIsolation;
138  }

References m_ignoreTauVetoBitsForIsolation, and m_useImprovedTauAlgo.

◆ sortJets()

void L1GctJetFinderBase::sortJets ( )
protected

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

Definition at line 339 of file L1GctJetFinderBase.cc.

339  {
340  JetVector tempJets(MAX_JETS_OUT);
341  for (unsigned j = 0; j < MAX_JETS_OUT; j++) {
342  tempJets.at(j) = m_outputJets.at(j).jetCand(m_jetEtCalLuts);
343  }
344 
345  // Sort the jets
346  L1GctJetSorter jSorter(tempJets);
347  m_sortedJets = jSorter.getSortedJets();
348 
349  //store jets in "pipeline memory" for checking
351 }

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

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

Friends And Related Function Documentation

◆ operator<<

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

Overload << operator.

Definition at line 151 of file L1GctJetFinderBase.cc.

151  {
152  using std::endl;
153  os << "ID = " << algo.m_id << endl;
154  os << "Calibration lut pointers stored for " << algo.m_jetEtCalLuts.size() << " eta bins" << endl;
155  for (unsigned ieta = 0; ieta < algo.m_jetEtCalLuts.size(); ieta++) {
156  os << "Eta bin " << ieta << ", JetEtCalibrationLut* = " << algo.m_jetEtCalLuts.at(ieta) << endl;
157  }
158  os << "No of input regions " << algo.m_inputRegions.size() << endl;
159  // for(unsigned i=0; i < algo.m_inputRegions.size(); ++i)
160  // {
161  // os << algo.m_inputRegions.at(i);
162  // }
163  os << "No of output jets " << algo.m_outputJets.size() << endl;
164  // for(unsigned i=0; i < algo.m_outputJets.size(); ++i)
165  // {
166  // os << algo.m_outputJets.at(i);
167  // }
168  os << "Output total scalar Et " << algo.m_outputEtSum << endl;
169  os << "Output vector Et x component " << algo.m_outputExSum << endl;
170  os << "Output vector Et y component " << algo.m_outputEySum << endl;
171  os << "Output total scalar Ht " << algo.m_outputHtSum << endl;
172  os << "Output vector Ht x component " << algo.m_outputHxSum << endl;
173  os << "Output vector Ht y component " << algo.m_outputHySum << endl;
174  os << endl;
175 
176  return os;
177 }

Member Data Documentation

◆ CENTRAL_COL0

const unsigned int L1GctJetFinderBase::CENTRAL_COL0 = 0
staticprivate

Definition at line 364 of file L1GctJetFinderBase.h.

Referenced by centralCol0().

◆ COL_OFFSET

const unsigned int L1GctJetFinderBase::COL_OFFSET = L1GctJetFinderParams::NUMBER_ETA_VALUES + N_EXTRA_REGIONS_ETA00
static

◆ m_CenJetSeed

unsigned L1GctJetFinderBase::m_CenJetSeed
protected

◆ m_EtaBoundry

unsigned L1GctJetFinderBase::m_EtaBoundry
protected

◆ m_EtmMask

bool L1GctJetFinderBase::m_EtmMask[11]
protected

Definition at line 290 of file L1GctJetFinderBase.h.

Referenced by setEnergySumMasks().

◆ m_EttMask

bool L1GctJetFinderBase::m_EttMask[11]
protected

Definition at line 289 of file L1GctJetFinderBase.h.

Referenced by doEtSums(), and setEnergySumMasks().

◆ m_FwdJetSeed

unsigned L1GctJetFinderBase::m_FwdJetSeed
protected

◆ m_gotChannelMask

bool L1GctJetFinderBase::m_gotChannelMask
protected

Remember whether channel mask have been stored.

Definition at line 244 of file L1GctJetFinderBase.h.

Referenced by setEnergySumMasks(), and setupOk().

◆ m_gotJetEtCalLuts

bool L1GctJetFinderBase::m_gotJetEtCalLuts
protected

Remember whether jet Et calibration Lut pointers have been stored.

Definition at line 241 of file L1GctJetFinderBase.h.

Referenced by setJetEtCalibrationLuts(), and setupOk().

◆ m_gotJetFinderParams

bool L1GctJetFinderBase::m_gotJetFinderParams
protected

Remember whether jetfinder parameters have been stored.

Definition at line 238 of file L1GctJetFinderBase.h.

Referenced by setJetFinderParams(), and setupOk().

◆ m_gotNeighbourPointers

bool L1GctJetFinderBase::m_gotNeighbourPointers
protected

Remember whether the neighbour pointers have been stored.

Definition at line 235 of file L1GctJetFinderBase.h.

Referenced by setNeighbourJetFinders(), and setupOk().

◆ m_HtmMask

bool L1GctJetFinderBase::m_HtmMask[11]
protected

Definition at line 292 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), and setEnergySumMasks().

◆ m_HtmSumJetThreshold

unsigned L1GctJetFinderBase::m_HtmSumJetThreshold
protected

Definition at line 286 of file L1GctJetFinderBase.h.

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

◆ m_HttMask

bool L1GctJetFinderBase::m_HttMask[11]
protected

Definition at line 291 of file L1GctJetFinderBase.h.

Referenced by doHtSums(), and setEnergySumMasks().

◆ m_HttSumJetThreshold

unsigned L1GctJetFinderBase::m_HttSumJetThreshold
protected

Definition at line 285 of file L1GctJetFinderBase.h.

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

◆ m_id

int L1GctJetFinderBase::m_id
protected

◆ m_idInRange

bool L1GctJetFinderBase::m_idInRange
protected

Remember whether range check on the input ID was ok.

Definition at line 232 of file L1GctJetFinderBase.h.

Referenced by L1GctJetFinderBase(), and setupOk().

◆ m_ignoreTauVetoBitsForIsolation

bool L1GctJetFinderBase::m_ignoreTauVetoBitsForIsolation
protected

◆ m_inputRegions

RegionsVector L1GctJetFinderBase::m_inputRegions
protected

◆ m_jetEtCalLuts

lutPtrVector L1GctJetFinderBase::m_jetEtCalLuts
protected

Jet Et Conversion LUT pointer.

Definition at line 266 of file L1GctJetFinderBase.h.

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

◆ m_keptProtoJets

RegionsVector L1GctJetFinderBase::m_keptProtoJets
protected

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

Definition at line 309 of file L1GctJetFinderBase.h.

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

◆ m_minColThisJf

unsigned L1GctJetFinderBase::m_minColThisJf
protected

parameter to determine which Regions belong in our acceptance

Definition at line 253 of file L1GctJetFinderBase.h.

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

◆ m_neighbourJetFinders

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

Store neighbour pointers.

Definition at line 229 of file L1GctJetFinderBase.h.

Referenced by fetchProtoJetsFromNeighbour(), and setNeighbourJetFinders().

◆ m_outputEtSum

etTotalType L1GctJetFinderBase::m_outputEtSum
protected

output Et strip sums and Ht - refactored

Definition at line 316 of file L1GctJetFinderBase.h.

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

◆ m_outputEtSumPipe

Pipeline<etTotalType> L1GctJetFinderBase::m_outputEtSumPipe
private

"Pipeline memories" for energy sums

Definition at line 370 of file L1GctJetFinderBase.h.

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

◆ m_outputExSum

etCompInternJfType L1GctJetFinderBase::m_outputExSum
protected

Definition at line 317 of file L1GctJetFinderBase.h.

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

◆ m_outputExSumPipe

Pipeline<etCompInternJfType> L1GctJetFinderBase::m_outputExSumPipe
private

Definition at line 371 of file L1GctJetFinderBase.h.

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

◆ m_outputEySum

etCompInternJfType L1GctJetFinderBase::m_outputEySum
protected

Definition at line 318 of file L1GctJetFinderBase.h.

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

◆ m_outputEySumPipe

Pipeline<etCompInternJfType> L1GctJetFinderBase::m_outputEySumPipe
private

Definition at line 372 of file L1GctJetFinderBase.h.

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

◆ m_outputHfSums

hfTowerSumsType L1GctJetFinderBase::m_outputHfSums
protected

Definition at line 323 of file L1GctJetFinderBase.h.

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

◆ m_outputHtSum

etHadType L1GctJetFinderBase::m_outputHtSum
protected

Definition at line 319 of file L1GctJetFinderBase.h.

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

◆ m_outputHtSumPipe

Pipeline<etHadType> L1GctJetFinderBase::m_outputHtSumPipe
private

Definition at line 373 of file L1GctJetFinderBase.h.

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

◆ m_outputHxSum

htCompInternJfType L1GctJetFinderBase::m_outputHxSum
protected

Definition at line 320 of file L1GctJetFinderBase.h.

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

◆ m_outputHxSumPipe

Pipeline<htCompInternJfType> L1GctJetFinderBase::m_outputHxSumPipe
private

Definition at line 374 of file L1GctJetFinderBase.h.

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

◆ m_outputHySum

htCompInternJfType L1GctJetFinderBase::m_outputHySum
protected

Definition at line 321 of file L1GctJetFinderBase.h.

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

◆ m_outputHySumPipe

Pipeline<htCompInternJfType> L1GctJetFinderBase::m_outputHySumPipe
private

Definition at line 375 of file L1GctJetFinderBase.h.

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

◆ m_outputJets

RawJetVector L1GctJetFinderBase::m_outputJets
protected

◆ m_outputJetsPipe

RawJetPipeline L1GctJetFinderBase::m_outputJetsPipe
private

Output jets "pipeline memory" for checking.

Definition at line 367 of file L1GctJetFinderBase.h.

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

◆ m_positiveEtaWheel

bool L1GctJetFinderBase::m_positiveEtaWheel
protected

*** Geometry parameters ***

Positive/negative eta flag

Definition at line 250 of file L1GctJetFinderBase.h.

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

◆ m_rcvdProtoJets

RegionsVector L1GctJetFinderBase::m_rcvdProtoJets
protected

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

Definition at line 307 of file L1GctJetFinderBase.h.

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

◆ m_sentProtoJets

RegionsVector L1GctJetFinderBase::m_sentProtoJets
protected

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

Definition at line 305 of file L1GctJetFinderBase.h.

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

◆ m_sortedJets

JetVector L1GctJetFinderBase::m_sortedJets
protected

Definition at line 313 of file L1GctJetFinderBase.h.

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

◆ m_tauIsolationThreshold

unsigned L1GctJetFinderBase::m_tauIsolationThreshold
protected

◆ m_TauJetSeed

unsigned L1GctJetFinderBase::m_TauJetSeed
protected

Definition at line 262 of file L1GctJetFinderBase.h.

Referenced by getTauJetSeed(), and setJetFinderParams().

◆ m_useImprovedTauAlgo

bool L1GctJetFinderBase::m_useImprovedTauAlgo
protected

Setup parameters for the tau jet algorithm.

Definition at line 271 of file L1GctJetFinderBase.h.

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

◆ MAX_JETS_OUT

const unsigned int L1GctJetFinderBase::MAX_JETS_OUT = 6
static

◆ MAX_REGIONS_IN

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 362 of file L1GctJetFinderBase.h.

Referenced by maxRegionsIn().

◆ N_COLS

const unsigned int L1GctJetFinderBase::N_COLS = 2
staticprivate

Definition at line 363 of file L1GctJetFinderBase.h.

Referenced by nCols().

◆ N_EXTRA_REGIONS_ETA00

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 115 of file L1GctJetFinderBase.h.

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

◆ N_JF_PER_WHEEL

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

No of jetFinders per Wheel.

Definition at line 113 of file L1GctJetFinderBase.h.

Referenced by setInputRegion().

L1GctJetFinderBase::COL_OFFSET
static const unsigned int COL_OFFSET
The index offset between columns.
Definition: L1GctJetFinderBase.h:112
L1GctJetFinderParams::getCenJetEtSeedGct
unsigned getCenJetEtSeedGct() const
Definition: L1GctJetFinderParams.h:47
L1GctJetFinderBase::UShort
unsigned short int UShort
Definition: L1GctJetFinderBase.h:52
L1GctJetFinderBase::etHadType
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etHadType
Definition: L1GctJetFinderBase.h:58
L1GctJetFinderBase::RegionsVector
std::vector< L1GctRegion > RegionsVector
Definition: L1GctJetFinderBase.h:53
L1GctJetFinderBase::m_jetEtCalLuts
lutPtrVector m_jetEtCalLuts
Jet Et Conversion LUT pointer.
Definition: L1GctJetFinderBase.h:266
L1GctUnsignedInt::setValue
void setValue(unsigned value)
Set value from unsigned.
Definition: L1GctUnsignedInt.h:111
L1GctJetFinderBase::m_TauJetSeed
unsigned m_TauJetSeed
Definition: L1GctJetFinderBase.h:262
L1GctProcessor::L1GctProcessor
L1GctProcessor()
Definition: L1GctProcessor.h:24
L1GctJetFinderBase::m_outputHySum
htCompInternJfType m_outputHySum
Definition: L1GctJetFinderBase.h:321
mps_fire.i
i
Definition: mps_fire.py:428
L1GctJetFinderBase::etTotalMaxValue
Definition: L1GctJetFinderBase.h:63
L1GctJetFinderBase::N_EXTRA_REGIONS_ETA00
static const unsigned int N_EXTRA_REGIONS_ETA00
Number of additional regions to process on the "wrong" side of eta=0 (determines COL_OFFSET)
Definition: L1GctJetFinderBase.h:115
L1GctJetFinderBase::m_outputEySumPipe
Pipeline< etCompInternJfType > m_outputEySumPipe
Definition: L1GctJetFinderBase.h:372
L1CaloRegion::setBx
void setBx(int16_t bx)
set bx
Definition: L1CaloRegion.cc:103
L1GctJetFinderBase::m_keptProtoJets
RegionsVector m_keptProtoJets
List of pre-clustered jets retained locally as input to the final clustering.
Definition: L1GctJetFinderBase.h:309
L1GctJetFinderBase::m_gotChannelMask
bool m_gotChannelMask
Remember whether channel mask have been stored.
Definition: L1GctJetFinderBase.h:244
L1GctJetFinderParams::getTauJetEtSeedGct
unsigned getTauJetEtSeedGct() const
Definition: L1GctJetFinderParams.h:49
L1GctJetFinderBase::m_EtmMask
bool m_EtmMask[11]
Definition: L1GctJetFinderBase.h:290
L1GctJetFinderBase::m_neighbourJetFinders
std::vector< L1GctJetFinderBase * > m_neighbourJetFinders
Store neighbour pointers.
Definition: L1GctJetFinderBase.h:229
L1GctJetFinderBase::MAX_REGIONS_IN
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
Definition: L1GctJetFinderBase.h:362
L1GctJetFinderBase::m_outputJetsPipe
RawJetPipeline m_outputJetsPipe
Output jets "pipeline memory" for checking.
Definition: L1GctJetFinderBase.h:367
L1GctJetFinderBase::MAX_JETS_OUT
static const unsigned int MAX_JETS_OUT
Max of 6 jets found per jetfinder in a 2*11 search area.
Definition: L1GctJetFinderBase.h:111
nt
int nt
Definition: AMPTWrapper.h:42
L1GctJetFinderBase::m_positiveEtaWheel
bool m_positiveEtaWheel
Definition: L1GctJetFinderBase.h:250
L1GctJetFinderBase::htTotalMaxValue
Definition: L1GctJetFinderBase.h:64
L1GctJetFinderBase::m_outputJets
RawJetVector m_outputJets
output jets
Definition: L1GctJetFinderBase.h:312
L1GctJetFinderBase::m_EtaBoundry
unsigned m_EtaBoundry
Definition: L1GctJetFinderBase.h:263
L1GctProcessor::numOfBx
int numOfBx() const
Definition: L1GctProcessor.h:79
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1GctJetFinderBase::doEtSums
void doEtSums()
Calculates scalar and vector sum of Et over input regions.
Definition: L1GctJetFinderBase.cc:367
L1GctProcessor::bxRel
int bxRel() const
Definition: L1GctProcessor.h:81
L1GctRegion::makeJfInputRegion
static L1GctRegion makeJfInputRegion(const L1CaloRegion &)
Definition: L1GctRegion.cc:7
L1GctUnsignedInt::value
unsigned value() const
access value as unsigned
Definition: L1GctUnsignedInt.h:53
L1GctJetFinderBase::m_EttMask
bool m_EttMask[11]
Definition: L1GctJetFinderBase.h:289
L1GctJetFinderBase::m_outputExSumPipe
Pipeline< etCompInternJfType > m_outputExSumPipe
Definition: L1GctJetFinderBase.h:371
L1GctJetFinderBase::maxRegionsIn
virtual unsigned maxRegionsIn() const
Definition: L1GctJetFinderBase.h:333
L1GctJetFinderBase::m_outputHtSumPipe
Pipeline< etHadType > m_outputHtSumPipe
Definition: L1GctJetFinderBase.h:373
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
L1GctJetFinderParams::getTauIsoEtThresholdGct
unsigned getTauIsoEtThresholdGct() const
Definition: L1GctJetFinderParams.h:50
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
L1GctJet::setBx
void setBx(const int16_t bx)
Definition: L1GctJet.h:53
L1GctInternEtSum::kTotEtOrHtMaxValue
Definition: L1GctInternEtSum.h:33
L1GctInternJetData::fromEmulator
static L1GctInternJetData fromEmulator(L1CaloRegionDetId rgn, int16_t bx, uint16_t et, bool overFlow, bool tauVeto, uint8_t eta, uint8_t phi, uint16_t rank)
Definition: L1GctInternJetData.cc:24
L1GctProcessor::bxAbs
int bxAbs() const
Definition: L1GctProcessor.h:80
L1GctJetFinderParams::getCenForJetEtaBoundary
unsigned getCenForJetEtaBoundary() const
Definition: L1GctJetFinderParams.h:43
L1GctJetFinderBase::N_COLS
static const unsigned int N_COLS
Definition: L1GctJetFinderBase.h:363
cmsdt::algo
algo
Definition: constants.h:165
L1GctProcessor::Pipeline::contents
std::vector< T > contents
Definition: L1GctProcessor.h:85
L1GctJetFinderBase::m_rcvdProtoJets
RegionsVector m_rcvdProtoJets
List of pre-clustered jets received from neighbour before the final stage of clustering.
Definition: L1GctJetFinderBase.h:307
L1GctJetFinderBase::m_gotJetEtCalLuts
bool m_gotJetEtCalLuts
Remember whether jet Et calibration Lut pointers have been stored.
Definition: L1GctJetFinderBase.h:241
L1GctJetFinderBase::calcHfSums
hfTowerSumsType calcHfSums() const
Calculates Et sum and number of towers over threshold in Hf.
Definition: L1GctJetFinderBase.cc:464
L1GctJetFinderBase::CENTRAL_COL0
static const unsigned int CENTRAL_COL0
Definition: L1GctJetFinderBase.h:364
L1GctInternHtMiss::emulatorJetMissHt
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).
Definition: L1GctInternHtMiss.cc:36
L1GctJetFinderBase::m_outputHfSums
hfTowerSumsType m_outputHfSums
Definition: L1GctJetFinderBase.h:323
L1GctJetFinderBase::m_gotNeighbourPointers
bool m_gotNeighbourPointers
Remember whether the neighbour pointers have been stored.
Definition: L1GctJetFinderBase.h:235
L1GctJetFinderBase::m_minColThisJf
unsigned m_minColThisJf
parameter to determine which Regions belong in our acceptance
Definition: L1GctJetFinderBase.h:253
L1GctTwosComplement
Definition of signed integer types with overflow.
Definition: L1GctTwosComplement.h:28
L1GctProcessor::reset
void reset()
complete reset of processor
Definition: L1GctProcessor.h:28
L1GctChannelMask::totalEtMask
bool totalEtMask(unsigned ieta) const
Definition: L1GctChannelMask.cc:64
L1GctJetFinderBase::m_inputRegions
RegionsVector m_inputRegions
Definition: L1GctJetFinderBase.h:302
L1GctJetFinderParams::getForJetEtSeedGct
unsigned getForJetEtSeedGct() const
Definition: L1GctJetFinderParams.h:48
L1GctJetFinderBase::m_outputExSum
etCompInternJfType m_outputExSum
Definition: L1GctJetFinderBase.h:317
L1GctChannelMask::totalHtMask
bool totalHtMask(unsigned ieta) const
Definition: L1GctChannelMask.cc:78
L1GctJetFinderBase::m_useImprovedTauAlgo
bool m_useImprovedTauAlgo
Setup parameters for the tau jet algorithm.
Definition: L1GctJetFinderBase.h:271
L1GctJetFinderBase::m_idInRange
bool m_idInRange
Remember whether range check on the input ID was ok.
Definition: L1GctJetFinderBase.h:232
L1GctProcessor::Pipeline::store
void store(const T &thisBx, const int bxNum)
Definition: L1GctProcessor.h:98
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
L1GctJetFinderBase::m_sentProtoJets
RegionsVector m_sentProtoJets
List of pre-clustered jets to be sent to neighbour after the first stage of clustering.
Definition: L1GctJetFinderBase.h:305
L1GctJetFinderBase::m_ignoreTauVetoBitsForIsolation
bool m_ignoreTauVetoBitsForIsolation
Definition: L1GctJetFinderBase.h:278
L1GctJetFinderBase::JetVector
std::vector< L1GctJetCand > JetVector
Definition: L1GctJetFinderBase.h:55
L1GctJetFinderBase::doHtSums
void doHtSums()
Calculates scalar and vector sum of Ht over calibrated jets.
Definition: L1GctJetFinderBase.cc:407
L1GctJetFinderBase::m_id
int m_id
algo ID
Definition: L1GctJetFinderBase.h:226
L1GctJetFinderBase::m_outputHxSumPipe
Pipeline< htCompInternJfType > m_outputHxSumPipe
Definition: L1GctJetFinderBase.h:374
L1GctJetFinderBase::TOPBOT
Definition: L1GctJetFinderBase.h:223
L1GctJetFinderBase::m_HtmSumJetThreshold
unsigned m_HtmSumJetThreshold
Definition: L1GctJetFinderBase.h:286
L1GctProcessor::m_verbose
bool m_verbose
Flag to control output messages.
Definition: L1GctProcessor.h:109
L1GctJetSorter
Definition: L1GctJetSorter.h:8
L1GctJetFinderBase::TOP
Definition: L1GctJetFinderBase.h:223
L1GctProcessor::bxMin
int bxMin() const
Support for multiple beam crossing operation.
Definition: L1GctProcessor.h:77
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88271
L1GctJetFinderParams::getMHtJetEtThresholdGct
unsigned getMHtJetEtThresholdGct() const
Definition: L1GctJetFinderParams.h:52
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
L1GctJetFinderBase::hfTowerSumsType::reset
void reset()
Definition: L1GctJetFinderBase.h:91
L1GctInternEtSum::fromEmulatorJetMissEt
static L1GctInternEtSum fromEmulatorJetMissEt(int missEtxOrEty, bool overFlow, int16_t bx)
Definition: L1GctInternEtSum.cc:109
L1GctJetFinderBase::m_HtmMask
bool m_HtmMask[11]
Definition: L1GctJetFinderBase.h:292
L1CaloRegionDetId::N_PHI
static const unsigned N_PHI
Definition: L1CaloRegionDetId.h:20
L1GctJetFinderBase::m_gotJetFinderParams
bool m_gotJetFinderParams
Remember whether jetfinder parameters have been stored.
Definition: L1GctJetFinderBase.h:238
L1GctJet
A Level-1 jet candidate, used within GCT emulation.
Definition: L1GctJet.h:26
metsig::jet
Definition: SignAlgoResolutions.h:47
L1GctJetFinderBase::m_outputHxSum
htCompInternJfType m_outputHxSum
Definition: L1GctJetFinderBase.h:320
L1GctJetFinderBase::m_outputHySumPipe
Pipeline< htCompInternJfType > m_outputHySumPipe
Definition: L1GctJetFinderBase.h:375
L1GctUnsignedInt::overFlow
bool overFlow() const
access overflow
Definition: L1GctUnsignedInt.h:56
heavyionUCCDQM_cfi.maxEt
maxEt
Definition: heavyionUCCDQM_cfi.py:14
L1GctJetFinderBase::m_sortedJets
JetVector m_sortedJets
Definition: L1GctJetFinderBase.h:313
L1GctTwosComplement::overFlow
bool overFlow() const
access overflow
Definition: L1GctTwosComplement.h:62
L1GctJetFinderBase::m_outputEtSumPipe
Pipeline< etTotalType > m_outputEtSumPipe
"Pipeline memories" for energy sums
Definition: L1GctJetFinderBase.h:370
L1GctJetFinderBase::m_CenJetSeed
unsigned m_CenJetSeed
Definition: L1GctJetFinderBase.h:260
L1GctJetFinderBase::etTotalType
L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBits > etTotalType
Definition: L1GctJetFinderBase.h:57
L1GctChannelMask::missingHtMask
bool missingHtMask(unsigned ieta) const
Definition: L1GctChannelMask.cc:85
L1GctChannelMask::missingEtMask
bool missingEtMask(unsigned ieta) const
Definition: L1GctChannelMask.cc:71
L1GctJetFinderBase::m_outputHtSum
etHadType m_outputHtSum
Definition: L1GctJetFinderBase.h:319
L1GctJetFinderBase::N_JF_PER_WHEEL
static const unsigned int N_JF_PER_WHEEL
No of jetFinders per Wheel.
Definition: L1GctJetFinderBase.h:113
L1GctJetFinderBase::m_outputEySum
etCompInternJfType m_outputEySum
Definition: L1GctJetFinderBase.h:318
mps_fire.result
result
Definition: mps_fire.py:311
L1GctJetFinderBase::nCols
virtual unsigned nCols() const
Definition: L1GctJetFinderBase.h:335
L1GctTwosComplement::setOverFlow
void setOverFlow(bool oflow)
set the overflow bit
Definition: L1GctTwosComplement.h:53
L1GctInternEtSum::fromEmulatorJetTotHt
static L1GctInternEtSum fromEmulatorJetTotHt(unsigned totHt, bool overFlow, int16_t bx)
Definition: L1GctInternEtSum.cc:99
L1GctRegion
Gct version of a calorimeter region, used within GCT emulation.
Definition: L1GctRegion.h:17
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
L1GctJetFinderBase::m_HttMask
bool m_HttMask[11]
Definition: L1GctJetFinderBase.h:291
L1GctJetFinderBase::m_HttSumJetThreshold
unsigned m_HttSumJetThreshold
Definition: L1GctJetFinderBase.h:285
L1GctJetFinderBase::m_tauIsolationThreshold
unsigned m_tauIsolationThreshold
Definition: L1GctJetFinderBase.h:282
L1GctJetFinderParams::NUMBER_ETA_VALUES
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
Definition: L1GctJetFinderParams.h:12
L1GctJetFinderBase::centralCol0
virtual unsigned centralCol0() const
Definition: L1GctJetFinderBase.h:334
L1GctJetFinderBase::m_outputEtSum
etTotalType m_outputEtSum
output Et strip sums and Ht - refactored
Definition: L1GctJetFinderBase.h:316
L1GctProcessor::Pipeline::reset
void reset(const unsigned nBx)
Definition: L1GctProcessor.h:93
L1GctJetFinderBase::m_FwdJetSeed
unsigned m_FwdJetSeed
Definition: L1GctJetFinderBase.h:261
L1GctJetFinderParams::getHtJetEtThresholdGct
unsigned getHtJetEtThresholdGct() const
Definition: L1GctJetFinderParams.h:51
L1GctInternEtSum::fromEmulatorJetTotEt
static L1GctInternEtSum fromEmulatorJetTotEt(unsigned totEt, bool overFlow, int16_t bx)
Emulator constructors.
Definition: L1GctInternEtSum.cc:89
L1GctJetFinderBase::BOT
Definition: L1GctJetFinderBase.h:223