22 declareInterface<IjFEXFormTOBs>(
this);
30 return StatusCode::SUCCESS;
34uint32_t
jFEXFormTOBs::formTauTOB(
int jFEX,
int iPhi,
int iEta,
int EtClus,
int IsoRing,
bool satTau,
int Resolution,
int ptMinToTopo )
43 if(jFEX == 1 || jFEX == 2){
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++){
80 if(
Energy < Et_edge[i] * 1e3){
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) {
108 coreEta = std::min(coreEta,7u);
110 coreEta = std::min(coreEta,24u);
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) );
125uint32_t
jFEXFormTOBs::formSRJetTOB(
int jFEX,
int iPhi,
int iEta,
int EtClus,
bool sat,
int Resolution,
int ptMinToTopo,
const std::pair<
unsigned int,
const std::vector<int>&>& calibParameters ) {
126 uint32_t tobWord = 0;
127 unsigned int eta = 0;
128 unsigned int phi = 0;
129 unsigned int jFEXSmallRJetTOBEt = 0;
133 if(jFEX == 1 || jFEX == 2) {
138 if(jFEX == 3 || jFEX == 4) {
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;
195 uint32_t tobWord = 0;
196 unsigned int eta = 0;
197 unsigned int phi = 0;
198 unsigned int jFEXLargeRJetTOBEt = 0;
202 if(jFEX == 1 || jFEX == 2) {
207 if(jFEX == 3 || jFEX == 4) {
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;
257 uint32_t tobWord = 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) );
284 uint32_t tobWord = 0;
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) );
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
std::vector< double > Energy
std::pair< std::vector< unsigned int >, bool > res
static constexpr int jTE_Et_upperBit
static constexpr int jTE_Sat_upperBit
static constexpr int jFEX_algoSpace_C_FCAL_end_eta
static constexpr int jJ_phiBit
static constexpr int jLJ_phiBit
static constexpr int jFEX_algoSpace_A_FCAL_start_eta
static constexpr int jTE_Et_lowerBit
static constexpr int jFEX_algoSpace_A_EMIE_eta
static constexpr int jLJ_etaBit
static constexpr int jTau_phiBit
static constexpr int jLJ_etBit
static constexpr int jXE_ResBit
static constexpr int jJ_etBit
static constexpr int jXE_SatBit
static constexpr int jLJ_resBit
static constexpr int jJ_resBit
static constexpr int jTE_Sat_lowerBit
static constexpr int jJ_etaBit
static constexpr int jTau_etaBit
static constexpr int jXE_Ey_Bit
static constexpr int jTau_etBit
static constexpr int jTau_isoBit
static constexpr int jXE_Ex_Bit
static constexpr int jFEX_algoSpace_C_EMIE_end_eta
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Extra patterns decribing particle interation process.