22 declareInterface<IjFEXFormTOBs>(
this);
30 return StatusCode::SUCCESS;
50 unsigned int et = EtClus/Resolution;
56 unsigned int iso = IsoRing/Resolution;
57 if (iso > 0x7ff) iso = 0x7ff;
62 ATH_MSG_DEBUG(
"tobword tau with iso, et, eta and phi: " << std::bitset<32>(tobWord) );
65 unsigned int minEtThreshold = ptMinToTopo/Resolution;
67 if (
et <= minEtThreshold)
return 0;
75 int Et_edge[8] = {20,30,40,50,65,80,110,150};
79 for(
int i=0;
i<8;
i++){
91 int calib = calibFactors[et_range];
94 int et_200Mev = std::floor(1.0*
Energy/
res);
97 int et = std::floor( (1.0*et_200Mev*
calib)/(1<<7) );
107 if (jfex != 0 && jfex != 5) {
113 int calib = calibFactors[coreEta];
116 int et_200Mev = std::floor(1.0*
Energy/
res);
119 int et = std::floor( (1.0*et_200Mev*
calib)/(1<<7) );
127 unsigned int eta = 0;
128 unsigned int phi = 0;
129 unsigned int jFEXSmallRJetTOBEt = 0;
177 if(jFEXSmallRJetTOBEt > 0x7ff) {
178 jFEXSmallRJetTOBEt = 0x7ff;
182 ATH_MSG_DEBUG(
"tobword smallRJet with res, et, eta and phi: " << std::bitset<32>(tobWord) );
185 unsigned int minEtThreshold = ptMinToTopo/Resolution;
187 if (jFEXSmallRJetTOBEt <= minEtThreshold)
return 0;
196 unsigned int eta = 0;
197 unsigned int phi = 0;
198 unsigned int jFEXLargeRJetTOBEt = 0;
239 jFEXLargeRJetTOBEt = EtClus/Resolution;
240 if (jFEXLargeRJetTOBEt > 0x1fff) {
241 jFEXLargeRJetTOBEt = 0x1fff;
245 ATH_MSG_DEBUG(
"tobword largeRJet with res, et, eta, phi: " << std::bitset<32>(tobWord) );
248 unsigned int minEtThreshold = ptMinToTopo/Resolution;
250 if (jFEXLargeRJetTOBEt <= minEtThreshold)
return 0;
259 bool satlow = std::get<1>(ETlow);
260 bool sathigh = std::get<1>(EThigh);
262 unsigned int etlow = std::get<0>(ETlow)/Resolution;
263 if (etlow > 0x7fff) {
268 unsigned int ethigh = std::get<0>(EThigh)/Resolution;
269 if (ethigh > 0x7fff) {
276 ATH_MSG_DEBUG(
"tobword SumET with Sathigh, EThigh, ETlow and Satlow : " << std::bitset<32>(tobWord) );
287 unsigned int res = 0;
289 int metX = std::floor(1.0*METX/Resolution);
290 int metY = std::floor(1.0*METY/Resolution);
293 if (std::abs(metX) > 0x3fff) {
303 if (std::abs(metY) > 0x3fff) {
315 ATH_MSG_DEBUG(
"tobword MET with Res, MET_Y, MET_X, Sat: " << std::bitset<32>(tobWord) );