15 constexpr
float threshold_offset = 10.0;
25 if(!
info.isHLTDiTau()) {
26 ATH_MSG_WARNING(
"Chain \"" << trigger <<
"\" is not a di-tau trigger. Skipping...");
31 const bool l1_accept_flag =
passBits & TrigDefs::L1_isPassedAfterVeto;
32 const bool hlt_not_prescaled_flag = (
passBits & TrigDefs::EF_prescaled) == 0;
35 std::vector<const xAOD::TauJet*> offline_taus =
classifyTausAll(offline_taus_all,
info.getHLTTauThreshold() - threshold_offset);
44 return StatusCode::SUCCESS;
55 if(offline_tau_vec.size() != 2)
return;
70 bool hlt_fires =
m_trigDecTool->isPassed(trigger, TrigDefs::Physics);
71 bool tau0_match =
matchObjects(offline_tau_vec.at(0), online_tau_vec, 0.2);
72 bool tau1_match =
matchObjects(offline_tau_vec.at(1), online_tau_vec, 0.2);
74 dR = offline_tau_vec.at(0)->p4().DeltaR(offline_tau_vec.at(1)->p4());
75 dEta = std::abs(offline_tau_vec.at(0)->p4().Eta() - offline_tau_vec.at(1)->p4().Eta());
76 dPhi = offline_tau_vec.at(0)->p4().DeltaPhi(offline_tau_vec.at(1)->p4());
78 HLT_match = hlt_fires && tau0_match && tau1_match;
82 bool is_highPt = tau0_pT >
info.getHLTTauThresholds().at(0) + 20.0 && tau1_pT >
info.getHLTTauThresholds().at(1) + 20.0;
86 Total_match =
static_cast<bool>(HLT_match);
90 Total_match_highPt =
static_cast<bool>(HLT_match);
96 if(l1_accept_flag && online_tau_vec.size() == 2) {
100 HLT_match_highPt =
static_cast<bool>(HLT_match);
105 ATH_MSG_DEBUG(
"After fill DiTau HLT efficiencies: " << trigger);
115 if(tau_vec.size() != 2)
return;
135 if(tau_vec.at(1)->p4().Pt() > tau_vec.at(0)->p4().Pt()) {
140 TLorentzVector leadTau4V, subleadTau4V, diTau4V;
141 leadTau4V.SetPtEtaPhiM(0,0,0,0);
142 subleadTau4V.SetPtEtaPhiM(0,0,0,0);
144 leadTau4V = tau_vec.at(
index0)->p4();
145 subleadTau4V = tau_vec.at(
index1)->p4();
146 diTau4V = leadTau4V + subleadTau4V;
150 leadHLTEta = leadTau4V.Eta();
151 subleadHLTEta = subleadTau4V.Eta();
152 leadHLTPhi = leadTau4V.Phi();
153 subleadHLTPhi = subleadTau4V.Phi();
154 dR = leadTau4V.DeltaR(subleadTau4V);
155 dEta = std::abs(leadTau4V.Eta() - subleadTau4V.Eta());
156 dPhi = leadTau4V.DeltaPhi(subleadTau4V);
164 fill(
monGroup, leadHLTEt, subleadHLTEt, leadHLTEta, subleadHLTEta, leadHLTPhi, subleadHLTPhi,
dR,
dEta,
dPhi, dPt,
Pt,
Eta,
Phi, M);