Index: trunk/HiggsBounds_KW/S95tables.f90 =================================================================== --- trunk/HiggsBounds_KW/S95tables.f90 (revision 485) +++ trunk/HiggsBounds_KW/S95tables.f90 (revision 486) @@ -1,4385 +1,4384 @@ ! This file is part of HiggsBounds ! -KW !****************************************************************** module S95tables !****************************************************************** use S95tables_type1 use S95tables_type2 use usefulbits, only: Hneut,Hplus implicit none private public :: & & S95_t1,S95_t2, & & setup_S95tables,deallocate_S95tables, & & calcfact,outputproc, & & check_against_bound, & & convolve_chisq_with_gaussian, & & S95_t1_or_S95_t2_idfromelementnumber, & & f_from_t2,f_from_t3,f_from_slices_t2, & & WhichColliderString,get_collider_element_number, & & inrange, deallocate_Exptranges integer :: ntable1,ntable2 !----------------------------------------------------------------------------------- ! delta_M*_* determine how close in mass particles should be before their masses are combined ! nb. delta*_* is only used for tables of type 1 at the moment ! for some analyses, S95_t1(x)%deltax has already been set in S95tables_type1.f90 ! for analyses where S95_t1(x)%deltax is *not* has already set: ! we set ! LEP neutral Higgs tables to have deltax=delta_Mh_LEP ! Tevatron neutral Higgs tables to have deltax=delta_Mh_TEV ! LHC neutral Higgs tables to have deltax=delta_Mh_LHC ! LEP charged Higgs tables to have deltax=delta_Mhplus_LEP ! Tevatron charged Higgs tables to have deltax=delta_Mhplus_TEV ! LHC charged Higgs tables to have deltax=delta_Mhplus_LHC ! other LEP tables to have deltax=delta_M_LEP_default ! other Tevatron tables to have deltax=delta_M_TEV_default ! other LHC tables to have deltax=delta_M_LHC_default ! setting delta_M*_LHC and/or delta_M*_TEV and/or delta_M*_LEP to zero turns this feature off ! DO NOT CHANGE THESE VALUES BEFORE READING THE MANUAL ! even when it is appropriate to add the cross sections, we would recommend using ! delta_Mh_LEP<=2.0D0, delta_Mh_TEV<=10.0, delta_Mh_LHC<=10.0 double precision, parameter :: delta_Mh_LEP=0.0D0 double precision, parameter :: delta_Mh_TEV=10.0D0 double precision, parameter :: delta_Mh_LHC=10.0D0 double precision, parameter :: delta_Mhplus_LEP=0.0D0 double precision, parameter :: delta_Mhplus_TEV=0.0D0 double precision, parameter :: delta_Mhplus_LHC=0.0D0 double precision, parameter :: delta_M_LEP_default=0.0D0 !where delta_M_LEP/TEV/LHC is not specified double precision, parameter :: delta_M_TEV_default=0.0D0 !these values will be used double precision, parameter :: delta_M_LHC_default=0.0D0 ! !double precision, parameter :: delta_Mh_LEP=15.0D0 !crazy values - for debugging only !double precision, parameter :: delta_Mh_TEV=15.0D0 !crazy(ish) values - for debugging only !double precision, parameter :: delta_Mh_LHC=15.0D0 !crazy(ish) values - for debugging only !----------------------------------------------------------------------------------- ! Use the SM expected channel contributions to weight the channels in the likeness test logical :: use_weight = .True. ! eps determines how strict the Standard Model test is double precision, parameter :: eps=2.0D-2 !double precision, parameter :: eps=1.0D3 !crazy value - for debugging only !----------------------------------------------------------------------------------- !table type 1----------------------------- type(table1),allocatable :: S95_t1(:) !------------------------------------------ !table type 2------------------------------ type(table2),allocatable :: S95_t2(:) !------------------------------------------ character(LEN=4),parameter :: colliders(4) = (/'LEP ','TEV ','LHC7','LHC8'/) !------------------------------------------- double precision, allocatable :: Exptrange_Mhmin_forSMdecays(:), Exptrange_Mhmax_forSMdecays(:) double precision, allocatable :: Exptrange_Mhmin_forSMXS(:), Exptrange_Mhmax_forSMXS(:) contains !********************************************************** subroutine setup_S95tables ! Allocates and calls subroutines to fill S95_t1, S95_t2 ! (which store the experimental data) ! Sets delta_M_TEV,delta_M_LEP,delta_M_LHC which govern how close Higgs ! need to be in mass before HiggsBounds combines their cross sections !********************************************************** use usefulbits, only : debug,np,not_a_particle use theory_BRfunctions, only : BRSMt1Mhmax,BRSMt1Mhmin use theory_XS_SM_functions, only : tevXS_SM_functions_xmin, tevXS_SM_functions_xmax, & & lhc7XS_SM_functions_xmin,lhc7XS_SM_functions_xmax, & & lhc8XS_SM_functions_xmin,lhc8XS_SM_functions_xmax implicit none !-----------------------------------internal integer :: i,c double precision, allocatable :: max_expt_delta_Mh(:) double precision, allocatable :: Expttables_Mhmin_forSMXS(:),Expttables_Mhmax_forSMXS(:) double precision, allocatable :: Expttables_Mhmin_forSMdecays(:),Expttables_Mhmax_forSMdecays(:) double precision, allocatable :: delta_x_default(:,:) ! these numbers have to be changed appropriately every time a table is added ! or taken away: ntable1=141 ntable2=20 ! table type 2 involves 2 variables allocate(S95_t1(ntable1)) allocate(S95_t2(ntable2)) call initializetables_type1_blank(S95_t1) call initializetables_type2_blank(S95_t2) call initializetables1(S95_t1) call initializetables2(S95_t2) allocate( Expttables_Mhmin_forSMXS( size(colliders,dim=1) ) ) allocate( Expttables_Mhmax_forSMXS( size(colliders,dim=1) ) ) allocate( Exptrange_Mhmin_forSMXS( size(colliders,dim=1) ) ) allocate( Exptrange_Mhmax_forSMXS( size(colliders,dim=1) ) ) allocate( Expttables_Mhmin_forSMdecays( size(colliders,dim=1) ) ) allocate( Expttables_Mhmax_forSMdecays( size(colliders,dim=1) ) ) allocate( Exptrange_Mhmin_forSMdecays( size(colliders,dim=1) ) ) allocate( Exptrange_Mhmax_forSMdecays( size(colliders,dim=1) ) ) allocate( max_expt_delta_Mh( size(colliders,dim=1) ) ) ! will pick up on any typos in S95_t1%expt do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) if(WhichColliderElement(S95_t1(i)%expt, S95_t1(i)%energy).eq.0)then write(*,*)'~'//trim(adjustl(S95_t1(i)%expt))//'~ is not a valid experiment name' stop 'error in setup_S95tables (a)' endif enddo ! will pick up on any typos in S95_t2%expt do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if(WhichColliderElement(S95_t2(i)%expt, S95_t2(i)%energy).eq.0)then write(*,*)'~'//trim(adjustl(S95_t2(i)%expt))//'~ is not a valid experiment name' stop 'error in setup_S95tables (b)' endif enddo ! checks that none of the id's are repeated in S95_t1 do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) if( count(S95_t1%id.eq.S95_t1(i)%id) & +count(S95_t2%id.eq.S95_t1(i)%id).ne.1)then write(*,*)'the id',S95_t1(i)%id,'is repeated' stop 'error in setup_S95tables (c1)' endif enddo ! checks that none of the id's are repeated in S95_t2 do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if( count(S95_t1%id.eq.S95_t2(i)%id)& +count(S95_t2%id.eq.S95_t2(i)%id).ne.1)then write(*,*)'the id',S95_t2(i)%id,'is repeated' stop 'error in setup_S95tables (c2)' endif enddo !check to make sure that S95_t1(i)%particle_x are all particles do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) if(S95_t1(i)%particle_x.eq.not_a_particle)then write(*,*)S95_t1(i)%id,'particle_x=not_a_particle.' stop 'error in setup_S95tables (d1)' endif enddo !check to make sure that S95_t2(i)%particle_x2 are all particles do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if(S95_t2(i)%particle_x2.eq.not_a_particle)then write(*,*)S95_t2(i)%id,'particle_x2=not_a_particle.' stop 'error in setup_S95tables (d2)' endif enddo ! looks for the min and max values of Mh (neutral Higgs) in each type of tables ! will be used in input.f90 to work out which SM para need to be calculated ! initial (impossible) values Expttables_Mhmin_forSMXS=1.0D6 Expttables_Mhmax_forSMXS=0.0D0 do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) if(S95_t1(i)%particle_x.eq.Hneut)then do c=1,ubound(colliders,dim=1) if(WhichColliderElement(S95_t1(i)%expt, S95_t1(i)%energy).eq.c)then if(S95_t1(i)%xmax.gt.Expttables_Mhmax_forSMXS(c))Expttables_Mhmax_forSMXS(c)=S95_t1(i)%xmax if(S95_t1(i)%xmin.lt.Expttables_Mhmin_forSMXS(c))Expttables_Mhmin_forSMXS(c)=S95_t1(i)%xmin endif enddo endif enddo do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if(S95_t2(i)%particle_x2.eq.Hneut)then do c=1,ubound(colliders,dim=1) if(WhichColliderElement(S95_t2(i)%expt, S95_t2(i)%energy).eq.c)then if(S95_t2(i)%xmax2.gt.Expttables_Mhmax_forSMdecays(c))Expttables_Mhmax_forSMdecays(c)=S95_t2(i)%xmax2 if(S95_t2(i)%xmin2.lt.Expttables_Mhmin_forSMdecays(c))Expttables_Mhmin_forSMdecays(c)=S95_t2(i)%xmin2 endif enddo endif enddo Expttables_Mhmin_forSMdecays=Expttables_Mhmin_forSMXS Expttables_Mhmax_forSMdecays=Expttables_Mhmax_forSMXS do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if(S95_t2(i)%particle_x1.eq.Hneut)then do c=1,ubound(colliders,dim=1) if(WhichColliderElement(S95_t2(i)%expt, S95_t2(i)%energy).eq.c)then if(S95_t2(i)%xmax1.gt.Expttables_Mhmax_forSMdecays(c))Expttables_Mhmax_forSMdecays(c)=S95_t2(i)%xmax1 if(S95_t2(i)%xmin1.lt.Expttables_Mhmin_forSMdecays(c))Expttables_Mhmin_forSMdecays(c)=S95_t2(i)%xmin1 ! Needs_M2_gt_2M1 is true only for processes involving hj->hihi. ! Therefore, SM production cross sections will not be needed for hi. if(.not.S95_t2(i)%needs_M2_gt_2M1)then if(S95_t2(i)%xmax1.gt.Expttables_Mhmax_forSMXS(c))Expttables_Mhmax_forSMXS(c)=S95_t2(i)%xmax1 if(S95_t2(i)%xmin1.lt.Expttables_Mhmin_forSMXS(c))Expttables_Mhmin_forSMXS(c)=S95_t2(i)%xmin1 else if(S95_t2(i)%xmax2.gt.Expttables_Mhmax_forSMXS(c))Expttables_Mhmax_forSMXS(c)=S95_t2(i)%xmax2 if(S95_t2(i)%xmin2.lt.Expttables_Mhmin_forSMXS(c))Expttables_Mhmin_forSMXS(c)=S95_t2(i)%xmin2 endif endif enddo endif enddo ! now we set delta_x if(delta_M_LEP_default.gt.2.1d0) write(*,*)'WARNING: delta_M_LEP_default.gt.2.1d0' if(delta_M_TEV_default.gt.10.1d0)write(*,*)'WARNING: delta_M_TEV_default.gt.10.1d0' if(delta_M_LHC_default.gt.10.1d0)write(*,*)'WARNING: delta_M_LHC_default.gt.10.1d0' if(delta_Mh_LEP .gt.2.1d0) write(*,*)'WARNING: delta_Mh_LEP.gt.2.1d0' if(delta_Mh_TEV .gt.10.1d0)write(*,*)'WARNING: delta_Mh_TEV.gt.10.1d0' if(delta_Mh_LHC .gt.10.1d0)write(*,*)'WARNING: delta_Mh_LHC.gt.10.1d0' if(delta_Mhplus_LEP .gt.2.1d0) write(*,*)'WARNING: delta_Mhplus_LEP.gt.2.1d0' if(delta_Mhplus_TEV .gt.10.1d0)write(*,*)'WARNING: delta_Mhplus_TEV.gt.10.1d0' if(delta_Mhplus_LHC .gt.10.1d0)write(*,*)'WARNING: delta_Mhplus_LHC.gt.10.1d0' allocate( delta_x_default(size(np,dim=1),size(colliders,dim=1)) ) ! fill delta_x_default do c=1,ubound(colliders,dim=1) if(c.eq.get_collider_element_number('LEP'))then ! for some reason, gfortran didn't like having a case statement here delta_x_default(:,c) =delta_M_LEP_default delta_x_default(Hneut,c)=delta_Mh_LEP delta_x_default(Hplus,c)=delta_Mhplus_LEP elseif(c.eq.get_collider_element_number('TEV'))then delta_x_default(:,c) =delta_M_TEV_default delta_x_default(Hneut,c)=delta_Mh_TEV delta_x_default(Hplus,c)=delta_Mhplus_TEV elseif(c.eq.get_collider_element_number('LHC7'))then delta_x_default(:,c) =delta_M_LHC_default delta_x_default(Hneut,c)=delta_Mh_LHC delta_x_default(Hplus,c)=delta_Mhplus_LHC elseif(c.eq.get_collider_element_number('LHC8'))then delta_x_default(:,c) =delta_M_LHC_default delta_x_default(Hneut,c)=delta_Mh_LHC delta_x_default(Hplus,c)=delta_Mhplus_LHC else stop'error in subroutine setup_S95tables' endif enddo do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) if(S95_t1(i)%deltax.lt.-0.5D0)then !i.e. deltax has not been set yet S95_t1(i)%deltax = delta_x_default(S95_t1(i)%particle_x,WhichColliderElement(S95_t1(i)%expt, S95_t1(i)%energy)) endif enddo do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) if(S95_t2(i)%deltax.lt.-0.5D0)then !i.e. deltax has not been set yet S95_t2(i)%deltax = delta_x_default(S95_t2(i)%particle_x2,WhichColliderElement(S95_t2(i)%expt, S95_t2(i)%energy)) endif enddo ! finds the maximum delta_Mh for the each set of tables ! will be used in theo_SM.f90 to work out which SM para need to be calculated max_expt_delta_Mh= -1.0D0 do i=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) do c=1,ubound(colliders,dim=1) if(WhichColliderElement(S95_t1(i)%expt, S95_t1(i)%energy).eq.c)then if( S95_t1(i)%particle_x.eq.Hneut)then if(S95_t1(i)%deltax .gt.max_expt_delta_Mh(c))then max_expt_delta_Mh(c)=S95_t1(i)%deltax endif endif endif enddo enddo do i=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) do c=1,ubound(colliders,dim=1) if(WhichColliderElement(S95_t2(i)%expt, S95_t2(i)%energy).eq.c)then if( S95_t2(i)%particle_x2.eq.Hneut)then !note, this means only cross sections for different particle_x2 will be combined if(S95_t2(i)%deltax .gt.max_expt_delta_Mh(c))then max_expt_delta_Mh(c)=S95_t2(i)%deltax endif endif endif enddo enddo if(debug)write(*,*)'max_expt_delta_Mh',max_expt_delta_Mh Exptrange_Mhmin_forSMXS = max(Expttables_Mhmin_forSMXS - max_expt_delta_Mh,0.0D0) Exptrange_Mhmax_forSMXS = Expttables_Mhmax_forSMXS + max_expt_delta_Mh Exptrange_Mhmin_forSMdecays = max(Expttables_Mhmin_forSMdecays - max_expt_delta_Mh,0.0D0) Exptrange_Mhmax_forSMdecays = Expttables_Mhmax_forSMdecays + max_expt_delta_Mh !we need tevXS_SM_functions to have a big enough range to cover the tables if(Exptrange_Mhmax_forSMXS(get_collider_element_number('TEV')).gt.tevXS_SM_functions_xmax)then stop'need to extend upper range of tevXS_SM_functions or reduce delta_M_TEV' endif if(Exptrange_Mhmin_forSMXS(get_collider_element_number('TEV')).lt.tevXS_SM_functions_xmin)then write(*,*)Exptrange_Mhmin_forSMXS(get_collider_element_number('TEV')),tevXS_SM_functions_xmin stop'need to extend lower range of tevXS_SM_functions' endif !we need lhc7XS_SM_functions to have a big enough range to cover the tables if(Exptrange_Mhmax_forSMXS(get_collider_element_number('LHC7')).gt.lhc7XS_SM_functions_xmax)then stop'need to extend upper range of lhc7XS_SM_functions or reduce delta_M_LHC' endif if(Exptrange_Mhmin_forSMXS(get_collider_element_number('LHC7')).lt.lhc7XS_SM_functions_xmin)then stop'need to extend lower range of lhc7XS_SM_functions' endif !we need lhc7XS_SM_functions to have a big enough range to cover the tables if(Exptrange_Mhmax_forSMXS(get_collider_element_number('LHC8')).gt.lhc8XS_SM_functions_xmax)then stop'need to extend upper range of lhc8XS_SM_functions or reduce delta_M_LHC' endif if(Exptrange_Mhmin_forSMXS(get_collider_element_number('LHC8')).lt.lhc8XS_SM_functions_xmin)then write(*,*) Exptrange_Mhmin_forSMXS(get_collider_element_number('LHC8')) stop'need to extend lower range of lhc8XS_SM_functions' endif ! we need the branching ratios for all the colliders if( maxval(Exptrange_Mhmax_forSMdecays).gt.BRSMt1Mhmax)then stop'need to extend upper range of BRfunctions or reduce delta_M_(LEP/TEV)' elseif(minval(Exptrange_Mhmin_forSMdecays).lt.BRSMt1Mhmin)then write(*,*)'hello',minval(Exptrange_Mhmin_forSMdecays),BRSMt1Mhmin stop'need to extend lower range of BRfunctions' endif deallocate(Expttables_Mhmin_forSMXS) deallocate(Expttables_Mhmax_forSMXS) deallocate(Expttables_Mhmin_forSMdecays) deallocate(Expttables_Mhmax_forSMdecays) deallocate(max_expt_delta_Mh) deallocate(delta_x_default) end subroutine setup_S95tables !********************************************************** function inrange(mass,str) ! mass is the neutral Higgs mass to be checked ! str indicates which range it should be checked against: ! str should be either 'SMBR' or one of the elements of the array 'colliders' ! ! The function returns .True. if the mass is in the appropriate range. ! If str='SMBR', this range is ! minval(Exptrange_Mhmin_forSMdecays) to maxval(Exptrange_Mhmax_forSMdecays) ! otherwise this range is ! Exptrange_Mhmin_forSMXS(x) to Exptrange_Mhmax_forSMXS(x) ! where x is the element of the array 'colliders' character(len=*),intent(in) :: str double precision,intent(in) :: mass logical :: inrange integer :: x, i !-TS(05/07/2012) Added a check whether the ranges are allocated (which happens in !-subroutine setup_S95tables. If not, they are allocated and given default values. !-This is needed for HiggsSignals. if(.not.allocated(Exptrange_Mhmin_forSMXS)) then allocate(Exptrange_Mhmin_forSMXS(size(colliders,dim=1))) allocate(Exptrange_Mhmax_forSMXS(size(colliders,dim=1))) do i=1, size(colliders) if(i.eq.get_collider_element_number('LEP ')) then Exptrange_Mhmin_forSMXS(i)=1.0D0 Exptrange_Mhmax_forSMXS(i)=180.0D0 else if(i.eq.get_collider_element_number('TEV ')) then Exptrange_Mhmin_forSMXS(i)=80.0D0 Exptrange_Mhmax_forSMXS(i)=350.0D0 else if(i.eq.get_collider_element_number('LHC7')) then Exptrange_Mhmin_forSMXS(i)=90.0D0 Exptrange_Mhmax_forSMXS(i)=600.0D0 else if(i.eq.get_collider_element_number('LHC8')) then Exptrange_Mhmin_forSMXS(i)=90.0D0 Exptrange_Mhmax_forSMXS(i)=600.0D0 else stop 'Error in subroutine inrange. str for XS unknown.' endif enddo endif if(.not.allocated(Exptrange_Mhmin_forSMdecays)) then allocate( Exptrange_Mhmin_forSMdecays(size(colliders,dim=1))) allocate( Exptrange_Mhmax_forSMdecays(size(colliders,dim=1))) do i=1, size(colliders) if(i.eq.get_collider_element_number('LEP ')) then Exptrange_Mhmin_forSMdecays(i)=1.0D0 Exptrange_Mhmax_forSMdecays(i)=180.0D0 else if(i.eq.get_collider_element_number('TEV ')) then Exptrange_Mhmin_forSMdecays(i)=0.2D0 Exptrange_Mhmax_forSMdecays(i)=350.0D0 else if(i.eq.get_collider_element_number('LHC7')) then Exptrange_Mhmin_forSMdecays(i)=90.0D0 Exptrange_Mhmax_forSMdecays(i)=600.0D0 else if(i.eq.get_collider_element_number('LHC8')) then Exptrange_Mhmin_forSMdecays(i)=90.0D0 Exptrange_Mhmax_forSMdecays(i)=600.0D0 else stop 'Error in subroutine inrange. str for decay unknown.' endif enddo endif if(str.eq.'SMBR')then if( (mass.gt.minval(Exptrange_Mhmin_forSMdecays)) & .and.(mass.lt.maxval(Exptrange_Mhmax_forSMdecays)) )then inrange=.True. else inrange=.False. endif else x=get_collider_element_number(str) if( (mass.gt.Exptrange_Mhmin_forSMXS(x)) & .and.(mass.lt.Exptrange_Mhmax_forSMXS(x)) )then inrange=.True. else inrange=.False. endif endif end function inrange !********************************************************** function get_collider_element_number(collidername) ! this will return the position of the element with the value 'collidername' in the array 'colliders' !********************************************************** character(len=*),intent(in) :: collidername integer :: x,y integer :: get_collider_element_number y=0 !! print *, collidername do x=lbound(colliders,dim=1),ubound(colliders,dim=1) if(index(colliders(x),collidername).gt.0)then get_collider_element_number=x y=y+1 endif enddo if(y.ne.1)stop'problem in function get_collider_element_number' end function get_collider_element_number !****************************************************************** function WhichColliderElement(expt,energy) ! this will return the position of the element corresponding to 'expt' in the array 'colliders' !****************************************************************** use usefulbits, only : small character(LEN=3),intent(in) :: expt integer :: WhichColliderElement double precision :: energy if( expt.eq.'LEP' )then WhichColliderElement=get_collider_element_number('LEP') elseif( (expt.eq.'CDF').or.(expt.eq.' D0').or.(expt.eq.'TCB') )then WhichColliderElement=get_collider_element_number('TEV') elseif( (expt.eq.'ATL').or.(expt.eq.'CMS') )then if(energy-7.0D0.le.small) then WhichColliderElement=get_collider_element_number('LHC7') else if(energy-8.0D0.le.small) then WhichColliderElement=get_collider_element_number('LHC8') else stop 'WhichColliderElement: Collider Energy not correctly specified.' endif else WhichColliderElement=0 endif end function WhichColliderElement !****************************************************************** function WhichColliderString(expt, energy) ! this will return the contents of the element corresponding to 'expt' in the array 'colliders' !****************************************************************** character(LEN=3),intent(in) :: expt character(LEN=4) :: WhichColliderString double precision :: energy WhichColliderString=colliders(WhichColliderElement(expt, energy)) end function WhichColliderString !****************************************************************** subroutine calcfact(proc,t,cfact,axis_i,axis_j,nc) !****************************************************************** !for table type1, calls calcfact_t1 !for table type2, calls calcfact_t2 !****************************************************************** use usefulbits, only : dataset,listprocesses !internal implicit none !--------------------------------------input type(dataset) :: t type(listprocesses) :: proc !-----------------------------------output double precision :: cfact,axis_j,axis_i integer :: nc !------------------------------------------- select case(proc%ttype) case(1) call calcfact_t1(proc%tlist,proc%findj,t,cfact,axis_i,nc) axis_j=axis_i case(2) call calcfact_t2(proc%tlist,proc%findj,proc%findi,t,cfact,axis_i,axis_j,nc) case default ! ### OS ### cfact = -1D0 return stop 'wrong input to function calcfact in module channels' end select end subroutine calcfact !****************************************************************** subroutine outputproc(proc,k,descrip,specific) !****************************************************************** !for table type1, calls outputproc_t1 !for table type2, calls outputproc_t2 !if neither table applies, writes message !k is where output goes !specific=1 if the specific process should be printed !e.g. ee->h1Z->bbZ !whereas specific==0 if the generic process should be printed !e.g. ee->hiZ->bbZ !****************************************************************** use usefulbits, only : listprocesses !input implicit none !--------------------------------------input integer,intent(in) :: k,specific integer :: i,j type(listprocesses),intent(in) :: proc character(LEN=200):: descrip !------------------------------------------- select case(specific) case(0) i=0 j=0 case(1) i=proc%findi j=proc%findj case default end select select case(proc%ttype) case(0) descrip='none of the processes apply' case(1) call outputproc_t1(proc%tlist,i,k,descrip) case(2) call outputproc_t2(proc%tlist,i,j,k,descrip) case default stop 'wrong input to subroutine outputproc in module channels' end select end subroutine outputproc !****************************************************************** subroutine check_against_bound(proc,fact,axis_i,axis_j,ratio,predobs) !****************************************************************** !for table type1, calls interpolate_tabletype1 !for table type2, calls interpolate_tabletype2 !****************************************************************** use usefulbits, only : dataset,listprocesses !internal use interpolate implicit none !--------------------------------------input integer :: predobs double precision :: fact,axis_i,axis_j type(listprocesses) :: proc !-------------------------------------output double precision :: ratio !-----------------------------------internal double precision :: Mi,Mj,interpol !------------------------------------------- interpol=-1.0D0 Mi=axis_i Mj=axis_j if(fact.gt.0.0D0)then select case(proc%ttype) case(1) call interpolate_tabletype1(Mi,S95_t1(proc%tlist),predobs,interpol) case(2) call interpolate_tabletype2(Mi,Mj,S95_t2(proc%tlist),predobs,interpol) case default ! ### OS ### ratio = -1d0 return write(*,*)'wrong input to subroutine check_against_bound in module channels' stop end select endif !--TESTING! ! if(predobs.eq.1) write(*,*) 'Interpolated value = ', interpol if(interpol.ge.0)then ratio=fact/interpol else ratio= -1.0D0 endif end subroutine check_against_bound !********************************************************** subroutine calcfact_t1(c,jj,t,cfact_t1,M_av,nc) !********************************************************** ! calculates fact for table type 1 ! Takes in to account how Standard Model-like parameter point is ! and whether there are any Higgs with slightly higher masses which ! can be combined with his result ! note: numerator and denominator are worked out separately !********************************************************** use usefulbits, only : dataset, np, div, vvsmall use theory_BRfunctions use theory_XS_SM_functions implicit none !--------------------------------------input type(dataset) :: t integer :: c,jj !-----------------------------------output double precision :: cfact_t1,M_av integer :: nc !------------------------------------------- integer :: f,j double precision :: M_tot double precision :: BR_Hbb_SM_av,BR_HWW_SM_av,BR_Htautau_SM_av double precision :: tev_XS_HW_SM_av,tev_XS_HZ_SM_av double precision :: tev_XS_H_SM_av double precision :: tev_XS_Hb_SM_av double precision :: tev_XS_ttH_SM_av double precision :: lhc7_XS_H_SM_av double precision :: lhc7_XS_VBF_SM_av double precision :: BR_Zll,BR_Znunu,BR_Wlnu,BR_Ztautau double precision :: BR_Whad,BR_Zhad double precision,allocatable :: mass(:),fact(:) integer,allocatable :: model_like(:) integer :: npart !number of particles !source: PDG (Yao et al. J Phys G 33 (2006)) BR_Zll=3.363D-2+3.366D-2 !BR_Zll = sum(l=e,mu), BR(Z ->l+ l-) BR_Znunu=20D-2 !BR_Znunu = BR(Z ->nu_l nu_l-bar) ('invisible') BR_Wlnu=10.75D-2+10.57D-2 !BR_Wlnu = sum(l=e,mu), !BR(W+ ->l+ nu_l) = BR(W- ->l- + nu_l-bar) BR_Whad=67.6D-2 BR_Zhad=69.91D-2 BR_Ztautau=3.370D-2 npart=np( S95_t1(c)%particle_x ) allocate(mass(npart),fact(npart),model_like(npart)) mass(:)=t%particle( S95_t1(c)%particle_x )%M(:) fact= 0.0D0 cfact_t1=0.0D0 model_like=0 !now calculate numerator of 'fact' do j=1,npart if( (abs(mass(jj)-mass(j)).le.S95_t1(c)%deltax) & & .and.( mass(jj).le.mass(j) ) )then select case(S95_t1(c)%id) !these can be compacted, but not doing it yet... doing it at the !same time as revamping the model_likeness test case(142) fact(j)=t%lep%XS_hjZ_ratio(j) *t%BR_hjbb(j) !notice that this is not absolute XS case(143) fact(j)=t%lep%XS_hjZ_ratio(j) *t%BR_hjtautau(j) !notice that this is not absolute XS case(300) fact(j)=t%lep%XS_hjZ_ratio(j) !notice that this is not absolute XS case(400,401,402,403) fact(j)=t%lep%XS_hjZ_ratio(j) *t%BR_hjinvisible(j) !notice that this is not absolute XS case(500) fact(j)=t%lep%XS_hjZ_ratio(j) *t%BR_hjgaga(j) !notice that this is not absolute XS case(600,601) fact(j)=t%lep%XS_hjZ_ratio(j) &!notice that this is not absolute XS & *(t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)) case(711,713) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(721,723,741,743) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(731,733) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(801,811,821) fact(j)=t%lep%XS_HpjHmj_ratio(j)*(t%BR_Hpjcs(j)+t%BR_Hpjcb(j))**2.0D0 !notice that this is not absolute XS case(802) fact(j)=t%lep%XS_HpjHmj_ratio(j)*(t%BR_Hpjcs(j)+t%BR_Hpjcb(j))*2.0D0*t%BR_Hpjtaunu(j) !notice that this is not absolute XS case(803,813) fact(j)=t%lep%XS_HpjHmj_ratio(j)*t%BR_Hpjtaunu(j)**2.0D0 !notice that this is not absolute XS case(8742,4493,9475,5482,5570,5876,1024,9889,3534,6089,10235,3047,10799,3564,6166,6296) fact(j)=t%tev%XS_hjZ_ratio(j) *t%tev%XS_HZ_SM(j) *t%BR_hjbb(j) case(8958,5489,5624,9236,3930,6039,3216,10433,6221,10600) fact(j)=t%tev%XS_hj_ratio(j)*t%tev%XS_H_SM(j) *t%BR_hjWW(j) case(3331) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) fact(j)=fact(j)*t%tev%XS_H_SM(j)*t%BR_HWW_SM(j)!to get the normalisation right case(5757) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(8957,5472,9219,9463,9596,5828,1970,3493,5972,3155,5613,9868,10068,6092,10217,10239,10796,0874,6220) fact(j)=t%tev%XS_hjW_ratio(j) *t%tev%XS_HW_SM(j) *t%BR_hjbb(j) case(5485,7307,5873) fact(j)=t%tev%XS_hjW_ratio(j) *t%tev%XS_HW_SM(j) *t%BR_hjWW(j) case(9071,2491,5740,5980,1014,3363,4555) fact(j)=t%tev%XS_hj_ratio(j) *t%tev%XS_H_SM(j) *t%BR_hjtautau(j) case(8961,0598) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(9284,5503,5726,10105) fact(j)=t%tev%XS_hjb_ratio(j) *t%tev%XS_Hb_SM(j) *t%BR_hjbb(j)/0.9D0/2.0D0 case(6083) fact(j)=t%tev%XS_hjb_ratio(j) *t%tev%XS_Hb_SM(j) *t%BR_hjtautau(j)/0.1D0/2.0D0 case(1514,5601,5737) fact(j)=( t%tev%XS_hjZ_ratio(j) * t%tev%XS_HZ_SM(j) & & + t%tev%XS_hjW_ratio(j) * t%tev%XS_HW_SM(j) & & + t%tev%XS_hj_ratio(j) * t%tev%XS_H_SM(j) & & + t%tev%XS_vbf_ratio(j) * t%tev%XS_vbf_SM(j) & & ) & & * t%BR_hjgaga(j) case(5858,6177,6295,1887,10065,10485,4960) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(7081,9166,9483,5586,9642,1266,0432,9891,5285,3935,6087,6170,10212,6223,6299,10583,10798,10596) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2012015) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(10010,10607,6436) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(9248,10133,10439) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(4800) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(5845) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6171) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(9290) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(5984,9714,6006,4481,6095,10432,6179,6302,10599) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(3556,1931) fact(j)=t%tev%XS_hjb_ratio(j) *t%tev%XS_Hb_c2_SM(j) *t%BR_hjbb(j) case(4782) fact(j)=t%tev%XS_hjb_ratio(j) *t%tev%XS_Hb_c1_SM(j) *t%BR_hjbb(j) case(9465,5871,9022,0710,9887,4162,10102,4468) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) !case(9023) ! call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(9674) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(9897,9999) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(0024,5985,0968,5974,4885) fact(j)=t%tev%XS_hjb_ratio(j) *t%tev%XS_Hb_c3_SM(j) *t%BR_hjtautau(j) case(5739,10574) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) fact(j)=fact(j)*t%tev%XS_ttH_SM(j)*t%BR_Hbb_SM(j)!to get the normalisation right case(2012135,12025) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(0611) fact(j)=t%tev%XS_hj_ratio(j)*t%tev%XS_H_SM(j) *t%BR_hjZga(j) case(1269,1270,2011094,13035) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(1811) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(1812,2011138,2011151,2760,2013090,2014050,14020,8353,7712,11002,11008) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6008,9998) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6082,6182,6219,6276,10573) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6096,10606,10806,10884) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6183,3233) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6229) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6286,6301,6304,6305,6309) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6091,1268) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011048,11004,11015,11013,11028,11006,11017,110271,110272,14161,14162,5064,2012017,2011150,2011131) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011162,1415,2012092,20130131) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(20130132) fact(j)=1000.d0*t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j)*t%BR_hjZZ(j)*BR_Zll**2 case(20130133) fact(j)=1000.d0*(t%lhc8%XS_hjZ_ratio(j) * t%lhc8%XS_HZ_SM(j) & & + t%lhc8%XS_hjW_ratio(j) * t%lhc8%XS_HW_SM(j) & & + t%lhc8%XS_vbf_ratio(j) * t%lhc8%XS_vbf_SM(j)) & & * t%BR_hjZZ(j)*BR_Zll**2 case(11025,1997,12041,130021,130022) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011026,11005,11016,11026,3478,3357,2011148,2012016) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(110212) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011025,2011085,2011161,5895,1414,2012091,2012168,1487,12001,12015,13001,11010,11030,11021) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(13006, 13075515,2013009,3051) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(11031,12044,13012) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(13011) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(11034,12039,13009,2012078,12006,12051) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011005,3615,2012018,12046) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2748, 1408, 2012019) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(7214) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(10500) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(11003,11014,2577,11024,1489,12042,13003,13027) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011020,2011021) fact(j)=t%lhc7%XS_hj_ratio(j)*t%lhc7%XS_H_SM(j) *t%BR_hjmumu(j) case(5429,2011052,2011111,2011134) fact(j)=t%lhc7%XS_hj_ratio(j)*t%lhc7%XS_H_SM(j) *t%BR_hjWW(j) case(2012012,2012158,2013030) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(10002,5003,2011132,2012094,110201,110292) fact(j)=t%lhc7%XS_hj_ratio(j)*t%lhc7%XS_H_SM(j) *t%BR_hjtautau(j) case(2014049) ! Insert correct xsection alias here ! fact(j)=t%lhc8%XS_bbhj_ratio(j)*t%lhc8%XS_bbH_SM(j)*t%BR_hjtautau(j) case(20140492) ! Insert correct xsection alias here ! fact(j)=t%lhc8%XS_gghj_ratio(j)*t%lhc8%XS_ggH_SM(j)*t%BR_hjtautau(j) case(12050,13021) fact(j)=t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j) *t%BR_hjtautau(j) case(11009,11020,2011133,2012014,2012160) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(110291,12043) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2013010,7663) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(11011,2011163,11022,11032,1488,12008,12045,2011157) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011103,2012161,11012) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(13022) fact(j)=t%lhc8%XS_vbf_ratio(j)*div(t%BR_hjWW(j),t%BR_HWW_SM(j) ,0.0D0,1.0D0) case(13013,13441) fact(j)=t%lhc8%XS_vbf_ratio(j)*t%BR_hjinvisible(j) case(13018,13442) fact(j)=t%lhc8%XS_hjZ_ratio(j)*t%BR_hjinvisible(j) case(13443) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2013011,3244) ! Limit is on sigma(HZ)*BR(H->inv)*(BR(Z->ll)+BR(Z->tautau) ! Data given in fb - (multiply by 1000) fact(j)=1000.D0*t%lhc8%XS_hjZ_ratio(j)*t%lhc8%XS_HZ_SM(j) & & *t%BR_hjinvisible(j) - !*(BR_Zll+BR_Ztautau) ! print *, 1000.D0*t%lhc8%XS_hjZ_ratio(j)*t%lhc8%XS_HZ_SM(j)*(BR_Zll+BR_Ztautau), fact(j) case(6583) ! Data given in fb - (multiply by 1000) fact(j)=1000.0D0*( & t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j) + & t%lhc8%XS_vbf_ratio(j)*t%lhc8%XS_vbf_SM(j) + & t%lhc8%XS_hjZ_ratio(j)*t%lhc8%XS_HZ_SM(j) + & t%lhc8%XS_hjW_ratio(j)*t%lhc8%XS_HW_SM(j) + & t%lhc8%XS_tthj_ratio(j)*t%lhc8%XS_ttH_SM(j) ) * t%BR_hjgaga(j) case(14006) ! Data given in pb fact(j)= ( & t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j) + & t%lhc8%XS_vbf_ratio(j)*t%lhc8%XS_vbf_SM(j) + & t%lhc8%XS_hjZ_ratio(j)*t%lhc8%XS_HZ_SM(j) + & t%lhc8%XS_hjW_ratio(j)*t%lhc8%XS_HW_SM(j) + & t%lhc8%XS_tthj_ratio(j)*t%lhc8%XS_ttH_SM(j) ) * t%BR_hjgaga(j) case(2011112) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(2011135) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case(6224,6225,6226) call model_likeness(j,S95_t1(c)%id,t,model_like(j),fact(j)) case default stop 'wrong input to function calcfact_t1 in module S95tables' end select endif enddo if(fact(jj).le.vvsmall)then!A !Higgs jj doesn't contribute - wait until another call of this subroutine before !looking at nearby masses M_av = mass(jj) nc=0 cfact_t1=0.0D0 else!A !find M_av (only using higgs which have non-zero fact): f=0 M_tot=0.0D0 do j=1,npart if( fact(j).gt.vvsmall )then f=f+1 M_tot=M_tot+mass(j) endif enddo nc=f !f will always be > 0 because we've already made sure that fact(jj)>0.0D0 M_av = M_tot/dble(nc) if((WhichColliderString(S95_t1(c)%expt,S95_t1(c)%energy).eq.'LEP'))then!B cfact_t1=sum(fact) elseif(S95_t1(c)%particle_x .ne. Hneut)then!B cfact_t1=sum(fact) else!B if(f.eq.1)then !have already calculated these in theo_manip to save time BR_Hbb_SM_av = t%BR_Hbb_SM(jj) BR_HWW_SM_av = t%BR_HWW_SM(jj) BR_Htautau_SM_av = t%BR_Htautau_SM(jj) tev_XS_HW_SM_av = t%tev%XS_HW_SM(jj) tev_XS_HZ_SM_av = t%tev%XS_HZ_SM(jj) tev_XS_H_SM_av = t%tev%XS_H_SM(jj) tev_XS_Hb_SM_av = t%tev%XS_Hb_SM(jj) tev_XS_ttH_SM_av = t%tev%XS_ttH_SM(jj) lhc7_XS_H_SM_av = t%lhc7%XS_H_SM(jj) lhc7_XS_VBF_SM_av= t%lhc7%XS_vbf_SM(jj) else BR_Hbb_SM_av = BRSM_Hbb(M_av) BR_HWW_SM_av = BRSM_HWW(M_av) BR_Htautau_SM_av = BRSM_Htautau(M_av) tev_XS_HW_SM_av = XS_tev_HW_SM(M_av) tev_XS_HZ_SM_av = XS_tev_HZ_SM(M_av) tev_XS_H_SM_av = XS_tev_gg_H_SM(M_av)+XS_tev_bb_H_SM(M_av) tev_XS_Hb_SM_av = XS_tev_bg_Hb_SM(M_av) tev_XS_ttH_SM_av = XS_tev_ttH_SM(M_av) lhc7_XS_H_SM_av = XS_lhc7_gg_H_SM(M_av)+XS_lhc7_bb_H_SM(M_av) lhc7_XS_VBF_SM_av= XS_lhc7_vbf_SM(M_av) endif ! now include denominator of 'fact' select case(S95_t1(c)%id) case(8742,5482,5570,4493,9475,5876,1024,9889,3534,6089,10235,3047,10799,3564,6166,6296) do j=1,npart fact(j)= div( fact(j) , tev_XS_HZ_SM_av * BR_Hbb_SM_av ,0.0D0,0.0D0) enddo case(8958,5489,5624,9236,3930) do j=1,npart fact(j)= div( fact(j) , tev_XS_H_SM_av * BR_HWW_SM_av ,0.0D0,0.0D0) enddo case(8957,5472,9219,9463,9596,5828,1970,3493,5972,3155,5613,9868,10068,6092,10217,10239,10796,0874,6220) do j=1,npart fact(j)= div( fact(j) , tev_XS_HW_SM_av * BR_Hbb_SM_av ,0.0D0,0.0D0) enddo case(5503,9284,5726,10105) do j=1,npart fact(j)= div( fact(j) , tev_XS_Hb_SM_av ,0.0D0,0.0D0) enddo case(6083) do j=1,npart fact(j)= div( fact(j) , tev_XS_Hb_SM_av ,0.0D0,0.0D0) enddo case(7307,5873) do j=1,npart fact(j)= div( fact(j) , tev_XS_HW_SM_av * BR_HWW_SM_av ,0.0D0,0.0D0) enddo case(8961,0598,10010,9290,9674,9897,9999,10607,6436) case(7081,9166,9483,5586,9642,1266,0432,9891,5285,3935,6087,6170,10212,6223,6299,10583,10798,10596) case(2012015) case(9248,5845,4800,5858,6177,6295,1887,10065,10485,10133,10439,4960) case(9465,5871,9022,9023,0710,9887) case(6171) case(6183,3233) case(6229) case(6304) case(5984,9714,4162,10102,6006,4481,4468,5757,6095,10432,6179,6302,10599) case(5739,10574) do j=1,npart fact(j)= div( fact(j) , tev_XS_ttH_SM_av * BR_Hbb_SM_av ,0.0D0,0.0D0) enddo case(2012135,12025) case(6008,9998) case(6082,6182,6219,6276,10573) case(6096,10606,10806,10884) case(6091,1268) case(5485,9071,2491,5601,1514,3556,5740,4555,0024,5980,1014,5985, & & 0611,3363,6039,3216,0968,5974,1931,4885,6221) case(3331) case(6286,6301,6305,6309) case(10600) case(10433) do j=1,npart fact(j)=div(fact(j) , tev_XS_H_SM_av * BR_HWW_SM_av ,0.0D0,0.0D0) enddo case(2011048,11004,11015,11013,11028,11006,11017,110271,110272,14161,14162,5064,2012017,2011150,2011131) case(2011162,1415,2012092,20130131) case(11025,1997,12041,130021,130022) case(2011026,11005,11016,11026,3478,3357,2011148,2012016) case(110212) case(2011025,2011085,2011161,5895,1414,2012091,2012168,1487,12001,12015,13001,11010,11030,11021) case(13006, 13075515,2013009,3051) case(11031,12044,13012) case(13011) case(11034,12039,13009,2012078,12006,12051) case(2011005,3615,2012018,12046) case(2748, 1408, 2012019) case(7214) case(4782) case(5429,2011052,2011111,2011134) do j=1,npart fact(j)= div( fact(j) , lhc7_XS_H_SM_av * BR_HWW_SM_av ,0.0D0,0.0D0) enddo case(2012012,2012158,2013030) case(10002,5003,2011132,2012094,2014049,20140492,110201,110292,12050,13021) case(20130132,20130133) case(11009,11020,2011133,2012014,2012160) case(110291,12043) case(2013010,7663) case(11002,11008) case(11003,11014,2577,11024,1489,12042,13003,13027) case(2011020,2011021) case(10500) case(11011,2011163,11022,11032,1488,12008,12045,2011157) case(2011103,2012161,11012) case(13022) case(13013) case(13441,13442,13443) case(13018) case(2013011,3244) case(2011112) case(6583,14006) case(2011135) case(6224,6225,6226) case default stop 'error calculating denom. in calcfact_t1' end select cfact_t1=sum(fact) endif!B endif!A deallocate(mass) deallocate(fact) deallocate(model_like) end subroutine calcfact_t1 !********************************************************** subroutine calcfact_t2(c,jj,ii,t,cfact_t2,axis_i,axis_j,nc) !********************************************************** !calculates fact for table type 2 !********************************************************** use usefulbits, only : dataset,np,vsmall,not_a_particle implicit none !--------------------------------------input type(dataset) :: t integer :: c,jj,ii !-----------------------------------output double precision :: cfact_t2,axis_i,axis_j integer :: nc !------------------------------------------- integer :: f,i,j,npart2,npart1 double precision :: fact,eps2,crosssection,Mi_av,Mj_av,masstot double precision,allocatable :: massj(:),massi(:) eps2=0.02D0 npart2=np( S95_t2(c)%particle_x2 ) allocate(massj(npart2)) massj(:)=t%particle( S95_t2(c)%particle_x2 )%M(:) if(S95_t2(c)%particle_x1.eq.not_a_particle)then npart1=1 allocate(massi(npart1)) massi(:)=-1.0D0 else npart1=np( S95_t2(c)%particle_x1 ) allocate(massi(npart1)) massi(:)=t%particle( S95_t2(c)%particle_x1 )%M(:) endif Mj_av=massj(jj) Mi_av=massi(ii) fact= 0.0D0 cfact_t2=0.0D0 masstot=0.0D0 j=jj i=ii f=1 select case(S95_t2(c)%id) case(150) fact=test_appl(t%lep%XS_hjZ_ratio(j)*t%BR_hjhihi(j,i)*t%BR_hjbb(i)**2.0D0)!table 15 hep-ex/0602042 XS ratio case(160) fact=test_appl(t%lep%XS_hjZ_ratio(j)*t%BR_hjhihi(j,i)*t%BR_hjtautau(i)**2.0D0)!table 16 hep-ex/0602042 XS ratio case(180) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjbb(j)*t%BR_hjbb(i))!table 18 hep-ex/0602042 XS ratio case(190) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjtautau(j)*t%BR_hjtautau(i))!table 19 hep-ex/0602042 XS ratio case(200) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjhihi(j,i)*t%BR_hjbb(i)**3.0D0)!table 20 hep-ex/0602042 XS ratio case(210) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjhihi(j,i)*t%BR_hjtautau(i)**3.0D0)!table 21 hep-ex/0602042 XS ratio case(220) fact=test_appl(t%lep%XS_hjZ_ratio(j)*t%BR_hjhihi(j,i)*t%BR_hjbb(i)*t%BR_hjtautau(i))!table 22 hep-ex/0602042 XS ratio case(230) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjbb(j)*t%BR_hjtautau(i))!table 23 hep-ex/0602042 XS ratio case(240) fact=test_appl(t%lep%XS_hjhi_ratio(j,i)*t%BR_hjtautau(j)*t%BR_hjbb(i))!table 24 hep-ex/0602042 XS ratio case(905) fact=test_appl(t%lep%XS_CpjCmj(j)*t%BR_CjqqNi(j,i)**2.0D0)!fig 5 hep-ex/0401026 absolute XS in fb case(906) fact=test_appl(t%lep%XS_CpjCmj(j)*t%BR_CjqqNi(j,i)*t%BR_CjlnuNi(j,i))!fig 6 hep-ex/0401026 absolute XS in fb case(907) fact=test_appl( t%lep%XS_CpjCmj(j)*t%BR_CjlnuNi(j,i)**2.0D0)!fig 7 hep-ex/0401026 absolute XS in fb case(908) fact=test_appl(t%lep%XS_CpjCmj(j)) !fig 8 hep-ex/0401026 absolute XS in fb case(909) fact=test_appl( t%lep%XS_NjNi(j,i)*t%BR_NjqqNi(j,i)) !fig 9 hep-ex/0401026 absolute XS in fb case(910) fact=test_appl(t%lep%XS_NjNi(j,i))!fig 10 hep-ex/0401026 absolute XS in fb case(3381) fact=test_appl(t%tev%XS_hj_ratio(j) * t%tev%XS_H_SM(j) * t%BR_hjhihi(j,i) * & & t%BR_hjmumu(i)**2.0D0 )! arXiv:0905.3381 table I, absolute XS in fb case(3382) fact=test_appl(t%tev%XS_hj_ratio(j) * t%tev%XS_H_SM(j) * t%BR_hjhihi(j,i) * & & 2.0D0 * t%BR_hjtautau(i) * t%BR_hjmumu(i) )! arXiv:0905.3381 table II (also using fig 3b), absolute XS in fb case(5053) fact=test_appl(t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j) * t%BR_hjhihi(j,i)) case(13032) ! Limit given in fb, multiply by 1000. fact=test_appl(1000.0D0*t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j)*t%BR_hjhihi(j,i) * & & t%BR_hjgaga(i) * t%BR_hjbb(i) ) case(14013) ! Limit given in fb, multiply by 1000. fact=test_appl(1000.0D0*t%lhc8%XS_hj_ratio(j)*t%lhc8%XS_H_SM(j)*t%BR_hjhihi(j,i) * & & t%BR_hjbb(i) * t%BR_hjbb(i) ) case(6227) f=0 do j=1,npart2 if( (abs(massj(jj)-massj(j)).le.S95_t2(c)%deltax) & & .and.( massj(jj).le.massj(j) ) )then crosssection=test_appl( t%tev%XS_hjb_ratio(j)*t%tev%XS_Hb_c4_SM(j) ) if(crosssection.gt.vsmall)then f=f+1 fact=fact+crosssection masstot=massj(j)+masstot endif endif enddo if(f.ne.0)then Mj_av=masstot/dble(f) endif case default stop 'wrong input to function calcfact_t2 in module S95tables' end select if(S95_t2(c)%particle_x1.eq.not_a_particle)then select case(S95_t2(c)%id) case(6227) axis_i=t%BR_hjtautau(jj) case default stop'Problem in subroutine calcfact_t2 (y1)' end select else axis_i=Mi_av endif if(S95_t2(c)%particle_x2.eq.not_a_particle)then select case(S95_t2(c)%id) case default stop'Problem in subroutine calcfact_t2 (y2)' end select else axis_j=Mj_av endif cfact_t2=cfact_t2+fact nc=f deallocate(massi) deallocate(massj) contains !******************************************************** function test_appl(x) !******************************************************** implicit none !--------------------------------------input double precision :: x !-----------------------------------function double precision :: test_appl !------------------------------------------- select case(S95_t2(c)%id) case(150,160,180,190,200,210,220,230,240,3381,3382,13032,14013) if(S95_t2(c)%needs_M2_gt_2M1.and.(massj(j).lt.2.0D0*massi(i)))then test_appl=0.0D0 elseif(massj(j).lt.massi(i))then test_appl=0.0D0 else test_appl=x endif case(5053) if(S95_t2(c)%needs_M2_gt_2M1.and.(massj(j).lt.2.0D0*massi(i)))then test_appl=0.0D0 !----Check for sufficiently SM-like BRs to gaga and bb of lighter Higgs elseif(abs(t%BR_hjgaga(i)-t%BR_Hgaga_SM(i)).gt.0.05*t%BR_Hgaga_SM(i)) then test_appl=0.0D0 elseif(abs(t%BR_hjbb(i)-t%BR_Hbb_SM(i)).gt.0.05*t%BR_Hbb_SM(i)) then test_appl=0.0D0 else test_appl=x endif case(905,906,907,909) if(abs(minval(massi)-massi(i)).gt.vsmall)then !checking that lightest neutralino in process is lightest neutralino in model test_appl=0.0D0 elseif(massj(j).lt.massi(i))then test_appl=0.0D0 else test_appl=x endif case(908) if( abs(t%BR_CjWNi(j,i)-1.0D0) .gt. eps2 )then test_appl=0.0D0 elseif(abs(minval(massi)-massi(i)).gt.vsmall)then !checking that lightest neutralino in process is lightest neutralino in model test_appl=0.0D0 elseif(massj(j).lt.massi(i))then test_appl=0.0D0 else test_appl=x endif case(910) if( abs(t%BR_NjZNi(j,i)-1.0D0) .gt. eps2 )then test_appl=0.0D0 elseif(abs(minval(massi)-massi(i)).gt.vsmall)then !checking that lightest neutralino in process is lightest neutralino in model test_appl=0.0D0 elseif(massj(j).lt.massi(i))then test_appl=0.0D0 else test_appl=x endif case(6227) if( ( t%BR_hjtautau(j)+t%BR_hjbb(j) ).le.0.98D0)then test_appl=0.0D0 else test_appl=x endif case default stop'error in function test_appl' end select end function test_appl end subroutine calcfact_t2 !******************************************************** subroutine outputproc_t1(tlistn,jj,k,descrip) !******************************************************** ! uses information about the process to output a description ! for processes using table type 1 ! note: at the moment, np(x) (and so ii and jj) needs to be 1 digit long i.e. nH<10 !******************************************************** implicit none !--------------------------------------input integer :: tlistn integer :: jj,k !-----------------------------------internal character(LEN=1) :: j character(LEN=45) :: label character(LEN=200):: descrip !------------------------------------------- if(jj.ne.0)then write(j,'(I1)')jj else j='j' endif if(k.eq.21)then label='' !no need to lable each line in Key.dat else label='('//trim(S95_t1(tlistn)%label)//')' endif descrip='' select case(S95_t1(tlistn)%id) case(142) descrip=' (e e)->(h'//j//')Z->(b b-bar)Z ' //label case(143) descrip=' (e e)->(h'//j//')Z->(tau tau)Z ' //label case(300) descrip=' (e e)->(h'//j//')Z->(...)Z ' //label case(400,401,402,403) descrip=' (e e)->(h'//j//')Z->(invisible)Z ' //label case(500) descrip=' (e e)->(h'//j//')Z->(gamma gamma)Z ' //label case(600,601) descrip=' (e e)->(h'//j//')Z->(2 jets)Z ' //label case(711) descrip=' (e e)->b b-bar(h'//j//')->b b-bar(b b-bar) where h'//j//' is CP even ' //label case(713) descrip=' (e e)->b b-bar(h'//j//')->b b-bar(b b-bar) where h'//j//' is CP odd ' //label case(721,741) descrip=' (e e)->b b-bar(h'//j//')->b b-bar(tau tau) where h'//j//' is CP even ' //label case(723,743) descrip=' (e e)->b b-bar(h'//j//')->b b-bar(tau tau) where h'//j//' is CP odd ' //label case(731) descrip=' (e e)->tau tau(h'//j//')->tau tau(tau tau) where h'//j//' is CP even ' //label case(733) descrip=' (e e)->tau tau(h'//j//')->tau tau(tau tau) where h'//j//' is CP odd ' //label case(801,811,821) descrip=' (e e)->(H'//j//'+)(H'//j//'-)->4 quarks ' //label case(802) descrip=' (e e)->(H'//j//'+)(H'//j//'-)->(2 quarks) tau nu ' //label case(803,813) descrip=' (e e)->(H'//j//'+)(H'//j//'-)->tau nu tau nu' //label case(5482,5570,8742,4493,9475,5876,1024,9889,3534,6089,10235,3047,10799,3564,6166,6296) descrip=' (p p-bar)->Z(h'//j//')->l l (b b-bar) ' //label case(9236,3930,8958,6039,3216,10433,6221,10600) descrip=' (p p-bar)->h'//j//'->W W ' //label case(9219,9463,5472,8957,9596,5828,1970,3493,5972,3155,5613,9868,10068,6092,10217,10239,10796,0874,6220,6309) descrip=' (p p-bar)->W(h'//j//')->l nu (b b-bar) ' //label case(5489) descrip=' (p p-bar)->h'//j//'->W W->e mu ' //label case(5624) descrip=' (p p-bar)->h'//j//'->W W->l l ' //label case(3331) descrip=' (p p-bar)->h'//j//'->V V ' //label case(5757) descrip=' (p p-bar)->h'//j//'/VBF->W W->l l where h'//j//' is SM-like ' //label case(5485,5873) descrip=' (p p-bar)->W(h'//j//')->W W W->l l nu nu ' //label case(9071,2491,5740,5980,1014,3363,4555) descrip=' (p p-bar)->h'//j//'->tau tau ' //label case(8961,9465,9290,9713,9674,0598,9897,9998,9999,6008,6096,6183,3233,6229,6304,10606,10806,10884) descrip=' (p p-bar)->h'//j//'+... where h'//j//' is SM-like ' //label case(9284,5503,5726,3556,10105,1931,4782) descrip=' (p p-bar)->h'//j//'(b/b-bar)->(b b-bar) (b/b-bar) ' //label case(6224,6225,6226) descrip=' (p p-bar)->h'//j//'(b/b-bar)->(b b-bar) (b/b-bar) or (tau tau) (b/b-bar) ' //label case(7307) descrip=' (p p-bar)->W(h'//j//')->W W W ' //label case(6301) descrip=' (p p-bar)->V h'//j//'->V W W ' //label case(5601,5737,1514) descrip=' (p p-bar)->h'//j//'+...->gamma gamma+... ' //label case(5858,6177,6295,1887,10065,10485,4960) descrip=' (p p-bar)->h'//j//'+...->gamma gamma+... where h'//j//' is SM-like ' //label case(7081,9166,9483,5586,9642,1266,0432,9891,5285,3935,6087,6170,10212,6223,6299,10583,10798) descrip=' (p p-bar)->V h'//j//'-> (b b-bar) +missing Et where h'//j//' is SM-like ' //label case(10596) descrip=' (p p-bar)->V h'//j//'-> (b b-bar) l nu where h'//j//' is SM-like ' //label case(6091,1268) descrip=' (p p-bar)->V h'//j//'-> ll + X where h'//j//' is SM-like ' //label case(10010) descrip=' (p p-bar)->V (h'//j//')/VBF-> (b b-bar) q q where h'//j//' is SM-like ' //label case(10607) descrip=' (p p-bar)->V (h'//j//')/VBF-> (b b-bar)+... where h'//j//' is SM-like ' //label case(6436) descrip=' (p p-bar)->V (h'//j//')-> (b b-bar)+...' //label case(9248,10133,10439,6305,6286) descrip=' (p p-bar)->h'//j//'+...->tau tau +... where h'//j//' is SM-like ' //label case(4800,5845,6171) descrip=' (p p-bar)->h'//j//'+...->tau tau (2 jets) where h'//j//' is SM-like ' //label case(5871) descrip=' (p p-bar)->h'//j//'+...->W W +... ->l l nu nu +... where h'//j//' is SM-like ' //label case(6082) descrip=' (p p-bar)->h'//j//'+...->V V +... ->e mu missing Et +... where h'//j//' is SM-like ' //label case(6182,6219) descrip=' (p p-bar)->h'//j//'+...->V V +... ->l l missing Et +... where h'//j//' is SM-like ' //label case(6276) descrip=' (p p-bar)->h'//j//'+...->V V +... ->l l l missing Et +... where h'//j//' is SM-like ' //label case(10573) descrip=' (p p-bar)->h'//j//'+...->V V +... ->l l l l +... where h'//j//' is SM-like ' //label case(5984,9714,6006,9022,9023,0710,9887,4162,10102,4481,4468,6095,10432,6179,6302,10599) descrip=' (p p-bar)->h'//j//'+...->W W +... where h'//j//' is SM-like ' //label case(0024,5985,0968,5974,6083,4885) descrip=' (p p-bar)->h'//j//'(b/b-bar)->(tau tau) (b/b-bar) ' //label case(5739,10574) descrip=' (p p-bar)->t t-bar h'//j//'->t t-bar b b-bar ' //label case(2012135,12025) descrip=' (p p)->t t-bar h'//j//'->t t-bar b b-bar ' //label case(0611) descrip=' (p p-bar)->h'//j//'->Z gamma ' //label case(10500) descrip=' (p p-bar)->V h'//j//'-> V tau tau ' //label case(1811) descrip=' t->(H'//j//'+)b->(2 quarks) b ' //label case(1812,2011138,2011151,2760,2013090,2014050,14020,8353,7712,11002,11008) descrip=' t->(H'//j//'+)b->tau nu b ' //label case(1269,1270,2011094,13035) descrip=' t->(H'//j//'+)b->(c s) b' //label case(11006,11017,110271,110272,14161,14162,5064,2012017,2011150) descrip=' (p p)->h'//j//'/VBF->Z Z-> l l q q where h'//j//' is SM-like ' //label case(2011048,11004,11015,2011131) descrip=' (p p)->h'//j//'/VBF->Z Z-> l l l l where h'//j//' is SM-like ' //label case(2011162,1415,2012092) descrip=' (p p)->h'//j//'/VBF/V h'//j//'->Z Z-> l l l l where h'//j//' is SM-like ' //label case(11025,1997,12041) descrip=' (p p)->h'//j//'/VBF/V/tt h'//j//'->Z Z-> l l l l where h'//j//' is SM-like ' //label case(20130131) descrip=' (p p)->h'//j//'->Z Z-> l l l l where h'//j//' is SM-like ' //label case(20130132) descrip=' (p p)->h'//j//'/ggF h->Z Z-> l l l l ' //label case(20130133) descrip=' (p p)->h'//j//'/VBF/V h->Z Z-> l l l l ' //label case(130021) descrip=' (p p)->h'//j//'->Z Z-> l l l l (low mass) where h'//j//' is SM-like ' //label case(130022) descrip=' (p p)->h'//j//'->Z Z-> l l l l (high mass) where h'//j//' is SM-like ' //label case(11005,11016,11026,3478) descrip=' (p p)->h'//j//'/VBF->V V-> l l nu nu where h'//j//' is SM-like ' //label case(3357,2011148,2012016) descrip=' (p p)->h'//j//'->V V-> l l nu nu where h'//j//' is SM-like ' //label case(11013,11028) descrip=' (p p)->h'//j//'/VBF->V V-> l l tau tau where h'//j//' is SM-like ' //label case(2011026) descrip=' (p p)->h'//j//'/VBF->V V where h'//j//' is SM-like ' //label case(5429,2011052,2011111,2011134) descrip=' (p p)->h'//j//'->W W ' //label case(11034,12039,13009,2012078) descrip=' (p p)->W(h'//j//')->W W W where h'//j//' is SM-like ' //label case(12006) descrip=' (p p)->W(h'//j//')->W tau tau ' //label case(12051) descrip=' (p p)->V(h'//j//')->V tau tau ' //label case(2012012,2012158,2013030) descrip=' (p p)->h'//j//'->W W where h'//j//' is SM-like ' //label case(110212) descrip=' (p p)->V h'//j//'/VBF->gamma gamma ' //label case(2011025,2011085,2011161,5895,1414,2012091,2012168,1487,12001,12015,13001,11010,11030,11021) descrip=' (p p)->h'//j//'+...->gamma gamma+... where h'//j//' is SM-like ' //label case(6583,14006) descrip=' (p p)->h'//j//'/VBF/Wh'//j//'/Zh'//j//'/tth'//j//'->gamma gamma ' //label case(13006, 13075515,2013009,3051) descrip=' (p p)->h'//j//'+...->gamma Z+... where h'//j//' is SM-like ' //label case(11031,12044,13012) descrip=' (p p)->V h'//j//'->b b where h'//j//' is SM-like ' //label case(13011) descrip=' (p p)->h'//j//'/VBF->bb+... where h'//j//' is SM-like ' //label case(2011020,2011021) descrip=' (p p)->h'//j//'->mu mu (lower mass range) ' //label case(2011005,3615,2012018) descrip=' (p p)->h'//j//'/VBF->W W where h'//j//' is SM-like ' //label case(12046) descrip=' (p p)->h'//j//'->W W-> l nu q q where h'//j//' is SM-like ' //label case(11003,11014,2577,11024,1489,12042,13003,13027) descrip=' (p p)->h'//j//'+...->W W +... where h'//j//' is SM-like ' //label case(2748,1408,11011,2011163,11022,11032,1488,12008,12045,2011157,2011112,2011135,2012019) descrip=' (p p)->h'//j//'+... where h'//j//' is SM-like ' //label case(7214) descrip=' (p p)->h'//j//'+... where h'//j//' is SM-like ' //label case(10002,5003,2011132,2012094,110201,110292,12050,13021) descrip=' (p p)->h'//j//'->tau tau ' //label case(2014049) descrip=' (p p)->bbh'//j//'->tau tau ' //label case(20140492) descrip=' (p p)->ggh'//j//'->tau tau ' //label case(11009,11020,2011133,2012014) descrip=' (p p)->h'//j//'/VBF->tau tau +... where h'//j//' is SM-like ' //label case(2012160,12043) descrip=' (p p)->h'//j//'->tau tau +... where h'//j//' is SM-like ' //label case(2013010,7663) descrip=' (p p)->h'//j//'->mu mu +... where h'//j//' is SM-like ' //label case(2012015) descrip=' (p p)->V h'//j//'-> (b b-bar) + X where h'//j//' is SM-like ' //label case(110291) descrip=' (p p)->h'//j//'/VBF/V h'//j//'/tt h'//j//'->tau tau +... where h'//j//' is SM-like ' //label case(2011103,2012161,11012) descrip=' (p p)->V(h'//j//')->V (b b-bar) ' //label case(13022) descrip=' (p p)->h'//j//'(VBF)->WW ' //label case(13013,13441) descrip=' (p p)->h'//j//'(VBF)->V (invisible) ' //label case(13018,13442) descrip=' (p p)->Zh'//j//'->Z (invisible) ' //label case(13443) descrip=' (p p)->h'//j//'(VBF)/Zh'//j//', h'//j//'->(invisible) ' //label case(2013011,3244) descrip=' (p p)->Vh'//j//'->V (invisible) ' //label case default stop 'wrong input to function outputproc_t1 in module S95tables (1)' end select ! New description string based on data file input ! Added by OS 2012-03-12 if(S95_t1(tlistn)%desc.NE.'') then descrip = trim(S95_t1(tlistn)%desc) // ', h='//j if (S95_t1(tlistn)%SMlike.EQ.1) then descrip = trim(descrip)//' where h is SM-like' endif descrip = trim(descrip)//' '//label endif end subroutine outputproc_t1 !******************************************************** subroutine outputproc_t2(tlistn,ii,jj,k,descrip) !******************************************************** ! uses information about the process to output a description ! for processes using table type 1 ! note: at the moment, np(x) (and so ii and jj) needs to be 1 digit long i.e. np(x)<10 !******************************************************** implicit none !--------------------------------------input integer :: tlistn integer :: ii,jj,k !-----------------------------------internal character(LEN=1) :: j,i character(LEN=45) :: label character(LEN=200):: descrip !------------------------------------------- if((ii.ne.0).and.(jj.ne.0))then write(i,'(I1)')ii write(j,'(I1)')jj else i='i' j='j' endif if(k.eq.21)then label='' !no need to lable each line in Key.dat else label='('//trim(S95_t2(tlistn)%label)//')' endif select case(S95_t2(tlistn)%id) case(150) descrip=' (ee)->(h'//j//'->h'//i//' h'//i//')Z->(b b b b)Z ' //label case(160) descrip=' (ee)->(h'//j//'->h'//i//' h'//i//')Z->(tau tau tau tau)Z ' //label case(180) descrip=' (ee)->(h'//j//' h'//i//')->(b b b b) ' //label case(190) descrip=' (ee)->(h'//j//' h'//i//')->(tau tau tau tau) ' //label case(200) descrip=' (ee)->(h'//j//'->h'//i//' h'//i//')h'//i//'->(b b b b)b b '//label case(210) descrip=' (ee)->(h'//j//'->h'//i//' h'//i//')h'//i//'->(tau tau tau tau)tau tau '//label case(220) descrip=' (ee)->(h'//j//'->h'//i//' h'//i//')Z->(b b)(tau tau)Z ' //label case(230) descrip=' (ee)->(h'//j//'->b b)(h'//i//'->tau tau) ' //label case(240) descrip=' (ee)->(h'//j//'->tau tau)(h'//i//'->b b) ' //label case(905) descrip=' (ee)->(C'//j//'+)(C'//j//'-)-> (q q N'//i//') (q q N'//i//') ' //label case(906) descrip=' (ee)->(C'//j//'+)(C'//j//'-)-> q q l nu N'//i//' N'//i//' ' //label case(907) descrip=' (ee)->(C'//j//'+)(C'//j//'-)-> (l nu N'//i//') (l nu N'//i//') ' //label case(908) descrip=' (ee)->(C'//j//'+)(C'//j//'-) with all C'//j//' decaying to W + N'//i//' ' //label case(909) descrip=' (ee)->(N'//j//') N'//i//'-> (q q N'//i//') N'//i//' ' //label case(910) descrip=' (ee)->N'//j//' N'//i//' with all N'//j//' decaying to Z + N'//i//' ' //label case(3381) descrip=' (p p-bar)->h'//j//'->h'//i//' h'//i//'->mu mu mu mu ' //label case(3382) descrip=' (p p-bar)->h'//j//'->h'//i//' h'//i//'->tau tau mu mu ' //label case(5053) descrip=' (p p)->h'//j//'->h'//i//' h'//i//'->gamma gamma b b, where h'//i//' is SM-like around 125 GeV '//label case(13032) descrip=' (p p)->h'//j//'->h'//i//' h'//i//'->gamma gamma b b, where h'//i//' lies around 125 GeV '//label case(14013) descrip=' (p p)->h'//j//'->h'//i//' h'//i//'->b b b b, where h'//i//' lies around 125 GeV '//label case(6227) descrip=' (p p-bar)->h'//j//'(b/b-bar)->(b b-bar) (b/b-bar) or (tau tau) (b/b-bar) ' //label case default stop 'wrong input to function outputproc_t2 in module S95tables (2)' end select end subroutine outputproc_t2 !****************************************************************** subroutine model_likeness(j,id,t,model_like,sigmaXbr) !***************************************************************** ! Tests how Standard Model-like a parameter point is ! 0 means Mi.ge.MSingleLim (treat as single channel) ! 1 passes the SM-like test and Mi.lt.MSingleLim ! -1 fails the SM-like test and Mi.lt.MSingleLim use usefulbits, only : dataset,div, vsmall, iselementofarray use theory_BRfunctions use theory_XS_SM_functions implicit none !--------------------------------------input type(dataset) :: t integer :: id,j !-----------------------------------internal integer :: ns,nb,n !--TS 14/03/2011: For revamped model-likeness test method double precision,allocatable :: channel_rat(:,:), channel_SM(:,:) double precision,allocatable :: XS_SM_temp(:), BR_SM_temp(:) double precision :: SMrate, weight, c integer :: ic,nc,nc_rel !---- double precision,allocatable :: XS_rat(:), BR_rat(:) integer :: model_like,testSMratios double precision :: sigmaXbr integer :: is,ib double precision :: s,b double precision,allocatable :: dsbys(:),dbbyb(:),dcbyc(:) logical :: correct_properties double precision,parameter :: unset=-9.9999D6 correct_properties=.True. ns=-1 nb=-1 nc=-1 n=t1elementnumberfromid(S95_t1,id) select case(id) case(711,713,721,723,731,733,741,743,5739,10574,6224,6225,6226,6276,6301,6309) !these have a very simple model-likeness test, so we can have a non-zero deltax case default if(S95_t1(n)%deltax.gt.0.0D0)then write(*,*)'hello id=',id,'deltax=',S95_t1(n)%deltax stop'error in subroutine model_likeness (1)' endif end select select case(id) case(8961,0598) ! ns = 3; nb = 2; call initialise_XS_rat_BR_rat nc = 6; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(10010,10607) ! ns = 4; nb = 2; call initialise_XS_rat_BR_rat nc = 8; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_vbf_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_tthj_ratio(j) ! BR_rat(1) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j),0.0D0,1.0D0) ! BR_rat(2) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(13443) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hjZ_ratio(j) , div(t%BR_hjinvisible(j),1.0D0,0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j) , div(t%BR_hjinvisible(j),1.0D0,0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_HZ_SM(j) , 1.0D0 /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j) , 1.0D0 /) case(6436) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(9290) ! ns = 4; nb = 4; call initialise_XS_rat_BR_rat nc = 16; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j),0.0D0,1.0D0) ! BR_rat(4) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) case(9674,9897,9999) ! ns = 4; nb = 3; call initialise_XS_rat_BR_rat nc = 12; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(7081,9166,9483,5586,9642,1266,0432,9891,5285,3935,6087,6170,10212,6223,6299,10583,10798,10596) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(10500) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) case(9248,10133,10439) ! ns = 4; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) case(4800) ! ns = 4; nb = 3; call initialise_XS_rat_BR_rat nc = 12; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j),0.0D0,1.0D0) ! BR_rat(3) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(5845) ! ns = 4; nb = 2; call initialise_XS_rat_BR_rat nc = 8; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) case(5858,6177,6295,1887,10065,10485,4960) ! ns = 4; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjgaga(j) , t%BR_Hgaga_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) case(9465,5871,9022,9023,0710,9887,5984,9714,4162,10102,6006,4481,4468,6095,10432,6179,6302,10599) ! ns = 4; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) case(6082,6182,6219,10573,6276) ! ns = 4; nb = 2; call initialise_XS_rat_BR_rat nc = 8; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) case(3331) ! ns = 1; nb = 2; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hj_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) case(6301) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) case(6309) ! ns = 4; nb = 2; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) case(1268,6091) ! ns = 2; nb = 2; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) case(6008,9998) ! ns = 5; nb = 5; call initialise_XS_rat_BR_rat nc = 25; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! XS_rat(5) = t%tev%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div(t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) ! BR_rat(5) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_tthj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(25,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(17,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(18,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(19,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(20,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(21,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(22,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(23,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(24,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(25,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hbb_SM(j) /) case(6183,3233) ! ns = 4; nb = 4; call initialise_XS_rat_BR_rat nc = 16; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div(t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) case(6286) ! ns = 4; nb = 4; call initialise_XS_rat_BR_rat nc = 9; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hmumu_SM(j) /) case(6305) ! ns = 4; nb = 3; call initialise_XS_rat_BR_rat nc = 12; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) case(6096,10606,10806,10884) nc = 30; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_tthj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(25,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(26,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(27,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(28,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(29,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(30,:) = (/ t%tev%XS_tthj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(17,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(18,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(19,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(20,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(21,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(22,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(23,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(24,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(25,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(26,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(27,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(28,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(29,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(30,:) = (/ t%tev%XS_ttH_SM(j) , t%BR_Hbb_SM(j) /) case(6229) ! ns = 4; nb = 6; call initialise_XS_rat_BR_rat nc = 24; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) ! BR_rat(5) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j) ,0.0D0,1.0D0) ! BR_rat(6) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(17,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(18,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(19,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(20,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(21,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(22,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(23,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(24,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(6304) ! ns = 4; nb = 5; call initialise_XS_rat_BR_rat nc = 20; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(13,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(17,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(18,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(19,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(20,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(6171) ! ns = 4; nb = 3; call initialise_XS_rat_BR_rat nc = 12; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hj_ratio(j) ! XS_rat(3) = t%tev%XS_hjZ_ratio(j) ! XS_rat(4) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j),0.0D0,1.0D0) ! BR_rat(3) = div(( t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j) ) & ! & , t%BR_Hjets_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%tev%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%tev%XS_vbf_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%tev%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%tev%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%tev%XS_hj_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%tev%XS_vbf_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%tev%XS_hjW_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%tev%XS_hjZ_ratio(j) , & & div((t%BR_hjss(j)+t%BR_hjcc(j)+t%BR_hjbb(j)+t%BR_hjgg(j)),t%BR_Hjets_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%tev%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%tev%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%tev%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(6,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(7,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(8,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(9,:) = (/ t%tev%XS_H_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(10,:) = (/ t%tev%XS_vbf_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(11,:) = (/ t%tev%XS_HW_SM(j) , t%BR_Hjets_SM(j) /) channel_SM(12,:) = (/ t%tev%XS_HZ_SM(j) , t%BR_Hjets_SM(j) /) !---------------------- LHC 7/8 TeV searches -------------------- case(5757,2011005,3615,2012018) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hj_ratio(j) ! XS_rat(2) = t%tev%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) case(12046) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HWW_SM(j) /) case(2011048,11004,11015,11013,11028,11006,11017,110271,110272,14161,14162,5064,2012017,2011150,2011131) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! BR_rat(1) = div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j) , t%BR_HZZ_SM(j) /) case(11034,12039,13009,12006,2012078) ! ns = 1; nb = 2; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc7%XS_hjW_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_HW_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) case(12051) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc7%XS_hjW_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_hjZ_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_HW_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_HZ_SM(j) , t%BR_Htautau_SM(j) /) case(2012015) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%tev%XS_hjW_ratio(j) ! XS_rat(2) = t%tev%XS_hjZ_ratio(j) ! BR_rat(1) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j),0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hjW_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_hjZ_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_HW_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_HZ_SM(j) , t%BR_Hbb_SM(j) /) case(2011162,1415) ! ns = 4; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! BR_rat(1) = div(t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) case(2012092,20130131) nc = 4; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HZZ_SM(j) /) case(11025,1997) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div(t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) case(12041,130021,130022) nc = 5; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) case(2011026,11005,11016,11026,3478,3357,2011148,2012016) ! ns = 2; nb = 2; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div(t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) case(11003,11014,2577,11024,1489) ! ns = 5; nb = 2; call initialise_XS_rat_BR_rat nc = 10; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) case(12042,13003,13027) nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) case(2012014) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) case(2012160) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) case(11009,11020,2011133) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) case(110291) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) case(12043) nc = 4; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Htautau_SM(j) /) case(2013010,7663) nc = 4; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hmumu_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hmumu_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hmumu_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hmumu_SM(j) /) case(11031,2011103,11012) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hbb_SM(j) /) case(12044,13012) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hbb_SM(j) /) case(13011) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hbb_SM(j) /) case(2012161) nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hbb_SM(j) /) case(11021) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! BR_rat(1) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) case(110212) ! ns = 3; nb = 1; call initialise_XS_rat_BR_rat nc = 3; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(2) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjW_ratio(j) ! BR_rat(1) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) case(2011025,2011085,2011161,5895,1414,1487,12001,11010,11030) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) case(2012091,2012168) ! ns = 5; nb = 1; call initialise_XS_rat_BR_rat nc = 5; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) case(12015,13001) nc = 5; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) case(13006,13075515,2013009,3051) nc = 5; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HZga_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HZga_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HZga_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HZga_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HZga_SM(j) /) case(2748, 1408) ! ns = 5; nb = 3; call initialise_XS_rat_BR_rat nc = 15; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(2) = t%lhc7%XS_hj_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) case(11011,2011163) ! ns = 5; nb = 4; call initialise_XS_rat_BR_rat nc = 20; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(2) = t%lhc7%XS_hj_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(17,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(18,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(19,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(20,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) case(2012012) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 2; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) case(2012158,2013030) ! ns = 2; nb = 1; call initialise_XS_rat_BR_rat nc = 4; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HWW_SM(j) /) case(2012135,12025) nc = 1; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hbb_SM(j) /) case(2011112) ! ns = 5; nb = 4; call initialise_XS_rat_BR_rat nc = 20; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(2) = t%lhc7%XS_hj_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(4) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(17,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hbb_SM(j) /) channel_SM(18,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(19,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hbb_SM(j) /) channel_SM(20,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hbb_SM(j) /) case(11022,11032,1488,12008,2011157,2012019,2011135) ! ns = 5; nb = 5; call initialise_XS_rat_BR_rat nc = 25; call initialise_channel_rat_SM ! XS_rat(1) = t%lhc7%XS_hj_ratio(j) ! XS_rat(2) = t%lhc7%XS_vbf_ratio(j) ! XS_rat(1) = t%lhc7%XS_hjW_ratio(j) ! XS_rat(3) = t%lhc7%XS_hjZ_ratio(j) ! XS_rat(5) = t%lhc7%XS_tthj_ratio(j) ! BR_rat(1) = div( t%BR_hjZZ(j) , t%BR_HZZ_SM(j) ,0.0D0,1.0D0) ! BR_rat(2) = div( t%BR_hjWW(j) , t%BR_HWW_SM(j) ,0.0D0,1.0D0) ! BR_rat(3) = div( t%BR_hjgaga(j) , t%BR_Hgaga_SM(j) ,0.0D0,1.0D0) ! BR_rat(4) = div(t%BR_hjtautau(j) , t%BR_Htautau_SM(j) ,0.0D0,1.0D0) ! BR_rat(5) = div( t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) channel_rat(1,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(25,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(17,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(18,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(19,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(20,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) channel_SM(21,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(22,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hbb_SM(j) /) channel_SM(23,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(24,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hbb_SM(j) /) channel_SM(25,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hbb_SM(j) /) case(12045) nc = 25; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(25,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(17,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(18,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(19,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(20,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) channel_SM(21,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(22,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hbb_SM(j) /) channel_SM(23,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(24,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hbb_SM(j) /) channel_SM(25,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Hbb_SM(j) /) case(7214) nc = 25; call initialise_channel_rat_SM channel_rat(1,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(2,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(3,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(4,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(5,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) /) channel_rat(6,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(7,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(8,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(9,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(10,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) /) channel_rat(11,:) = (/ t%lhc8%XS_hj_ratio(j) , div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(12,:) = (/ t%lhc8%XS_vbf_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(13,:) = (/ t%lhc8%XS_hjZ_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(14,:) = (/ t%lhc8%XS_hjW_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(15,:) = (/ t%lhc8%XS_tthj_ratio(j), div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) /) channel_rat(16,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(17,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(18,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(19,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(20,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) /) channel_rat(21,:) = (/ t%lhc7%XS_hj_ratio(j) , div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(22,:) = (/ t%lhc7%XS_vbf_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(23,:) = (/ t%lhc7%XS_hjZ_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(24,:) = (/ t%lhc7%XS_hjW_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_rat(25,:) = (/ t%lhc7%XS_tthj_ratio(j), div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) /) channel_SM(1,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HWW_SM(j) /) channel_SM(2,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HWW_SM(j) /) channel_SM(3,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HWW_SM(j) /) channel_SM(4,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HWW_SM(j) /) channel_SM(5,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HWW_SM(j) /) channel_SM(6,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_HZZ_SM(j) /) channel_SM(7,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_HZZ_SM(j) /) channel_SM(8,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_HZZ_SM(j) /) channel_SM(9,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_HZZ_SM(j) /) channel_SM(10,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_HZZ_SM(j) /) channel_SM(11,:) = (/ t%lhc8%XS_H_SM(j) , t%BR_Hgaga_SM(j) /) channel_SM(12,:) = (/ t%lhc8%XS_vbf_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(13,:) = (/ t%lhc8%XS_HZ_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(14,:) = (/ t%lhc8%XS_HW_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(15,:) = (/ t%lhc8%XS_ttH_SM(j), t%BR_Hgaga_SM(j) /) channel_SM(16,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Htautau_SM(j) /) channel_SM(17,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Htautau_SM(j) /) channel_SM(18,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Htautau_SM(j) /) channel_SM(19,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Htautau_SM(j) /) channel_SM(20,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Htautau_SM(j) /) channel_SM(21,:) = (/ t%lhc7%XS_H_SM(j) , t%BR_Hbb_SM(j) /) channel_SM(22,:) = (/ t%lhc7%XS_vbf_SM(j), t%BR_Hbb_SM(j) /) channel_SM(23,:) = (/ t%lhc7%XS_HZ_SM(j), t%BR_Hbb_SM(j) /) channel_SM(24,:) = (/ t%lhc7%XS_HW_SM(j), t%BR_Hbb_SM(j) /) channel_SM(25,:) = (/ t%lhc7%XS_ttH_SM(j), t%BR_Hbb_SM(j) /) case(5739,10574) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%tev%XS_tthj_ratio(j) BR_rat(1) = div(t%BR_hjbb(j) , t%BR_Hbb_SM(j) ,0.0D0,1.0D0) if(t%CP_value(j).eq.1)then ! analysis only applies if higgs is CP even else correct_properties=.False. endif case(711) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjbb(j) !note *not* normalised to SM if(t%CP_value(j).eq.1)then ! analysis only applies if higgs is CP even else correct_properties=.False. endif case(713) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjbb(j)!note *not* normalised to SM if(t%CP_value(j).eq.-1)then ! analysis only applies if higgs is CP odd else correct_properties=.False. endif case(721) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.1)then ! analysis only applies if higgs is CP even else correct_properties=.False. endif case(723) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.-1)then ! analysis only applies if higgs is CP odd else correct_properties=.False. endif case(731) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_tautauhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.1)then ! analysis only applies if higgs is CP even else correct_properties=.False. endif case(733) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_tautauhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.-1)then ! analysis only applies if higgs is CP odd else correct_properties=.False. endif case(741) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.1)then ! analysis only applies if higgs is CP even else correct_properties=.False. endif case(743) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%lep%XS_bbhj_ratio(j) BR_rat(1) = t%BR_hjtautau(j)!note *not* normalised to SM if(t%CP_value(j).eq.-1)then ! analysis only applies if higgs is CP odd else correct_properties=.False. endif case(1811,2011094,13035) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%BR_tHpjb(j) BR_rat(1) = t%BR_Hpjcs(j) if( (t%BR_tHpjb(j)+t%BR_tWpb ).le.0.98D0)then correct_properties=.False. elseif((t%BR_Hpjcs(j)+t%BR_Hpjtaunu(j)).le.0.98D0)then correct_properties=.False. endif case(1812,7712,8353,11002,11008) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%BR_tHpjb(j) BR_rat(1) = t%BR_Hpjtaunu(j) if( (t%BR_tHpjb(j)+t%BR_tWpb).le.0.98D0)then correct_properties=.False. elseif((t%BR_Hpjcs(j)+t%BR_Hpjtaunu(j)).le.0.98D0)then correct_properties=.False. endif case(2011138,2011151,2760,2013090,2014050,14020) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%BR_tHpjb(j) BR_rat(1) = t%BR_Hpjtaunu(j) if( (t%BR_tHpjb(j)+t%BR_tWpb).le.0.98D0)then correct_properties=.False. endif case(1269,1270) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%BR_tHpjb(j) BR_rat(1) = t%BR_Hpjcs(j) if( (t%BR_tHpjb(j)+t%BR_tWpb ).le.0.98D0)then correct_properties=.False. elseif( t%BR_Hpjcs(j) .le.0.98D0)then correct_properties=.False. endif case(6224) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%tev%XS_hjb_ratio(j)*t%tev%XS_Hb_c4_SM(j) BR_rat(1) = 1.0D0 if( ( t%BR_hjtautau(j)+t%BR_hjbb(j) ).le.0.98D0)then correct_properties=.False. elseif( t%BR_hjtautau(j) .le.0.06D0)then correct_properties=.False. endif case(6225) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%tev%XS_hjb_ratio(j)*t%tev%XS_Hb_c4_SM(j) BR_rat(1) = 1.0D0 if( ( t%BR_hjtautau(j)+t%BR_hjbb(j) ).le.0.98D0)then correct_properties=.False. elseif( t%BR_hjtautau(j) .le.0.1D0)then correct_properties=.False. endif case(6226) ns = 1; nb = 1; call initialise_XS_rat_BR_rat XS_rat(1) = t%tev%XS_hjb_ratio(j)*t%tev%XS_Hb_c4_SM(j) BR_rat(1) = 1.0D0 if( ( t%BR_hjtautau(j)+t%BR_hjbb(j) ).le.0.98D0)then correct_properties=.False. elseif( t%BR_hjtautau(j) .le.0.14D0)then correct_properties=.False. endif !case(801,802,803,811,813,821) !ns = 1; nb = 1; call initialise_XS_rat_BR_rat ! XS_rat(1) = !BR_rat(1) = !if((t%BR_Hpjcb(j)+t%BR_Hpjcs(j)+t%BR_Hpjtaunu(j)).gt.0.98D0)then !else ! correct_properties=.False. !endif case default write(*,*)'hello id=',id stop 'error in subroutine model_likeness (2)' end select !---------------------------------------------------------- !--New model likeness check (TS 23/03/2012) !---------------------------------------------------------- if(allocated(channel_rat)) then if(nc.ne.ubound(channel_rat,dim=1))stop'error in subroutine model_likeness (3a)' if(nc.ne.ubound(channel_SM,dim=1))stop'error in subroutine model_likeness (3a)' ! Check if the channels have been filled correctly do ic=1,nc if(abs(channel_rat(ic,1)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4a)' if(abs(channel_rat(ic,2)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4a)' if(abs(channel_SM(ic,1)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4a)' if(abs(channel_SM(ic,2)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4a)' enddo !---Eliminate irrelevant channels (=channels with very small SM prediction). !---Construct mean value of the ratio for the relevant channels nc_rel=0 do ic=1,nc if(channel_SM(ic,1).gt.vsmall.and.channel_SM(ic,2).gt.vsmall) then nc_rel=nc_rel+1 channel_SM(nc_rel,:)=channel_SM(ic,:) channel_rat(nc_rel,:)=channel_rat(ic,:) endif enddo if(nc_rel.gt.0) then nc=nc_rel call reallocate_channel_rat_SM endif !--Evaluate the total SM rate expected for the (relevant) channels SMrate=0. do ic=1,nc SMrate=SMrate+channel_SM(ic,1)*channel_SM(ic,2) enddo !--Evaluate the predicted signal strength modifier c of the model c=0. do ic=1,nc !----use a weighted average of the channel rate ratios if(use_weight) then weight = div(channel_SM(ic,1)*channel_SM(ic,2),SMrate,0.0D0,1.0D9) else weight = 1.0D0/nc endif c=c+weight*channel_rat(ic,1)*channel_rat(ic,2) enddo !--Evaluate the deviation of each channel rate ratio to the signal !--strength modifier c allocate(dcbyc(nc)) do ic=1,nc dcbyc(ic)= div((channel_rat(ic,1)*channel_rat(ic,2)-c),c,0.0D0,1.0D9) enddo !--Do the model likeness test testSMratios= 1 !passes the SM-like ratios test do ic=1,nc !----Again, evaluate the weight of the channel if(use_weight) then weight = div(channel_SM(ic,1)*channel_SM(ic,2),SMrate,0.0D0,1.0D9) else weight = 1.0D0 endif !----Check if the channel fulfills the model likeness criteria ! print *, ic, channel_rat(ic,1), channel_rat(ic,2), abs(dcbyc(ic)*weight), dcbyc(ic), weight, c if(abs(dcbyc(ic)*weight).gt.eps)then testSMratios= -1 !fails the SM-like ratios test endif enddo !--Write total ratio into s and b to return later. s=c b=1. deallocate(channel_rat) deallocate(channel_SM) deallocate(dcbyc) !-If channel_rat is not allocated, use old method: else if(ns.ne.ubound(XS_rat,dim=1))stop'error in subroutine model_likeness (3a)' if(nb.ne.ubound(BR_rat,dim=1))stop'error in subroutine model_likeness (3b)' do is=1,ns if(abs(XS_rat(is)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4a)' enddo do ib=1,nb if(abs(BR_rat(ib)-unset).lt.1.0D-3)stop'error in subroutine model_likeness (4b)' enddo s=sum(XS_rat)/ns b=sum(BR_rat)/nb allocate(dsbys(ns)) do is=1,ns dsbys(is)= div((XS_rat(is) -s),s, 0.0D0,1.0D9) enddo allocate(dbbyb(nb)) do ib=1,nb dbbyb(ib)= div((BR_rat(ib) -b),b, 0.0D0,1.0D9) enddo testSMratios= 1 !passes the SM-like ratios test do is=1,ns do ib=1,nb if(abs( dsbys(is)+dbbyb(ib)+dsbys(is)*dbbyb(ib) ).gt.eps )then testSMratios= -1 !fails the SM-like ratios test endif enddo enddo deallocate(dsbys) deallocate(dbbyb) deallocate(XS_rat) deallocate(BR_rat) endif if(testSMratios.lt.0)correct_properties=.False. if(correct_properties)then model_like= 1 !passes the model-likeness test sigmaXbr=s*b else model_like= -1 !fails the model-likeness test sigmaXbr=0.0D0 endif contains !---------------------------------------- subroutine initialise_XS_rat_BR_rat allocate(XS_rat(ns)) allocate(BR_rat(nb)) XS_rat=unset BR_rat=unset allocate(XS_SM_temp(ns)) allocate(BR_SM_temp(nb)) XS_SM_temp=unset BR_SM_temp=unset end subroutine initialise_XS_rat_BR_rat !---------------------------------------- subroutine initialise_channel_rat_SM allocate(channel_rat(nc,2)) allocate(channel_SM(nc,2)) channel_rat=unset channel_SM=unset end subroutine initialise_channel_rat_SM !---------------------------------------- subroutine reallocate_channel_rat_SM double precision, allocatable :: reallocate_array(:,:) allocate(reallocate_array(nc,2)) reallocate_array(1:nc,:) = channel_rat(1:nc,:) deallocate(channel_rat) allocate(channel_rat(nc,2)) channel_rat = reallocate_array reallocate_array(1:nc,:) = channel_SM(1:nc,:) deallocate(channel_SM) allocate(channel_SM(nc,2)) channel_SM = reallocate_array deallocate(reallocate_array) end subroutine reallocate_channel_rat_SM !---------------------------------------- end subroutine model_likeness !*********************************************************** subroutine fill_blank_ft1_dat(ft1,ft1_sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) ! don't forget to deallocate f_t1%dat use usefulbits, only : small implicit none integer :: ilower,ihigher double precision, intent(in) :: ft1_sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable type(table1) :: ft1 if(abs(vmass_xmin-vmass_xmax).lt.small)stop'problem in f_from_t3 (4)' ft1%sep=ft1_sep ! we want f_t1%xmin to be lower than x1lower if((vmasslower -vmass_xmin).ge.0.0D0)then ilower = int((vmasslower -vmass_xmin)/vmass_sep)+1 else !off lower edge of table ilower = int((vmasslower -vmass_xmin)/vmass_sep)+1-1 !-1 since int rounds up for negative numbers endif ihigher = int((vmasshigher-vmass_xmin)/vmass_sep)+2 ! we want f_t1%xmax to be higher than x1higher ft1%xmin = dble(ilower - 1)*vmass_sep + vmass_xmin ft1%xmax = dble(ihigher - 1)*vmass_sep + vmass_xmin ft1%nx=nint((ft1%xmax-ft1%xmin)/ft1%sep)+1 allocate(ft1%dat(ft1%nx,1)) ft1%dat(:,1)=valueoutsidetable end subroutine fill_blank_ft1_dat !*********************************************************** subroutine f_from_t1(t1,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) ! Fills the f_t1 array with the information from a t1 array ! ! Do not forget to deallocate f_t1%dat later on !*********************************************************** use interpolate use usefulbits, only : small implicit none !--------------------------------------input type(table1), intent(in) :: t1 double precision, intent(in) :: vmasslower,vmasshigher,valueoutsidetable double precision, intent(in) :: sepmultfactor integer, intent(in) :: datcomp !-----------------------------------output type(table1), intent(out) :: f_t1 !-----------------------------------internal integer :: i double precision :: interpol double precision :: vmass,vmass_xmin,vmass_xmax,vmass_sep !------------------------------------------- if(vmasslower.gt.vmasshigher)then stop'problem in f_from_t1 (1)' endif f_t1%id = t1%id f_t1%deltax = t1%deltax vmass_xmin = t1%xmin vmass_xmax = t1%xmax vmass_sep = t1%sep f_t1%sep = t1%sep*sepmultfactor call fill_blank_ft1_dat(f_t1,f_t1%sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) do i=1,ubound(f_t1%dat,dim=1) vmass = dble(i-1)*f_t1%sep + f_t1%xmin if( vmass.lt.vmass_xmin-small )then f_t1%dat(i,1)=valueoutsidetable elseif( vmass.gt.vmass_xmax+small )then f_t1%dat(i,1)=valueoutsidetable else call interpolate_tabletype1(vmass,t1,datcomp,interpol) f_t1%dat(i,1)=interpol endif enddo end subroutine f_from_t1 !*********************************************************** subroutine f_from_t2(t2,m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) ! Fills the f_t1 array with the information from a t2 array along a line ! m2 = line_grad*m1 + line_const ! ! Do not forget to deallocate f_t1%dat later on !*********************************************************** use interpolate use usefulbits, only : small implicit none !--------------------------------------input type(table2), intent(in) :: t2 double precision, intent(in) :: m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2 double precision, intent(in) :: vmasslower,vmasshigher,valueoutsidetable double precision, intent(in) :: sepmultfactor integer, intent(in) :: datcomp,vmassm1orm2 !-----------------------------------output type(table1), intent(out) :: f_t1 !-----------------------------------internal type(table1) :: t1 double precision :: line_grad,line_const integer :: i logical :: const_m1,const_m2 integer :: const_m1_i,const_m2_j logical :: on_m1_gridline,on_m2_gridline double precision :: interpol,mass1,mass2 double precision :: m1bit,m2bit double precision :: vmass,vmass_xmin,vmass_xmax,vmass_sep integer :: ftype_selection(1) !------------------------------------------- if(vmasslower.gt.vmasshigher)then stop'problem in f_from_t2 (1)' endif if(abs(m1_at_ref_point_1-m1_at_ref_point_2).lt.small)then const_m1=.True. !line_grad is not needed !line_const is not needed else const_m1=.False. line_grad =(m2_at_ref_point_1-m2_at_ref_point_2)/(m1_at_ref_point_1-m1_at_ref_point_2) line_const=(m1_at_ref_point_1*m2_at_ref_point_2-m1_at_ref_point_2*m2_at_ref_point_1) & & /(m1_at_ref_point_1-m1_at_ref_point_2) endif if(abs(m2_at_ref_point_1-m2_at_ref_point_2).lt.small)then const_m2=.True. else const_m2=.False. endif f_t1%id = t2%id f_t1%deltax = t2%deltax select case(vmassm1orm2) case(1) if(const_m1)stop'problem in f_from_t2 (3a)' vmass_xmin = t2%xmin1 vmass_xmax = t2%xmax1 vmass_sep = t2%sep1 f_t1%sep = t2%sep1*sepmultfactor case(2) if(const_m2)stop'problem in f_from_t2 (3b)' vmass_xmin = t2%xmin2 vmass_xmax = t2%xmax2 vmass_sep = t2%sep2 f_t1%sep = t2%sep2*sepmultfactor case default stop'problem in f_from_t2 (3)' end select call fill_blank_ft1_dat(f_t1,f_t1%sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) on_m1_gridline=.False. if(const_m1)then const_m1_i=nint( (m1_at_ref_point_1-t2%xmin1) /t2%sep1)+1 m1bit= m1_at_ref_point_1 -(dble(const_m1_i-1)*t2%sep1+t2%xmin1)/t2%sep1 if(m1bit.lt.small)on_m1_gridline=.True. endif on_m2_gridline=.False. if(const_m2)then const_m2_j=nint( (m2_at_ref_point_1-t2%xmin2) /t2%sep2)+1 m2bit= m2_at_ref_point_1 -(dble(const_m2_j-1)*t2%sep2+t2%xmin2)/t2%sep2 if(m2bit.lt.small)on_m2_gridline=.True. endif ftype_selection(1)=datcomp if( on_m1_gridline )then call fill_t1_from_t2(t2,2,const_m1_i,ftype_selection,t1) call f_from_t1(t1,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) deallocate(t1%dat) elseif(on_m2_gridline )then call fill_t1_from_t2(t2,1,const_m2_j,ftype_selection,t1) call f_from_t1(t1,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) deallocate(t1%dat) else do i=1,ubound(f_t1%dat,dim=1) vmass = dble(i-1)*f_t1%sep + f_t1%xmin if(t2%nx2.eq.1)then mass1 = vmass mass2 = t2%xmin2 elseif(vmassm1orm2.eq.1)then mass1 = vmass mass2 = mass1*line_grad+line_const else mass2 = vmass if(const_m1)then mass1 = m1_at_ref_point_1 else mass1 = (mass2 - line_const)/line_grad endif endif if( vmass.lt.vmass_xmin-small )then f_t1%dat(i,1)=valueoutsidetable elseif( vmass.gt.vmass_xmax+small )then f_t1%dat(i,1)=valueoutsidetable elseif(( t2%needs_M2_gt_2M1 ).and.(2.0D0*mass1>mass2+small))then f_t1%dat(i,1)=valueoutsidetable elseif((.not.(t2%needs_M2_gt_2M1)).and.(mass1>mass2+small).and.(t2%nx2.gt.1))then f_t1%dat(i,1)=valueoutsidetable else call interpolate_tabletype2(mass1,mass2,t2,datcomp,interpol) f_t1%dat(i,1)=interpol endif enddo endif end subroutine f_from_t2 !****************************************************************** subroutine f_from_slices_t2(slices_t2,m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2,z, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) !****************************************************************** ! fill the f_t1 array with the information from a t3 array at constant sf along a line ! m2 = line_grad*m1 + line_const ! do not forget to deallocate dat use S95tables_type3 use interpolate use usefulbits, only : small implicit none type(table2), intent(in) :: slices_t2(2) type(table1) :: f_t1 double precision, intent(in) :: m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2 double precision, intent(in) :: z,vmasslower,vmasshigher,valueoutsidetable double precision, intent(in) :: sepmultfactor double precision :: line_grad,line_const integer, intent(in) :: datcomp,vmassm1orm2 integer :: i logical :: const_m1,const_m2 double precision :: interpol,mass1,mass2 double precision :: vmass,vmass_xmin,vmass_xmax,vmass_sep double precision :: z_below,z_above if(vmasslower.gt.vmasshigher)then stop'problem in f_from_slices_t2 (1)' endif if(abs(m1_at_ref_point_1-m1_at_ref_point_2).lt.small)then const_m1=.True. else const_m1=.False. endif if(abs(m2_at_ref_point_1-m2_at_ref_point_2).lt.small)then const_m2=.True. else const_m2=.False. endif ! check if mass is within z range of table: if( .not. ( (z .ge. slices_t2(1)%z-small).and.(z .le. slices_t2(2)%z+small) ) )then !#1! written in convoluted way to get the NaNs f_t1%id = slices_t2(1)%id f_t1%deltax = slices_t2(1)%deltax if((slices_t2(1)%nx2.eq.1).or.(vmassm1orm2.eq.1))then if(const_m1)stop'problem in f_from_slices_t2 (1a)' vmass_xmin = slices_t2(1)%xmin1 vmass_sep = slices_t2(1)%sep1 f_t1%sep = slices_t2(1)%sep1*sepmultfactor else if(const_m2)stop'problem in f_from_slices_t2 (1b)' vmass_xmin = slices_t2(1)%xmin2 vmass_sep = slices_t2(1)%sep2 f_t1%sep = slices_t2(1)%sep2*sepmultfactor endif call fill_blank_ft1_dat(f_t1,f_t1%sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) else !#1 z_below=slices_t2(1)%z z_above=slices_t2(2)%z if(abs(z_below-z).lt.small)then !z is the same as z_below !#2 call f_from_t2(slices_t2(1),m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,1, & & f_t1,valueoutsidetable) elseif(abs(z_above-z).lt.small)then !z is the same as z_above !#2 call f_from_t2(slices_t2(2),m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,1, & & f_t1,valueoutsidetable) else!#2 if(const_m1)then !line_grad is not needed !line_const is not needed else line_grad =(m2_at_ref_point_1-m2_at_ref_point_2)/(m1_at_ref_point_1-m1_at_ref_point_2) line_const=(m1_at_ref_point_1*m2_at_ref_point_2-m1_at_ref_point_2*m2_at_ref_point_1) & & /(m1_at_ref_point_1-m1_at_ref_point_2) endif f_t1%id = slices_t2(1)%id f_t1%deltax = slices_t2(1)%deltax if((slices_t2(1)%nx2.eq.1).or.(vmassm1orm2.eq.1))then vmass_xmin = slices_t2(1)%xmin1 vmass_xmax = slices_t2(1)%xmax1 vmass_sep = slices_t2(1)%sep1 f_t1%sep = slices_t2(1)%sep1*sepmultfactor else if(const_m2)stop'problem in f_from_slices_t2 (3b)' vmass_xmin = slices_t2(1)%xmin2 vmass_xmax = slices_t2(1)%xmax2 vmass_sep = slices_t2(1)%sep2 f_t1%sep = slices_t2(1)%sep2*sepmultfactor endif call fill_blank_ft1_dat(f_t1,f_t1%sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) do i=1,ubound(f_t1%dat,dim=1) vmass = dble(i-1)*f_t1%sep + f_t1%xmin if(slices_t2(1)%nx2.eq.1)then mass1 = vmass mass2 = slices_t2(1)%xmin2 else select case(vmassm1orm2) case(1) mass1 = vmass mass2 = mass1*line_grad+line_const case(2) mass2 = vmass if(const_m1)then mass1 = m1_at_ref_point_1 else mass1 = (mass2 - line_const)/line_grad endif case default stop'problem in f_from_slices_t2 (4b)' end select endif if( vmass.lt.vmass_xmin-small )then f_t1%dat(i,1)=valueoutsidetable elseif( vmass.gt.vmass_xmax+small )then f_t1%dat(i,1)=valueoutsidetable elseif((slices_t2(1)%nx2.gt.1).and.( slices_t2(1)%needs_M2_gt_2M1 ).and.(2.0D0*mass1>mass2+small))then f_t1%dat(i,1)=valueoutsidetable elseif((slices_t2(1)%nx2.gt.1).and.(.not.(slices_t2(1)%needs_M2_gt_2M1)).and.(mass1>mass2+small))then f_t1%dat(i,1)=valueoutsidetable else call interpolate_slices_t2(mass1,mass2,z,slices_t2,datcomp,interpol) f_t1%dat(i,1)=interpol endif enddo endif !#2 endif !#1 end subroutine f_from_slices_t2 !****************************************************************** subroutine f_from_t3(t3,m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2,z, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) !****************************************************************** ! fill the f_t1 array with the information from a t3 array at constant sf along a line ! m2 = line_grad*m1 + line_const ! do not forget to deallocate dat use S95tables_type3 use interpolate use usefulbits, only : small implicit none type(table3), intent(in) :: t3 type(table2) :: slices_t2(2) type(table1) :: f_t1 double precision, intent(in) :: m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2 double precision, intent(in) :: z,vmasslower,vmasshigher,valueoutsidetable double precision, intent(in) :: sepmultfactor integer, intent(in) :: datcomp,vmassm1orm2 integer :: a logical :: const_m1,const_m2 double precision :: vmass_xmin,vmass_xmax,vmass_sep integer :: ilow,c_zi(2),ftype_selection(1) double precision :: z_below,z_above if(vmasslower.gt.vmasshigher)then stop'problem in f_from_t3 (1)' endif if(abs(m1_at_ref_point_1-m1_at_ref_point_2).lt.small)then const_m1=.True. else const_m1=.False. endif if(abs(m2_at_ref_point_1-m2_at_ref_point_2).lt.small)then const_m2=.True. else const_m2=.False. endif ! check if mass is within z range of table: if( .not. ( (z .ge. t3%zmin-small).and.(z .le. t3%zmax+small) ) )then !#1! written in convoluted way to get the NaNs f_t1%id = t3%id f_t1%deltax = t3%deltax if((t3%nx2.eq.1).or.(vmassm1orm2.eq.1))then if(const_m1)stop'problem in f_from_t3 (1a)' vmass_xmin = t3%xmin1 vmass_sep = t3%sep1 f_t1%sep = t3%sep1*sepmultfactor else if(const_m2)stop'problem in f_from_t3 (1b)' vmass_xmin = t3%xmin2 vmass_sep = t3%sep2 f_t1%sep = t3%sep2*sepmultfactor endif call fill_blank_ft1_dat(f_t1,f_t1%sep,vmasslower,vmasshigher,vmass_xmin,vmass_xmax,vmass_sep,valueoutsidetable) else !#1 ilow=int((z-t3%zmin)/t3%zsep)+1 z_below=dble(ilow-1)*t3%zsep+t3%zmin z_above=z_below+t3%zsep if(abs(z_below-z).lt.small)then !z is the same as z_below !#2 c_zi= ilow elseif(abs(z_above-z).lt.small)then !z is the same as z_above !#2 c_zi= ilow+1 else !#2 c_zi(1)= ilow c_zi(2)= ilow+1 endif !#2 ftype_selection(1)=datcomp call fill_slices_t2_from_slices_of_t3(t3,c_zi,ftype_selection,slices_t2) call f_from_slices_t2(slices_t2,m1_at_ref_point_1,m2_at_ref_point_1,m1_at_ref_point_2,m2_at_ref_point_2,z, & & vmassm1orm2,vmasslower,vmasshigher,sepmultfactor,datcomp, & & f_t1,valueoutsidetable) do a=1,2 deallocate(slices_t2(a)%dat) enddo endif !#1 end subroutine f_from_t3 !************************************************************ subroutine convolve_chisq_with_gaussian(t1,datcomp,sigma,mass,result) !************************************************************ ! intergrate exp(-t1%dat(xi,1)/2)*exp(-(massx-mass)^2/(2*sigma^2))/sqrt(2*pi*sigma^2) w.r.t. x ! between xlower and xhigher ! then do -2.0D0*log to get result ! negative data points are invalid. They are set to zero. use usefulbits, only : vsmall,vvsmall,pi !internal use interpolate use S95tables_type1 implicit none type(table1),intent(in) :: t1 integer,intent(in) :: datcomp double precision,intent(in) :: sigma,mass double precision,intent(out) :: result !-----------------------------------internal integer :: i,ilow,ihigh,j,divisions,n,ntot double precision :: runningtotal,massx,datvalue,newsep double precision,allocatable :: newdat(:) double precision :: big_number_instead_of_infinity double precision :: dati,datiplus1 !------------------------------------------- if((datcomp.lt.lbound(t1%dat,dim=2)).or.(datcomp.gt.ubound(t1%dat,dim=2)))then stop'wrong datcomp inputted to subroutine convolve_with_gaussian' elseif(t1%nx.le.1)then stop'wrong t1%nx inputted to subroutine convolve_with_gaussian (2)' elseif(sigma.le.vsmall)then stop'wrong sigma inputted to subroutine convolve_with_gaussian' elseif(abs(t1%sep).le.vsmall)then stop'wrong t1%sep inputted to subroutine convolve_with_gaussian' endif big_number_instead_of_infinity=1.0D5 divisions=5 !do i=1,t1%nx ! if(t1%dat(i,datcomp).ge.big_number_instead_of_infinity)t1%dat(i,datcomp)=1.0D20 !enddo n=0 if(minval(t1%dat(:,datcomp)).lt.1.0D4)then ilow = lbound(t1%dat,dim=1) ihigh = ubound(t1%dat,dim=1) if(ilow.eq.ihigh)stop'problem in subroutine convolve_with_gaussian' newsep=t1%sep/dble(divisions) ntot=divisions*(ihigh-ilow)+1 allocate(newdat(ntot)) newdat=0.0D0 do i=ilow,ihigh dati=t1%dat(i,datcomp) if(dati.ge.0.0D0)then n=n+1 massx=dble(i-1)*t1%sep+t1%xmin datvalue=dati newdat(n)=exp(-datvalue/2.0D0) & & *exp(-(massx-mass)**2.0D0/(2.0D0*sigma**2.0D0))/sqrt(2.0D0*pi*sigma**2.0D0) if(i.lt.ihigh)then datiplus1=t1%dat(i+1,datcomp) if(datiplus1.ge.0.0D0)then do j=2,divisions-1 n=n+1 massx=dble(i-1)*t1%sep+t1%xmin + dble(j-1)*newsep !do a=1,ihigh ! write(*,*)a,dble(a-1)*t1%sep+t1%xmin ,t1%dat(a,datcomp) !enddo datvalue=dati +((datiplus1-dati)/t1%sep)*dble(j-1)*newsep if(datvalue.lt.0.0D0)then !these are invalid point or places outside range of table datvalue=0.0D0 endif newdat(n)=exp(-datvalue/2.0D0) & & *exp(-(massx-mass)**2.0D0/(2.0D0*sigma**2.0D0))/sqrt(2.0D0*pi*sigma**2.0D0) enddo else do j=2,divisions-1 n=n+1 enddo endif else !negative data points are invalid do j=2,divisions-1 n=n+1 enddo endif !massx=dble(i-1)*t1%sep+t1%xmin !newdat(i)=exp(-t1%dat(i,datcomp)/2.0D0) & ! & *exp(-(massx-mass)**2.0D0/(2.0D0*sigma**2.0D0))/sqrt(2.0D0*pi*sigma**2.0D0) else do j=1,divisions-1 n=n+1 enddo endif enddo !intergrate with trapezium rule runningtotal=0.5D0*(newdat(1)+newdat(ntot)) if((ntot).gt.1)then do n=2,ntot-1 runningtotal=runningtotal+newdat(n) enddo endif deallocate(newdat) if(abs(runningtotal).le.vvsmall)then result= big_number_instead_of_infinity else result= -2.0D0*log(runningtotal*newsep) endif if(result.gt.22.4D0)then !corresponds to clsb=1.0D-6, which is the lowest clsb that ppchi2 can take as input result= big_number_instead_of_infinity endif else result= big_number_instead_of_infinity endif end subroutine convolve_chisq_with_gaussian !************************************************************ function S95_t1_or_S95_t2_idfromelementnumber(ttype,tlist) !************************************************************ implicit none integer :: S95_t1_or_S95_t2_idfromelementnumber integer,intent(in) ::tlist integer,intent(in) ::ttype select case(ttype) case(1) S95_t1_or_S95_t2_idfromelementnumber=S95_t1(tlist)%id case(2) S95_t1_or_S95_t2_idfromelementnumber=S95_t2(tlist)%id case default stop'wrong input to function S95_t1_or_S95_t2_idfromelementnumber' end select end function S95_t1_or_S95_t2_idfromelementnumber !************************************************************ function S95_t1_or_S95_t2_elementnumberfromid(ttype,id) !************************************************************ use S95tables_type1, only :t1elementnumberfromid use S95tables_type2, only :t2elementnumberfromid implicit none integer,intent(in) ::id integer,intent(in) ::ttype integer :: S95_t1_or_S95_t2_elementnumberfromid select case(ttype) case(1) S95_t1_or_S95_t2_elementnumberfromid= t1elementnumberfromid(S95_t1,id) case(2) S95_t1_or_S95_t2_elementnumberfromid= t2elementnumberfromid(S95_t2,id) case default stop'problem with function S95_t1_or_S95_t2_elementnumberfromid' end select end function S95_t1_or_S95_t2_elementnumberfromid !************************************************************ subroutine deallocate_S95tables !************************************************************ implicit none !-----------------------------------internal integer x !------------------------------------------- do x=lbound(S95_t1,dim=1),ubound(S95_t1,dim=1) deallocate(S95_t1(x)%dat) enddo do x=lbound(S95_t2,dim=1),ubound(S95_t2,dim=1) deallocate(S95_t2(x)%dat) enddo deallocate(S95_t1) deallocate(S95_t2) call deallocate_Exptranges end subroutine deallocate_S95tables !*********************************************************** subroutine deallocate_Exptranges !*********************************************************** implicit none if(allocated(Exptrange_Mhmin_forSMXS)) deallocate(Exptrange_Mhmin_forSMXS) if(allocated(Exptrange_Mhmax_forSMXS)) deallocate(Exptrange_Mhmax_forSMXS) if(allocated(Exptrange_Mhmin_forSMdecays)) deallocate(Exptrange_Mhmin_forSMdecays) if(allocated(Exptrange_Mhmax_forSMdecays)) deallocate(Exptrange_Mhmax_forSMdecays) end subroutine deallocate_Exptranges !*********************************************************** end module S95tables !************************************************************ Index: trunk/HiggsBounds_KW/Expt_tables/ATLtables/3051_Atlas_H-Zga_24.8fb-1.txt =================================================================== --- trunk/HiggsBounds_KW/Expt_tables/ATLtables/3051_Atlas_H-Zga_24.8fb-1.txt (revision 0) +++ trunk/HiggsBounds_KW/Expt_tables/ATLtables/3051_Atlas_H-Zga_24.8fb-1.txt (revision 486) @@ -0,0 +1,306 @@ +#arXiv:1402.3051, Feb 2014 +#3051_Atlas_H-Zga_24.8fb-1 +# +#Columns: Mh obs exp (ratio wrt SM) + + 120.0 18.39 15.46 + 120.1 17.91 15.30 + 120.2 17.44 15.15 + 120.3 16.96 14.99 + 120.4 16.49 14.84 + 120.5 16.02 14.68 + 120.6 15.54 14.53 + 120.7 15.07 14.37 + 120.8 14.59 14.22 + 120.9 14.12 14.06 + 121.0 13.64 13.89 + 121.1 13.17 13.72 + 121.2 12.69 13.55 + 121.3 12.22 13.38 + 121.4 11.75 13.21 + 121.5 11.27 13.04 + 121.6 11.06 12.87 + 121.7 10.85 12.75 + 121.8 10.64 12.63 + 121.9 10.43 12.52 + 122.0 10.22 12.40 + 122.1 10.16 12.28 + 122.2 10.09 12.17 + 122.3 10.03 12.05 + 122.4 9.968 11.93 + 122.5 9.905 11.82 + 122.6 9.957 11.70 + 122.7 10.01 11.58 + 122.8 10.06 11.47 + 122.9 10.11 11.36 + 123.0 10.17 11.25 + 123.1 10.22 11.14 + 123.2 10.34 11.03 + 123.3 10.46 10.92 + 123.4 10.58 10.81 + 123.5 10.70 10.70 + 123.6 10.82 10.59 + 123.7 10.94 10.50 + 123.8 11.06 10.41 + 123.9 11.18 10.32 + 124.0 11.30 10.24 + 124.1 11.36 10.15 + 124.2 11.41 10.06 + 124.3 11.47 9.971 + 124.4 11.53 9.882 + 124.5 11.58 9.794 + 124.6 11.58 9.706 + 124.7 11.58 9.633 + 124.8 11.58 9.561 + 124.9 11.58 9.489 + 125.0 11.58 9.416 + 125.1 11.58 9.344 + 125.2 11.50 9.271 + 125.3 11.41 9.199 + 125.4 11.33 9.126 + 125.5 11.24 9.054 + 125.6 11.14 8.981 + 125.7 11.03 8.909 + 125.8 10.93 8.841 + 125.9 10.83 8.772 + 126.0 10.72 8.704 + 126.1 10.62 8.636 + 126.2 10.49 8.567 + 126.3 10.35 8.499 + 126.4 10.22 8.431 + 126.5 10.09 8.362 + 126.6 9.959 8.294 + 126.7 9.828 8.226 + 126.8 9.696 8.178 + 126.9 9.565 8.129 + 127.0 9.433 8.081 + 127.1 9.302 8.033 + 127.2 9.171 7.985 + 127.3 9.039 7.937 + 127.4 8.908 7.889 + 127.5 8.776 7.840 + 127.6 8.645 7.792 + 127.7 8.513 7.744 + 127.8 8.382 7.696 + 127.9 8.250 7.648 + 128.0 8.119 7.600 + 128.1 7.987 7.545 + 128.2 7.856 7.491 + 128.3 7.739 7.437 + 128.4 7.623 7.382 + 128.5 7.506 7.328 + 128.6 7.390 7.274 + 128.7 7.274 7.219 + 128.8 7.157 7.165 + 128.9 7.041 7.111 + 129.0 6.924 7.056 + 129.1 6.808 7.002 + 129.2 6.691 6.970 + 129.3 6.575 6.939 + 129.4 6.490 6.908 + 129.5 6.404 6.876 + 129.6 6.319 6.845 + 129.7 6.233 6.813 + 129.8 6.148 6.782 + 129.9 6.063 6.750 + 130.0 5.997 6.719 + 130.1 5.932 6.687 + 130.2 5.866 6.656 + 130.3 5.801 6.624 + 130.4 5.735 6.593 + 130.5 5.670 6.561 + 130.6 5.604 6.530 + 130.7 5.539 6.499 + 130.8 5.473 6.467 + 130.9 5.408 6.436 + 131.0 5.340 6.404 + 131.1 5.273 6.384 + 131.2 5.205 6.363 + 131.3 5.138 6.343 + 131.4 5.070 6.322 + 131.5 5.002 6.301 + 131.6 4.935 6.281 + 131.7 4.867 6.260 + 131.8 4.800 6.240 + 131.9 4.732 6.219 + 132.0 4.664 6.199 + 132.1 4.597 6.178 + 132.2 4.529 6.157 + 132.3 4.462 6.137 + 132.4 4.394 6.116 + 132.5 4.326 6.096 + 132.6 4.266 6.075 + 132.7 4.206 6.055 + 132.8 4.146 6.034 + 132.9 4.086 6.019 + 133.0 4.026 6.003 + 133.1 3.966 5.988 + 133.2 3.906 5.972 + 133.3 3.846 5.957 + 133.4 3.786 5.941 + 133.5 3.745 5.925 + 133.6 3.704 5.910 + 133.7 3.664 5.894 + 133.8 3.623 5.879 + 133.9 3.582 5.863 + 134.0 3.542 5.848 + 134.1 3.501 5.832 + 134.2 3.501 5.817 + 134.3 3.501 5.801 + 134.4 3.501 5.786 + 134.5 3.501 5.770 + 134.6 3.520 5.755 + 134.7 3.539 5.739 + 134.8 3.558 5.724 + 134.9 3.577 5.708 + 135.0 3.596 5.693 + 135.1 3.615 5.684 + 135.2 3.684 5.674 + 135.3 3.753 5.665 + 135.4 3.822 5.656 + 135.5 3.891 5.647 + 135.6 3.960 5.638 + 135.7 4.030 5.629 + 135.8 4.099 5.620 + 135.9 4.184 5.611 + 136.0 4.269 5.602 + 136.1 4.355 5.593 + 136.2 4.440 5.584 + 136.3 4.526 5.575 + 136.4 4.611 5.566 + 136.5 4.696 5.557 + 136.6 4.782 5.548 + 136.7 4.867 5.539 + 136.8 4.953 5.530 + 136.9 5.038 5.521 + 137.0 5.123 5.511 + 137.1 5.209 5.502 + 137.2 5.294 5.493 + 137.3 5.335 5.488 + 137.4 5.376 5.483 + 137.5 5.417 5.478 + 137.6 5.459 5.473 + 137.7 5.500 5.468 + 137.8 5.541 5.463 + 137.9 5.582 5.458 + 138.0 5.623 5.453 + 138.1 5.664 5.448 + 138.2 5.701 5.443 + 138.3 5.737 5.438 + 138.4 5.774 5.433 + 138.5 5.811 5.428 + 138.6 5.847 5.423 + 138.7 5.884 5.418 + 138.8 5.920 5.413 + 138.9 5.988 5.408 + 139.0 6.056 5.403 + 139.1 6.123 5.398 + 139.2 6.191 5.393 + 139.3 6.258 5.388 + 139.4 6.326 5.383 + 139.5 6.394 5.378 + 139.6 6.461 5.373 + 139.7 6.579 5.368 + 139.8 6.696 5.363 + 139.9 6.813 5.358 + 140.0 6.931 5.353 + 140.1 7.048 5.348 + 140.2 7.166 5.343 + 140.3 7.283 5.338 + 140.4 7.400 5.333 + 140.5 7.514 5.328 + 140.6 7.628 5.323 + 140.7 7.742 5.321 + 140.8 7.856 5.319 + 140.9 7.970 5.317 + 141.0 8.083 5.315 + 141.1 8.197 5.313 + 141.2 8.311 5.311 + 141.3 8.416 5.309 + 141.4 8.520 5.307 + 141.5 8.624 5.306 + 141.6 8.676 5.304 + 141.7 8.727 5.302 + 141.8 8.778 5.300 + 141.9 8.829 5.298 + 142.0 8.880 5.296 + 142.1 8.869 5.294 + 142.2 8.858 5.292 + 142.3 8.846 5.290 + 142.4 8.835 5.288 + 142.5 8.824 5.287 + 142.6 8.771 5.285 + 142.7 8.719 5.283 + 142.8 8.667 5.281 + 142.9 8.615 5.279 + 143.0 8.563 5.277 + 143.1 8.510 5.275 + 143.2 8.416 5.273 + 143.3 8.321 5.271 + 143.4 8.226 5.269 + 143.5 8.131 5.268 + 143.6 8.036 5.266 + 143.7 7.941 5.267 + 143.8 7.848 5.268 + 143.9 7.754 5.270 + 144.0 7.661 5.271 + 144.1 7.567 5.272 + 144.2 7.474 5.273 + 144.3 7.380 5.275 + 144.4 7.287 5.276 + 144.5 7.198 5.277 + 144.6 7.109 5.279 + 144.7 7.021 5.280 + 144.8 6.932 5.281 + 144.9 6.844 5.282 + 145.0 6.755 5.284 + 145.1 6.667 5.285 + 145.2 6.578 5.286 + 145.3 6.490 5.288 + 145.4 6.410 5.289 + 145.5 6.331 5.290 + 145.6 6.252 5.292 + 145.7 6.173 5.293 + 145.8 6.094 5.294 + 145.9 6.015 5.301 + 146.0 5.936 5.308 + 146.1 5.857 5.315 + 146.2 5.778 5.323 + 146.3 5.672 5.330 + 146.4 5.567 5.337 + 146.5 5.461 5.344 + 146.6 5.355 5.351 + 146.7 5.249 5.358 + 146.8 5.144 5.365 + 146.9 5.038 5.372 + 147.0 4.943 5.380 + 147.1 4.848 5.387 + 147.2 4.753 5.394 + 147.3 4.658 5.401 + 147.4 4.564 5.408 + 147.5 4.469 5.415 + 147.6 4.404 5.422 + 147.7 4.339 5.429 + 147.8 4.274 5.436 + 147.9 4.208 5.452 + 148.0 4.143 5.467 + 148.1 4.078 5.483 + 148.2 4.013 5.499 + 148.3 3.956 5.514 + 148.4 3.899 5.530 + 148.5 3.843 5.545 + 148.6 3.786 5.561 + 148.7 3.774 5.576 + 148.8 3.763 5.592 + 148.9 3.751 5.607 + 149.0 3.740 5.623 + 149.1 3.729 5.638 + 149.2 3.743 5.654 + 149.3 3.757 5.669 + 149.4 3.771 5.685 + 149.5 3.786 5.700 + 149.6 3.831 5.716 + 149.7 3.877 5.731 + 149.8 3.922 5.747 + 149.9 3.968 5.762 + 150.0 4.013 5.778 Index: trunk/HiggsBounds_KW/Expt_tables/ATLtables/7663_Atlas_H-mumu_24.8fb-1.txt =================================================================== --- trunk/HiggsBounds_KW/Expt_tables/ATLtables/7663_Atlas_H-mumu_24.8fb-1.txt (revision 0) +++ trunk/HiggsBounds_KW/Expt_tables/ATLtables/7663_Atlas_H-mumu_24.8fb-1.txt (revision 486) @@ -0,0 +1,36 @@ +#1406.7663, June 2014 +#7663_Atlas_H-mumu_24.8fb-1 +# +#Columns: Mh obs exp (ratio wrt SM) + + 120.0 9.577 6.737 + 121.0 9.076 6.793 + 122.0 8.575 6.849 + 123.0 8.046 6.960 + 124.0 7.517 7.071 + 125.0 7.210 7.183 + 126.0 6.904 7.294 + 127.0 6.765 7.405 + 128.0 6.626 7.591 + 129.0 6.598 7.777 + 130.0 6.570 7.962 + 131.0 6.654 8.148 + 132.0 6.737 8.333 + 133.0 7.155 8.519 + 134.0 7.572 8.797 + 135.0 8.435 9.076 + 136.0 9.298 9.465 + 137.0 10.63 9.855 + 138.0 11.97 10.24 + 139.0 13.31 10.84 + 140.0 14.59 11.43 + 141.0 15.87 12.03 + 142.0 16.87 12.95 + 143.0 17.43 13.88 + 144.0 17.32 14.81 + 145.0 16.54 16.12 + 146.0 15.59 17.43 + 147.0 14.64 19.38 + 148.0 14.31 21.33 + 149.0 14.98 23.97 + 150.0 16.82 26.61