def getSiversRowP(x, p, f, mu=-1): result = [] M2_proton = 0.932**2 if (mu == -1): for j in range(rSet.numberOfReplicas): rSet.SetReplica(j) result.append( harpy.get_SiversTMDPDF_kT(x, p, 1)[f + 5] * M2_proton / p) else: for j in range(rSet.numberOfReplicas): rSet.SetReplica(j) result.append( harpy.get_SiversTMDPDF_kT(x, p, 1, mu=mu)[f + 5] * M2_proton / p) return result
def getSiversRowP(x, p, mu=-1): result = [] M2_proton = 0.932**2 for j in range(rSet.numberOfReplicas + 1): rSet.SetReplica(j) result.append( numpy.array(harpy.get_SiversTMDPDF_kT(x, p, 1)) * M2_proton / p) return numpy.array(result)
def getTomography(x, px, py, mu=-1., n=-1): M_proton = 0.932 p = numpy.sqrt(px**2 + py**2) if (n < 0): SetUnTMD(numpy.random.randint(1, unSet.numberOfReplicas + 1)) rSet.SetReplica(numpy.random.randint(1, rSet.numberOfReplicas + 1)) else: SetUnTMD(n) rSet.SetReplica(n) tmd = numpy.array(harpy.get_uTMDPDF_kT( x, p, 1, mu=mu)) - px * M_proton / p * numpy.array( harpy.get_SiversTMDPDF_kT(x, p, 1, mu=mu)) return tmd
######################################################### ## Evaluates pp which is the list of [kT,mean,low,up] for various values of x ######################################################### pp = [] xValues = [0.001, 0.005, 0.01, 0.05, 0.1, 0.5] f = 1 for xx in xValues: M2_proton = 0.932**2 kk = [] for j in range(21): kT = 0.05 * j if (j == 0): kT = 0.001 p0 = ComputeParameters(getSiversRowP(xx, kT, f, mu=2.)) rSet.SetReplica(0) tmd = harpy.get_SiversTMDPDF_kT(xx, kT, 1, mu=2.) kk.append([kT, M2_proton / kT * tmd[f + 5], p0[1], p0[2], p0[3]]) pp.append(kk) #%% print("{", end="") for j in range(len(pp)): kk = pp[j] print("{", end="") for i in range(len(kk)): #print("{","{:2.4f},{:12.9f},{:12.9f},{:12.9f},{:12.9f}".format(kk[i][0],kk[i][1],kk[i][2],kk[i][3],kk[i][4]),"}",end="") print("{", "{:2.4f},{:12.9f},{:12.9f},{:12.9f}".format( kk[i][0], kk[i][2], kk[i][4], kk[i][5]), "}", end="")
rSet.SetReplica(num=0, part="TMDR") harpy.setNPparameters_SiversTMDPDF(central) for i in range(len(Qrange)): for j in range(len(Xrange)): for k in range(len(Rrange)): Qval = float(Qrange[i]) xval = Xrange[j] rval = Rrange[k] if (xval == 1): TMDval = [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.] else: TMDval = harpy.get_SiversTMDPDF_kT(xval, rval * Qval, 1, Qval, Qval**2, includeGluon=False) valuesList[-5][i][j][k] = '{:g}'.format(xval * TMDval[0]) valuesList[-4][i][j][k] = '{:g}'.format(xval * TMDval[1]) valuesList[-3][i][j][k] = '{:g}'.format(xval * TMDval[2]) valuesList[-2][i][j][k] = '{:g}'.format(xval * TMDval[3]) valuesList[-1][i][j][k] = '{:g}'.format(xval * TMDval[4]) #valuesList[0][i][j][k]='{:g}'.format(xval*TMDval[5]) valuesList[1][i][j][k] = '{:g}'.format(xval * TMDval[6]) valuesList[2][i][j][k] = '{:g}'.format(xval * TMDval[7]) valuesList[3][i][j][k] = '{:g}'.format(xval * TMDval[8]) valuesList[4][i][j][k] = '{:g}'.format(xval * TMDval[9]) valuesList[5][i][j][k] = '{:g}'.format(xval * TMDval[10])