53 for (
unsigned int i=0; i<
m_et.size(); i++){
60 for (
unsigned int i=0; i<
m_etSplits.size(); i++){
73 for (
unsigned int i=0; i<
m_scID.size(); i++){
92 if (cell < 0 || cell > 13){
return; }
101 if (cell < 0 || cell > 13){
return; }
114 if (cell < 0 || cell > 13){
return; }
128 float et_half =
et*0.5;
129 addET(et_half, cell);
130 addET(et_half, cell+1);
196 for (
unsigned int i=0; i<
m_et.size(); i++){
207 for (
unsigned int i=0; i<
m_et_float.size(); i++){
220 std::vector<int> cells;
226 for (
int cell = 0; cell <
s_cells[layer]; ++cell) cells.push_back(
m_et[
s_offsets[layer] + cell]);
236 std::vector<float> cells;
254 else if (layer == 1){
257 else if (layer == 2){
260 else if (layer == 3){
263 else if (layer == 4){
278 else if (layer == 1){
281 else if (layer == 2){
284 else if (layer == 3){
287 else if (layer == 4){
298 std::vector<Identifier> cells_in_layer;
301 cells_in_layer.push_back(
m_scID[0]);
303 else if (layer == 1){
304 cells_in_layer.push_back(
m_scID[1]);
305 cells_in_layer.push_back(
m_scID[2]);
306 cells_in_layer.push_back(
m_scID[3]);
307 cells_in_layer.push_back(
m_scID[4]);
309 else if (layer == 2){
310 cells_in_layer.push_back(
m_scID[5]);
311 cells_in_layer.push_back(
m_scID[6]);
312 cells_in_layer.push_back(
m_scID[7]);
313 cells_in_layer.push_back(
m_scID[8]);
315 else if (layer == 3){
316 cells_in_layer.push_back(
m_scID[9]);
318 else if (layer == 4){
319 cells_in_layer.push_back(
m_scID[10]);
320 cells_in_layer.push_back(
m_scID[11]);
323 return cells_in_layer;
std::vector< Identifier > ID
static int decode(int EtVal, int layer, bool ignoreDisable=false)
Full sequence.
float m_eta
Internal data.
void clear_scIDs()
Clear and resize Identifier value vector.
int getLayerTotalET(unsigned int layer) const
Get total ET sum of all cells in a given layer in MeV.
void setPosNeg(int posneg)
float getTotalET_float() const
Get ET sum of all cells in the eTower in MeV FLOAT VERSION.
std::vector< float > m_et_float
float getET_float(unsigned int layer, int cell=0) const
Get ET of a specified cell in MeV FLOAT VERSION.
std::vector< unsigned int > m_etSplits
std::vector< float > getLayerETvec_float(unsigned int layer) const
Get vector of ET values for a given layer in MeV FLOAT VERSION.
int iEta() const
Get coordinates of tower.
int getET(unsigned int layer, int cell=0) const
Get ET of a specified cell in MeV.
float getLayerTotalET_float(unsigned int layer) const
Get total ET sum of all cells in a given layer in MeV FLOAT VERSION.
std::vector< int > getLayerETvec(unsigned int layer) const
Get vector of ET values for a given layer in MeV.
std::vector< Identifier > m_scID
int getTotalET() const
Get ET sum of all cells in the eTower in MeV.
std::vector< Identifier > getLayerSCIDs(unsigned int layer) const
std::vector< Identifier > m_scID_split
void addET(float et, int cell)
Add to ET of a specified cell in MeV.
void clearET()
Clear supercell ET values.
void setET(int cell, float et, int layer, bool ignoreDisable=false)
void setSCID(Identifier ID, int cell, float et, int layer, bool doenergysplit)
Set supercell position ID.
int iPhi() const
Return global phi index.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
const int s_offsets[s_nLayers]
const int s_cells[s_nLayers]
Extra patterns decribing particle interation process.