12 #include "../IO/cTauTOBArray.h"
13 #include "../IO/Count.h"
23 const std::map<std::string, int>& isolationFW_CTAU,
24 const std::map<std::string, int>& isolationFW_CTAU_jTAUCoreScale
30 m_isoFW_CTAU{isolationFW_CTAU},
31 m_isoFW_CTAU_jTAUCoreScale{isolationFW_CTAU_jTAUCoreScale}
35 throw std::runtime_error(
"cTauMultiplicity m_nbits == 0 ");
48 for (
const auto& etauCand : cTaus) {
49 if(etauCand->tobType() !=
TCS::ETAU)
continue;
59 bool isIsolated =
false;
62 float isolation_partial_loose = 0;
65 float isolation_partial_medium = 0;
68 float isolation_partial_tight = 0;
71 unsigned int isoScore = 0;
74 for (
const auto& jtauCand : cTaus) {
76 if(jtauCand->tobType() !=
TCS::JTAU)
continue;
88 float denominator =
static_cast<float>(etauCand->Et());
91 float numerator =
static_cast<float>(jtauCand->EtIso()) +
93 static_cast<float>(jtauCand->Et());
98 numerator =
static_cast<float>(jtauCand->EtIso()) +
100 static_cast<float>(jtauCand->Et());
104 numerator =
static_cast<float>(jtauCand->EtIso()) +
106 static_cast<float>(jtauCand->Et());
125 m_TOB_et.push_back(etauCand->EtDouble());
150 if ( etauCand->eta()%4 >= 0 ) {
151 eta_thr = etauCand->eta() - etauCand->eta()%4;
153 eta_thr = etauCand->eta() - etauCand->eta()%4 - 4;
172 count.setSizeCount(counting);
174 return StatusCode::SUCCESS;
181 unsigned int bit = 0;
184 if( jtauCand->
EtIso()*1024 +
188 if( jtauCand->
EtIso()*1024 +
192 if( jtauCand->
EtIso()*1024 +
204 bool matching =
false;
212 if (etauCand->
eta()%4 >= 0 ) {
213 eTauEtaTower = etauCand->
eta() - etauCand->
eta()%4;
215 eTauEtaTower = etauCand->
eta() - etauCand->
eta()%4 - 4;
219 if (jtauCand->
eta()%4 >= 0 ) {
220 jTauEtaTower = jtauCand->
eta() - jtauCand->
eta()%4;
222 jTauEtaTower = jtauCand->
eta() - jtauCand->
eta()%4 - 4;
229 unsigned int eTauPhiTower = etauCand->
phi() >> 1;
230 unsigned int jTauPhiTower = jtauCand->
phi() >> 1;
233 matching = (eTauEtaTower == jTauEtaTower) && (eTauPhiTower == jTauPhiTower);
241 const std::map<std::string, int>& isoFW_CTAU_jTAUCoreScale,
242 const float jTauCore,
245 unsigned int bit = 0;
247 if( jTauIso*1024 + jTauCore*isoFW_CTAU_jTAUCoreScale.at(
"Loose") <
248 eTauEt*isoFW_CTAU.at(
"Loose") ) bit = 1;
250 if( jTauIso*1024 + jTauCore*isoFW_CTAU_jTAUCoreScale.at(
"Medium") <
251 eTauEt*isoFW_CTAU.at(
"Medium") ) bit = 2;
253 if( jTauIso*1024 + jTauCore*isoFW_CTAU_jTAUCoreScale.at(
"Tight") <
254 eTauEt*isoFW_CTAU.at(
"Tight") ) bit = 3;
260 std::stringstream
ss;
261 ss <<
"cTauMultiplicity. name: " <<
m_name <<
'\n'
262 <<
"numberOfBits: " <<
m_nbits;
268 const std::vector<double>&
277 const std::vector<double>&
282 const std::vector<double>&
287 const std::vector<double>&
292 const std::vector<double>&
297 const std::vector<double>&
302 const std::vector<double>&
307 const std::vector<double>&
312 const std::vector<double>&