跳转至

高级内容:修改衰变

学习目标

  • 学习配置EvtGen的高级配置选项

两体衰变——正确处理角动量

EvtGen为每种两体自旋构型都提供了特定模型,例如标量到矢量+标量(SVS),以及矢量到轻子+轻子(VLL)

#
Decay B+sig
  1.000     MyJ/psi  K+                   SVS;
Enddecay
CDecay B-sig
#
Decay MyJ/psi
  1.000     mu+  mu-                      PHOTOS  VLL;
Enddecay

对于衰变到两个矢量粒子的情况,需要指定更复杂的极化结构。例如,这里根据测量值设置了每个螺旋度的分数和相位:

Define Hp 0.159
Define Hz 0.775
Define Hm 0.612
Define pHp 1.563
Define pHz 0.0
Define pHm 2.712
#
Alias      MyJ/psi    J/psi
Alias      MyK*0      K*0
Alias      Myanti-K*0 anti-K*0
ChargeConj MyK*0      Myanti-K*0
ChargeConj MyJ/psi    MyJ/psi
#
Decay B0sig
  1.000         MyJ/psi   MyK*0          SVV_HELAMP Hp pHp Hz pHz Hm pHm;
Enddecay
Decay anti-B0sig
  1.000         MyJ/psi   Myanti-K*0     SVV_HELAMP Hm pHm Hz pHz Hp pHp;
Enddecay

三体及以上衰变

对于三体及以上的衰变,物理模型会更加复杂。对于完全强子的最终状态,通常会指定达利兹模型,例如:

# D_DALITZ includes resonances contributions (K*(892), K*(1430), K*(1680))
Decay MyD-
  1.000    K+        pi-    pi-          D_DALITZ;
Enddecay
CDecay MyD+

任何时候你看到三体及以上衰变使用PHSP模型,就知道这与实际情况会有很大差距。不过,如果你没有其他信息,有时这也是最好的选择。

半轻子衰变通常会根据某种形状因子模型产生,例如:

Decay B0sig 
# FORM FACTORS as per HFAG PDG10
   1   MyD*-        mu+  nu_mu         PHOTOS  HQET 1.20 1.426 0.818 0.908;
  #
Enddecay
CDecay anti-B0sig

这里的数字对应形状因子参数的测量值。

模型文档

可用于衰变的大多数模型列表可以在文档中找到,不过这个列表并不完整,因为有些模型是LHCb特有的。

混合衰变

通常你会希望在一个样本中模拟不止一种衰变模式,例如:

Decay MyD_s+
 0.0259 phi      mu+     nu_mu                      PHOTOS  ISGW2;
 0.0267 eta      mu+     nu_mu                      PHOTOS  ISGW2;
 0.0099 eta'     mu+     nu_mu                      PHOTOS  ISGW2;
 0.0037 K0       mu+     nu_mu                      PHOTOS  ISGW2;  
 0.0018 K*0      mu+     nu_mu                      PHOTOS  ISGW2;
 0.0020 f_0      mu+     nu_mu                      PHOTOS  ISGW2; 
 0.0059 mu+      nu_mu                              PHOTOS   SLN; 
Enddecay
CDecay MyD_s-

注意,这些分数会被自动归一化以总和为1------你可以直接使用PDG分支比,无需手动重新缩放。

末态辐射

生成衰变后,使用PHOTOS添加末态辐射。注意,即使许多衰变文件明确指定了PHOTOS,它也是默认启用的。需要通过\"noPhotos\"明确禁用。

改变粒子质量/寿命/宽度

有时你需要改变粒子的质量或寿命,可能是因为初始值有误,或者你实际需要的粒子在EvtGen中不存在,需要修改现有粒子。这可以通过插入头部的python代码来完成:

# InsertPythonCode:
#from Configurables import LHCb__ParticlePropertySvc
#LHCb__ParticlePropertySvc().Particles = [ 
# "N(1440)+             636       12212   1.0      1.4400000      2.194041e-24                 N(1440)+           21440      0.00",
# "N(1440)~-            637      -12212  -1.0      1.4400000      2.194841e-24                   anti-N(1440)-           -21440      0.00",
#"N(1520)+              420        2124   1.0      1.52000000      5.723584e-24                   N(1520)+           21520      0.00",
# "N(1520)~-            421       -2124  -1.0      1.52000000     5.723584e-24                   anti-N(1520)-           -21520      0.00",
#"N(1535)+              713       22212   1.0      1.53500000      4.388081e-24                   N(1535)+           21535      0.00",
#"N(1535)~-             714      -22212  -1.0      1.53500000      4.388081e-24                   anti-N(1535)-           -21535      0.00",
#"N(1720)+              775       32124   1.0      1.72000000      2.632849e-24                   N(1720)+           21720      0.00",
#"N(1720)~-             776      -32124  -1.0      1.72000000      2.632849e-24                   anti-N(1720)-           -21720      0.00"
#]
# EndInsertPythonCode

格式如下:

#                    GEANTID    PDGID  CHARGE   MASS(GeV)      TLIFE(s)                    EVTGENNAME    PYTHIAID    MAXWIDTH

查找现有MC样本中使用的常数(质量/寿命等)

如果你有一个预先存在的MC样本,并且想找到在其生成过程中使用的常数(通常是生成粒子的寿命或质量),方法分为两步:

  1. 找到用于生成样本的数据库标签(dddb)。有关如何执行此操作的说明可以在之前的课程中找到
  2. 进入粒子表列表,将分支更改为与你的dddb标签相同。

现在你将看到可能在衰变中使用的每个粒子的所有常数。