17 if(posEtaCard!=
nullptr){
23 <<
"L1GctElectronFinalSort::Constructor() : 1st EmLeafCard passed is zero";
26 if(negEtaCard!=
nullptr){
32 <<
"L1GctElectronFinalSort::Constructor() : 2nd EmLeafCard passed is zero";
36 edm::LogError(
"L1GctSetupError") <<
"L1GctElectronFinalSort has been incorrectly constructed";
56 for (
int k=0;
k<4;
k++) {
88 std::vector<L1GctEmCand>
temp(4);
89 for(
int i = 0;
i<4;
i++){
90 temp.at(
i) =
data.at(
i).emCand;
104 s <<
"===ElectronFinalSort===" << std::endl;
105 s <<
"Card type = " << ( cand.
m_emCandsType ?
"isolated" :
"non-isolated" ) <<std::endl;
106 s <<
"Pointers to the Electron Leaf cards are: "<<std::endl;
110 s <<
"No of Electron Input Candidates " << cand.
m_inputCands.size() << std::endl;
111 s <<
"No of Electron Output Candidates " << cand.
m_outputCands.contents.size() << std::endl;
static bool rankByGt(const prioritisedEmCand &x, const prioritisedEmCand &y)
friend std::ostream & operator<<(std::ostream &s, const L1GctElectronFinalSort &cand)
overload of cout operator
L1GctElectronSorter * getNonIsoElectronSorterU1()
L1GctEmLeafCard * m_theNegEtaLeafCard
L1GctElectronFinalSort(bool iso, L1GctEmLeafCard *posEtaCard, L1GctEmLeafCard *negEtaCard)
std::vector< L1GctEmCand > getOutputCands()
get output candidates
bool m_verbose
Flag to control output messages.
L1GctElectronSorter * getNonIsoElectronSorterU2()
void process() override
process the data, fill output buffers
Level-1 Trigger EM candidate at output of GCT.
ABC for a GCT trigger data processing unit.
L1GctEmLeafCard * m_thePosEtaLeafCard
the 1st stage electron sorters
~L1GctElectronFinalSort() override
destructor
void fetchInput() override
get input data from sources
L1GctElectronSorter * getIsoElectronSorterU1()
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines. ...
void resetPipelines() override
bool m_setupOk
Check the setup.
Pipeline< L1GctEmCand > m_outputCands
output data
std::vector< L1GctEmCand > m_inputCands
input data
void setInputEmCand(unsigned i, const L1GctEmCand &cand)
set input data
bool m_emCandsType
type of electron candidate (iso(0) or non-iso(1))
char data[epos_bytes_allocation]
int16_t bx() const
get bunch-crossing index
L1GctElectronSorter * getIsoElectronSorterU2()
Emulates a leaf card programmed for electron sorting.