6import proton_bremsstrahlung
9PDG = ROOT.TDatabasePDG.Instance()
14 return bool(pdg == 9900015
or pdg == 4900023)
20 print(
"A' production rate per p.o.t: \t %.8g" % (xswg))
23 print(
"A' rho form factor: \t %.8g" % rhoff)
25 print(
"A' rescaled production rate per p.o.t:\t %.8g" % (xswg * rhoff))
32 print(
"A' production rate per p.o.t: \t %.8g" % (xswg))
35 print(
"A' penalty factor: \t %.8g" % penalty)
37 print(
"A' rescaled production rate per p.o.t:\t %.8g" % (xswg * penalty))
51 print(
" -- ERROR, unknown mother pdgId %d" % mumPdg)
67 print(
"BR of %d meson to photons: %.8g" % (mumPdg, br))
72 mMeson = PDG.GetParticle(mumPdg).Mass()
74 print(
"Mass of mother %d meson is %3.3f" % (mumPdg, mMeson))
76 br = 2 * epsilon**2 * pow((1 - mass**2 / mMeson**2), 3) *
mesonBRtoPhoton(mumPdg, doprint)
80 print(
"Branching ratio of %d meson to DP is %.8g" % (mumPdg, br))
85 mMeson = PDG.GetParticle(mumPdg).Mass()
86 mDaughterMeson = PDG.GetParticle(dauPdg).Mass()
88 print(
"Mass of mother %d meson is %3.3f" % (mumPdg, mMeson))
90 print(
"Mass of daughter %d meson is %3.3f" % (dauPdg, mDaughterMeson))
91 if mass < (mMeson - mDaughterMeson):
92 fac1 = pow(mMeson**2.0 - mDaughterMeson**2.0, -3.0)
93 fac2 = pow((mass**2.0 - (mMeson + mDaughterMeson) ** 2.0) * (mass**2.0 - (mMeson - mDaughterMeson) ** 2.0), 1.5)
94 massfactor = fac1 * fac2
99 print(
"Branching ratio of %d meson to DP is %.8g" % (mumPdg, br))
106 elif mumPdg == 111
or mumPdg == 221:
111 print(
"Warning! Unknown mother pdgId %d, not implemented. Setting br to 0." % mumPdg)
116 brM2DP =
brMesonToDP(mass, epsilon, mumPdg, doprint)
120 return avgMeson * 0.6, avgMeson1 * 0.6
124 return avgMeson * 0.6
131 xs = math.exp(-5.928 - 0.8669 * mass)
133 xs = math.exp(-4.1477 - 1.4745 * mass)
136 return xs * epsilon * epsilon
140 if "pbrem" in prodMode:
143 elif "pbrem1" in prodMode:
146 elif "meson" in prodMode:
148 elif "qcd" in prodMode:
151 print(
"Unknown production mode! Choose among pbrem, meson or qcd.")
def getAverageMesonRate(mumPdg)
def pbremProdRateVDM(mass, epsilon, doprint=True)
def mesonBRtoPhoton(mumPdg, doprint=False)
def getDPprodRate(mass, epsilon, prodMode, mumPdg, doprint=False)
def brMesonToDP(mass, epsilon, mumPdg, doprint=False)
def qcdprodRate(mass, epsilon, doprint=False)
def pbremProdRateDipole(mass, epsilon, doprint=False)
def mesonProdRate(mass, epsilon, mumPdg, doprint=False)
def brMesonToGammaDP(mass, epsilon, mumPdg, doprint=False)
def brMesonToMesonDP(mass, epsilon, mumPdg, dauPdg, doprint=False)
def prodRate(mDarkPhoton, epsilon, tmin=-0.5 *math.pi, tmax=0.5 *math.pi)