22 declareInterface<IjFEXFormTOBs>(
this);
27 return StatusCode::SUCCESS;
31uint32_t
jFEXFormTOBs::formTauTOB(
int jFEX,
int iPhi,
int iEta,
int EtClus,
int IsoRing,
bool satTau,
int Resolution,
int ptMinToTopo )
const
40 if(jFEX == 1 || jFEX == 2){
47 unsigned int et = EtClus/Resolution;
53 unsigned int iso = IsoRing/Resolution;
54 if (iso > 0x7ff) iso = 0x7ff;
59 ATH_MSG_DEBUG(
"tobword tau with iso, et, eta and phi: " << std::bitset<32>(tobWord) );
61 unsigned int minEtThreshold = ptMinToTopo/Resolution;
63 if (
et <= minEtThreshold)
return 0;
71 int Et_edge[8] = {20,30,40,50,65,80,110,150};
75 for(
int i=0;i<8; i++){
76 if(
Energy < Et_edge[i] * 1e3){
87 int calib = calibFactors[et_range];
90 int et_200Mev = std::floor(1.0*
Energy/
res);
93 int et = std::floor( (1.0*et_200Mev*calib)/(1<<7) );
103 if (jfex != 0 && jfex != 5) {
104 coreEta = std::min(coreEta,7u);
106 coreEta = std::min(coreEta,24u);
109 int calib = calibFactors[coreEta];
112 int et_200Mev = std::floor(1.0*
Energy/
res);
115 int et = std::floor( (1.0*et_200Mev*calib)/(1<<7) );
121uint32_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 )
const {
122 uint32_t tobWord = 0;
123 unsigned int eta = 0;
124 unsigned int phi = 0;
125 unsigned int jFEXSmallRJetTOBEt = 0;
129 if(jFEX == 1 || jFEX == 2) {
134 if(jFEX == 3 || jFEX == 4) {
173 if(jFEXSmallRJetTOBEt > 0x7ff) {
174 jFEXSmallRJetTOBEt = 0x7ff;
178 ATH_MSG_DEBUG(
"tobword smallRJet with res, et, eta and phi: " << std::bitset<32>(tobWord) );
181 unsigned int minEtThreshold = ptMinToTopo/Resolution;
183 if (jFEXSmallRJetTOBEt <= minEtThreshold)
return 0;
191 uint32_t tobWord = 0;
192 unsigned int eta = 0;
193 unsigned int phi = 0;
194 unsigned int jFEXLargeRJetTOBEt = 0;
198 if(jFEX == 1 || jFEX == 2) {
203 if(jFEX == 3 || jFEX == 4) {
235 jFEXLargeRJetTOBEt = EtClus/Resolution;
236 if (jFEXLargeRJetTOBEt > 0x1fff) {
237 jFEXLargeRJetTOBEt = 0x1fff;
241 ATH_MSG_DEBUG(
"tobword largeRJet with res, et, eta, phi: " << std::bitset<32>(tobWord) );
244 unsigned int minEtThreshold = ptMinToTopo/Resolution;
246 if (jFEXLargeRJetTOBEt <= minEtThreshold)
return 0;
253 uint32_t tobWord = 0;
255 bool satlow = std::get<1>(ETlow);
256 bool sathigh = std::get<1>(EThigh);
258 unsigned int etlow = std::get<0>(ETlow)/Resolution;
259 if (etlow > 0x7fff) {
264 unsigned int ethigh = std::get<0>(EThigh)/Resolution;
265 if (ethigh > 0x7fff) {
272 ATH_MSG_DEBUG(
"tobword SumET with Sathigh, EThigh, ETlow and Satlow : " << std::bitset<32>(tobWord) );
280 uint32_t tobWord = 0;
283 unsigned int res = 0;
285 int metX = std::floor(1.0*METX/Resolution);
286 int metY = std::floor(1.0*METY/Resolution);
289 if (std::abs(metX) > 0x3fff) {
299 if (std::abs(metY) > 0x3fff) {
311 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::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.