pflib v3.14.3-4-g3289bd3
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::packing::HcalECONTRocSTCMapping Class Reference

map ROC channels into ECON-T/STC More...

#include <HcalECONTRocSTCMapping.h>

Collaboration diagram for pflib::packing::HcalECONTRocSTCMapping:
[legend]

Public Member Functions

 HcalECONTRocSTCMapping (const std::vector< std::pair< int, std::vector< int > > > &roc_trg_to_econt_erx)
 
std::pair< int, int > toECONTSTC (int i_roc, int ch) const
 get the ECON-T/STC that the input ROC/channel would be summed into
 

Static Public Member Functions

static int toROCTrigChannel (int ch)
 which trigger channel the input ROC channel goes to
 

Private Attributes

std::vector< std::pair< int, std::vector< int > > > roc_trg_to_econt_erx_
 hardware mapping copied from the Target
 

Detailed Description

map ROC channels into ECON-T/STC

The inverse mapping is not provided since many ROC channels are summed into a single STC.

This is for a single Hcal Backplane which hosts 2 ECON-Ts. The 2 ECON-Ts on the backplane are indexed 0 and 1 in the decoded packing::HcalECONTCaptureFrame but are indexed 1 and 2 in the Target::econ accessor.

Member Function Documentation

◆ toECONTSTC()

std::pair< int, int > pflib::packing::HcalECONTRocSTCMapping::toECONTSTC ( int i_roc,
int ch ) const

get the ECON-T/STC that the input ROC/channel would be summed into

Parameters
[in]i_rocROC index
[in]chchannel within that ROC [0,72)
Returns
[i_econt, i_stc] where i_econt is the index of the ECON-T in HcalECONTCaptureFrame and i_stc is the index of the STC in that ECON-T

Each ROC trig channel gets mapped directly onto an ECON-T eRx and each ECON-T eRx, since the ECON-T is assumed to be summing 4 TCs together into an STC and the trig channel contains 4 TCs, is identical to the STC index.

The ECON-T IDs kept in the mapping are for the Target::econ accessor, the HcalECONTCaptureFrame does not have the ECON-D so the indices are are lowered by one.

◆ toROCTrigChannel()

int pflib::packing::HcalECONTRocSTCMapping::toROCTrigChannel ( int ch)
static

which trigger channel the input ROC channel goes to

The ROC channels are summed into Trigger Cells (TCs) in groups of 4 (for the Hcal) and channels whose index is equal to 8 modulo 9 are ignored in the sum-by-4 configuration. The TCs are then grouped together in groups of 4 to be sent along the trigger channels to the ECON-T.

Parameters
[in]chROC channel [0,72)
Returns
the trigger channel ch would end up in, -1 if it will be ignored

The documentation for this class was generated from the following files: