63 const std::string finalStr{
"Final"};
116 int nJets = selected_jets.size();
129 if (selected_taus.size() >= 2)
131 vis1 = selected_taus.
at(0);
132 vis2 = selected_taus.
at(1);
134 else if (selected_taus.size() == 1 && selected_electrons.size() >= 1)
136 vis1 = selected_taus.
at(0);
137 vis2 = selected_electrons.
at(0);
139 else if (selected_taus.size() == 1 && selected_muons.size() >= 1)
141 vis1 = selected_taus.
at(0);
142 vis2 = selected_muons.
at(0);
144 else if (selected_electrons.size() >= 1 && selected_muons.size() >= 1)
146 vis1 = selected_electrons.
at(0);
147 vis2 = selected_muons.
at(0);
149 else if (selected_muons.size() >= 2)
151 vis1 = selected_muons.
at(0);
152 vis2 = selected_muons.
at(1);
154 else if (selected_electrons.size() >= 2)
156 vis1 = selected_electrons.
at(0);
157 vis2 = selected_electrons.
at(1);
161 ANA_MSG_WARNING(
"Not enough charged leptons in the event to run the MMC!");
164 if ((*
met)[finalStr] ==
nullptr) {
165 ANA_MSG_ERROR(
"The MET term " << finalStr <<
" doesn't exist! Aborting.");
166 return StatusCode::FAILURE;
172 PtEtaPhiMVector null4V(0.0, 0.0, 0.0, 0.0);
173 int fitStatus =
m_mmc->GetFitStatus(0);
208 double coll_mass = -1234.;
209 double coll_x0 = -1234.;
210 double coll_x1 = -1234.;
212 ANA_CHECK(
m_mmc->doCollinearApprox(vis1, vis2, (*
met)[finalStr],
true, coll_mass, coll_x0, coll_x1));
221 return StatusCode::SUCCESS;
Class providing the definition of the 4-vector interface.