8 m_inputCands(nInputs*4),
57 for(
int i = 0;
i<4;
i++){
70 unsigned input = ( (
m_id==4) ? (crate%9) : (crate%9 - 4) );
71 unsigned i = input*4 + (3-cand.
index());
78 s <<
"===L1GctElectronSorter===" << std::endl;
79 s <<
"Algo type = " << ems.
m_isolation << std::endl;
80 s <<
"No of Electron Input Candidates = " << ems.
m_inputCands.size()<< std::endl;
81 s <<
"No of Electron Output Candidates = " << ems.
m_outputCands.size()<< std::endl;
static bool rankByGt(const prioritisedEmCand &x, const prioritisedEmCand &y)
void setupObjects() override
Initialise inputs with null objects for the correct bunch crossing if required.
std::vector< L1GctEmCand > m_outputCands
output data
bool m_isolation
type of electron to sort (isolated = 0 or non isolated = 1)
L1GctElectronSorter(int nInputs, bool iso)
constructor; set type (isolated or non-isolated)
void setBx(int16_t bx)
set BX
Level-1 Region Calorimeter Trigger EM candidate.
~L1GctElectronSorter() override
std::vector< L1CaloEmCand > m_inputCands
input data
static std::string const input
ABC for a GCT trigger data processing unit.
void process() override
process the data, fill output buffers
unsigned rctCrate() const
get RCT crate
Class that sorts electron candidates.
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines. ...
void fetchInput() override
get input data from sources
void setInputEmCand(const L1CaloEmCand &cand)
set input candidate
friend std::ostream & operator<<(std::ostream &s, const L1GctElectronSorter &card)
overload of cout operator
int m_id
algo ID (is it FPGA 1 or 2 processing)
unsigned index() const
get index on cable
char data[epos_bytes_allocation]