15 constexpr
float threshold_offset = 10.0;
24 if(!
info.isHLTDiTau()) {
25 ATH_MSG_WARNING(
"Chain \"" << trigger <<
"\" is not a di-tau trigger. Skipping...");
30 const bool l1_accept_flag =
passBits & TrigDefs::L1_isPassedAfterVeto;
31 const bool hlt_not_prescaled_flag = (
passBits & TrigDefs::EF_prescaled) == 0;
38 std::vector<const xAOD::TauJet*> offline_taus =
classifyTausAll(offline_taus_with_id,
info.getHLTTauThreshold() - threshold_offset);
47 return StatusCode::SUCCESS;
58 if(offline_tau_vec.size() != 2)
return;
73 bool hlt_fires =
m_trigDecTool->isPassed(trigger, TrigDefs::Physics);
74 bool tau0_match =
matchObjects(offline_tau_vec.at(0), online_tau_vec, 0.2);
75 bool tau1_match =
matchObjects(offline_tau_vec.at(1), online_tau_vec, 0.2);
77 dR = offline_tau_vec.at(0)->p4().DeltaR(offline_tau_vec.at(1)->p4());
78 dEta = std::abs(offline_tau_vec.at(0)->p4().Eta() - offline_tau_vec.at(1)->p4().Eta());
79 dPhi = offline_tau_vec.at(0)->p4().DeltaPhi(offline_tau_vec.at(1)->p4());
81 HLT_match = hlt_fires && tau0_match && tau1_match;
85 bool is_highPt = tau0_pT >
info.getHLTTauThresholds().at(0) + 20.0 && tau1_pT >
info.getHLTTauThresholds().at(1) + 20.0;
89 Total_match =
static_cast<bool>(HLT_match);
93 Total_match_highPt =
static_cast<bool>(HLT_match);
99 if(l1_accept_flag && online_tau_vec.size() == 2) {
103 HLT_match_highPt =
static_cast<bool>(HLT_match);
108 ATH_MSG_DEBUG(
"After fill DiTau HLT efficiencies: " << trigger);
118 if(tau_vec.size() != 2)
return;
138 if(tau_vec.at(1)->p4().Pt() > tau_vec.at(0)->p4().Pt()) {
143 TLorentzVector leadTau4V, subleadTau4V, diTau4V;
144 leadTau4V.SetPtEtaPhiM(0,0,0,0);
145 subleadTau4V.SetPtEtaPhiM(0,0,0,0);
147 leadTau4V = tau_vec.at(
index0)->p4();
148 subleadTau4V = tau_vec.at(
index1)->p4();
149 diTau4V = leadTau4V + subleadTau4V;
153 leadHLTEta = leadTau4V.Eta();
154 subleadHLTEta = subleadTau4V.Eta();
155 leadHLTPhi = leadTau4V.Phi();
156 subleadHLTPhi = subleadTau4V.Phi();
157 dR = leadTau4V.DeltaR(subleadTau4V);
158 dEta = std::abs(leadTau4V.Eta() - subleadTau4V.Eta());
159 dPhi = leadTau4V.DeltaPhi(subleadTau4V);
167 fill(
monGroup, leadHLTEt, subleadHLTEt, leadHLTEta, subleadHLTEta, leadHLTPhi, subleadHLTPhi,
dR,
dEta,
dPhi, dPt,
Pt,
Eta,
Phi, M);