42 if(
m_trigInfo[trigger].areAnyL1TauIsolated()) {
43 ATH_MSG_FATAL(
"Cannot use isolated L1 tau items if running with SelectL1ByETOnly = True: " << trigger);
44 return StatusCode::FAILURE;
51 return StatusCode::SUCCESS;
56 std::vector<const xAOD::TauJet*> tau_vec;
59 ATH_MSG_DEBUG(
"Tau container name is: " << tau_container_name);
61 for(
auto& featLinkInfo :
vec) {
69 if(include_0P && nTracks == 0) tau_vec.push_back(feat);
70 else tau_vec.push_back(feat);
86 std::vector<const xAOD::TauJet*> tau_vec;
99 if(std::abs(tau->eta()) > 1.37 && std::abs(tau->eta()) < 1.52)
continue;
106 if(!passThinningAcc.
withDefault(*tau,
true))
continue;
111 if(nTracks == 1 || nTracks == 3) tau_vec.push_back(tau);
126 std::vector<const xAOD::eFexTauRoI*> roi_vec;
129 if(!
rois.isValid()) {
141 if(!thresholdPatterns.isValid()) {
142 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_eTauRoi container");
158 std::vector<const xAOD::jFexTauRoI*> roi_vec;
161 if(!
rois.isValid()) {
173 if(!thresholdPatterns.isValid()) {
174 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_jTauRoi container");
190 std::vector<std::pair<const xAOD::eFexTauRoI*, const xAOD::jFexTauRoI*>> roi_vec;
193 if(!
rois.isValid()) {
198 if(!jTau_roi_link.isValid()) {
199 ATH_MSG_WARNING(
"Failed to create jTauLink accessor for the L1_cTauRoi container");
204 for(
size_t i = 0;
i <
rois->size();
i++) {
206 const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(
i).isValid() ? *jTau_roi_link(
i) :
nullptr;
213 if(!thresholdPatterns.isValid()) {
214 ATH_MSG_WARNING(
"Failed to create thresholdPatterns property accessor for the L1_cTauRoi container");
218 for(
size_t i = 0;
i <
rois->size();
i++) {
220 const xAOD::jFexTauRoI* jTau_roi = jTau_roi_link(
i).isValid() ? *jTau_roi_link(
i) :
nullptr;
234 if(
info.getHLTTauType() ==
"tracktwoMVA" ||
info.getHLTTauType() ==
"tracktwoMVABDT")
return m_hltTauJetKey;
239 ATH_MSG_ERROR(
"Unknown HLT TauJet container for chain: \"" << trigger <<
"\", of type \"" <<
info.getHLTTauType() <<
"\". Returning the default \"" <<
m_hltTauJetKey.key() <<
"\"");
251 if(
m_trigDecTool->ExperimentalAndExpertMethods().isHLTTruncated()){
253 return StatusCode::SUCCESS;
263 return StatusCode::SUCCESS;
268 return StatusCode::SUCCESS;
274 std::vector<const xAOD::TauJet*> tau_vec;
281 else if(tau_id == TauID::GNTau) {
283 if(!tauid_medium(*tau))
continue;
286 tau_vec.push_back(tau);
295 std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp;
301 if(nTracks == 0) tau_vec_0p.push_back(tau);
302 else if(nTracks == 1) tau_vec_1p.push_back(tau);
303 else tau_vec_mp.push_back(tau);
306 return {tau_vec_0p, tau_vec_1p, tau_vec_mp};
312 std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p;
318 if(nTracks == 1) tau_vec_1p.push_back(tau);
319 else if(nTracks == 3) tau_vec_3p.push_back(tau);
322 return {tau_vec_1p, tau_vec_3p};