Go to the documentation of this file. 1 #ifndef L1GLOBALCALOTRIGGER_H_
2 #define L1GLOBALCALOTRIGGER_H_
64 unsigned jetLeafMask = 0);
85 void setupTauAlgo(
const bool useImprovedAlgo,
const bool ignoreVetoBitsForIsolation);
101 void setBxRange(
const int firstBx,
const int lastBx);
117 void fillRegions(
const std::vector<L1CaloRegion>& rgn);
120 void fillEmCands(
const std::vector<L1CaloEmCand>& rgn);
130 const bool overFlow =
false,
131 const bool fineGrain =
true);
233 void fillEmCands(std::vector<L1CaloEmCand>::iterator& emc,
const int bx);
234 void fillRegions(std::vector<L1CaloRegion>::iterator& rgn,
const int bx);
std::vector< L1CaloEmCand > m_allInputEmCands
std::vector< L1GctJetFinderBase * > theJetFinders
pointers to the Jet Finders
std::vector< L1GctInternEtSum > L1GctInternEtSumCollection
L1GctUnsignedInt< L1GctEtTotal::kEtTotalNBits > etTotalType
typedefs for energy values in fixed numbers of bits
void setupTauAlgo(const bool useImprovedAlgo, const bool ignoreVetoBitsForIsolation)
setup the tau algorithm parameters
L1GctGlobalEnergyAlgos * getEnergyFinalStage() const
get the energy final stage
void bxProcess(const int bx)
Process a new bunch crossing.
CompareBx< L1CaloEmCand > emcBxComparator
A calorimeter trigger region (sum of 4x4 trigger towers)
Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts.
L1GctJetCandCollection getTauJets() const
tau jet outputs to GT
std::vector< L1GctJetCand > L1GctJetCandCollection
Emulates the GCT global energy algorithms.
Base class to allow implementation of jetFinder algorithms.
L1GctElectronFinalSort * theIsoEmFinalStage
iso electron final stage sorter
std::vector< lutPtr > lutPtrVector
std::vector< L1GctJetLeafCard * > getJetLeafCards() const
L1GctUnsignedInt< L1GctEtMiss::kEtMissNBits > etMissType
static const int N_JET_LEAF_CARDS
Number of Leaf Cards configured for jet processing.
std::vector< L1GctWheelEnergyFpga * > theWheelEnergyFpgas
Wheel Card Energy Fpgas.
void setJetFinderParams(const L1GctJetFinderParams *const jfpars)
void setHtMissScale(const L1CaloEtScale *const scale)
setup scale for missing Ht
L1GlobalCaloTrigger(const L1GctJetLeafCard::jetFinderType jfType=L1GctJetLeafCard::hardwareJetFinder, unsigned jetLeafMask=0)
construct the GCT
void bxReset(const int bx)
Partial reset for a new bunch crossing.
bool m_bxRangeAuto
Multiple bunch crossing operation.
L1GctInternEtSumCollection getInternalEtSums() const
Et sums and components in internal format.
std::vector< L1GctEtMiss > L1GctEtMissCollection
static const int N_EM_LEAF_CARDS
Number of Leaf Cards configured for EM processing.
L1GctEtTotalCollection getEtSumCollection() const
Total Et output to GT.
bool setupOk() const
check we have done all the setup
void build(L1GctJetLeafCard::jetFinderType jfType, unsigned jetLeafMask)
instantiate the hardware & algo objects and wire up the system
lutPtrVector m_jetEtCalLuts
Jet Et calibration LUT.
void setVerbose()
control output messages
L1GctEtHadCollection getEtHadCollection() const
Total hadronic Et output to GT.
L1GctUnsignedInt< L1GctEtMiss::kEtMissPhiNBits > etMissPhiType
Represents the final stage of L1 jet processing.
std::vector< L1GctInternHtMiss > L1GctInternHtMissCollection
void fillRegions(const std::vector< L1CaloRegion > &rgn)
L1GctGlobalEnergyAlgos * theEnergyFinalStage
energy final stage algos
void setNonIsoEm(const L1CaloEmCand &em)
set a non-isolated EM candidate to be processed
const lutPtrVector getJetEtCalibLuts() const
get the Jet Et calibration LUT
const L1GctJetFinderParams * m_jetFinderParams
Jetfinder parameters.
void setChannelMask(const L1GctChannelMask *const mask)
setup the input channel mask
unsigned sorterNo(const L1CaloEmCand &em) const
L1GctUnsignedInt< L1GctEtHad::kEtHadNBits > etHadType
void bxSetup()
Setup bunch crossing range (depending on input data)
void setIsoEm(const L1CaloEmCand &em)
set an isolated EM candidate to be processed
std::vector< L1GctEtTotal > L1GctEtTotalCollection
void setRegion(const L1CaloRegion ®ion)
L1GctHFBitCountsCollection getHFBitCountsCollection() const
const L1GctChannelMask * m_inputChannelMask
Input channel mask.
Emulates the energy summing on a GCT Wheel card.
L1GctJetCandCollection getForwardJets() const
forward jet outputs to GT
void setBxRangeSymmetric(const int numOfBx)
process crossings from (-numOfBx) to (numOfBx)
bool operator()(const T &i, const T &j) const
std::vector< L1GctWheelJetFpga * > getWheelJetFpgas() const
get the Wheel Jet FPGAs
L1GctElectronFinalSort * getNonIsoEmFinalStage() const
Represents a GCT Wheel Jet FPGA.
L1GctEmCandCollection getNonIsoElectrons() const
non-iso electron outputs to GT
L1GctHtMissCollection getHtMissCollection() const
Htmiss output to GT.
Class that sorts electron candidates.
std::vector< L1GctWheelJetFpga * > theWheelJetFpgas
Wheel Card Jet Fpgas.
void setBxRangeAutomatic()
process all crossings present in the input (and only those crossings)
L1GctJetFinderBase::lutPtr lutPtr
void reset()
Reset internal buffers.
L1GctGlobalHfSumAlgos * getHfSumProcessor() const
provide access to hf sum processor
L1GctElectronFinalSort * getIsoEmFinalStage() const
get the electron final stage sorters
std::vector< L1GctHFBitCounts > L1GctHFBitCountsCollection
std::vector< L1CaloRegion > m_allInputRegions
std::vector< L1GctEmLeafCard * > getEmLeafCards() const
get the Jet Leaf cards
L1GctJetFinalStage * theJetFinalStage
jet final stage algo
L1GctJetFinalStage * getJetFinalStage() const
get the jet final stage
void setupHfSumLuts(const L1CaloEtScale *const scale)
setup Hf sum LUTs
void fillEmCands(const std::vector< L1CaloEmCand > &rgn)
set electrons from the RCT at the input to be processed
int getFirstBx() const
accessor methods
L1GctJetCandCollection getCentralJets() const
central jet outputs to GT
std::vector< L1GctElectronSorter * > theIsoElectronSorters
pointers to the electron sorters
std::vector< L1GctEmCand > L1GctEmCandCollection
L1GctJetFinderBase::lutPtrVector lutPtrVector
L1GctEmCandCollection getIsoElectrons() const
void sortInputData()
Sort the input data by bunch crossing number.
void setJetEtCalibrationLuts(const lutPtrVector &jfluts)
setup the Jet Calibration Luts
Bit-level emulation of the Global Calorimeter Trigger.
CompareBx< L1CaloRegion > rgnBxComparator
std::vector< L1GctJetLeafCard * > theJetLeafCards
pointers to the Jet Leaf cards
std::vector< L1GctWheelEnergyFpga * > getWheelEnergyFpgas() const
get the Wheel Energy Fpgas
Emulates a leaf card programmed for electron sorting.
L1GctInternJetDataCollection getInternalJets() const
all jets from jetfinders in raw format
std::vector< L1GctInternJetData > L1GctInternJetDataCollection
static const int N_WHEEL_CARDS
Number of Wheel Cards.
const L1GctJetFinderParams * getJetFinderParams() const
get the jetFinder parameters
std::vector< L1GctEtHad > L1GctEtHadCollection
Level-1 Region Calorimeter Trigger EM candidate.
L1GctInternHtMissCollection getInternalHtMiss() const
~L1GlobalCaloTrigger()
dismantle the GCT
std::vector< L1GctHFRingEtSums > L1GctHFRingEtSumsCollection
std::vector< L1GctElectronSorter * > theNonIsoElectronSorters
std::vector< L1GctHtMiss > L1GctHtMissCollection
L1GctElectronFinalSort * theNonIsoEmFinalStage
non-iso electron final stage sorter
std::vector< L1GctEmLeafCard * > theEmLeafCards
pointers to the EM Leaf cards
L1GctEtMissCollection getEtMissCollection() const
Etmiss output to GT.
void process()
process an event
L1GctHFRingEtSumsCollection getHFRingEtSumsCollection() const
void setBxRange(const int firstBx, const int lastBx)