71 bool decision =
false;
74 if (electrons->size() >= 2) {
75 for (
size_t i = 0; i < electrons->size() - 1 && !decision; ++i) {
78 for (
size_t j = i + 1; j < electrons->size() && !decision; ++j) {
81 if (firstElectron->
charge() != secondElectron->
charge()){
82 float mll = (firstElectron->
p4() + secondElectron->
p4()).M();
83 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
92 if (!decision && muons->
size() >= 2) {
93 for (
size_t i = 0; i < muons->
size() - 1 && !decision; ++i) {
96 for (
size_t j = i + 1; j < muons->
size() && !decision; ++j) {
100 float mll = (firstMuon->
p4() + secondMuon->
p4()).M();
101 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
110 if (truthElectrons->
size() >= 2) {
111 for (
size_t i = 0; i < truthElectrons->
size() - 1 && !decision; ++i) {
114 for (
size_t j = i + 1; j < truthElectrons->
size() && !decision; ++j) {
117 if (firstElectron->
charge() != secondElectron->
charge()){
120 PtEtaPhiEVector el0, el1;
121 el0.SetCoordinates(acc_pt_dressed(*firstElectron),
122 acc_eta_dressed(*firstElectron),
123 acc_phi_dressed(*firstElectron),
124 acc_e_dressed(*firstElectron));
125 el1.SetCoordinates(acc_pt_dressed(*secondElectron),
126 acc_eta_dressed(*secondElectron),
127 acc_phi_dressed(*secondElectron),
128 acc_e_dressed(*secondElectron));
131 mll = (firstElectron->
p4() + secondElectron->
p4()).M();
133 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
142 if (!decision && truthMuons->
size() >= 2) {
143 for (
size_t i = 0; i < truthMuons->
size() - 1 && !decision; ++i) {
146 for (
size_t j = i + 1; j < truthMuons->
size() && !decision; ++j) {
152 PtEtaPhiEVector mu0, mu1;
153 mu0.SetCoordinates(acc_pt_dressed(*firstMuon),
154 acc_eta_dressed(*firstMuon),
155 acc_phi_dressed(*firstMuon),
156 acc_e_dressed(*firstMuon));
157 mu1.SetCoordinates(acc_pt_dressed(*secondMuon),
158 acc_eta_dressed(*secondMuon),
159 acc_phi_dressed(*secondMuon),
160 acc_e_dressed(*secondMuon));
163 mll = (firstMuon->
p4() + secondMuon->
p4()).M();
165 decision |= (mll < m_mll_upper && mll >
m_mll_lower);
174 if (
m_veto) decision = !decision;
178 return StatusCode::SUCCESS;
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.