16 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;
39 std::vector<const xAOD::TauJet*> offline_taus =
classifyTausAll(offline_taus_with_id,
info.getHLTTauThreshold() - threshold_offset);
48 return StatusCode::SUCCESS;
59 if(offline_tau_vec.size() != 2)
return;
74 bool hlt_fires =
m_trigDecTool->isPassed(trigger, TrigDefs::Physics);
75 bool tau0_match =
matchObjects(offline_tau_vec.at(0), online_tau_vec, 0.2);
76 bool tau1_match =
matchObjects(offline_tau_vec.at(1), online_tau_vec, 0.2);
78 dR = offline_tau_vec.at(0)->p4().DeltaR(offline_tau_vec.at(1)->p4());
79 dEta = std::abs(offline_tau_vec.at(0)->p4().Eta() - offline_tau_vec.at(1)->p4().Eta());
80 dPhi = offline_tau_vec.at(0)->p4().DeltaPhi(offline_tau_vec.at(1)->p4());
82 HLT_match = hlt_fires && tau0_match && tau1_match;
86 bool is_highPt = tau0_pT >
info.getHLTTauThresholds().at(0) + 20.0 && tau1_pT >
info.getHLTTauThresholds().at(1) + 20.0;
90 Total_match =
static_cast<bool>(HLT_match);
94 Total_match_highPt =
static_cast<bool>(HLT_match);
100 if(l1_accept_flag && online_tau_vec.size() == 2) {
104 HLT_match_highPt =
static_cast<bool>(HLT_match);
109 ATH_MSG_DEBUG(
"After fill DiTau HLT efficiencies: " << trigger);
119 if(tau_vec.size() != 2)
return;
139 if(tau_vec.at(1)->p4().Pt() > tau_vec.at(0)->p4().Pt()) {
144 TLorentzVector leadTau4V, subleadTau4V, diTau4V;
145 leadTau4V.SetPtEtaPhiM(0,0,0,0);
146 subleadTau4V.SetPtEtaPhiM(0,0,0,0);
148 leadTau4V = tau_vec.at(
index0)->p4();
149 subleadTau4V = tau_vec.at(
index1)->p4();
150 diTau4V = leadTau4V + subleadTau4V;
154 leadHLTEta = leadTau4V.Eta();
155 subleadHLTEta = subleadTau4V.Eta();
156 leadHLTPhi = leadTau4V.Phi();
157 subleadHLTPhi = subleadTau4V.Phi();
158 dR = leadTau4V.DeltaR(subleadTau4V);
159 dEta = std::abs(leadTau4V.Eta() - subleadTau4V.Eta());
160 dPhi = leadTau4V.DeltaPhi(subleadTau4V);
168 fill(
monGroup, leadHLTEt, subleadHLTEt, leadHLTEta, subleadHLTEta, leadHLTPhi, subleadHLTPhi,
dR,
dEta,
dPhi, dPt,
Pt,
Eta,
Phi, M);