a Python Module for Calculating Vector-like Quark Couplings
Contributors: Ali Can Canbay & Orhan Cakir
It is capable of:
- Converting coupling constants between models VLQ_UFO
$^{[1]}$ and VLQ_v4_UFO$^{[2]}$ prepared within the FeynRules$^{[3]}$ framework, - Calculating VLQ decay widths,
- Computing coupling constants for width-to-mass ratio (
$\Gamma/m$ ), - Generating MadGraph5
$^{[4]}$ input card.
By clicking on the 'launch binder' button above, the module can be run online with Binder
Click here for the tutorial.
Installation:
Download the latest release, extract it, enter the extracted file, and run the following command via the console.
python setup.py install
It is defined in the submodule named model.
import VLQcalc.model as model
Creating a VLQ object:
vlq = model.VLQ( VLQ_type, FNS, LR )
Parameter | Format | Values | Default Value |
---|---|---|---|
VLQ_type | string | X, T, B, Y | - |
FNS | integer | 4, 5 | 4 |
LR | bool | True, False | False |
-
$m_{b}=0$ whenFNS=5
-
LR=False
allows calculations with only left-handed couplings, whileLR=True
allows calculations with both left and right-handed couplings.
The mass is passed to the method as a single value or a list of values in integer or float data type in GeV unit.
vlq.setMass( 1000 )
vlq.setMAss( [1000,1500,2000] )
It converts the couplings in VLQ_UFO and VLQ_v4_UFO models to each other.
vlq.convertModel( Kappas, BRs, reverse )
Parameter | Format | Values | Default Value |
---|---|---|---|
Kappas | float/integer or list | any | - |
BRs | float/integer or list | any | 1 |
reverse | bool | True, False | False |
-
Kappas
is-
$\kappa_Q$ where Q is X, T, B or Y for converting couplings from VLQ_UFO to VLQ_v4_UFO. - given in the list as
$[\kappa_H, \kappa_W, \kappa_Z]$ for T and B, while it is only$\kappa_W$ for X and Y when converting couplings from VLQ_v4_UFO to VLQ_UFO.
-
- For T and B, the parameter named
BRs
is given in the list as [BR(Q→Hq), BR(Q→Wq), BR(Q→Zq)] where q represents the 3rd family quarks of the Standard Model. Only BR(Q→Wq) is specified for X and Y. - When the
reverse
value isFalse
, the conversion is from VLQ_UFO to VLQ_v4_UFO; whenTrue
, it is from VLQ_v4_UFO to VLQ_UFO.
It only works with the VLQ_v4_UFO model. Converted couplings can be used for VLQ_UFO model
For T and B:
decayH, decayW, decayZ, Gamma = vlq.calcDecay( Mass, Kappas, LR )
For X and Y:
decayW = vlq.calcDecay( Mass, Kappa, LR )
Parameter | Format | Values | Default Value |
---|---|---|---|
Mass | float/integer or list | any | - |
Kappas | list | any | - |
Kappa | float/integer | any | - |
LR | bool | True, False | False |
It is used to calculate the couplings according to the
It only works with the VLQ_v4_UFO model. Couplings can be converted to VLQ_UFO model after calculations are made according to this model.
The modified Genetic Algorithm (mGA)
vlq.calcRatioKappas( BRs, Ratio )
- Ratio is
$\Gamma_Q/m_Q$ value.
It is defined in the submodule named madgraph.
import VLQcalc.madgraph as madgraph
Creating a MG5 object:
mg5 = madgraph.MG5(VLQ, model)
model
parameter can be VLQ_UFO or VLQ_v4_UFO in string format.
In the MG5 object, there are two different methods for entering a process: setProcess
and addProcess
methods, which take their parameters as strings, are used respectively to define the main process and additional processes.
mg5.setProcess( process )
mg5.addProcess( process )
MG5 object also have the properties in string format listed in the table below.
Property | Values | Default Value |
---|---|---|
shower | OFF, pythia8, ... | OFF |
detector | OFF, Delphes, ... | OFF |
analysis | OFF, ExRoot, MadAnalysis, ... | OFF |
madspin | OFF, ON, onshell, full | OFF |
reweight | OFF, ON | OFF |
addInput
method, which takes a string parameter, is used to define inputs that allow modifications to be made on simulation cards. After all definitions have been made, an MG5 input card can be generated using the createMG5Input
method, which takes the output file name (in string format) as a parameter.
mg5.addInput( input )
mg5.createMG5Input( file_name )
When creating an input card, the processes defined in setProcess
and addProcess
are expanded to include both particles and antiparticles.
- M. Buchkremer, G. Cacciapaglia, A. Deandrea, and L. Panizzi. Model-independent framework for searches of top partners. Nuclear Physics B, 876(2):376–417, 2013.
- B. Fuks and H. S. Shao. QCD next-to-leading-order predictions matched to parton showers for vector-like quark models. The European Physical Journal C, 77(2):1–21, 2017.
- N. D. Christensen and C. Duhr. Feynrules–Feynman rules made easy. Computer Physics Communications,180(9):1614–1641, 2009.
- J. Alwall, M. Herquet, F. Maltoni, O. Mattelaer, and T. Stelzer. Madgraph 5: going beyond. Journal of High Energy Physics, 2011(6):1–40, 2011.
- Jupyter et al. Binder 2.0 - Reproducible, Interactive, Sharable Environments for Science at Scale. Proceedings of the 17th Python in Science Conference. 2018.
- A. C. Canbay. modifiedGA (Version 0.1.0) [Computer software]. DOI: 10.5281/zenodo.12569505, GitHub: acanbay/modifiedGA