38 jTower::jTower(
int ieta,
int iphi,
int towerid,
int posneg,
float centre_eta,
float centre_phi,
int fcal_layer):
88 std::stringstream errMsg;
89 errMsg <<
"addET: Attempt to set an invalid JTower layer with value: " << layer <<
". Must be 0 (EM) or 1 (HAD) ";
90 throw std::runtime_error(errMsg.str().c_str());
108 std::stringstream errMsg;
109 errMsg <<
"set_TileCal_Et: Attempt to set an invalid JTower layer with value: " << layer <<
". Must be 0 (EM) or 1 (HAD) ";
110 throw std::runtime_error(errMsg.str().c_str());
125 if((layer < 0) || (layer >=
s_nLayers)) {
126 std::stringstream errMsg;
127 errMsg <<
"Attempt to set jTower SCID in invalid layer (" << layer <<
")";
128 throw std::runtime_error(errMsg.str().c_str());
133 if (cell < 0 || cell > 2) {
134 std::stringstream errMsg;
135 errMsg <<
"Attempt to set jTower SCID in invalid cell slot (" << cell <<
")";
136 throw std::runtime_error(errMsg.str().c_str());
145 else if(layer == 1) {
201 for (
unsigned int i=0; i<
m_et.size(); i++) {
226 std::vector<int> cells;
232 for (
int cell = 0; cell <
s_cells[layer]; ++cell) cells.push_back(
m_et[
s_offsets[layer] + cell]);
242 std::vector<float> cells;
260 else if (layer == 1) {
274 else if (layer == 1) {
287 else if (layer == 1) {
291 return std::vector<Identifier>();
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
std::vector< Identifier > ID
static int Expand(unsigned int code)
Uncompress data.
static unsigned int Compress(float floatEt, bool empty=false)
Compress data.
std::vector< Identifier > m_EM_scID
void setPosNeg(int posneg)
int getTotalET() const
Get ET sum of all cells in the jTower 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< Identifier > getLayerSCIDs(unsigned int layer) const
int getET(unsigned int layer, int cell=0) const
Get ET of a specified cell in MeV.
void set_Et(int layer, int et)
Set ET value in MeV.
std::vector< int > m_TTowerAreaInv
std::vector< int > getLayerETvec(unsigned int layer) const
Get vector of ET values for a given layer in MeV.
void clear_EM_scIDs()
Clear and resize Identifier value vector.
void set_TileCal_Et(int layer, int et)
void setNoiseForJet(int noiseVal, int layer)
float getET_float(unsigned int layer, int cell=0) const
Get ET of a specified cell in MeV FLOAT VERSION.
void setTTowerArea(int area, int layer)
Add to Area values of a specified tower.
void set_LAr_Et(Identifier ID, int cell, float et, int layer)
Set LAr supercell position ID.
void setCentrePhi(float iphi)
std::vector< float > m_et_float_raw
std::vector< int > m_TTowerArea
void clearET()
Clear supercell ET values.
float getTotalET_float() const
Get ET sum of all cells in the jTower in MeV FLOAT VERSION.
int iEta() const
Get coordinates of tower.
int getLayerTotalET(unsigned int layer) const
Get total ET sum of all cells in a given layer in MeV.
int getNoiseForJet(int layer) const
void setNoiseForMet(int noiseVal, int layer)
Noise values for each layer and object.
void setOnlineID(int tower_id_online)
void setCentreEta(float ieta)
Add to eta/phi values of a specified tower.
void setTTowerAreaInv(int area, int layer)
Add to Area inverted values of a specified tower.
void clear_HAD_scIDs()
Clear and resize HAD SC Identifier value vector.
void Do_LAr_encoding()
Applies LAr digitization scheme.
int getTTowerArea(int layer) const
std::vector< float > getLayerETvec_float(unsigned int layer) const
Get vector of ET values for a given layer in MeV FLOAT VERSION.
std::vector< Identifier > m_HAD_scID
int getTTowerAreaInv(int layer) const
int getNoiseForMet(int layer) const
int iPhi() const
Return global phi index.
void addET(float et, int cell)
Add to ET of a specified cell in MeV.
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.