From 85ca09456e92af9f1ba2e724180e40077ee816fd Mon Sep 17 00:00:00 2001 From: Adam Morris Date: Wed, 28 Jun 2023 10:38:38 +0200 Subject: [PATCH 1/5] more models --- src/decaylanguage/data/decfile.lark | 19 +++++++++---- src/decaylanguage/dec/enums.py | 42 +++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/src/decaylanguage/data/decfile.lark b/src/decaylanguage/data/decfile.lark index ce99265a..a8cc7efb 100644 --- a/src/decaylanguage/data/decfile.lark +++ b/src/decaylanguage/data/decfile.lark @@ -4,24 +4,32 @@ // or https://github.com/scikit-hep/decaylanguage for details. start : _NEWLINE* (line _NEWLINE+)+ ("End" _NEWLINE+)? -?line : define | pythia_def | jetset_def | model_alias | alias | chargeconj | commands | decay | cdecay | copydecay | setlspw +?line : define | particle_def | pythia_def | jetset_def | ls_def | model_alias | alias | chargeconj | commands | decay | cdecay | copydecay | setlspw | setlsbw | changemasslimit -pythia_def : "PythiaBothParam" LABEL ":" LABEL "=" (LABEL | SIGNED_NUMBER) +pythia_def : ("PythiaBothParam" | "PythiaAliasParam") LABEL ":" LABEL "=" (LABEL | SIGNED_NUMBER) jetset_def : "JetSetPar" LABEL "=" SIGNED_NUMBER +ls_def : ("LSFLAT" | "LSNONRELBW") label + +setlsbw : "BlattWeisskopf" label value + setlspw : "SetLineshapePW" label label label value cdecay : "CDecay" label define : "Define" label value +particle_def: "Particle" label value value + model_alias : "ModelAlias" model_label model alias : "Alias" label label chargeconj : "ChargeConj" label label +changemasslimit : ("ChangeMassMin" | "ChangeMassMax") label value + ?commands : global_photos global_photos : boolean_photos @@ -41,7 +49,7 @@ particle : LABEL // Add full particle parsing here model_label : LABEL model : (model_label _SEMICOLON+ | MODEL_NAME_AND_SC | MODEL_NAME_AND_WS model_options _SEMICOLON+) -model_options : (value | LABEL | _NEWLINE)+ +model_options : (value | LABEL | _NEWLINE | _COMMA)+ // model : model_generic // model_helamp : "HELAMP" (SIGNED_NUMBER SIGNED_NUMBER)+ @@ -55,6 +63,7 @@ model_options : (value | LABEL | _NEWLINE)+ // Disregard comments, (multiple) newlines and whitespace in parser tree _NEWLINE: ( /\r?\n[\t ]*/ | COMMENT ) _SEMICOLON: /;/ +_COMMA: /,/ _WS: WS_INLINE // Model names must either be followed by at least one whitespace (when they have model parameters) or a semicolon (without model parameters) @@ -63,9 +72,9 @@ _WS: WS_INLINE MODEL_NAME_AND_WS.2: MODEL_NAME _WS+ MODEL_NAME_AND_SC.2: MODEL_NAME _WS* _SEMICOLON+ -MODEL_NAME : "BaryonPCR"|"BCL"|"BGL"|"BT02PI_CP_ISO"|"BTO3PI_CP"|"BTOSLLALI"|"BTOSLLBALL"|"BTOXSGAMMA"|"BTOXSLL"|"CB3PI-MPP"|"CB3PI-P00"|"D_DALITZ"|"ETAPRIME_DALITZ"|"ETA_DALITZ"|"ETA_FULLDALITZ"|"ETA_PI0DALITZ"|"FLATQ2"|"GENERIC_DALITZ"|"GOITY_ROBERTS"|"HELAMP"|"HQET3"|"HQET2"|"HQET"|"ISGW2"|"ISGW"|"LbAmpGen"|"LLSW"|"MELIKHOV"|"OMEGA_DALITZ"|"PARTWAVE"|"PHSP"|"PI0_DALITZ"|"PROPSLPOLE"|"PVV_CPLH"|"PYCONT"|"PYTHIA"|"SLBKPOLE"|"SLN"|"SLPOLE"|"SSD_CP"|"SSD_DirectCP"|"SSS_CP"|"SSS_CP_PNG"|"SSS_CPT"|"STS_CP"|"STS"|"SVP_CP"|"SVP_HELAMP"|"SVP"|"SVS_CP_ISO"|"SVS_CPLH"|"SVS_CP"|"SVS_NONCPEIGEN"|"SVS"|"SVV_CPLH"|"SVV_CP"|"SVV_HELAMP"|"SVV_NONCPEIGEN"|"SVVHELCPMIX"|"TAUHADNU"|"TAULNUNU"|"TAUSCALARNU"|"TAUVECTORNU"|"TSS"|"TVP"|"TVS_PWAVE"|"VLL"|"VSP_PWAVE"|"VSS_BMIX"|"VSS_MIX"|"VSS"|"VUB"|"VVPIPI"|"VVP"|"VVS_PWAVE"|"YMSTOYNSPIPICLEO"|"YMSTOYNSPIPICLEOBOOST" +MODEL_NAME : "BCL"|"BC_SMN"|"BC_TMN"|"BC_VHAD"|"BC_VMN"|"BGL"|"BLLNUL"|"BNOCB0TO4PICP"|"BNOCBPTO3HPI0"|"BNOCBPTOKSHHH"|"BQTOLLLL"|"BQTOLLLLHYPERCP"|"BSTOGLLISRFSR"|"BSTOGLLMNT"|"BS_MUMUKK"|"BT02PI_CP_ISO"|"BTO3PI_CP"|"BTODDALITZCPK"|"BTOSLLALI"|"BTOSLLBALL"|"BTOSLLMS"|"BTOSLLMSEXT"|"BTOVLNUBALL"|"BTOXELNU"|"BTOXSGAMMA"|"BTOXSLL"|"BToDiBaryonlnupQCD"|"BaryonPCR"|"CB3PI-MPP"|"CB3PI-P00"|"D0GAMMADALITZ"|"DToKpienu"|"D_DALITZ"|"D_hhhh"|"ETAPRIME_DALITZ"|"ETA_DALITZ"|"ETA_FULLDALITZ"|"ETA_LLPIPI"|"ETA_PI0DALITZ"|"FLATQ2"|"FLATSQDALITZ"|"FOURBODYPHSP"|"GENERIC_DALITZ"|"GOITY_ROBERTS"|"HELAMP"|"HQET"|"HQET2"|"HQET3"|"ISGW"|"ISGW2"|"KS_PI0MUMU"|"LLSW"|"LNUGAMMA"|"LQCD"|"Lb2Baryonlnu"|"Lb2plnuLCSR"|"Lb2plnuLQCD"|"LbAmpGen"|"MELIKHOV"|"OMEGA_DALITZ"|"PARTWAVE"|"PHI_DALITZ"|"PHSP"|"PHSPDECAYTIMECUT"|"PHSPFLATLIFETIME"|"PI0_DALITZ"|"PROPSLPOLE"|"PTO3P"|"PVV_CPLH"|"PYCONT"|"PYTHIA"|"SLBKPOLE"|"SLL"|"SLN"|"SLPOLE"|"SSD_CP"|"SSD_DirectCP"|"SSS_CP"|"SSS_CPT"|"SSS_CP_PNG"|"STS"|"STS_CP"|"SVP"|"SVP_CP"|"SVP_HELAMP"|"SVS"|"SVS_CP"|"SVS_CPLH"|"SVS_CP_ISO"|"SVS_NONCPEIGEN"|"SVVHELCPMIX"|"SVV_CP"|"SVV_CPLH"|"SVV_HELAMP"|"SVV_NONCPEIGEN"|"TAUHADNU"|"TAULNUNU"|"TAUOLA"|"TAUSCALARNU"|"TAUVECTORNU"|"THREEBODYPHSP"|"TSS"|"TVP"|"TVS_PWAVE"|"VLL"|"VSP_PWAVE"|"VSS"|"VSS_BMIX"|"VSS_MIX"|"VTOSLL"|"VUB"|"VVP"|"VVPIPI"|"VVS_PWAVE"|"XLL"|"YMSTOYNSPIPICLEO"|"YMSTOYNSPIPICLEOBOOST"|"doKm"|"imqp" -LABEL : /[a-zA-Z0-9\/\-+*_()']+/ +LABEL : /[a-zA-Z0-9\/\-+*_()'~]+/ COMMENT : /[#][^\n]*/ // We should ignore comments diff --git a/src/decaylanguage/dec/enums.py b/src/decaylanguage/dec/enums.py index 43dc5142..54e74960 100644 --- a/src/decaylanguage/dec/enums.py +++ b/src/decaylanguage/dec/enums.py @@ -21,42 +21,80 @@ class PhotosEnum(IntEnum): # 'decaylanguage/data/decfile.lark'! known_decay_models = ( "BaryonPCR", + "BC_SMN", + "BC_TMN", + "BC_VHAD", + "BC_VMN", "BCL", "BGL", + "BLLNUL", + "BNOCB0TO4PICP", + "BNOCBPTO3HPI0", + "BNOCBPTOKSHHH", + "BS_MUMUKK", + "BSTOGLLISRFSR", + "BSTOGLLMNT", "BT02PI_CP_ISO", "BTO3PI_CP", + "BTODDALITZCPK", + "BToDiBaryonlnupQCD", "BTOSLLALI", "BTOSLLBALL", + "BTOSLLMS", + "BTOSLLMSEXT", + "BTOVLNUBALL", "BTOXSGAMMA", + "BTOXELNU", "BTOXSLL", + "BQTOLLLL", + "BQTOLLLLHYPERCP", "CB3PI-MPP", "CB3PI-P00", "D_DALITZ", + "D_hhhh", + "D0GAMMADALITZ", + "doKm", + "DToKpienu", "ETAPRIME_DALITZ", "ETA_DALITZ", "ETA_FULLDALITZ", + "ETA_LLPIPI", "ETA_PI0DALITZ", "FLATQ2", + "FLATSQDALITZ", + "FOURBODYPHSP", "GENERIC_DALITZ", "GOITY_ROBERTS", "HELAMP", "HQET3", "HQET2", "HQET", + "imqp", "ISGW2", "ISGW", + "KS_PI0MUMU", + "Lb2Baryonlnu", + "Lb2plnuLCSR", + "Lb2plnuLQCD", "LbAmpGen", "LLSW", + "LNUGAMMA", + "LQCD", "MELIKHOV", "OMEGA_DALITZ", "PARTWAVE", + "PHI_DALITZ", "PHSP", + "PHSPDECAYTIMECUT", + "PHSPFLATLIFETIME", "PI0_DALITZ", "PROPSLPOLE", + "PTO3P", "PVV_CPLH", "PYCONT", "PYTHIA", "SLBKPOLE", + "SLL", "SLN", "SLPOLE", "SSD_CP", @@ -81,8 +119,10 @@ class PhotosEnum(IntEnum): "SVVHELCPMIX", "TAUHADNU", "TAULNUNU", + "TAUOLA", "TAUSCALARNU", "TAUVECTORNU", + "THREEBODYPHSP", "TSS", "TVP", "TVS_PWAVE", @@ -91,10 +131,12 @@ class PhotosEnum(IntEnum): "VSS_BMIX", "VSS_MIX", "VSS", + "VTOSLL", "VUB", "VVPIPI", "VVP", "VVS_PWAVE", + "XLL", "YMSTOYNSPIPICLEO", "YMSTOYNSPIPICLEOBOOST", ) From 14e38f3fba98f6b49787de147a8f216b1bf24a0e Mon Sep 17 00:00:00 2001 From: Eduardo Rodrigues Date: Wed, 28 Jun 2023 10:51:22 +0200 Subject: [PATCH 2/5] Update enums.py --- src/decaylanguage/dec/enums.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/decaylanguage/dec/enums.py b/src/decaylanguage/dec/enums.py index 54e74960..4b023f2e 100644 --- a/src/decaylanguage/dec/enums.py +++ b/src/decaylanguage/dec/enums.py @@ -46,8 +46,8 @@ class PhotosEnum(IntEnum): "BTOXSGAMMA", "BTOXELNU", "BTOXSLL", - "BQTOLLLL", "BQTOLLLLHYPERCP", + "BQTOLLLL", "CB3PI-MPP", "CB3PI-P00", "D_DALITZ", @@ -84,9 +84,9 @@ class PhotosEnum(IntEnum): "OMEGA_DALITZ", "PARTWAVE", "PHI_DALITZ", - "PHSP", "PHSPDECAYTIMECUT", "PHSPFLATLIFETIME", + "PHSP", "PI0_DALITZ", "PROPSLPOLE", "PTO3P", @@ -99,8 +99,8 @@ class PhotosEnum(IntEnum): "SLPOLE", "SSD_CP", "SSD_DirectCP", - "SSS_CP", "SSS_CP_PNG", + "SSS_CP", "SSS_CPT", "STS_CP", "STS", From e9e5cd2a7dedf951eb0803bfe97bd63f47a1e4ea Mon Sep 17 00:00:00 2001 From: Adam Morris Date: Wed, 28 Jun 2023 11:09:08 +0200 Subject: [PATCH 3/5] restore manual ordering of model names --- src/decaylanguage/data/decfile.lark | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/decaylanguage/data/decfile.lark b/src/decaylanguage/data/decfile.lark index a8cc7efb..a035634e 100644 --- a/src/decaylanguage/data/decfile.lark +++ b/src/decaylanguage/data/decfile.lark @@ -72,7 +72,7 @@ _WS: WS_INLINE MODEL_NAME_AND_WS.2: MODEL_NAME _WS+ MODEL_NAME_AND_SC.2: MODEL_NAME _WS* _SEMICOLON+ -MODEL_NAME : "BCL"|"BC_SMN"|"BC_TMN"|"BC_VHAD"|"BC_VMN"|"BGL"|"BLLNUL"|"BNOCB0TO4PICP"|"BNOCBPTO3HPI0"|"BNOCBPTOKSHHH"|"BQTOLLLL"|"BQTOLLLLHYPERCP"|"BSTOGLLISRFSR"|"BSTOGLLMNT"|"BS_MUMUKK"|"BT02PI_CP_ISO"|"BTO3PI_CP"|"BTODDALITZCPK"|"BTOSLLALI"|"BTOSLLBALL"|"BTOSLLMS"|"BTOSLLMSEXT"|"BTOVLNUBALL"|"BTOXELNU"|"BTOXSGAMMA"|"BTOXSLL"|"BToDiBaryonlnupQCD"|"BaryonPCR"|"CB3PI-MPP"|"CB3PI-P00"|"D0GAMMADALITZ"|"DToKpienu"|"D_DALITZ"|"D_hhhh"|"ETAPRIME_DALITZ"|"ETA_DALITZ"|"ETA_FULLDALITZ"|"ETA_LLPIPI"|"ETA_PI0DALITZ"|"FLATQ2"|"FLATSQDALITZ"|"FOURBODYPHSP"|"GENERIC_DALITZ"|"GOITY_ROBERTS"|"HELAMP"|"HQET"|"HQET2"|"HQET3"|"ISGW"|"ISGW2"|"KS_PI0MUMU"|"LLSW"|"LNUGAMMA"|"LQCD"|"Lb2Baryonlnu"|"Lb2plnuLCSR"|"Lb2plnuLQCD"|"LbAmpGen"|"MELIKHOV"|"OMEGA_DALITZ"|"PARTWAVE"|"PHI_DALITZ"|"PHSP"|"PHSPDECAYTIMECUT"|"PHSPFLATLIFETIME"|"PI0_DALITZ"|"PROPSLPOLE"|"PTO3P"|"PVV_CPLH"|"PYCONT"|"PYTHIA"|"SLBKPOLE"|"SLL"|"SLN"|"SLPOLE"|"SSD_CP"|"SSD_DirectCP"|"SSS_CP"|"SSS_CPT"|"SSS_CP_PNG"|"STS"|"STS_CP"|"SVP"|"SVP_CP"|"SVP_HELAMP"|"SVS"|"SVS_CP"|"SVS_CPLH"|"SVS_CP_ISO"|"SVS_NONCPEIGEN"|"SVVHELCPMIX"|"SVV_CP"|"SVV_CPLH"|"SVV_HELAMP"|"SVV_NONCPEIGEN"|"TAUHADNU"|"TAULNUNU"|"TAUOLA"|"TAUSCALARNU"|"TAUVECTORNU"|"THREEBODYPHSP"|"TSS"|"TVP"|"TVS_PWAVE"|"VLL"|"VSP_PWAVE"|"VSS"|"VSS_BMIX"|"VSS_MIX"|"VTOSLL"|"VUB"|"VVP"|"VVPIPI"|"VVS_PWAVE"|"XLL"|"YMSTOYNSPIPICLEO"|"YMSTOYNSPIPICLEOBOOST"|"doKm"|"imqp" +MODEL_NAME : "BaryonPCR"|"BC_SMN"|"BC_TMN"|"BC_VHAD"|"BC_VMN"|"BCL"|"BGL"|"BLLNUL"|"BNOCB0TO4PICP"|"BNOCBPTO3HPI0"|"BNOCBPTOKSHHH"|"BS_MUMUKK"|"BSTOGLLISRFSR"|"BSTOGLLMNT"|"BT02PI_CP_ISO"|"BTO3PI_CP"|"BTODDALITZCPK"|"BToDiBaryonlnupQCD"|"BTOSLLALI"|"BTOSLLBALL"|"BTOSLLMS"|"BTOSLLMSEXT"|"BTOVLNUBALL"|"BTOXSGAMMA"|"BTOXELNU"|"BTOXSLL"|"BQTOLLLLHYPERCP"|"BQTOLLLL"|"CB3PI-MPP"|"CB3PI-P00"|"D_DALITZ"|"D_hhhh"|"D0GAMMADALITZ"|"doKm"|"DToKpienu"|"ETAPRIME_DALITZ"|"ETA_DALITZ"|"ETA_FULLDALITZ"|"ETA_LLPIPI"|"ETA_PI0DALITZ"|"FLATQ2"|"FLATSQDALITZ"|"FOURBODYPHSP"|"GENERIC_DALITZ"|"GOITY_ROBERTS"|"HELAMP"|"HQET3"|"HQET2"|"HQET"|"imqp"|"ISGW2"|"ISGW"|"KS_PI0MUMU"|"Lb2Baryonlnu"|"Lb2plnuLCSR"|"Lb2plnuLQCD"|"LbAmpGen"|"LLSW"|"LNUGAMMA"|"LQCD"|"MELIKHOV"|"OMEGA_DALITZ"|"PARTWAVE"|"PHI_DALITZ"|"PHSPDECAYTIMECUT"|"PHSPFLATLIFETIME"|"PHSP"|"PI0_DALITZ"|"PROPSLPOLE"|"PTO3P"|"PVV_CPLH"|"PYCONT"|"PYTHIA"|"SLBKPOLE"|"SLL"|"SLN"|"SLPOLE"|"SSD_CP"|"SSD_DirectCP"|"SSS_CP_PNG"|"SSS_CP"|"SSS_CPT"|"STS_CP"|"STS"|"SVP_CP"|"SVP_HELAMP"|"SVP"|"SVS_CP_ISO"|"SVS_CPLH"|"SVS_CP"|"SVS_NONCPEIGEN"|"SVS"|"SVV_CPLH"|"SVV_CP"|"SVV_HELAMP"|"SVV_NONCPEIGEN"|"SVVHELCPMIX"|"TAUHADNU"|"TAULNUNU"|"TAUOLA"|"TAUSCALARNU"|"TAUVECTORNU"|"THREEBODYPHSP"|"TSS"|"TVP"|"TVS_PWAVE"|"VLL"|"VSP_PWAVE"|"VSS_BMIX"|"VSS_MIX"|"VSS"|"VTOSLL"|"VUB"|"VVPIPI"|"VVP"|"VVS_PWAVE"|"XLL"|"YMSTOYNSPIPICLEO"|"YMSTOYNSPIPICLEOBOOST" LABEL : /[a-zA-Z0-9\/\-+*_()'~]+/ COMMENT : /[#][^\n]*/ From 0e1fad8216d40f8d0918495ee30debf3c5e6cfa2 Mon Sep 17 00:00:00 2001 From: Adam Morris Date: Wed, 28 Jun 2023 11:21:14 +0200 Subject: [PATCH 4/5] annotate some keywords, add 2 missing ones --- src/decaylanguage/data/decfile.lark | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/decaylanguage/data/decfile.lark b/src/decaylanguage/data/decfile.lark index a035634e..4e3629d4 100644 --- a/src/decaylanguage/data/decfile.lark +++ b/src/decaylanguage/data/decfile.lark @@ -4,15 +4,17 @@ // or https://github.com/scikit-hep/decaylanguage for details. start : _NEWLINE* (line _NEWLINE+)+ ("End" _NEWLINE+)? -?line : define | particle_def | pythia_def | jetset_def | ls_def | model_alias | alias | chargeconj | commands | decay | cdecay | copydecay | setlspw | setlsbw | changemasslimit +?line : define | particle_def | pythia_def | jetset_def | ls_def | model_alias | alias | chargeconj | commands | decay | cdecay | copydecay | setlspw | setlsbw | changemasslimit | inc_factor pythia_def : ("PythiaBothParam" | "PythiaAliasParam") LABEL ":" LABEL "=" (LABEL | SIGNED_NUMBER) jetset_def : "JetSetPar" LABEL "=" SIGNED_NUMBER -ls_def : ("LSFLAT" | "LSNONRELBW") label +ls_def : ("LSFLAT" | "LSNONRELBW") label // Choose a lineshape for a particle -setlsbw : "BlattWeisskopf" label value +inc_factor: ("IncludeBirthFactor" | "IncludeDecayFactor") label ("yes" | "no) // Presence of the birth/decay factor and form-factor + +setlsbw : "BlattWeisskopf" label value // Set Blatt-Weisskopf barrier factor for a lineshape setlspw : "SetLineshapePW" label label label value @@ -20,7 +22,7 @@ cdecay : "CDecay" label define : "Define" label value -particle_def: "Particle" label value value +particle_def: "Particle" label value value // Set the mass and width of a paricle (in GeV) model_alias : "ModelAlias" model_label model @@ -28,7 +30,7 @@ alias : "Alias" label label chargeconj : "ChargeConj" label label -changemasslimit : ("ChangeMassMin" | "ChangeMassMax") label value +changemasslimit : ("ChangeMassMin" | "ChangeMassMax") label value // Set upper/lower mass cuts on a lineshape ?commands : global_photos From fd5f3d2d9cdd417aa8e1a2ee67d2c7371855d3ca Mon Sep 17 00:00:00 2001 From: Eduardo Rodrigues Date: Wed, 28 Jun 2023 15:11:05 +0200 Subject: [PATCH 5/5] Fix little type --- src/decaylanguage/data/decfile.lark | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/decaylanguage/data/decfile.lark b/src/decaylanguage/data/decfile.lark index 4e3629d4..8fe48783 100644 --- a/src/decaylanguage/data/decfile.lark +++ b/src/decaylanguage/data/decfile.lark @@ -12,7 +12,7 @@ jetset_def : "JetSetPar" LABEL "=" SIGNED_NUMBER ls_def : ("LSFLAT" | "LSNONRELBW") label // Choose a lineshape for a particle -inc_factor: ("IncludeBirthFactor" | "IncludeDecayFactor") label ("yes" | "no) // Presence of the birth/decay factor and form-factor +inc_factor: ("IncludeBirthFactor" | "IncludeDecayFactor") label ("yes" | "no") // Presence of the birth/decay factor and form-factor setlsbw : "BlattWeisskopf" label value // Set Blatt-Weisskopf barrier factor for a lineshape