|
|
|
@ -10,7 +10,7 @@ module nplotter_Z |
|
|
|
use qtResummation_params, only: transitionSwitch |
|
|
|
implicit none |
|
|
|
|
|
|
|
public :: setup, book |
|
|
|
public :: setup, book, bookTable |
|
|
|
private |
|
|
|
|
|
|
|
integer, save, allocatable :: histos(:) |
|
|
|
@ -23,12 +23,7 @@ module nplotter_Z |
|
|
|
implicit none |
|
|
|
include 'mpicommon.f' |
|
|
|
|
|
|
|
include 'first.f' |
|
|
|
if (first .and. rank == 0) then |
|
|
|
write(6,*) 'Using plotting routine nplotter_Z_new.f90' |
|
|
|
first=.false. |
|
|
|
endif |
|
|
|
allocate(histos(5)) |
|
|
|
allocate(histos(8)) |
|
|
|
|
|
|
|
if (rank == 0) then |
|
|
|
write (*,*) "RESUMMATION: Using transition with switch ", transitionSwitch |
|
|
|
@ -43,32 +38,31 @@ module nplotter_Z |
|
|
|
2.5119d0,3.1623d0,3.9811d0,5.0119d0,6.3096d0,7.9433d0, & |
|
|
|
10.0000d0,12.5893d0,15.8489d0,19.9526d0,25.1189d0, & |
|
|
|
31.6228d0,39.8107d0,50.1187d0,63.0957d0,79.4328d0,100.0000d0], & |
|
|
|
'pt34_fine_notrans') |
|
|
|
|
|
|
|
histos(2) = plot_setup_custom([0d0,2d0,4d0,6d0,8d0, & |
|
|
|
'pt34_fine') |
|
|
|
histos(2) = plot_setup_uniform(0.0_dp,60._dp,1.0_dp,'pt34') |
|
|
|
histos(3) = plot_setup_custom([0d0,2d0,4d0,6d0,8d0, & |
|
|
|
10d0,12d0,14d0,16d0,18d0,20d0,22.5d0,25d0,27.5d0,30d0, & |
|
|
|
33d0,36d0,39d0,42d0,45d0,48d0,51d0,54d0,57d0,61d0,65d0, & |
|
|
|
70d0,75d0,80d0,85d0,95d0,105d0,125d0,150d0,175d0,200d0, & |
|
|
|
250d0,300d0,350d0,400d0,470d0,550d0,650d0,900d0],'pt34_big_trans04') |
|
|
|
histos(3) = plot_setup_custom([0d0,0.004d0,0.008d0,0.012d0, & |
|
|
|
250d0,300d0,350d0,400d0,470d0,550d0,650d0,900d0],'pt34_atlas') |
|
|
|
histos(4) = plot_setup_custom([0d0,0.004d0,0.008d0,0.012d0, & |
|
|
|
0.016d0,0.02d0,0.024d0,0.029d0,0.034d0,0.039d0,0.045d0, & |
|
|
|
0.051d0,0.057d0,0.064d0,0.072d0,0.081d0,0.091d0,0.102d0, & |
|
|
|
0.114d0,0.128d0,0.145d0,0.165d0,0.189d0,0.219d0,0.258d0, & |
|
|
|
0.312d0,0.391d0,0.524d0,0.695d0,0.918d0,1.153d0,1.496d0, & |
|
|
|
1.947d0,2.522d0,3.277d0,5d0,10d0],'phistar_trans04') |
|
|
|
1.947d0,2.522d0,3.277d0,5d0,10d0],'phistar_atlas') |
|
|
|
|
|
|
|
histos(4) = plot_setup_custom([0d0,2d0,4d0,6d0,8d0, & |
|
|
|
10d0,12d0,14d0,16d0,18d0,20d0,22.5d0,25d0,27.5d0,30d0, & |
|
|
|
33d0,36d0,39d0,42d0,45d0,48d0,51d0,54d0,57d0,61d0,65d0, & |
|
|
|
70d0,75d0,80d0,85d0,95d0,105d0,125d0,150d0,175d0,200d0, & |
|
|
|
250d0,300d0,350d0,400d0,470d0,550d0,650d0,900d0],'pt34_big_trans06') |
|
|
|
histos(5) = plot_setup_custom([0d0,0.004d0,0.008d0,0.012d0, & |
|
|
|
0.016d0,0.02d0,0.024d0,0.029d0,0.034d0,0.039d0,0.045d0, & |
|
|
|
0.051d0,0.057d0,0.064d0,0.072d0,0.081d0,0.091d0,0.102d0, & |
|
|
|
0.114d0,0.128d0,0.145d0,0.165d0,0.189d0,0.219d0,0.258d0, & |
|
|
|
0.312d0,0.391d0,0.524d0,0.695d0,0.918d0,1.153d0,1.496d0, & |
|
|
|
1.947d0,2.522d0,3.277d0,5d0,10d0],'phistar_trans06') |
|
|
|
histos(5) = plot_setup_custom([0d0,1d0,2d0,3d0,4d0,5d0,6d0,7d0, & |
|
|
|
8d0,9d0,10d0,11d0,12d0,13d0,14d0,16d0,18d0,20d0,22d0,25d0, & |
|
|
|
28d0,32d0,37d0,43d0,52d0,65d0,85d0,120d0,160d0,190d0,220d0, & |
|
|
|
250d0,300d0,400d0,500d0,800d0,1650d0],'pt34_cms13') |
|
|
|
|
|
|
|
histos(6) = plot_setup_custom([0d0,2.5d0,5d0,7.5d0,10d0,12.5d0, & |
|
|
|
15d0,17.5d0,20d0,30d0,40d0,50d0,70d0,90d0,110d0,150d0,190d0, & |
|
|
|
250d0, 600d0], 'pt34_cms7') |
|
|
|
|
|
|
|
histos(7) = plot_setup_table(5,'table_for_observable_one') |
|
|
|
histos(8) = plot_setup_table(10,'another_table') |
|
|
|
|
|
|
|
end subroutine |
|
|
|
|
|
|
|
@ -89,7 +83,7 @@ module nplotter_Z |
|
|
|
real(dp), allocatable, intent(out) :: wts(:) |
|
|
|
|
|
|
|
real(dp) :: pttwo, twomass, delphi, etarap |
|
|
|
real(dp) :: pt34, trans04, trans06 |
|
|
|
real(dp) :: pt34, trans |
|
|
|
real(dp) :: phistar, phiacop, costhetastar, delphi34 |
|
|
|
|
|
|
|
pt34 = pttwo(3,4,p) |
|
|
|
@ -99,21 +93,15 @@ module nplotter_Z |
|
|
|
costhetastar = tanh((etarap(3,p)-etarap(4,p))/2._dp) |
|
|
|
phistar = tan(phiacop/2._dp)*sin(acos(costhetastar)) |
|
|
|
|
|
|
|
! the variable transitionSwitch is taken from the input file and can be used here |
|
|
|
! instead of the hardcoded 0.4 and 0.6 |
|
|
|
|
|
|
|
if (origKpart == kresummed) then |
|
|
|
if (abovecut .eqv. .false.) then |
|
|
|
trans04 = transition((pt34/twomass(3,4,p))**2d0,0.001d0, 0.4d0 ,0.001d0) |
|
|
|
trans06 = transition((pt34/twomass(3,4,p))**2d0,0.001d0, 0.6d0 ,0.001d0) |
|
|
|
trans = transition((pt34/twomass(3,4,p))**2d0,0.001d0,transitionSwitch,0.001d0) |
|
|
|
else |
|
|
|
! fo piece without transition |
|
|
|
trans04 = 1._dp |
|
|
|
trans06 = 1._dp |
|
|
|
trans = 1._dp |
|
|
|
endif |
|
|
|
else |
|
|
|
trans04 = 1._dp |
|
|
|
trans06 = 1._dp |
|
|
|
trans = 1._dp |
|
|
|
endif |
|
|
|
|
|
|
|
if (ieee_is_nan(pt34)) then |
|
|
|
@ -124,14 +112,37 @@ module nplotter_Z |
|
|
|
phistar = -1._dp |
|
|
|
endif |
|
|
|
|
|
|
|
! fill histograms: first without transition function |
|
|
|
! then with 0.4 transition function, then with 0.6 transition function |
|
|
|
! for estimating matching uncertainty |
|
|
|
|
|
|
|
ids = histos |
|
|
|
vals = [pt34, pt34,phistar, pt34,phistar] |
|
|
|
wts = [wt, wt*trans04,wt*trans06, wt*trans04,wt*trans06] |
|
|
|
vals = [pt34,pt34,pt34,phistar,pt34,pt34] |
|
|
|
wts = [wt*trans,wt*trans,wt*trans,wt*trans,wt*trans,wt*trans] |
|
|
|
|
|
|
|
end subroutine |
|
|
|
|
|
|
|
subroutine bookTable(p,wt,wts) |
|
|
|
use types |
|
|
|
use Superhisto, only: TableEntries |
|
|
|
implicit none |
|
|
|
include 'mxpart.f' |
|
|
|
real(dp), intent(in) :: p(mxpart,4), wt |
|
|
|
type(TableEntries), allocatable, intent(out) :: wts(:) |
|
|
|
|
|
|
|
integer :: i |
|
|
|
|
|
|
|
! calculate coefficients here based on p |
|
|
|
|
|
|
|
! two tables, allocate more for additional tables |
|
|
|
allocate(wts(2)) |
|
|
|
|
|
|
|
! allocate five entries for the first table |
|
|
|
allocate(wts(1)%entries(5)) |
|
|
|
|
|
|
|
! allocate ten entries for the first table |
|
|
|
allocate(wts(2)%entries(10)) |
|
|
|
|
|
|
|
! return array of five coefficients for first table |
|
|
|
wts(1)%entries = [1._dp, 0.5_dp, 2._dp, wt, 1._dp] |
|
|
|
! ten for second |
|
|
|
wts(2)%entries = [(wt, i=1,10)] |
|
|
|
end subroutine |
|
|
|
|
|
|
|
end module |
|
|
|
|