diff --git a/FONLL/src/FONLL_wrap.f b/FONLL/src/FONLL_wrap.f index 5bf4a084c244668c53a3d8a3eb7fabf84490e994..a476a61c97bda953d8d7e20eb43ef6445a22c032 100644 --- a/FONLL/src/FONLL_wrap.f +++ b/FONLL/src/FONLL_wrap.f @@ -4,7 +4,7 @@ * ************************************************************************ subroutine FONLL_Set_Input(MassScheme,runm,Mcharm,MBottom,MTop, - 1 Q_ref,Alphas_ref,PtOrder,Scheme) + 1 Q_ref,Alphas_ref,PtOrder,Scheme,Smallx) * implicit none * @@ -17,7 +17,7 @@ double precision Q_ref,Alphas_ref character*7 Scheme character*5 MassScheme - logical runm + logical runm,Smallx double precision Q2save common / PreviousQ2 / Q2save ** @@ -54,6 +54,7 @@ call SetMassScheme(scheme) call SetNumberOfGrids(3) c call EnableDampingFONLL(.false.) +c call SetDampingPowerFONLL(-1,2,2) call SetGridParameters(1,50,3,9.8d-7) call SetGridParameters(2,40,3,1d-2) call SetGridParameters(3,40,3,7d-1) @@ -77,6 +78,13 @@ c call EnableDampingFONLL(.false.) endif endif * +* Small-x resummation +* + if(Smallx)then + call SetSmallxResummation(.true.,"NLL") + call SetQLimits(1.6d0,4550d0) + endif +* * Initialize the APFEL DIS module * call InitializeAPFEL_DIS() diff --git a/input_steering/ewparam.txt.SmallxResummation b/input_steering/ewparam.txt.SmallxResummation new file mode 100644 index 0000000000000000000000000000000000000000..a3b3ac841e979a4b7ca5ca1b9262714c46ae0524 --- /dev/null +++ b/input_steering/ewparam.txt.SmallxResummation @@ -0,0 +1,65 @@ +* +* Electroweak parameters +* + +* Note: DIS uses on-shell electroweak scheme, +* DY uses GFermi scheme + +&EWPars + ! Choice of EW scheme: 0 - alpha(0), 1 - G_mu, 2 - running alpha_EM + ! EWSchemeFlag = 0 + + ! 1/137.035999074(44) = 7.29735d-3 + alphaem = 7.29735d-3 + gf = 1.16638d-5 + sin2thw = 0.23127d0 + ! alphas = 0.1176d0 + convfac = 0.389379338d9 + + ! boson masses + mw = 80.385d0 + mz = 91.1876d0 + mh = 125.9d0 + + ! widths + wz = 2.4952d0 + ww = 2.085d0 + wh = 1d-3 + wtp = 2.0d0 + + ! charges + ! euq = 0.6666666666667d0 + ! edq = -0.3333333333333d0 + + ! CKM ( todo: add Vub & Vcb to DY) + Vud = 0.97427d0 + Vus = 0.2254d0 + Vub = 0.00358d0 + Vcd = 0.22520d0 + Vcs = 0.97344d0 + Vcb = 0.04156d0 + Vtd = 0.00872d0 + Vts = 0.04076d0 + Vtb = 0.999133d0 + + !*** fermion masses + + ! lepton masses + men = 1d-10 + mel = 0.510998928d-3 + mmn = 1d-10 + mmo = 0.1056583715d0 + mtn = 1d-10 + mta = 1.77682d0 + + ! Light quark masses: + mup = 0.06983d0 + mdn = 0.06983d0 + mst = 0.150d0 + + ! Heavy quark masses: + mch = 1.46d0 ! Synchronize with QCDNUM,RT + mtp = 173d0 ! Synchronize with QCDNUM + mbt = 4.5d0 ! Synchronize with QCDNUM,RT + +&end diff --git a/input_steering/minuit.in.txt.SmallxResummation b/input_steering/minuit.in.txt.SmallxResummation new file mode 100644 index 0000000000000000000000000000000000000000..dfa7eda84c68baa9b6eeedeb08eed0d211e00201 --- /dev/null +++ b/input_steering/minuit.in.txt.SmallxResummation @@ -0,0 +1,26 @@ +set title +new 14p HERAPDF +parameters + 2 'Bg' -0.089607 0.017340 + 3 'Cg' 6.181438 0.561598 + 7 'Aprig' -0.000253 0.000162 + 8 'Bprig' -0.963059 0.058750 + 9 'Cprig' 25.000000 0.000000 + 12 'Buv' 0.754313 0.025895 + 13 'Cuv' 4.944407 0.081892 + 15 'Euv' 11.487581 1.410932 + 22 'Bdv' 0.938383 0.084895 + 23 'Cdv' 4.689317 0.389127 + 33 'CUbar' 7.469599 1.312034 + 34 'DUbar' 3.542548 2.187603 + 41 'ADbar' 0.250268 0.008368 + 42 'BDbar' -0.165150 0.004035 + 43 'CDbar' 9.424084 1.829824 + +*call fcn 3 +*migrad 200000 +*hesse +set print 3 + +return + diff --git a/input_steering/steering.txt.SmallxResummation b/input_steering/steering.txt.SmallxResummation new file mode 100644 index 0000000000000000000000000000000000000000..892bcd7caba30033be021c2b0f2ed7462342f848 --- /dev/null +++ b/input_steering/steering.txt.SmallxResummation @@ -0,0 +1,426 @@ +* Namelist to control input data +* + +&InFiles + ! Number of intput files + NInputFiles = 8 + + ! Input files: + + InputFileNames(1) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_920.dat' + InputFileNames(2) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_820.dat' + InputFileNames(3) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_575.dat' + InputFileNames(4) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_460.dat' + InputFileNames(5) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCem.dat' + InputFileNames(6) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCep.dat' + InputFileNames(7) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCem.dat' + InputFileNames(8) = 'datafiles/hera/h1zeusCombined/charmProduction/1211.1182/H1ZEUS_Charm_combined.dat' + +&End + +&InCorr + ! Number of correlation (statistical, systematical or full) files + NCorrFiles = 0 + + ! Correlation files: + ! CorrFileNames(1) = 'datafiles/hera/h1/jets/0904.3870/H1_NormInclJets_HighQ2_99-07___H1_NormInclJets_HighQ2_99-07.corr' +&End + +&CovarToNuisance + ! Global switch for using nuisance param representation for covariance mat. + LConvertCovToNui = .false. + + ! Tolerance -- zero means exact transformation + Tolerance = 0.0 + + ! (Optional) -- try to subtract diagonal stat. uncertainties from total covariance when determining uncorrelated uncertainites + LSubtractStat = .false. + + ! The following lines allow to adjust error scaling properties (default: :M) + DataName = 'CMS electon Asymmetry rapidity', 'CMS W muon asymmetry' + DataSystType = ':A', ':A' +&End + +&QCDNUM + ! do not re-compute QCDNUM tables if they are present and match grid definition + Read_QCDNUM_Tables = .true. + kmuc = 1.12 + kmub = 1.0 + kmut = 1.0 +&End + + +&OutDir + ! Name of the directory where output will be stored (max 255 characters) + OutDirName = 'FONLLC_NoGreenArea_FIT.NEW.2' +&End +* +* (Optional) Modify renormalisation/factorisation scales, dataset +* dependently. The numbering follows sequential numbering of input files +* +&Scales + DataSetMuR = 10*1.0 ! Set muR scale to 1 for all 4 datasets + DataSetMuF = 10*1.0 ! Set muF scale to 1 for all 4 datasets + DataSetTheoryOrder = 8*'NNLO',"NLO","NLO","NLO" + ! DataSetMaxNF(2) = 4 ! Enable the H-VFNS (requires APFEL) + ! DataSetMaxNF = 9*5 + !DataSetTheoryOrder = 'NNLO' + !DataSetTheoryOrder = 2*'NLO' +&End + +* +* (Optional) List systematic sources, modify their scaling properties: +* +&Systematics + !C List sources, Results.txt file would list them first. Use the usual :A, :P, + !C qualifiers to change the scalling properties + ! ListOfSources = 'ATLAS_lumi2010', 'ATL_WZ2010_Source_13:A' + !C Modify the prior in chi2 definition (1.0 is default): + ! PriorScaleName = 'ATLAS_lumi2010', 'ATL_WZ2010_Source_13' + ! PriorScaleFactor = 0.0, 0.0 +&End + + +* +* Main steering cards +* +&xFitter + RunningMode = 'Fit' + ! 'Fit' -- standard MINUIT-minimization of PDF and other parameters + ! 'LHAPDF Analysis' -- Evalutate input LHAPDF set uncertaitnies, chi2, profiling or reweighting + ! Requires &LHAPDF namelist to specify the set name. If PDFSTYLE is not + ! set to LHAPDFQ0, LHAPDF or LHAPDFNATIVE, sets it to LHAPDF + ! 'PDF Rotate' -- performs PDF re-diagonalization. Requires theo.in files to operate properly + + TheoryType = 'DGLAP_APFEL' ! 'DGLAP' -- colinear evolution + ! 'DGLAP_APFEL' -- collinear evolution with APFEL + ! 'DGLAP_QEDEVOL' -- collinear evolution with QEDEVOL + ! 'DGLAP_APFEL_QED' -- collinear evolution with APFEL with QED corrections + ! 'DIPOLE' -- dipole model + ! 'uPDF' -- un-integrated PDFs + !uPDF1 fit with kernel ccfm-grid.dat file + !uPDF2 fit evolved uPDF, fit just normalisation + !uPDF3 fit using precalculated grid of sigma_hat + !uPDF4 fit calculating kernel on fly, grid of sigma_hat + + + Order = 'NNLO' ! 'LO', 'NLO' or 'NNLO', used for DGLAP evolution. + + Q02 = 2.56 ! Evolution starting scale + + ! --- Scheme for heavy flavors + ! --- HF_SCHEME = 'ZMVFNS' : ZM-VFNS (massless) from QCDNUM, + ! --- HF_SCHEME = 'ZMVFNS MELA' : ZM-VFNS (massless) from MELA (N-space), + ! --- HF_SCHEME = 'RT' : Thorne-Roberts VFNS (massive) + ! --- HF_SCHEME = 'RT FAST' : Fast approximate TR VFNS scheme, usign k-factor + ! --- HF_SCHEME = 'RT OPT' : Thorne-Roberts VFNS (massive) + ! --- HF_SCHEME = 'RT OPT FAST' : Fast approximate TR VFNS scheme, usign k-factor + ! --- HF_SCHEME = 'ACOT Full' : ACOT - F.Olness Version (massive), using k-factors + ! --- HF_SCHEME = 'ACOT Full +N2LO' : ACOT - F.Olness Version (massive) adding N2LO approx, using k-factors + ! --- HF_SCHEME = 'ACOT Full +N3LO' : ACOT - F.Olness Version (massive) adding N3LO approx, using k-factors + ! --- HF_SCHEME = 'ACOT Chi' : ACOT - F.Olness Version (massive), using k-factors + ! --- HF_SCHEME = 'ACOT Chi +N2LO' : ACOT - F.Olness Version (massive) adding N2LO approx, using k-factors + ! --- HF_SCHEME = 'ACOT Chi +N3LO' : ACOT - F.Olness Version (massive) adding N3LO approx, using k-factors + ! --- HF_SCHEME = 'ACOT ZM' : ACOT - F.Olness Version (massless), using k-factors + ! --- HF_SCHEME = 'ACOT ZM +N2LO' : ACOT - F.Olness Version (massless), using k-factors + ! --- HF_SCHEME = 'ACOT ZM +N3LO' : ACOT - F.Olness Version (massless), using k-factors + ! --- HF_SCHEME = 'S-ACOT Chi RC' : S-ACOT-chi scheme - CTEQ-TEA Version, using reduced cross section + ! --- HF_SCHEME = 'FF' : Fixed Flavour Number Scheme (qcdnum) + ! --- HF_SCHEME = 'FF ABM' : Fixed Flavour Number Scheme (ABM) + ! --- HF_SCHEME = 'FF ABM RUNM' : Fixed Flavour Number Scheme (ABM) using run mass def + ! --- HF_SCHEME = 'FONLL-A' : FONLL-A mass scheme provided by APFEL with pole masses (available at NLO) + ! --- HF_SCHEME = 'FONLL-A RUNM OFF' : FONLL-A mass scheme provided by APFEL with MSbar masses running OFF (available at NLO) + ! --- HF_SCHEME = 'FONLL-A RUNM ON' : FONLL-A mass scheme provided by APFEL with MSbar masses running ON (available at NLO) + ! --- HF_SCHEME = 'FONLL-B' : FONLL-B mass scheme provided by APFEL with pole masses (available at NLO) + ! --- HF_SCHEME = 'FONLL-B RUNM OFF' : FONLL-B mass scheme provided by APFEL with MSbar masses running OFF (available at NLO) + ! --- HF_SCHEME = 'FONLL-B RUNM ON' : FONLL-B mass scheme provided by APFEL with MSbar masses running ON (available at NLO) + ! --- HF_SCHEME = 'FONLL-C' : FONLL-C mass scheme provided by APFEL with pole masses (available only at NNLO) + ! --- HF_SCHEME = 'FONLL-C RUNM OFF' : FONLL-C mass scheme provided by APFEL with MSbar masses running OFF (available only at NNLO) + ! --- HF_SCHEME = 'FONLL-C RUNM ON' : FONLL-C mass scheme provided by APFEL with MSbar masses running ON (available only at NNLO) + ! (Any of the FONLL schemes at LO is equivalent to the ZM-VFNS) + + HF_SCHEME = 'FONLL-C NLLx' + + ! PDF type. Possible types are currently available: + ! 'proton' -- default (fitting proton data) + ! 'lead' -- fitting ONLY lead data (can't be used in combination with proton data) + + PDFType = 'proton' + + ! PDF parameterisation style. Possible styles are currently available: + ! 'HERAPDF' -- HERAPDF-like with uval, dval, Ubar, Dbar, glu evolved pdfs + ! 'CTEQ' -- CTEQ-like parameterisation + ! 'CTEQHERA' -- Hybrid: valence like CTEQ, rest like HERAPDF + ! 'CHEB' -- CHEBYSHEV parameterisation based on glu,sea, uval,dval evolved pdfs + ! 'LHAPDFQ0' -- use lhapdf library to define pdfs at starting scale and evolve with local qcdnum parameters + ! 'LHAPDF' -- use lhapdf library to define pdfs at all scales + ! 'LHAPDFNATIVE'-- use lhapdf library to access pdfs and alphas + ! 'DDIS' -- use Diffractive DIS + ! 'BiLog' -- bi-lognormal parametrisation + + PDFStyle = 'HERAPDF' + + ! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + ! + ! Chi2 definition. Following options are supported: + ! + ! -- Bias corrections for uncertainties -- + ! 'StatScale' : 'Poisson', 'NoRescale' ( see also 'ExtraSystRescale' below ) + ! 'UncorSysScale': 'Poisson', 'Linear', 'NoRescale' + ! 'CorSysScale' : 'Linear', 'NoRescale' + ! + ! -- Treatment of systematics in chi2 --- + ! 'UncorChi2Type': 'Diagonal' + ! 'CorChi2Type' : 'Hessian', 'Matrix', 'Offset' + ! + ! -- Extra corrections --- + ! are given as comma separated list for Chi2ExtraParam, they are off by default. + ! 'PoissonCorr' : extra log correction accounting for changing uncertainties + ! 'FirstIterationRescale' : re-scale uncertainties at the first iteration only + ! 'ExtraSystRescale' : additional re-scaling of stat. uncertainty to account for syst. shifts. + + CHI2SettingsName = 'StatScale', 'UncorSysScale', 'CorSysScale', 'UncorChi2Type', 'CorChi2Type' + Chi2Settings = 'Poisson' , 'Linear', 'Linear' , 'Diagonal' , 'Hessian' + !Chi2Settings = 'Poisson' , 'Linear', 'Linear' , 'Diagonal' , 'Matrix' + Chi2ExtraParam = 'PoissonCorr' + !Chi2ExtraParam = 'PoissonCorr', 'ExtraSystRescale' + + ! Flag to define if native APPLgrid CKM values should be kept. + LUseAPPLgridCKM = True + + ! Debug flag + LDEBUG = False + + ! Quadratic approximation for asymmetric uncertainties + ! AsymErrorsIterations = 10 +&End + + + +* +* Add extra to minuit parameters. These MUST include alpha_S and fs +* +&ExtraMinimisationParameters + name = 'alphas', 'fs', 'fcharm' + value = 0.118 , 0.4, 0. + step = 0.0 , 0.0 , 0. ! set to 0 to avoid minimisation +&End + + +* +* Output steering cards +* +&Output + ! -- Error bands on parton distributions + DoBands = False ! asymmetric bands (J. Pumplin) + DoBandsSym = False ! symmetric bands ( HESSE ) + + ! -- Q2 values at which the pdfs & errors are done (up to 20) + Q2VAL = 2.56, 2.8, 3.0, 4.0, 5., 10., 100., 6464, 8317 + + ! How many x points to write (standard = 101) + OUTNX = 101 + + ! x-range of output (standard = 1E-4 1.0) + OUTXRANGE = 1E-4, 0.9999 + + ! Do not write out LHAPDF6 output + ! WriteLHAPDF6 = false + + ! Write out LHAPDF5 output + ! WriteLHAPDF5 = false +&End + + + +* +* Process dependent cuts +* +&Cuts + + !--------------------- NC ep -------------------------- + + ! Rule #1: Q2 cuts + ProcessName(1) = 'NC e+-p' + Variable(1) = 'Q2' + CutValueMin(1) = 2.7 + CutValueMax(1) = 1000000.0 + + ! Rule #2: x cuts + ProcessName(2) = 'NC e+-p' + Variable(2) = 'x' + CutValueMin(2) = 0.000001 + CutValueMax(2) = 1.0 + + !--------------------- CC ep ------------------ + + ProcessName(3) = 'CC e+-p' + Variable(3) = 'Q2' + CutValueMin(3) = 2.7 + CutValueMax(3) = 1000000.0 + + ProcessName(4) = 'CC e+-p' + Variable(4) = 'x' + CutValueMin(4) = 0.000001 + CutValueMax(4) = 1.0 + + !-------------------- DY pp ---------------------- + + ProcessName(5) = 'CC pp' + Variable(5) = 'eta1' + CutValueMin(5) = -1. + CutValueMax(5) = 100. + + !------------------- Jets --------------------------- + + ProcessName(6) = 'pp jets APPLGRID' + Variable(6) = 'pt1' + CutValueMin(6) = 20. + CutValueMax(6) = 1000000. + + !--------------------- Fixed target -------------------------- + + ! Rule #7: Whad2 cut + ProcessName(7) = 'muon p' + Variable(7) = 'Whad2' + CutValueMin(7) = 15. + + !--------------------- Fastnlo jets ---------------------- + + ProcessName(8) = 'FastNLO ep jets' + Variable(8) = 'kfac' + CutValueMin(8) = 0.0 + CutValueMax(8) = 2.5 + + !--------------------- NC ep charm ---------------- + + ProcessName(9) = 'NC e+-p charm' + Variable(9) = 'Q2' + CutValueMin(9) = 2.7 + CutValueMax(9) = 10000.0 + + ProcessName(10) = 'NC e+-p charm' + Variable(10) = 'x' + CutValueMin(10) = 0.000001 + CutValueMax(10) = 1.0 + + ProcessName(11) = 'NC e+-p' + Variable(11) = 'y' + CutValueMin(11) = 0.0 + CutValueMax(11) = 1.0 + + ProcessName(12) = 'CC e+-p' + Variable(12) = 'y' + CutValueMin(12) = 0.0 + CutValueMax(12) = 1.0 + + ProcessName(13) = 'NC e+-p charm' + Variable(13) = 'y' + CutValueMin(13) = 0.0 + CutValueMax(13) = 1.0 + +&End + +* +* (Optional) MC errors steering cards +* +&MCErrors + ! Activate MC method for error estimation if lRand = True + lRAND = False + + ! Use data (true, default) or theory (false) for the central values of the MC replica + lRANDDATA = True + + ! MC method Seed + ISeedMC = 123456 + + ! --- Choose what distribution for the random number generator + ! STATYPE (SYS_TYPE) = 1 gauss + ! STATYPE (SYS_TYPE) = 2 uniform + ! STATYPE (SYS_TYPE) = 3 lognormal + ! STATYPE (SYS_TYPE) = 4 poisson (only for lRANDDATA = False !) + STATYPE = 1 + SYSTYPE = 1 +&End + +* +* (Optional) Chebyshev study namelist +* +&Cheb + ! Set following > 0 to turn on: + NCHEBGLU = 0 ! number of parameters for the gluon (max 15) + NCHEBSEA = 0 ! number of parameters for the sea (max 15) + + ! Cheb. polynomial type: multiply by (1-x) (1) or not (0) + ichebtypeGlu = 1 + ichebtypeSea = 1 + + ! Starting point in x: + chebxmin = 1.E-5 + + ILENPDF = 0 ! use pdf length constraint + + ! PDF length constraint strength for different PDFs: + PDFLenWeight = 1., 1., 1., 1., 1. + + ! Range in W where length constraint is applied: + WMNLen = 20. + WMXLen = 320. + +&End + +* +* (Optional) pure polynomial parameterisation for valence quarks +* +&Poly + ! Set to > zero to activate + NPolyVal = 0 + IZPOPOLY = 1 ! ( times (1-x) for 0 and (1-x)^2 for 1) + IPOLYSQR = 0 ! ( ensure positivity of PDFs by squaring them ) +&End + +* +* (Optional) choose the factorisation scale for HQs +* tuned via parameters: mu_f^2 = scalea1 * Q^2 + scaleb1 * 4*m_h^2 +* Available for 'FF', 'FF ABM' options (heavy quarks scale) +* Also defines scale for 'ZMVFNS'.'ACOT Full' and 'ACOT Chi' options ( for these options scale is being set for heavy quarks and light quarks). +&HQScale + scalea1 = 1. + scaleb1 = 0. + MassHQ = 'mc' ! (available: mc, mb), relevant for 'FF', 'ZMVFNS', 'ACOT Full' and 'ACOT chi' +&End + +* +* (Optional) LHAPDF sttering card +* +&lhapdf + !LHAPDFSET = 'CT10nlo' ! LHAPDF grid file + !LHAPDFSET = 'CT14nlo' ! LHAPDF grid file + !LHAPDFSET = 'CT10nlo_CMSWc' ! LHAPDF grid file + !LHAPDFSET = 'CT14nlo_CMSWc' ! LHAPDF grid file + + !LHAPDFSET = 'ATLAS-epWZ12-EIG' ! LHAPDF grid file + !LHAPDFSET = 'ATLAS-epWZ16-EIG' ! LHAPDF grid file + !LHAPDFSET = 'ATLAS-epWZ16-EIG_CMSWc' ! LHAPDF grid file + + !LHAPDFSET = 'MMHT2014nnlo68cl' ! LHAPDF grid file + !LHAPDFSET = 'MMHT2014nlo68cl' ! LHAPDF grid file + !LHAPDFSET = 'MMHT2014nlo68cl_CMSWc' ! LHAPDF grid file + + !LHAPDFSET = 'NNPDF30_nlo_as_0118' ! LHAPDF grid file + !LHAPDFSET = 'NNPDF31_nlo_as_0118' ! LHAPDF grid file + !LHAPDFSET = 'NNPDF30_nlo_as_0118_CMSWc' ! LHAPDF grid file + !LHAPDFSET = 'NNPDF31_nlo_as_0118_CMSWc' ! LHAPDF grid file + LHAPDFSET = 'NNPDF31sx_nnlonllx_as_0118' ! LHAPDF grid file + !LHAPDFSET = 'NNPDF31_nnlo_as_0118' ! LHAPDF grid file + + ILHAPDFSET = 0 ! Set a PDF member of the PDF set (use together with LHAPDFPROFILE = False) + ! LHAPDFVARSET = 'HERAPDF20_NLO_VAR' ! Add a PDF set with model and parametrisation uncertainties + ! NPARVAR = 3 ! Number of parametrisation uncertainties in the LHAPDFVARSET set + ! LHAPDFPROFILE = False ! run only on the set specified by ILHAPDFSET + ! LHASCALEPROFILE = True ! Add QCD scale variations as nuisance parameters + !SCALE68 = True ! Scale PDF uncertainties by a factor 1/1.645 + ! WriteAlphaSToMemberPDF = false + ! NREMOVEPRIORS = 0 ! Remove prior from the last n PDF nuisance parameters + ! DataToTheo = True ! reset data to predictions corresponding to member 0, for sensitivity studies +&End diff --git a/src/apfel.f b/src/apfel.f index 5d7f5a67422ead71c2c1b9eac10a752cd5c61fc0..2527633ad33a7cdc798ffa5344c99f4f094783a6 100644 --- a/src/apfel.f +++ b/src/apfel.f @@ -23,11 +23,10 @@ * if(iTheory.eq.35)then call SetTheory("QUniD") ! Set QCD+QED evolution (default) - call SetPDFEvolution("exactalpha") ! Use DGLAP evolution in terms of muF else call SetTheory("QCD") ! Set QCD evolution (default) - call SetPDFEvolution("exactalpha") ! Use DGLAP evolution in terms of alphas (rather than muF => faster for short steps) endif + call SetPDFEvolution("exactalpha") ! Use DGLAP evolution in terms of alphas (rather than muF => faster for short steps) call SetFastEvolution(.true.) ! Use fast evolution (default) call SetAlphaEvolution("exact") ! Use exact solution on the beta functions (default) call SetQLimits(0.5d0,20000d0) ! Evolution limits @@ -52,6 +51,13 @@ endif call SetMassMatchingScales(kmuc,kmub,kmut) * +* Small-x resummation +* + if(HF_SCHEME(9:12).eq."NLLx")then + call SetSmallxResummation(.true.,"NLL") + call SetQLimits(1.6d0,4550d0) + endif +* * Initialize APFEL * call InitializeAPFEL diff --git a/src/apfel_dum.f b/src/apfel_dum.f index e88417df09d321f8a438a0cd4942a601c36e2d5c..66a8c5f691d880fc4cbd36f22c46897b17b218ad 100644 --- a/src/apfel_dum.f +++ b/src/apfel_dum.f @@ -184,3 +184,11 @@ c---------------------------------------------------------- double precision Q,HeavyQuarkMass call print_apfel_error_message end + + subroutine SetSmallxResummation + call print_apfel_error_message + end + + subroutine SetQLimits + call print_apfel_error_message + end diff --git a/src/init_theory.f b/src/init_theory.f index 6cc466bb348cb50a1e41aab43e5b043bce382dab..a7441454d230c4d1a57c818cb49371e344c2f4d8 100644 --- a/src/init_theory.f +++ b/src/init_theory.f @@ -1,4 +1,3 @@ - subroutine init_theory_modules * ------------------------------------------------ @@ -165,7 +164,14 @@ C Q2 grid weights WGT_q2(2) = 1.d0 C Basic Q2 grid: QARR(1) = 1. - QARR(2) = 2.05D8 ! needed for lhapdf grid + QARR(2) = 2.05D8 ! needed for lhapdf grid +C Reduce the Q2 interval if small-x resummation through APFEL is included. + if(HFSCHEME.eq.3005.or. + 1 HFSCHEME.eq.3055.or. + 2 HFSCHEME.eq.3555)then + QARR(1) = starting_scale + QARR(2) = 2.025D7 ! needed for lhapdf grid + endif c QARR(2) = 64000000. ! enough for 8 TeV LHC. C Default sizes @@ -1428,7 +1434,7 @@ c#include "steering.inc" double precision Q_ref,Alphas_ref character*7 Scheme character*5 MassScheme - logical runm + logical runm,Smallx * MCharm = mch MBottom = mbt @@ -1444,6 +1450,7 @@ c#include "steering.inc" * MassScheme = "Pole" runm = .false. + Smallx = .false. if (I_FIT_order.eq.1) then write(6,*) 'You have selected the FONLL scheme at LO' write(6,*) '*****************************************' @@ -1466,6 +1473,11 @@ c#include "steering.inc" Scheme = "FONLL-A" MassScheme = "MSbar" runm = .true. + elseif(HFSCHEME.eq.3005)then + write(6,*) "You have selected the FONLL-A scheme", + 1 " with small-x resummation at NLL" + Scheme = "FONLL-A" + Smallx = .true. elseif(HFSCHEME.eq.55)then write(6,*) "You have selected the FONLL-B scheme", 1 " with poles masses" @@ -1481,6 +1493,11 @@ c#include "steering.inc" Scheme = "FONLL-B" MassScheme = "MSbar" runm = .true. + elseif(HFSCHEME.eq.3055)then + write(6,*) "You have selected the FONLL-B scheme", + 1 " with small-x resummation at NLL" + Scheme = "FONLL-B" + Smallx = .true. else call HF_errlog(310320151, 'F: '// 1 'At NLO only the FONLL-A and FONLL-B '// @@ -1502,6 +1519,11 @@ c#include "steering.inc" Scheme = "FONLL-C" MassScheme = "MSbar" runm = .true. + elseif(HFSCHEME.eq.3555)then + write(6,*) "You have selected the FONLL-C scheme", + 1 " with small-x resummation at NLL" + Scheme = "FONLL-C" + Smallx = .true. else call HF_errlog(310320152, 'F: '// 1 'At NNLO only the FONLL-C scheme '// @@ -1521,9 +1543,23 @@ c#include "steering.inc" 4 'steering.txt card.') endif endif +* +* If the small-x resummation is included check that APFEL is used also +* for the evolution. +* + if(Smallx)then + if(iTheory.ne.10.and.iTheory.ne.35)then + call HF_errlog(20102017, 'F: '// + 1 'When using the FONLL scheme with small-x '// + 2 'resummation, APFEL must be used for the '// + 3 'evolution. '// + 4 'Please set TheoryType = "DGLAP_APFEL" in the '// + 5 'steering.txt card.') + endif + endif * call FONLL_Set_Input(MassScheme,runm,Mcharm,MBottom,MTop, - 1 Q_ref,Alphas_ref,PtOrder,Scheme) + 1 Q_ref,Alphas_ref,PtOrder,Scheme,Smallx) * return end diff --git a/src/read_steer.f b/src/read_steer.f index 5aaa19f5e0f0e9cb2f58e5afcd443045686cc83d..57660fd3f3d4f36f6ed3e3abf9a0dfddc28a5022 100644 --- a/src/read_steer.f +++ b/src/read_steer.f @@ -1249,18 +1249,24 @@ C--------------------------------- HFSCHEME = 1005 elseif (HF_SCHEME.eq.'FONLL-A RUNM ON') then HFSCHEME = 2005 + elseif (HF_SCHEME.eq.'FONLL-A NLLx') then + HFSCHEME = 3005 elseif (HF_SCHEME.eq.'FONLL-B') then HFSCHEME = 55 elseif (HF_SCHEME.eq.'FONLL-B RUNM OFF') then HFSCHEME = 1055 elseif (HF_SCHEME.eq.'FONLL-B RUNM ON') then HFSCHEME = 2055 + elseif (HF_SCHEME.eq.'FONLL-B NLLx') then + HFSCHEME = 3055 elseif (HF_SCHEME.eq.'FONLL-C') then HFSCHEME = 555 elseif (HF_SCHEME.eq.'FONLL-C RUNM OFF') then HFSCHEME = 1555 elseif (HF_SCHEME.eq.'FONLL-C RUNM ON') then HFSCHEME = 2555 + elseif (HF_SCHEME.eq.'FONLL-C NLLx') then + HFSCHEME = 3555 elseif (HF_SCHEME.eq.'S-ACOT Chi') then HFSCHEME = 17 elseif (HF_SCHEME.eq.'S-ACOT Chi RC') then diff --git a/steering.txt b/steering.txt index fcd6a9eca2b5b8bc28f3c55d021b4a4ccefe2b80..ab852d87cee356bf9f12e50e6b8e4762d383ba23 100644 --- a/steering.txt +++ b/steering.txt @@ -7,14 +7,24 @@ ! Input files: - InputFileNames(1) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_920.dat' - InputFileNames(2) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_820.dat' - InputFileNames(3) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_575.dat' - InputFileNames(4) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_460.dat' - InputFileNames(5) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCem.dat' - InputFileNames(6) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCep.dat' - InputFileNames(7) = 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCem.dat' - + InputFileNames = + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_920-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_820-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_575-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_460-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCem-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCep-thexp.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCem-thexp.dat', + + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_920.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_820.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_575.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCep_460.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_NCem.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCep.dat', + 'datafiles/hera/h1zeusCombined/inclusiveDis/1506.06042/HERA1+2_CCem.dat', + ! 'Z0_applgrid_nnlo_reaction.dat', 'D0_Wel_pt25_asymmetry.dat' + ! 'datafiles/lhc/atlas/wzProduction/1203.4051/Z0_applgrid_nnlo.dat', &End @@ -26,9 +36,18 @@ ! CorrFileNames(1) = 'datafiles/hera/h1/jets/0904.3870/H1_NormInclJets_HighQ2_99-07___H1_NormInclJets_HighQ2_99-07.corr' &End +&ReduceSyst + ! even with tolerance =0 the following flag may speed up calculations + do_reduce = .false. ! turn-on to simplify/speedup chi2 calculation. + ! tolerance = 0.0 for exact calculation, > 0.0 for improved speed. + tolerance = 0.0 + ! depending on blas library, toggling the following flag may improve chi2 computation speed: + useBlas = .false. +&End + &CovarToNuisance ! Global switch for using nuisance param representation for covariance mat. - LConvertCovToNui = .false. + LConvertCovToNui = .False. ! Tolerance -- zero means exact transformation Tolerance = 0.0 @@ -183,6 +202,7 @@ ! Debug flag LDEBUG = False + ! Quadratic approximation for asymmetric uncertainties ! AsymErrorsIterations = 10 &End