68 const unsigned int jem = this->
module (roiWord);
69 unsigned int temp = jem % 8;
72 }
else if( temp == 7 ){
92 return ( frame & 3 ) * 2 + ( rl >> 1 );
99 return ( frame >> 2 ) * 2 + ( rl & 1 );
105 std::vector<unsigned int> threshPassedVec;
109 for (
unsigned int thresh = 0; thresh < 16; ++thresh ) {
111 threshPassedVec.push_back( thresh + 1 );
116 return threshPassedVec;
124 std::vector<unsigned int> fwdThreshPassedVec;
128 for (
unsigned int thresh = 0; thresh < 4;thresh++ ) {
130 fwdThreshPassedVec.push_back( thresh + 1 );
135 return fwdThreshPassedVec;
155 const unsigned int roiWord)
const {
162 const double JEMEtaSize = 0.8;
163 const double jeEtaSize = 0.2;
165 const unsigned int col = this->
column (roiWord);
166 int etaBin = ( jem % 8 ) - 4;
167 double etaMin = ( etaBin * JEMEtaSize ) + ( jeEtaSize * col );
168 double etaMax = etaMin + 2. * jeEtaSize;
171 if ( etaMax > 2.5 && etaMax < 2.7 ) etaMax = 2.7;
174 coord.setRanges( phiMin, phiMax, etaMin, etaMax );
180 const unsigned int roiWord)
const {
186 double etaMin = 0.0;
double etaMax = 0.0;
187 switch ( this->
column (roiWord) ) {
189 etaMin = -4.9; etaMax = -2.9;
192 etaMin = -3.2; etaMax = -2.7;
195 etaMin = -2.9; etaMax = -2.4;
198 etaMin = -2.7; etaMax = -2.2;
208 const unsigned int roiWord)
const {
213 double etaMin = 0.0;
double etaMax = 0.0;
214 switch ( this->
column (roiWord) ) {
216 etaMin = 2.4; etaMax = 2.9;
219 etaMin = 2.7; etaMax = 3.2;
222 etaMin = 2.9; etaMax = 4.9;
225 etaMin = 2.9; etaMax = 4.9;
235 double& phiMin,
double& phiMax )
const {
237 const unsigned int row = this->
row (roiWord);
238 const unsigned int crate = this->
crate (roiWord);
240 const double jemPhiSize =
M_PI / 2;
241 const double jePhiSize =
M_PI / 16;
242 int crateModifier = ( jem / 8 ) * 2;
243 phiMin = (
crate + crateModifier ) * jemPhiSize + ( jePhiSize *
row );
244 phiMax = phiMin + 2. * jePhiSize;
284 std::vector<unsigned int> mEtSigThreshPassedVec;
287 if (
passed & (1<<thresh)) {
288 mEtSigThreshPassedVec.push_back( thresh + 1 );
292 return mEtSigThreshPassedVec;
299 std::vector<unsigned int> sumEtThreshPassedVec;
302 if (
passed & (1<<thresh)) {
303 sumEtThreshPassedVec.push_back( thresh + 1 );
307 return sumEtThreshPassedVec;
314 std::vector<unsigned int> missEtThreshPassedVec;
317 if (
passed & (1<<thresh)) {
318 missEtThreshPassedVec.push_back( thresh + 1 );
322 return missEtThreshPassedVec;
362 int negative =
extractBits( energyRoIWord, 15, 1 );
365 if ( negative != 0 ) {
366 int complement = ~value;
367 value = -( (complement+1)&0x7FFF) ;
CoordinateRange class declaration.
bool sumEtThresholdPassed(const unsigned int energyRoIWord1, const unsigned int thresh) const
returns true if thresh is passed
int energyY(unsigned int energyRoIWord1) const
returns the (signed) Ex energy projection.
CoordinateRange rightEndJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
returns a CoordinateRange for the end JEMs, i.e.
const std::vector< unsigned int > thresholdsPassed(const unsigned int word) const
returns a vector containing the numbers of threshold passed i.e.
CoordinateRange leftEndJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
returns a CoordinateRange for the end JEMs, i.e.
unsigned int missEtThresholdsFlags(const unsigned int energyRoIWord1) const
unsigned int jetRoIVersion(unsigned int word) const
Identify Jet RoI Version.
bool energyOverflow(unsigned int energyRoIWord) const
returns overflow flag energy RoIWord
unsigned int module(const unsigned int word) const
Extract module number from Jet RoI word.
const std::vector< unsigned int > fwdThresholdsPassed(const unsigned int word) const
returns a vector containing the numbers of threshold passed i.e.
unsigned int etLarge(const unsigned int word) const
Return ET values from Run 2 Jet RoIs.
int energyX(unsigned int energyRoIWord0) const
returns the (signed) Ex energy projection.
unsigned int sumEtThresholdsFlags(const unsigned int energyRoIWord1) const
void setPhiCoords(const unsigned int jem, const unsigned int roiWord, double &phiMin, double &phiMax) const
set phi coords for Jet RoI
unsigned int row(const unsigned int word) const
Extract RoI row number within module from Jet RoI word.
std::vector< unsigned int > mEtSigThresholdsPassed(const unsigned int energyRoIWord0) const
returns a vector containing the numbers of threshold passed i.e.
virtual CoordinateRange coordinate(const unsigned int roiWord) const override
Return eta/phi coordinate object.
bool etMissThresholdPassed(const unsigned int energyRoIWord2, const unsigned int thresh) const
returns true if thresh is passed
bool mEtSigThresholdPassed(const unsigned int energyRoIWord0, const unsigned int thresh) const
returns true if thresh is passed
int decodeEnergyComponent(const unsigned int energyRoIWord) const
No descriptions.
int energyT(unsigned int energyRoIWord2) const
returns the (signed) Ex energy projection.
unsigned int etSmall(const unsigned int word) const
Extract smaller cluster ET value from Jet RoI word.
std::vector< unsigned int > etSumThresholdsPassed(const unsigned int energyRoIWord1) const
returns a vector containing the numbers of threshold passed i.e.
unsigned int column(const unsigned int word) const
Extract RoI column number within module from Jet RoI word.
unsigned int crate(const unsigned int word) const
Return hardware coordinates.
CoordinateRange midJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
return a CoordinateRange for the JEMs coving -2.4<eta<2.4
TrigT1CaloDefs::RoIType roiType(unsigned int word) const
Override base method - allows us to handle both Run 1 & Run 2 data for JEP (up to a point)
std::vector< unsigned int > etMissThresholdsPassed(const unsigned int energyRoIWord2) const
returns a vector containing the numbers of threshold passed i.e.
unsigned int mEtSigThresholdsFlags(const unsigned int energyRoIWord0) const
unsigned int extractBits(unsigned int word, const unsigned int start, const unsigned int length) const
returns the value of bits in word between bit "start" and bit "start" + "length"
static const unsigned int numOfSumEtThresholds
static const unsigned int numOfMEtSigThresholds
static const unsigned int numOfMissingEtThresholds
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...