25 double maxProbChi2 = 0.;
26 for (
unsigned int s = 0;
s < sols.size();
s++) {
27 maxProbChi2 =
std::max(maxProbChi2, sols[
s].getProbChi2());
31 std::vector<unsigned int>
indices;
33 for (
unsigned int s = 0;
s < sols.size();
s++) {
34 if (fabs(sols[
s].getProbChi2() - maxProbChi2) < 0.0001)
40 double prev_W1b = 999.;
41 double prev_W2b = 999.;
42 if (maxProbChi2 > 0.) {
46 for (
unsigned int i = 0;
i !=
indices.size();
i++) {
48 double DPhi_W1b1 = fabs(sols[
indices[
i]].getFitHadW_plus().
phi() - sols[
indices[
i]].getFitHadbbar().
phi());
50 double DPhi_W2b1 = fabs(sols[
indices[
i]].getFitHadW_minus().
phi() - sols[
indices[
i]].getFitHadbbar().
phi());
52 if (DPhi_W1b0 > 3.1415)
53 DPhi_W1b0 = 2. * 3.1415 - DPhi_W1b0;
54 if (DPhi_W1b1 > 3.1415)
55 DPhi_W1b1 = 2. * 3.1415 - DPhi_W1b1;
56 if (DPhi_W2b0 > 3.1415)
57 DPhi_W2b0 = 2. * 3.1415 - DPhi_W2b0;
58 if (DPhi_W2b1 > 3.1415)
59 DPhi_W2b1 = 2. * 3.1415 - DPhi_W2b1;
63 if (DPhi_W1b0 < DPhi_W2b0 && DPhi_W1b1 < DPhi_W2b1) {
64 if (DPhi_W1b0 < prev_W1b && DPhi_W1b1 < prev_W2b) {
68 if (DPhi_W1b0 > DPhi_W2b0 && DPhi_W1b1 > DPhi_W2b1) {
69 if (DPhi_W2b0 < prev_W1b && DPhi_W2b1 < prev_W2b) {
73 if ((DPhi_W1b0 < DPhi_W2b0 && DPhi_W1b1 > DPhi_W2b1) || (DPhi_W1b0 > DPhi_W2b0 && DPhi_W1b1 < DPhi_W2b1)) {
74 if ((DPhi_W1b0 + DPhi_W1b1) < (DPhi_W2b0 + DPhi_W2b1)) {
75 if (DPhi_W1b0 < prev_W1b && DPhi_W1b1 < prev_W2b) {
79 if (DPhi_W2b0 < prev_W1b && DPhi_W2b1 < prev_W2b) {