diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/analysis.f b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/analysis.f new file mode 100644 index 00000000..e34834a3 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/analysis.f @@ -0,0 +1,287 @@ +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_begin(nwgt,weights_info) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + integer nwgt + character*(*) weights_info(*) + + call set_error_estimation(1) + call HwU_inithist(nwgt,weights_info) + call HwU_book(1,'Z pT', 74, 0d0, 74d0) + + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_end(dummy) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + double precision dummy + call HwU_write_file + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_fill(p,istatus,ipdg,wgts,ibody) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + include 'nexternal.inc' + include 'cuts.inc' + integer istatus(nexternal) + integer iPDG(nexternal) + integer ibody + integer i + double precision p(0:4,nexternal) + double precision wgts(*) + double precision ppl(0:3),pplb(0:3),ppv(0:3),ptv,xmll,xbin + double precision getinvm + external getinvm + + double precision p_reco(0:4,nexternal) + integer iPDG_reco(nexternal) + + call recombine_momenta(rphreco, etaphreco, lepphreco, quarkphreco, + $ p, iPDG, p_reco, iPDG_reco) + + do i = nincoming+1, nexternal + if (iPDG_reco(i).eq.13) ppl(0:3)=p_reco(0:3,i) + if (iPDG_reco(i).eq.-13) pplb(0:3)=p_reco(0:3,i) + enddo + do i=0,3 + ppv(i)=ppl(i)+pplb(i) + enddo + + xmll=getinvm(ppv(0),ppv(1),ppv(2),ppv(3)) + ptv=sqrt(ppv(1)**2+ppv(2)**2) + + if (xmll.lt.12d0) then + write (*,*) "error: event outside bins", xmll + stop 1 + elseif (xmll.lt.20d0) then + if (ptv.lt.45d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.55d0) then + xbin = 0.5d0 + elseif (ptv.lt.65d0) then + xbin = 1.5d0 + elseif (ptv.lt.75d0) then + xbin = 2.5d0 + elseif (ptv.lt.85d0) then + xbin = 3.5d0 + elseif (ptv.lt.105d0) then + xbin = 4.5d0 + elseif (ptv.lt.150d0) then + xbin = 5.5d0 + elseif (ptv.lt.200d0) then + xbin = 6.5d0 + elseif (ptv.lt.900d0) then + xbin = 7.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + elseif (xmll.lt.30d0) then + if (ptv.lt.45d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.55d0) then + xbin = 8.5d0 + elseif (ptv.lt.65d0) then + xbin = 9.5d0 + elseif (ptv.lt.75d0) then + xbin = 10.5d0 + elseif (ptv.lt.85d0) then + xbin = 11.5d0 + elseif (ptv.lt.105d0) then + xbin = 12.5d0 + elseif (ptv.lt.150d0) then + xbin = 13.5d0 + elseif (ptv.lt.200d0) then + xbin = 14.5d0 + elseif (ptv.lt.900d0) then + xbin = 15.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + elseif (xmll.lt.46d0) then + if (ptv.lt.45d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.55d0) then + xbin = 16.5d0 + elseif (ptv.lt.65d0) then + xbin = 17.5d0 + elseif (ptv.lt.75d0) then + xbin = 18.5d0 + elseif (ptv.lt.85d0) then + xbin = 19.5d0 + elseif (ptv.lt.105d0) then + xbin = 20.5d0 + elseif (ptv.lt.150d0) then + xbin = 21.5d0 + elseif (ptv.lt.200d0) then + xbin = 22.5d0 + elseif (ptv.lt.900d0) then + xbin = 23.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + elseif (xmll.lt.66d0) then + if (ptv.lt.30d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.37d0) then + xbin = 24.5d0 + elseif (ptv.lt.45d0) then + xbin = 25.5d0 + elseif (ptv.lt.55d0) then + xbin = 26.5d0 + elseif (ptv.lt.65d0) then + xbin = 27.5d0 + elseif (ptv.lt.75d0) then + xbin = 28.5d0 + elseif (ptv.lt.85d0) then + xbin = 29.5d0 + elseif (ptv.lt.105d0) then + xbin = 30.5d0 + elseif (ptv.lt.150d0) then + xbin = 31.5d0 + elseif (ptv.lt.200d0) then + xbin = 32.5d0 + elseif (ptv.lt.900d0) then + xbin = 33.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + elseif (xmll.lt.116d0) then + if (ptv.lt.27.5d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.30d0) then + xbin = 34.5d0 + elseif (ptv.lt.33d0) then + xbin = 35.5d0 + elseif (ptv.lt.36d0) then + xbin = 36.5d0 + elseif (ptv.lt.39d0) then + xbin = 37.5d0 + elseif (ptv.lt.42d0) then + xbin = 38.5d0 + elseif (ptv.lt.45d0) then + xbin = 39.5d0 + elseif (ptv.lt.48d0) then + xbin = 40.5d0 + elseif (ptv.lt.51d0) then + xbin = 41.5d0 + elseif (ptv.lt.54d0) then + xbin = 42.5d0 + elseif (ptv.lt.57d0) then + xbin = 43.5d0 + elseif (ptv.lt.61d0) then + xbin = 44.5d0 + elseif (ptv.lt.65d0) then + xbin = 45.5d0 + elseif (ptv.lt.70d0) then + xbin = 46.5d0 + elseif (ptv.lt.75d0) then + xbin = 47.5d0 + elseif (ptv.lt.80d0) then + xbin = 48.5d0 + elseif (ptv.lt.85d0) then + xbin = 49.5d0 + elseif (ptv.lt.95d0) then + xbin = 50.5d0 + elseif (ptv.lt.105d0) then + xbin = 51.5d0 + elseif (ptv.lt.125d0) then + xbin = 52.5d0 + elseif (ptv.lt.150d0) then + xbin = 53.5d0 + elseif (ptv.lt.175d0) then + xbin = 54.5d0 + elseif (ptv.lt.200d0) then + xbin = 55.5d0 + elseif (ptv.lt.250d0) then + xbin = 56.5d0 + elseif (ptv.lt.300d0) then + xbin = 57.5d0 + elseif (ptv.lt.350d0) then + xbin = 58.5d0 + elseif (ptv.lt.400d0) then + xbin = 59.5d0 + elseif (ptv.lt.470d0) then + xbin = 60.5d0 + elseif (ptv.lt.550d0) then + xbin = 61.5d0 + elseif (ptv.lt.650d0) then + xbin = 62.5d0 + elseif (ptv.lt.900d0) then + xbin = 63.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + elseif (xmll.lt.150d0) then + if (ptv.lt.30d0) then + write (*,*) "error: event outside bins", ptv + stop 1 + elseif (ptv.lt.37d0) then + xbin = 64.5d0 + elseif (ptv.lt.45d0) then + xbin = 65.5d0 + elseif (ptv.lt.55d0) then + xbin = 66.5d0 + elseif (ptv.lt.65d0) then + xbin = 67.5d0 + elseif (ptv.lt.75d0) then + xbin = 68.5d0 + elseif (ptv.lt.85d0) then + xbin = 69.5d0 + elseif (ptv.lt.105d0) then + xbin = 70.5d0 + elseif (ptv.lt.150d0) then + xbin = 71.5d0 + elseif (ptv.lt.200d0) then + xbin = 72.5d0 + elseif (ptv.lt.900d0) then + xbin = 73.5d0 + else + write (*,*) "error: event outside bins", ptv + stop 1 + endif + else + write (*,*) "error: event outside bins", xmll + stop 1 + endif + + call HwU_fill(1,xbin,wgts) + + 999 return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + function getinvm(en,ptx,pty,pl) + implicit none + real*8 getinvm,en,ptx,pty,pl,tiny,tmp + parameter (tiny=1.d-5) +c + tmp=en**2-ptx**2-pty**2-pl**2 + if(tmp.gt.0.d0)then + tmp=sqrt(tmp) + elseif(tmp.gt.-tiny)then + tmp=0.d0 + else + write(*,*)'Attempt to compute a negative mass' + stop + endif + getinvm=tmp + return + end diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/change_scale_to_ht2.patch b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/change_scale_to_ht2.patch new file mode 100644 index 00000000..4877080e --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/change_scale_to_ht2.patch @@ -0,0 +1,48 @@ +--- CMSDY2D11/SubProcesses/setscales.f 2020-05-21 17:23:55.126143088 +0200 ++++ CMSDY2D11/SubProcesses/setscales.f.new 2020-05-21 17:27:26.262700419 +0200 +@@ -527,6 +527,17 @@ + integer i,j + character*80 temp_scale_id + common/ctemp_scale_id/temp_scale_id ++ integer iPDG_reco(nexternal) ++ double precision ppl(0:3), pplb(0:3), ppv(0:3), xmll ++ double precision p_reco(0:4,nexternal), p_in(0:4,nexternal) ++c les houches accord stuff to identify particles ++c ++ integer idup(nexternal,maxproc),mothup(2,nexternal,maxproc), ++ & icolup(2,nexternal,maxflow),niprocs ++ common /c_leshouche_inc/idup,mothup,icolup,niprocs ++c Masses of external particles ++ double precision pmass(nexternal) ++ common/to_mass/pmass + c + tmp=0 + if(ickkw.eq.-1)then +@@ -568,10 +579,23 @@ + cc dynamical_scale_choice = 10 cc + cc in the run_card (run_card.dat) cc + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +- write(*,*) "User-defined scale not set" +- stop 1 +- temp_scale_id='User-defined dynamical scale' ! use a meaningful string +- tmp = 0d0 ++ temp_scale_id='CMS_Z_13TEV' ! use a meaningful string ++ do i=1,nexternal ++ p_in(0:3,i) = pp(0:3,i) ++ p_in(4,i) = pmass(i) ++ enddo ++ call recombine_momenta(rphreco, etaphreco, lepphreco, quarkphreco, ++ $ p_in, idup(1,1), p_reco, iPDG_reco) ++ ++ do j = nincoming+1, nexternal ++ if (iPDG_reco(j).eq.13) ppl(0:3)=p_reco(0:3,j) ++ if (iPDG_reco(j).eq.-13) pplb(0:3)=p_reco(0:3,j) ++ enddo ++ do i=0,3 ++ ppv(i)=ppl(i)+pplb(i) ++ enddo ++ ++ tmp=dsqrt(max(0d0,(ppv(0)+ppv(3))*(ppv(0)-ppv(3)))) + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + cc USER-DEFINED SCALE: END OF USER CODE cc + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/launch.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/launch.txt new file mode 100644 index 00000000..63976c3a --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/launch.txt @@ -0,0 +1,29 @@ +launch @OUTPUT@ +fixed_order = ON +set gf @GF@ +set mh @MH@ +set mt @MT@ +set mw @MW@ +set mz @MZ@ +set wh @WH@ +set wt @WT@ +set ww @WW@ +set wz @WZ@ +set ebeam1 4000 +set ebeam2 4000 +set pdlabel lhapdf +set lhaid 324900 +set dynamical_scale_choice 10 +set reweight_scale True +set ptl = 20.0 +set etal = 2.4 +set ptj = 5.0 +set jetradius = 0.5 +set jetalgo = -1 +set mll_sf = 12.0 +#user_defined_cut set yz = 2.4 +#user_defined_cut set atlas_zpt_8tev_mdist = True +set req_acc_FO 0.0001 +set pineappl True +done +quit diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/metadata.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/metadata.txt new file mode 100644 index 00000000..d9ff782d --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/metadata.txt @@ -0,0 +1,13 @@ +arxiv=1512.02192 +description=ATLAS transverse momentum of the Z boson at 8 TeV +hepdata=10.17182/hepdata.71339.v1/t35, 10.17182/hepdata.71339.v1/t36, 10.17182/hepdata.71339.v1/t37, 10.17182/hepdata.71339.v1/t38, 10.17182/hepdata.71339.v1/t39, 10.17182/hepdata.71339.v1/t40 +nnpdf_id=ATLASZPT8TEVMDIST +x1_label=Mll +x1_label_tex=$M_{\ell\bar{\ell}}$ +x1_unit=GeV +x2_label=ptll +x2_label_tex=$p_{\mathrm{T},\ell\bar{\ell}}$ +x2_unit=GeV +y_label=dsig/dptll +y_label_tex=$\frac{\mathrm{d}\sigma}{\mathrm{d}p_{\mathrm{T},\ell\bar{\ell}}}$ +y_unit=pb/GeV diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/output.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/output.txt new file mode 100644 index 00000000..818698a6 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/output.txt @@ -0,0 +1,7 @@ +set complex_mass_scheme True +import model loop_qcd_qed_sm_Gmu +define p = p b b~ +define j = p +generate p p > mu+ mu- j QCD^2<=2 QED^2<=6 [QCD] +output @OUTPUT@ +quit diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/postrun.sh b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/postrun.sh new file mode 100755 index 00000000..581dca57 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_MLL/postrun.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +pineappl remap "${GRID}" "${GRID}".tmp '12,20,30,46,66,116,150;45,55,65,75,85,105,150,200,900|||30,37,45,55,65,75,85,105,150,200,900|27.5,30,33,36,39,42,45,48,51,54,57,61,65,70,75,80,85,95,105,125,150,175,200,250,300,350,400,470,550,650,900|30,37,45,55,65,75,85,105,150,200,900' --ignore_obs_norm 1 +mv "${GRID}".tmp "${GRID}" diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/analysis.f b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/analysis.f new file mode 100644 index 00000000..f31388be --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/analysis.f @@ -0,0 +1,137 @@ +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_begin(nwgt,weights_info) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + integer nwgt + character*(*) weights_info(*) + + call set_error_estimation(1) + call HwU_inithist(nwgt,weights_info) + call HwU_book(1,'Z pT', 80, 0d0, 80d0) + call HwU_book(2,'Z pT', 40,80d0,120d0) + + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_end(dummy) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + double precision dummy + call HwU_write_file + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + subroutine analysis_fill(p,istatus,ipdg,wgts,ibody) +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + implicit none + include 'nexternal.inc' + include 'cuts.inc' + integer istatus(nexternal) + integer iPDG(nexternal) + integer ibody + integer i + double precision p(0:4,nexternal) + double precision wgts(*) + double precision ppl(0:3),pplb(0:3),ppv(0:3),ptv,xyll,xbin + double precision getabsy + external getabsy + + double precision p_reco(0:4,nexternal) + integer iPDG_reco(nexternal) + + call recombine_momenta(rphreco, etaphreco, lepphreco, quarkphreco, + $ p, iPDG, p_reco, iPDG_reco) + + do i = nincoming+1, nexternal + if (iPDG_reco(i).eq.13) ppl(0:3)=p_reco(0:3,i) + if (iPDG_reco(i).eq.-13) pplb(0:3)=p_reco(0:3,i) + enddo + do i=0,3 + ppv(i)=ppl(i)+pplb(i) + enddo + + xyll=getabsy(ppv(0),ppv(3)) + ptv=sqrt(ppv(1)**2+ppv(2)**2) + + if (xyll.lt.2.4d0) then + xbin = 20d0 * real(int(6d0 * xyll/2.4d0)) + else + write (*,*) "error: event outside bins", ptv, xyll + stop 1 + endif + + if (ptv.lt.2d0) then + xbin = xbin + 0.5d0 + elseif (ptv.lt.4d0) then + xbin = xbin + 1.5d0 + elseif (ptv.lt.6d0) then + xbin = xbin + 2.5d0 + elseif (ptv.lt.8d0) then + xbin = xbin + 3.5d0 + elseif (ptv.lt.10d0) then + xbin = xbin + 4.5d0 + elseif (ptv.lt.13d0) then + xbin = xbin + 5.5d0 + elseif (ptv.lt.16d0) then + xbin = xbin + 6.5d0 + elseif (ptv.lt.20d0) then + xbin = xbin + 7.5d0 + elseif (ptv.lt.25d0) then + xbin = xbin + 8.5d0 + elseif (ptv.lt.30d0) then + xbin = xbin + 9.5d0 + elseif (ptv.lt.37d0) then + xbin = xbin + 10.5d0 + elseif (ptv.lt.45d0) then + xbin = xbin + 11.5d0 + elseif (ptv.lt.55d0) then + xbin = xbin + 12.5d0 + elseif (ptv.lt.65d0) then + xbin = xbin + 13.5d0 + elseif (ptv.lt.75d0) then + xbin = xbin + 14.5d0 + elseif (ptv.lt.85d0) then + xbin = xbin + 15.5d0 + elseif (ptv.lt.105d0) then + xbin = xbin + 16.5d0 + elseif (ptv.lt.150d0) then + xbin = xbin + 17.5d0 + elseif (ptv.lt.200d0) then + xbin = xbin + 18.5d0 + elseif (ptv.lt.900d0) then + xbin = xbin + 19.5d0 + else + write (*,*) "error: event outside bins", ptv, xyll + stop 1 + endif + + if (xbin.lt.80d0) then + call HwU_fill(1,xbin,wgts) + else + call HwU_fill(2,xbin,wgts) + endif + + 999 return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + function getabsy(en,pl) + implicit none + real*8 getabsy,en,pl,tmp +c + tmp=pl/en + if(abs(tmp).lt.1d0)then + tmp=abs(atanh(tmp)) + else + write(*,*)'Attempt to compute atanh(x) with x > 1' + stop + endif + getabsy=tmp + return + end diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/change_scale_to_ht2.patch b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/change_scale_to_ht2.patch new file mode 100644 index 00000000..4877080e --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/change_scale_to_ht2.patch @@ -0,0 +1,48 @@ +--- CMSDY2D11/SubProcesses/setscales.f 2020-05-21 17:23:55.126143088 +0200 ++++ CMSDY2D11/SubProcesses/setscales.f.new 2020-05-21 17:27:26.262700419 +0200 +@@ -527,6 +527,17 @@ + integer i,j + character*80 temp_scale_id + common/ctemp_scale_id/temp_scale_id ++ integer iPDG_reco(nexternal) ++ double precision ppl(0:3), pplb(0:3), ppv(0:3), xmll ++ double precision p_reco(0:4,nexternal), p_in(0:4,nexternal) ++c les houches accord stuff to identify particles ++c ++ integer idup(nexternal,maxproc),mothup(2,nexternal,maxproc), ++ & icolup(2,nexternal,maxflow),niprocs ++ common /c_leshouche_inc/idup,mothup,icolup,niprocs ++c Masses of external particles ++ double precision pmass(nexternal) ++ common/to_mass/pmass + c + tmp=0 + if(ickkw.eq.-1)then +@@ -568,10 +579,23 @@ + cc dynamical_scale_choice = 10 cc + cc in the run_card (run_card.dat) cc + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +- write(*,*) "User-defined scale not set" +- stop 1 +- temp_scale_id='User-defined dynamical scale' ! use a meaningful string +- tmp = 0d0 ++ temp_scale_id='CMS_Z_13TEV' ! use a meaningful string ++ do i=1,nexternal ++ p_in(0:3,i) = pp(0:3,i) ++ p_in(4,i) = pmass(i) ++ enddo ++ call recombine_momenta(rphreco, etaphreco, lepphreco, quarkphreco, ++ $ p_in, idup(1,1), p_reco, iPDG_reco) ++ ++ do j = nincoming+1, nexternal ++ if (iPDG_reco(j).eq.13) ppl(0:3)=p_reco(0:3,j) ++ if (iPDG_reco(j).eq.-13) pplb(0:3)=p_reco(0:3,j) ++ enddo ++ do i=0,3 ++ ppv(i)=ppl(i)+pplb(i) ++ enddo ++ ++ tmp=dsqrt(max(0d0,(ppv(0)+ppv(3))*(ppv(0)-ppv(3)))) + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + cc USER-DEFINED SCALE: END OF USER CODE cc + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/launch.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/launch.txt new file mode 100644 index 00000000..0763feb3 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/launch.txt @@ -0,0 +1,31 @@ +launch @OUTPUT@ +fixed_order = ON +set gf @GF@ +set mh @MH@ +set mt @MT@ +set mw @MW@ +set mz @MZ@ +set wh @WH@ +set wt @WT@ +set ww @WW@ +set wz @WZ@ +set ebeam1 4000 +set ebeam2 4000 +set pdlabel lhapdf +set lhaid 324900 +set dynamical_scale_choice 10 +set reweight_scale True +set ptl = 20.0 +set etal = 2.4 +set ptj = 5.0 +set jetradius = 0.5 +set jetalgo = -1 +set mll_sf = 66.0 +#user_defined_cut set mmllmax = 116.0 +#user_defined_cut set ptzmin = 0.0 +#user_defined_cut set ptzmax = 900.0 +#user_defined_cut set yz = 2.4 +set req_acc_FO 0.0001 +set pineappl True +done +quit diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/metadata.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/metadata.txt new file mode 100644 index 00000000..fa20f9a5 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/metadata.txt @@ -0,0 +1,13 @@ +arxiv=1512.02192 +description=ATLAS transverse momentum of the Z boson at 8 TeV +hepdata=10.17182/hepdata.71339.v1/t29, 10.17182/hepdata.71339.v1/t30, 10.17182/hepdata.71339.v1/t31, 10.17182/hepdata.71339.v1/t32, 10.17182/hepdata.71339.v1/t33, 10.17182/hepdata.71339.v1/t34 +nnpdf_id=ATLASZPT8TEVYDIST +x1_label=yll +x1_label_tex=$y_{\ell\bar{\ell}}$ +x1_unit= +x2_label=ptll +x2_label_tex=$p_{\mathrm{T},\ell\bar{\ell}}$ +x2_unit=GeV +y_label=dsig/dptll +y_label_tex=$\frac{\mathrm{d}\sigma}{\mathrm{d}p_{\mathrm{T},\ell\bar{\ell}}}$ +y_unit=pb/GeV diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/output.txt b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/output.txt new file mode 100644 index 00000000..818698a6 --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/output.txt @@ -0,0 +1,7 @@ +set complex_mass_scheme True +import model loop_qcd_qed_sm_Gmu +define p = p b b~ +define j = p +generate p p > mu+ mu- j QCD^2<=2 QED^2<=6 [QCD] +output @OUTPUT@ +quit diff --git a/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/postrun.sh b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/postrun.sh new file mode 100755 index 00000000..bd5243de --- /dev/null +++ b/nnpdf31_proc/ATLAS_ZPT_8TEV_YLL/postrun.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +pineappl remap "${GRID}" "${GRID}".tmp '0,0.4,0.8,1.2,1.6,2,2.4;0,2,4,6,8,10,13,16,20,25,30,37,45,55,65,75,85,105,150,200,900' --ignore_obs_norm 1 +mv "${GRID}".tmp "${GRID}" diff --git a/run_implement_user_defined_cuts.py b/run_implement_user_defined_cuts.py index cc490595..3c218ae6 100755 --- a/run_implement_user_defined_cuts.py +++ b/run_implement_user_defined_cuts.py @@ -8,6 +8,9 @@ real*8 zcoscs,zenl,zptxl,zptyl,zpzl,zenal,zptxal,zptyal,zpzal real*8 zpzll,zmll,zp1p,zp1m,zp2p,zp2m,zpt2ll integer zlep,zalep +''', + 'atlas_zpt_8tev_mdist': '''c variables for atlas_zpt_8tev_mdist cut + double precision ppl(0:3),pplb(0:3),ppv(0:3),ptv,xmll ''', 'atlas_dy3d_8tev': '''c variables for atlas_dy3d_8tev cut real*8 ppl(0:3),pplb(0:3) @@ -290,6 +293,64 @@ endif enddo +''', + 'atlas_zpt_8tev_mdist': '''c + if ({}) then + do i = nincoming+1, nexternal + if (iPDG_reco(i).eq.13) ppl(0:3)=p_reco(0:3,i) + if (iPDG_reco(i).eq.-13) pplb(0:3)=p_reco(0:3,i) + enddo + do i=0,3 + ppv(i)=ppl(i)+pplb(i) + enddo + + xmll=sqrt(ppv(0)**2-ppv(1)**2-ppv(2)**2-ppv(3)**2) + ptv=sqrt(ppv(1)**2+ppv(2)**2) + + if (ptv.gt.900d0) then + passcuts_user=.false. + return + endif + + if (xmll.lt.12d0) then + passcuts_user=.false. + return + elseif (xmll.lt.20d0) then + if (ptv.lt.45d0) then + passcuts_user=.false. + return + endif + elseif (xmll.lt.30d0) then + if (ptv.lt.45d0) then + passcuts_user=.false. + return + endif + elseif (xmll.lt.46d0) then + if (ptv.lt.45d0) then + passcuts_user=.false. + return + endif + elseif (xmll.lt.66d0) then + if (ptv.lt.30d0) then + passcuts_user=.false. + return + endif + elseif (xmll.lt.116d0) then + if (ptv.lt.27.5d0) then + passcuts_user=.false. + return + endif + elseif (xmll.lt.150d0) then + if (ptv.lt.30d0) then + passcuts_user=.false. + return + endif + else + passcuts_user=.false. + return + endif + endif + ''', 'yzmin': '''c cut on the rapidity of SFOS lepton pairs do i=1,nexternal-1