CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Friends
L1GctJetLeafCard Class Reference

#include <L1GctJetLeafCard.h>

Inheritance diagram for L1GctJetLeafCard:
L1GctProcessor

Public Types

typedef L1GctTwosComplement< L1GctInternEtSum::kMissExOrEyNBitsetComponentType
 
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBitsetHadType
 
typedef L1GctUnsignedInt< L1GctInternEtSum::kTotEtOrHtNBitsetTotalType
 
typedef L1GctJetFinderBase::hfTowerSumsType hfTowerSumsType
 
typedef L1GctTwosComplement< L1GctInternHtMiss::kMissHxOrHyNBitshtComponentType
 
enum  jetFinderType { tdrJetFinder, hardwareJetFinder, nullJetFinder }
 
enum  maxValues { etTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue, htTotalMaxValue = L1GctInternEtSum::kTotEtOrHtMaxValue }
 

Public Member Functions

void fetchInput () override
 set the input buffers More...
 
std::vector< etTotalTypegetAllOutputEt () const
 get the Et output history More...
 
std::vector< etComponentTypegetAllOutputEx () const
 
std::vector< etComponentTypegetAllOutputEy () const
 get the Ey output history More...
 
std::vector< hfTowerSumsTypegetAllOutputHfSums () const
 
std::vector< etHadTypegetAllOutputHt () const
 
std::vector< htComponentTypegetAllOutputHx () const
 get the output Ht components history More...
 
std::vector< htComponentTypegetAllOutputHy () const
 
std::vector< L1GctInternEtSumgetInternalEtSums () const
 get the Et sums in internal component format More...
 
std::vector< L1GctInternHtMissgetInternalHtMiss () const
 
L1GctJetFinderBasegetJetFinderA () const
 get pointers to associated jetfinders More...
 
L1GctJetFinderBasegetJetFinderB () const
 
L1GctJetFinderBasegetJetFinderC () const
 
etTotalType getOutputEt () const
 get the Et output More...
 
etComponentType getOutputEx () const
 get the Ex output More...
 
etComponentType getOutputEy () const
 get the Ey output More...
 
hfTowerSumsType getOutputHfSums () const
 
etHadType getOutputHt () const
 
etComponentType getOutputHx () const
 get the output Ht components More...
 
etComponentType getOutputHy () const
 
std::vector< L1GctJetCandgetOutputJetsA () const
 Output jetfinder A jets (lowest jetFinder in phi) More...
 
std::vector< L1GctJetCandgetOutputJetsB () const
 Output jetfinder B jets (middle jetFinder in phi) More...
 
std::vector< L1GctJetCandgetOutputJetsC () const
 Ouptut jetfinder C jets (highest jetFinder in phi) More...
 
 L1GctJetLeafCard (int id, int iphi, jetFinderType jfType=tdrJetFinder)
 
void process () override
 process the data and set outputs More...
 
void reset ()
 clear internal buffers More...
 
void setBxRange (const int firstBx, const int numberOfBx)
 define the bunch crossing range to process More...
 
void setNeighbourLeafCards (const std::vector< L1GctJetLeafCard *> &neighbours)
 set pointers to neighbours - needed to complete the setup More...
 
void setNextBx (const int bx)
 partially clear buffers More...
 
bool setupOk () const
 Check setup is Ok. More...
 
 ~L1GctJetLeafCard () 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 int MAX_JET_FINDERS = 3
 Number of jetfinders per jet leaf card. More...
 

Protected Member Functions

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...
 
- Protected Member Functions inherited from L1GctProcessor
int bxAbs () const
 
int bxMax () const
 
int bxMin () const
 Support for multiple beam crossing operation. More...
 
int bxRel () const
 
int numOfBx () const
 

Private Attributes

bool m_ctorInputOk
 
etTotalType m_etSum
 
Pipeline< etTotalTypem_etSumPipe
 
etComponentType m_exSum
 
Pipeline< etComponentTypem_exSumPipe
 
etComponentType m_eySum
 
Pipeline< etComponentTypem_eySumPipe
 
hfTowerSumsType m_hfSums
 
Pipeline< hfTowerSumsTypem_hfSumsPipe
 
etHadType m_htSum
 
Pipeline< etHadTypem_htSumPipe
 
htComponentType m_hxSum
 
Pipeline< htComponentTypem_hxSumPipe
 
htComponentType m_hySum
 
Pipeline< htComponentTypem_hySumPipe
 
int m_id
 
L1GctJetFinderBasem_jetFinderA
 lowest jetFinder in phi More...
 
L1GctJetFinderBasem_jetFinderB
 middle jetFinder in phi More...
 
L1GctJetFinderBasem_jetFinderC
 highest jetFinder in phi More...
 
jetFinderType m_whichJetFinder
 
int phiPosition
 

Friends

std::ostream & operator<< (std::ostream &os, const L1GctJetLeafCard &card)
 Overload << operator. More...
 

Additional Inherited Members

- Protected Attributes inherited from L1GctProcessor
bool m_verbose
 Flag to control output messages. More...
 

Detailed Description

Definition at line 28 of file L1GctJetLeafCard.h.

Member Typedef Documentation

◆ etComponentType

Definition at line 40 of file L1GctJetLeafCard.h.

◆ etHadType

Definition at line 38 of file L1GctJetLeafCard.h.

◆ etTotalType

Definition at line 37 of file L1GctJetLeafCard.h.

◆ hfTowerSumsType

Definition at line 43 of file L1GctJetLeafCard.h.

◆ htComponentType

Definition at line 41 of file L1GctJetLeafCard.h.

Member Enumeration Documentation

◆ jetFinderType

◆ maxValues

Constructor & Destructor Documentation

◆ L1GctJetLeafCard()

L1GctJetLeafCard::L1GctJetLeafCard ( int  id,
int  iphi,
jetFinderType  jfType = tdrJetFinder 
)

Definition at line 15 of file L1GctJetLeafCard.cc.

References hardwareJetFinder, m_ctorInputOk, m_id, m_jetFinderA, m_jetFinderB, m_jetFinderC, L1GctProcessor::m_verbose, m_whichJetFinder, nullJetFinder, phiPosition, and tdrJetFinder.

16  : L1GctProcessor(),
17  m_id(id),
18  m_whichJetFinder(jfType),
20  m_exSum(0),
21  m_eySum(0),
22  m_hxSum(0),
23  m_hySum(0),
24  m_etSum(0),
25  m_htSum(0),
26  m_hfSums(),
27  m_exSumPipe(),
28  m_eySumPipe(),
29  m_hxSumPipe(),
30  m_hySumPipe(),
31  m_etSumPipe(),
32  m_htSumPipe(),
33  m_hfSumsPipe(),
34  m_ctorInputOk(true) {
35  //Check jetLeafCard setup
36  if (m_id < 0 || m_id > 5) {
37  m_ctorInputOk = false;
38  if (m_verbose) {
39  edm::LogWarning("L1GctSetupError") << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id
40  << " has been incorrectly constructed!\n"
41  << "ID number should be between the range of 0 to 5\n";
42  }
43  }
44 
45  //iphi is redundant
46  if (phiPosition != m_id % 3) {
47  m_ctorInputOk = false;
48  if (m_verbose) {
49  edm::LogWarning("L1GctSetupError") << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id
50  << " has been incorrectly constructed!\n"
51  << "Argument iphi is " << phiPosition << ", should be " << (m_id % 3)
52  << " for this ID value \n";
53  }
54  }
55 
56  switch (m_whichJetFinder) {
57  case tdrJetFinder:
58  m_jetFinderA = new L1GctTdrJetFinder(3 * id);
59  m_jetFinderB = new L1GctTdrJetFinder(3 * id + 1);
60  m_jetFinderC = new L1GctTdrJetFinder(3 * id + 2);
61  break;
62 
63  case hardwareJetFinder:
65  m_jetFinderB = new L1GctHardwareJetFinder(3 * id + 1);
66  m_jetFinderC = new L1GctHardwareJetFinder(3 * id + 2);
67  break;
68 
69  case nullJetFinder:
70  m_jetFinderA = new L1GctNullJetFinder(3 * id);
71  m_jetFinderB = new L1GctNullJetFinder(3 * id + 1);
72  m_jetFinderC = new L1GctNullJetFinder(3 * id + 2);
73  break;
74 
75  default:
76 
77  m_ctorInputOk = false;
78  if (m_verbose) {
79  edm::LogWarning("L1GctSetupError")
80  << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id
81  << " has been incorrectly constructed!\n"
82  << "Unrecognised jetFinder type " << m_whichJetFinder << ", cannot setup jetFinders\n";
83  }
84  }
85 
86  if (!m_ctorInputOk && m_verbose) {
87  edm::LogError("L1GctSetupError") << "Jet Leaf Card ID " << m_id << " has been incorrectly constructed";
88  }
89 }
htComponentType m_hySum
Pipeline< htComponentType > m_hxSumPipe
3*3 sliding window algorithm jet finder.
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
bool m_verbose
Flag to control output messages.
Pipeline< etHadType > m_htSumPipe
Pipeline< etTotalType > m_etSumPipe
no-op jet finder for test purposes.
Log< level::Error, false > LogError
Pipeline< etComponentType > m_eySumPipe
Pipeline< htComponentType > m_hySumPipe
jetFinderType m_whichJetFinder
hfTowerSumsType m_hfSums
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
Pipeline< hfTowerSumsType > m_hfSumsPipe
etComponentType m_eySum
Emulation of the hardware jet finder.
Pipeline< etComponentType > m_exSumPipe
Log< level::Warning, false > LogWarning
htComponentType m_hxSum
etComponentType m_exSum

◆ ~L1GctJetLeafCard()

L1GctJetLeafCard::~L1GctJetLeafCard ( )
override

Definition at line 91 of file L1GctJetLeafCard.cc.

References m_jetFinderA, m_jetFinderB, and m_jetFinderC.

91  {
92  delete m_jetFinderA;
93  delete m_jetFinderB;
94  delete m_jetFinderC;
95 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

Member Function Documentation

◆ fetchInput()

void L1GctJetLeafCard::fetchInput ( )
overridevirtual

set the input buffers

Implements L1GctProcessor.

Definition at line 188 of file L1GctJetLeafCard.cc.

References L1GctJetFinderBase::fetchInput(), m_jetFinderA, m_jetFinderB, and m_jetFinderC.

188  {
192 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
void fetchInput() override=0
get input data from sources; to be filled in by derived jetFinders
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

◆ getAllOutputEt()

std::vector<etTotalType> L1GctJetLeafCard::getAllOutputEt ( ) const
inline

get the Et output history

Definition at line 117 of file L1GctJetLeafCard.h.

References m_etSumPipe.

117 { return m_etSumPipe.contents; }
Pipeline< etTotalType > m_etSumPipe

◆ getAllOutputEx()

std::vector<etComponentType> L1GctJetLeafCard::getAllOutputEx ( ) const
inline

Bunch crossing history acces methods get the Ex output history

Definition at line 107 of file L1GctJetLeafCard.h.

References m_exSumPipe.

107 { return m_exSumPipe.contents; }
Pipeline< etComponentType > m_exSumPipe

◆ getAllOutputEy()

std::vector<etComponentType> L1GctJetLeafCard::getAllOutputEy ( ) const
inline

get the Ey output history

Definition at line 110 of file L1GctJetLeafCard.h.

References m_eySumPipe.

110 { return m_eySumPipe.contents; }
Pipeline< etComponentType > m_eySumPipe

◆ getAllOutputHfSums()

std::vector<hfTowerSumsType> L1GctJetLeafCard::getAllOutputHfSums ( ) const
inline

Definition at line 120 of file L1GctJetLeafCard.h.

References m_hfSumsPipe.

120 { return m_hfSumsPipe.contents; }
Pipeline< hfTowerSumsType > m_hfSumsPipe

◆ getAllOutputHt()

std::vector<etHadType> L1GctJetLeafCard::getAllOutputHt ( ) const
inline

Definition at line 118 of file L1GctJetLeafCard.h.

References m_htSumPipe.

118 { return m_htSumPipe.contents; }
Pipeline< etHadType > m_htSumPipe

◆ getAllOutputHx()

std::vector<htComponentType> L1GctJetLeafCard::getAllOutputHx ( ) const
inline

get the output Ht components history

Definition at line 113 of file L1GctJetLeafCard.h.

References m_hxSumPipe.

113 { return m_hxSumPipe.contents; }
Pipeline< htComponentType > m_hxSumPipe

◆ getAllOutputHy()

std::vector<htComponentType> L1GctJetLeafCard::getAllOutputHy ( ) const
inline

Definition at line 114 of file L1GctJetLeafCard.h.

References m_hySumPipe.

114 { return m_hySumPipe.contents; }
Pipeline< htComponentType > m_hySumPipe

◆ getInternalEtSums()

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

get the Et sums in internal component format

Definition at line 251 of file L1GctJetLeafCard.cc.

References simKBmtfDigis_cfi::bx, L1GctProcessor::bxMin(), L1GctInternEtSum::fromEmulatorJetMissEt(), L1GctInternEtSum::fromEmulatorJetTotEt(), L1GctInternEtSum::fromEmulatorJetTotHt(), m_etSumPipe, m_exSumPipe, m_eySumPipe, m_htSumPipe, L1GctProcessor::numOfBx(), and mps_fire::result.

251  {
252  std::vector<L1GctInternEtSum> result;
253  for (int bx = 0; bx < numOfBx(); bx++) {
254  result.push_back(L1GctInternEtSum::fromEmulatorJetTotEt(m_etSumPipe.contents.at(bx).value(),
255  m_etSumPipe.contents.at(bx).overFlow(),
256  static_cast<int16_t>(bx - bxMin())));
257  result.push_back(L1GctInternEtSum::fromEmulatorJetMissEt(m_exSumPipe.contents.at(bx).value(),
258  m_exSumPipe.contents.at(bx).overFlow(),
259  static_cast<int16_t>(bx - bxMin())));
260  result.push_back(L1GctInternEtSum::fromEmulatorJetMissEt(m_eySumPipe.contents.at(bx).value(),
261  m_eySumPipe.contents.at(bx).overFlow(),
262  static_cast<int16_t>(bx - bxMin())));
263  result.push_back(L1GctInternEtSum::fromEmulatorJetTotHt(m_htSumPipe.contents.at(bx).value(),
264  m_htSumPipe.contents.at(bx).overFlow(),
265  static_cast<int16_t>(bx - bxMin())));
266  }
267  return result;
268 }
int numOfBx() const
static L1GctInternEtSum fromEmulatorJetTotEt(unsigned totEt, bool overFlow, int16_t bx)
Emulator constructors.
Pipeline< etHadType > m_htSumPipe
Pipeline< etTotalType > m_etSumPipe
static L1GctInternEtSum fromEmulatorJetTotHt(unsigned totHt, bool overFlow, int16_t bx)
int bxMin() const
Support for multiple beam crossing operation.
Pipeline< etComponentType > m_eySumPipe
Pipeline< etComponentType > m_exSumPipe
static L1GctInternEtSum fromEmulatorJetMissEt(int missEtxOrEty, bool overFlow, int16_t bx)

◆ getInternalHtMiss()

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

Definition at line 270 of file L1GctJetLeafCard.cc.

References simKBmtfDigis_cfi::bx, L1GctProcessor::bxMin(), L1GctInternHtMiss::emulatorMissHtxHty(), m_hxSumPipe, m_hySumPipe, L1GctProcessor::numOfBx(), and mps_fire::result.

270  {
271  std::vector<L1GctInternHtMiss> result;
272  result.reserve(numOfBx());
273  for (int bx = 0; bx < numOfBx(); bx++) {
274  result.push_back(L1GctInternHtMiss::emulatorMissHtxHty(m_hxSumPipe.contents.at(bx).value(),
275  m_hySumPipe.contents.at(bx).value(),
276  m_hxSumPipe.contents.at(bx).overFlow(),
277  static_cast<int16_t>(bx - bxMin())));
278  }
279  return result;
280 }
int numOfBx() const
Pipeline< htComponentType > m_hxSumPipe
int bxMin() const
Support for multiple beam crossing operation.
Pipeline< htComponentType > m_hySumPipe
static L1GctInternHtMiss emulatorMissHtxHty(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 (wheel input).

◆ getJetFinderA()

L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderA ( ) const
inline

get pointers to associated jetfinders

Definition at line 80 of file L1GctJetLeafCard.h.

References m_jetFinderA.

80 { return m_jetFinderA; }
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

◆ getJetFinderB()

L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderB ( ) const
inline

Definition at line 81 of file L1GctJetLeafCard.h.

References m_jetFinderB.

81 { return m_jetFinderB; }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi

◆ getJetFinderC()

L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderC ( ) const
inline

Definition at line 82 of file L1GctJetLeafCard.h.

References m_jetFinderC.

82 { return m_jetFinderC; }
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi

◆ getOutputEt()

etTotalType L1GctJetLeafCard::getOutputEt ( ) const
inline

get the Et output

Definition at line 100 of file L1GctJetLeafCard.h.

References m_etSum.

100 { return m_etSum; }

◆ getOutputEx()

etComponentType L1GctJetLeafCard::getOutputEx ( ) const
inline

get the Ex output

Definition at line 90 of file L1GctJetLeafCard.h.

References m_exSum.

90 { return m_exSum; }
etComponentType m_exSum

◆ getOutputEy()

etComponentType L1GctJetLeafCard::getOutputEy ( ) const
inline

get the Ey output

Definition at line 93 of file L1GctJetLeafCard.h.

References m_eySum.

93 { return m_eySum; }
etComponentType m_eySum

◆ getOutputHfSums()

hfTowerSumsType L1GctJetLeafCard::getOutputHfSums ( ) const
inline

Definition at line 103 of file L1GctJetLeafCard.h.

References m_hfSums.

103 { return m_hfSums; }
hfTowerSumsType m_hfSums

◆ getOutputHt()

etHadType L1GctJetLeafCard::getOutputHt ( ) const
inline

Definition at line 101 of file L1GctJetLeafCard.h.

References m_htSum.

101 { return m_htSum; }

◆ getOutputHx()

etComponentType L1GctJetLeafCard::getOutputHx ( ) const
inline

get the output Ht components

Definition at line 96 of file L1GctJetLeafCard.h.

References m_hxSum.

96 { return m_hxSum; }
htComponentType m_hxSum

◆ getOutputHy()

etComponentType L1GctJetLeafCard::getOutputHy ( ) const
inline

Definition at line 97 of file L1GctJetLeafCard.h.

References m_hySum.

97 { return m_hySum; }
htComponentType m_hySum

◆ getOutputJetsA()

L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsA ( ) const

Output jetfinder A jets (lowest jetFinder in phi)

Definition at line 240 of file L1GctJetLeafCard.cc.

References L1GctJetFinderBase::getJets(), and m_jetFinderA.

◆ getOutputJetsB()

L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsB ( ) const

Output jetfinder B jets (middle jetFinder in phi)

Definition at line 243 of file L1GctJetLeafCard.cc.

References L1GctJetFinderBase::getJets(), and m_jetFinderB.

◆ getOutputJetsC()

L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsC ( ) const

Ouptut jetfinder C jets (highest jetFinder in phi)

Definition at line 246 of file L1GctJetLeafCard.cc.

References L1GctJetFinderBase::getJets(), and m_jetFinderC.

◆ process()

void L1GctJetLeafCard::process ( )
overridevirtual

process the data and set outputs

Implements L1GctProcessor.

Definition at line 194 of file L1GctJetLeafCard.cc.

References L1GctProcessor::bxRel(), etTotalMaxValue, L1GctJetFinderBase::getEtSum(), L1GctJetFinderBase::getExSum(), L1GctJetFinderBase::getEySum(), L1GctJetFinderBase::getHfSums(), L1GctJetFinderBase::getHtSum(), L1GctJetFinderBase::getHxSum(), L1GctJetFinderBase::getHySum(), htTotalMaxValue, m_etSum, m_etSumPipe, m_exSum, m_exSumPipe, m_eySum, m_eySumPipe, m_hfSums, m_hfSumsPipe, m_htSum, m_htSumPipe, m_hxSum, m_hxSumPipe, m_hySum, m_hySumPipe, m_jetFinderA, m_jetFinderB, m_jetFinderC, L1GctUnsignedInt< nBits >::overFlow(), L1GctJetFinderBase::process(), setupOk(), and L1GctUnsignedInt< nBits >::setValue().

194  {
195  // Check the setup
196  if (setupOk()) {
197  // Perform the jet finding
201 
202  // Finish Et and Ht sums for the Leaf Card
203  // First Et and missing Et
205  if (m_etSum.overFlow())
211 
212  // Exactly the same procedure for Ht and missing Ht
214  if (m_htSum.overFlow())
220 
221  // And the same again for Hf Sums
223 
224  // Store the outputs in pipelines
225  m_exSumPipe.store(m_exSum, bxRel());
226  m_eySumPipe.store(m_eySum, bxRel());
227  m_hxSumPipe.store(m_hxSum, bxRel());
228  m_hySumPipe.store(m_hySum, bxRel());
229  m_etSumPipe.store(m_etSum, bxRel());
230  m_htSumPipe.store(m_htSum, bxRel());
231  m_hfSumsPipe.store(m_hfSums, bxRel());
232  }
233 }
htComponentType m_hySum
Pipeline< htComponentType > m_hxSumPipe
htCompInternJfType getHxSum() const
Get the x component of vector Ht summed over jets above threshold.
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
Pipeline< etHadType > m_htSumPipe
Pipeline< etTotalType > m_etSumPipe
etHadType getHtSum() const
Get the scalar sum of Ht summed over jets above threshold.
bool setupOk() const
Check setup is Ok.
int bxRel() const
bool overFlow() const
access overflow
etCompInternJfType getExSum() const
Get the x component of vector Et summed over the input regions.
void process() override=0
process the data, fill output buffers; to be filled in by derived jetFinders
Pipeline< etComponentType > m_eySumPipe
Pipeline< htComponentType > m_hySumPipe
etCompInternJfType getEySum() const
Get the y component of vector Et summed over the input regions.
L1GctTwosComplement< L1GctInternHtMiss::kMissHxOrHyNBits > htComponentType
htCompInternJfType getHySum() const
Get the y component of vector Ht summed over jets above threshold.
hfTowerSumsType m_hfSums
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
void setValue(unsigned value)
Set value from unsigned.
Pipeline< hfTowerSumsType > m_hfSumsPipe
etComponentType m_eySum
Pipeline< etComponentType > m_exSumPipe
etTotalType getEtSum() const
Get the scalar sum of Et summed over the input regions.
htComponentType m_hxSum
hfTowerSumsType getHfSums() const
Get the Hf tower Et sums and tower-over-threshold counts.
L1GctTwosComplement< L1GctInternEtSum::kMissExOrEyNBits > etComponentType
etComponentType m_exSum

◆ reset()

void L1GctJetLeafCard::reset ( void  )

clear internal buffers

clear buffers

Definition at line 146 of file L1GctJetLeafCard.cc.

References m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::reset().

146  {
148  m_jetFinderA->reset();
149  m_jetFinderB->reset();
150  m_jetFinderC->reset();
151 }
void reset()
complete reset of processor
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

◆ resetPipelines()

void L1GctJetLeafCard::resetPipelines ( )
overrideprotectedvirtual

Implements L1GctProcessor.

Definition at line 178 of file L1GctJetLeafCard.cc.

References m_etSumPipe, m_exSumPipe, m_eySumPipe, m_hfSumsPipe, m_htSumPipe, m_hxSumPipe, m_hySumPipe, and L1GctProcessor::numOfBx().

178  {
179  m_exSumPipe.reset(numOfBx());
180  m_eySumPipe.reset(numOfBx());
181  m_hxSumPipe.reset(numOfBx());
182  m_hySumPipe.reset(numOfBx());
183  m_etSumPipe.reset(numOfBx());
184  m_htSumPipe.reset(numOfBx());
185  m_hfSumsPipe.reset(numOfBx());
186 }
int numOfBx() const
Pipeline< htComponentType > m_hxSumPipe
Pipeline< etHadType > m_htSumPipe
Pipeline< etTotalType > m_etSumPipe
Pipeline< etComponentType > m_eySumPipe
Pipeline< htComponentType > m_hySumPipe
Pipeline< hfTowerSumsType > m_hfSumsPipe
Pipeline< etComponentType > m_exSumPipe

◆ resetProcessor()

void L1GctJetLeafCard::resetProcessor ( )
overrideprotectedvirtual

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

Implements L1GctProcessor.

Definition at line 168 of file L1GctJetLeafCard.cc.

References m_etSum, m_exSum, m_eySum, m_hfSums, m_htSum, m_hxSum, m_hySum, L1GctUnsignedInt< nBits >::reset(), L1GctTwosComplement< nBits >::reset(), and L1GctJetFinderBase::hfTowerSumsType::reset().

168  {
169  m_exSum.reset();
170  m_eySum.reset();
171  m_hxSum.reset();
172  m_hySum.reset();
173  m_etSum.reset();
174  m_htSum.reset();
175  m_hfSums.reset();
176 }
htComponentType m_hySum
hfTowerSumsType m_hfSums
void reset()
reset value and overflow to zero
etComponentType m_eySum
void reset()
reset value and overflow to zero
htComponentType m_hxSum
etComponentType m_exSum

◆ setBxRange()

void L1GctJetLeafCard::setBxRange ( const int  firstBx,
const int  numberOfBx 
)

define the bunch crossing range to process

partially clear buffers

Definition at line 154 of file L1GctJetLeafCard.cc.

References m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::setBxRange().

154  {
155  L1GctProcessor::setBxRange(firstBx, numberOfBx);
156  m_jetFinderA->setBxRange(firstBx, numberOfBx);
157  m_jetFinderB->setBxRange(firstBx, numberOfBx);
158  m_jetFinderC->setBxRange(firstBx, numberOfBx);
159 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

◆ setNeighbourLeafCards()

void L1GctJetLeafCard::setNeighbourLeafCards ( const std::vector< L1GctJetLeafCard *> &  neighbours)

set pointers to neighbours - needed to complete the setup

set pointers to neighbours

Definition at line 98 of file L1GctJetLeafCard.cc.

References m_ctorInputOk, m_id, m_jetFinderA, m_jetFinderB, m_jetFinderC, L1GctProcessor::m_verbose, and L1GctJetFinderBase::setNeighbourJetFinders().

98  {
99  std::vector<L1GctJetFinderBase*> jfNeighbours(2);
100 
101  if (neighbours.size() == 2) {
102  jfNeighbours.at(0) = neighbours.at(0)->getJetFinderC();
103  jfNeighbours.at(1) = m_jetFinderB;
104  m_jetFinderA->setNeighbourJetFinders(jfNeighbours);
105 
106  jfNeighbours.at(0) = m_jetFinderA;
107  jfNeighbours.at(1) = m_jetFinderC;
108  m_jetFinderB->setNeighbourJetFinders(jfNeighbours);
109 
110  jfNeighbours.at(0) = m_jetFinderB;
111  jfNeighbours.at(1) = neighbours.at(1)->getJetFinderA();
112  m_jetFinderC->setNeighbourJetFinders(jfNeighbours);
113 
114  } else {
115  m_ctorInputOk = false;
116  if (m_verbose) {
117  edm::LogWarning("L1GctSetupError") << "L1GctJetLeafCard::setNeighbourLeafCards() : In Jet Leaf Card ID " << m_id
118  << " size of input vector should be 2, but is in fact " << neighbours.size()
119  << "\n";
120  }
121  }
122 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
bool m_verbose
Flag to control output messages.
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
void setNeighbourJetFinders(const std::vector< L1GctJetFinderBase *> &neighbours)
Set pointers to neighbours - needed to complete the setup.
Log< level::Warning, false > LogWarning

◆ setNextBx()

void L1GctJetLeafCard::setNextBx ( const int  bx)

partially clear buffers

Definition at line 161 of file L1GctJetLeafCard.cc.

References simKBmtfDigis_cfi::bx, m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::setNextBx().

161  {
166 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing

◆ setupObjects()

void L1GctJetLeafCard::setupObjects ( )
inlineoverrideprotectedvirtual

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

Implements L1GctProcessor.

Definition at line 132 of file L1GctJetLeafCard.h.

132 {}

◆ setupOk()

bool L1GctJetLeafCard::setupOk ( ) const

Check setup is Ok.

Definition at line 235 of file L1GctJetLeafCard.cc.

References m_ctorInputOk, m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctJetFinderBase::setupOk().

Referenced by process().

235  {
237 }
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
bool setupOk() const
Check setup is Ok.
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const L1GctJetLeafCard card 
)
friend

Overload << operator.

Definition at line 124 of file L1GctJetLeafCard.cc.

124  {
125  using std::endl;
126 
127  s << "===L1GctJetLeafCard===" << endl;
128  s << "ID = " << card.m_id << endl;
129  s << "i_phi = " << card.phiPosition << endl;
130  ;
131  s << "Ex " << card.m_exSum << endl;
132  s << "Ey " << card.m_eySum << endl;
133  s << "Hx " << card.m_hxSum << endl;
134  s << "Hy " << card.m_hySum << endl;
135  s << "Et " << card.m_etSum << endl;
136  s << "Ht " << card.m_htSum << endl;
137  s << "JetFinder A : " << endl << (*card.m_jetFinderA);
138  s << "JetFinder B : " << endl << (*card.m_jetFinderB);
139  s << "JetFinder C : " << endl << (*card.m_jetFinderC);
140  s << endl;
141 
142  return s;
143 }
htComponentType m_hySum
L1GctJetFinderBase * m_jetFinderB
middle jetFinder in phi
L1GctJetFinderBase * m_jetFinderC
highest jetFinder in phi
L1GctJetFinderBase * m_jetFinderA
lowest jetFinder in phi
etComponentType m_eySum
htComponentType m_hxSum
etComponentType m_exSum

Member Data Documentation

◆ m_ctorInputOk

bool L1GctJetLeafCard::m_ctorInputOk
private

Definition at line 168 of file L1GctJetLeafCard.h.

Referenced by L1GctJetLeafCard(), setNeighbourLeafCards(), and setupOk().

◆ m_etSum

etTotalType L1GctJetLeafCard::m_etSum
private

Definition at line 154 of file L1GctJetLeafCard.h.

Referenced by getOutputEt(), operator<<(), process(), and resetProcessor().

◆ m_etSumPipe

Pipeline<etTotalType> L1GctJetLeafCard::m_etSumPipe
private

Definition at line 164 of file L1GctJetLeafCard.h.

Referenced by getAllOutputEt(), getInternalEtSums(), process(), and resetPipelines().

◆ m_exSum

etComponentType L1GctJetLeafCard::m_exSum
private

Definition at line 150 of file L1GctJetLeafCard.h.

Referenced by getOutputEx(), operator<<(), process(), and resetProcessor().

◆ m_exSumPipe

Pipeline<etComponentType> L1GctJetLeafCard::m_exSumPipe
private

Definition at line 160 of file L1GctJetLeafCard.h.

Referenced by getAllOutputEx(), getInternalEtSums(), process(), and resetPipelines().

◆ m_eySum

etComponentType L1GctJetLeafCard::m_eySum
private

Definition at line 151 of file L1GctJetLeafCard.h.

Referenced by getOutputEy(), operator<<(), process(), and resetProcessor().

◆ m_eySumPipe

Pipeline<etComponentType> L1GctJetLeafCard::m_eySumPipe
private

Definition at line 161 of file L1GctJetLeafCard.h.

Referenced by getAllOutputEy(), getInternalEtSums(), process(), and resetPipelines().

◆ m_hfSums

hfTowerSumsType L1GctJetLeafCard::m_hfSums
private

Definition at line 157 of file L1GctJetLeafCard.h.

Referenced by getOutputHfSums(), process(), and resetProcessor().

◆ m_hfSumsPipe

Pipeline<hfTowerSumsType> L1GctJetLeafCard::m_hfSumsPipe
private

Definition at line 166 of file L1GctJetLeafCard.h.

Referenced by getAllOutputHfSums(), process(), and resetPipelines().

◆ m_htSum

etHadType L1GctJetLeafCard::m_htSum
private

Definition at line 155 of file L1GctJetLeafCard.h.

Referenced by getOutputHt(), operator<<(), process(), and resetProcessor().

◆ m_htSumPipe

Pipeline<etHadType> L1GctJetLeafCard::m_htSumPipe
private

Definition at line 165 of file L1GctJetLeafCard.h.

Referenced by getAllOutputHt(), getInternalEtSums(), process(), and resetPipelines().

◆ m_hxSum

htComponentType L1GctJetLeafCard::m_hxSum
private

Definition at line 152 of file L1GctJetLeafCard.h.

Referenced by getOutputHx(), operator<<(), process(), and resetProcessor().

◆ m_hxSumPipe

Pipeline<htComponentType> L1GctJetLeafCard::m_hxSumPipe
private

Definition at line 162 of file L1GctJetLeafCard.h.

Referenced by getAllOutputHx(), getInternalHtMiss(), process(), and resetPipelines().

◆ m_hySum

htComponentType L1GctJetLeafCard::m_hySum
private

Definition at line 153 of file L1GctJetLeafCard.h.

Referenced by getOutputHy(), operator<<(), process(), and resetProcessor().

◆ m_hySumPipe

Pipeline<htComponentType> L1GctJetLeafCard::m_hySumPipe
private

Definition at line 163 of file L1GctJetLeafCard.h.

Referenced by getAllOutputHy(), getInternalHtMiss(), process(), and resetPipelines().

◆ m_id

int L1GctJetLeafCard::m_id
private

Definition at line 136 of file L1GctJetLeafCard.h.

Referenced by L1GctJetLeafCard(), operator<<(), and setNeighbourLeafCards().

◆ m_jetFinderA

L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderA
private

◆ m_jetFinderB

L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderB
private

◆ m_jetFinderC

L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderC
private

◆ m_whichJetFinder

jetFinderType L1GctJetLeafCard::m_whichJetFinder
private

Definition at line 139 of file L1GctJetLeafCard.h.

Referenced by L1GctJetLeafCard().

◆ MAX_JET_FINDERS

const int L1GctJetLeafCard::MAX_JET_FINDERS = 3
static

Number of jetfinders per jet leaf card.

Definition at line 34 of file L1GctJetLeafCard.h.

◆ phiPosition

int L1GctJetLeafCard::phiPosition
private

Definition at line 148 of file L1GctJetLeafCard.h.

Referenced by L1GctJetLeafCard(), and operator<<().