diff --git a/MG5aMC/mg5amcnlo b/MG5aMC/mg5amcnlo index f9f9579188..0b8678984c 160000 --- a/MG5aMC/mg5amcnlo +++ b/MG5aMC/mg5amcnlo @@ -1 +1 @@ -Subproject commit f9f95791884846ce82b5bf7997726222d8ffbe5e +Subproject commit 0b8678984c21f49af9690594344ee53b6abc38e3 diff --git a/epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/MG5aMC_patches/PROD/patch.P1 b/epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/MG5aMC_patches/PROD/patch.P1 index fc56de664b..b90ef84b47 100644 --- a/epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/MG5aMC_patches/PROD/patch.P1 +++ b/epochX/cudacpp/CODEGEN/PLUGIN/CUDACPP_SA_OUTPUT/MG5aMC_patches/PROD/patch.P1 @@ -157,7 +157,7 @@ index 4fbb8e6ba..f9e2335de 100644 END diff --git b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f -index 71fbf2b25..0f1d199fc 100644 +index 1124a9164..27a6e4674 100644 --- b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f +++ a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f @@ -74,13 +74,77 @@ c common/to_colstats/ncols,ncolflow,ncolalt,ic @@ -239,7 +239,7 @@ index 71fbf2b25..0f1d199fc 100644 c c Read process number c -@@ -207,8 +271,33 @@ c call sample_result(xsec,xerr) +@@ -208,8 +272,33 @@ c call sample_result(xsec,xerr) c write(*,*) 'Final xsec: ',xsec rewind(lun) @@ -274,7 +274,7 @@ index 71fbf2b25..0f1d199fc 100644 end c $B$ get_user_params $B$ ! tag for MadWeight -@@ -386,7 +475,7 @@ c +@@ -387,7 +476,7 @@ c fopened=.false. tempname=filename fine=index(tempname,' ') diff --git a/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/driver.f b/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/driver.f +++ b/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/ee_mumu.mad/SubProcesses/reweight.f b/epochX/cudacpp/ee_mumu.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/ee_mumu.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/ee_mumu.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f +++ b/epochX/cudacpp/gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_tt.mad/SubProcesses/reweight.f b/epochX/cudacpp/gg_tt.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gg_tt.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gg_tt.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P1_gg_ttx/driver.f b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P1_gg_ttx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P1_gg_ttx/driver.f +++ b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P1_gg_ttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P2_gg_ttxg/driver.f b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P2_gg_ttxg/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P2_gg_ttxg/driver.f +++ b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/P2_gg_ttxg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/reweight.f b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gg_tt01g.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gg_tt01g.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gg_ttg.mad/SubProcesses/P1_gg_ttxg/driver.f b/epochX/cudacpp/gg_ttg.mad/SubProcesses/P1_gg_ttxg/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/gg_ttg.mad/SubProcesses/P1_gg_ttxg/driver.f +++ b/epochX/cudacpp/gg_ttg.mad/SubProcesses/P1_gg_ttxg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_ttg.mad/SubProcesses/reweight.f b/epochX/cudacpp/gg_ttg.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gg_ttg.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gg_ttg.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg/driver.f b/epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg/driver.f +++ b/epochX/cudacpp/gg_ttgg.mad/SubProcesses/P1_gg_ttxgg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_ttgg.mad/SubProcesses/reweight.f b/epochX/cudacpp/gg_ttgg.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gg_ttgg.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gg_ttgg.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gg_ttggg.mad/SubProcesses/P1_gg_ttxggg/driver.f b/epochX/cudacpp/gg_ttggg.mad/SubProcesses/P1_gg_ttxggg/driver.f index d650e211c2..f6ed180095 100644 --- a/epochX/cudacpp/gg_ttggg.mad/SubProcesses/P1_gg_ttxggg/driver.f +++ b/epochX/cudacpp/gg_ttggg.mad/SubProcesses/P1_gg_ttxggg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gg_ttggg.mad/SubProcesses/reweight.f b/epochX/cudacpp/gg_ttggg.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gg_ttggg.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gg_ttggg.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/driver.f b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/driver.f +++ b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gu_ttxu/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gux_ttxux/driver.f b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gux_ttxux/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gux_ttxux/driver.f +++ b/epochX/cudacpp/gq_ttq.mad/SubProcesses/P1_gux_ttxux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/gq_ttq.mad/SubProcesses/reweight.f b/epochX/cudacpp/gq_ttq.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/gq_ttq.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/gq_ttq.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/P1_gg_bbx/driver.f b/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/P1_gg_bbx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/P1_gg_bbx/driver.f +++ b/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/P1_gg_bbx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/reweight.f b/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/heft_gg_bb.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_gg_ttx/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_gg_ttx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_gg_ttx/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_gg_ttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_uux_ttx/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_uux_ttx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_uux_ttx/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P0_uux_ttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gg_ttxg/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gg_ttxg/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gg_ttxg/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gg_ttxg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gu_ttxu/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gu_ttxu/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gu_ttxu/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gu_ttxu/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gux_ttxux/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gux_ttxux/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gux_ttxux/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_gux_ttxux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_uux_ttxg/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_uux_ttxg/driver.f index 6c314a9576..c45686a3b2 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_uux_ttxg/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P1_uux_ttxg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxgg/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxgg/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxgg/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxgg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxuux/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxuux/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxuux/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gg_ttxuux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gu_ttxgu/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gu_ttxgu/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gu_ttxgu/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gu_ttxgu/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gux_ttxgux/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gux_ttxgux/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gux_ttxgux/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_gux_ttxgux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uc_ttxuc/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uc_ttxuc/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uc_ttxuc/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uc_ttxuc/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_ucx_ttxucx/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_ucx_ttxucx/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_ucx_ttxucx/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_ucx_ttxucx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uu_ttxuu/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uu_ttxuu/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uu_ttxuu/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uu_ttxuu/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxccx/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxccx/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxccx/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxccx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxgg/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxgg/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxgg/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxgg/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxuux/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxuux/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxuux/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uux_ttxuux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxcx_ttxuxcx/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxcx_ttxuxcx/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxcx_ttxuxcx/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxcx_ttxuxcx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxux_ttxuxux/driver.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxux_ttxuxux/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxux_ttxuxux/driver.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/P2_uxux_ttxuxux/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/reweight.f b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/pp_tt012j.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/pp_tt012j.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/P1_gg_ttxttx/driver.f b/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/P1_gg_ttxttx/driver.f index 7987605a6c..526cc3b0ae 100644 --- a/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/P1_gg_ttxttx/driver.f +++ b/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/P1_gg_ttxttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/reweight.f b/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/smeft_gg_tttt.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/P1_gg_t1t1x/driver.f b/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/P1_gg_t1t1x/driver.f index 3bd780b69d..19c169f025 100644 --- a/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/P1_gg_t1t1x/driver.f +++ b/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/P1_gg_t1t1x/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/reweight.f b/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/susy_gg_t1t1.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex diff --git a/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f b/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f index 0f1d199fc7..27a6e46742 100644 --- a/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f +++ b/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/P1_gg_ttx/driver.f @@ -158,6 +158,7 @@ Program DRIVER l2=index(buf,'_') if(l1.ne.0.and.l2.ne.0.and.l1.lt.l2-1) $ read(buf(l1+1:l2-1),*,err=11) ngroup + close (lun+1) 11 print *,'Process in group number ',ngroup c Read weight from results.dat if present, to allow event generation diff --git a/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/reweight.f b/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/reweight.f index a51f0e4c3d..c2ab99d3da 100644 --- a/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/reweight.f +++ b/epochX/cudacpp/susy_gg_tt.mad/SubProcesses/reweight.f @@ -633,6 +633,17 @@ logical function setclscales(p, keepq2bck, ivec) external is_octet setclscales=.true. + setclscales=.true. + +c Workaround for valgrind 'Conditional jump or move depends on uninitialised value(s)' +c See https://github.com/mg5amcnlo/mg5amcnlo/issues/111 +c FIXME: this is just a workaround to avoid uninitialised values and undefined behaviour... +c FIXME: a real bug is probably hidden in the code (goodjet must be correctly defined!)... +c FIXME: adding this workaround may change the behaviour of existing code... + do i=1,n_max_cl + goodjet(i)=.false. !!FIXME!! there is no reason to choose false instead of true here... + end do + if(ickkw.le.0.and.xqcut.le.0d0.and.q2fact(1).gt.0.and.q2fact(2).gt.0.and.scale.gt.0) then if(use_syst)then s_scale(ivec)=scale @@ -1227,7 +1238,7 @@ logical function setclscales(p, keepq2bck, ivec) do i=1,2 do j=1,2 c First adjust goodjet based on iqjets - if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then + if(goodjet(ida(i)).and.ipart(j,ida(i)).gt.2)then ! FIXME: goodjet is uninitialised #111 if(iqjets(ipart(j,ida(i))).eq.0) goodjet(ida(i))=.false. endif c Now reset ptclus if jet vertex