一个通用的校正库
项目描述
correctionlib
介绍
此库的目的是提供一种结构良好的JSON数据格式,用于描述在典型的高能物理分析中遇到的多种临时校正因子,以及适用于C++和Python程序的配套评估工具。在此,我们将校正因子的定义限制为具有标量输入并产生标量输出的函数类。
在Python中,函数签名是
def f(*args: str | int | float) -> float:
return ...
在C++中,评估器目前实现为
double Correction::evaluate(const std::vector<std::variant<int, double, std::string>>& values) const;
支持的函数类包括
- 多维分箱查找;
- 指向具有受限制数学函数集(如
exp
、sqrt
等)的多参数公式的分箱查找; - 分类(字符串或整数枚举)映射;
- 输入转换(在原地更新一个输入值);以及
- 上述组合。
每个函数类型由调用图中的“节点”表示,并将所有参数存储在JSON结构中,由JSON模式描述。可能的未来扩展节点可能包括加权的和(与其他组合可以表示BDT)以及简单的MLP。
该工具应提供
- 标准化的、带版本的JSON模式;
- 向前端口工具(用于迁移旧模式版本中编写的数据);以及
- 优化的C++评估器和Python绑定(具有numpy向量化支持)。
此工具肯定不会提供
- 支持
TLorentzVector
或其他对象类型输入(此类工具应作为基于该库的高级工具编写,而该库作为低级工具)
公式支持目前包括ROOT库TFormula
类的几乎所有子集,并以线程安全的方式独立实现。解析语法正式定义,并通过仅包含头文件的PEG解析库进行解析。支持的功能与CMSSW的reco::formulaEvaluator相似,并且除TMath::
命名空间外,完全通过了该工具的测试套件。不过,由于更正的树状结构,Python绑定可能能够调用numexpr,但在其他级别上利用向量化可能比较困难。
有关安装和使用此软件包的详细说明,请参阅文档。
创建新的更正
功能演示/教程可在文档中找到,也可在binder上交互式访问
correctionlib.schemav2
模块提供了一个有用的框架来定义更正对象,而correctionlib.convert
包含了常见类型的选转函数。可以使用parse_obj类方法在构建时检查节点类型,或者通过直接使用关键字参数来构建它们。
开发
请参阅CONTRIBUTING.md
项目详情
关闭
correctionlib-2.6.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 701aaba9dfbb45ca3a7def29b80e744b3f179a9f9b4a10f05fa773e641d17ebe |
|
MD5 | 5fe738044559a9ce897f6d09a3da0d48 |
|
BLAKE2b-256 | 4c40c6a041a1b4d04d3fbd2b0e09c0cd27d92731fb49abc472e072de9a28b9ac |
关闭
correctionlib-2.6.4-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c027c62f79c0c2e22e6dc343a55520c711ccb656f257e9ead961c1bda0a07ae5 |
|
MD5 | e0b91e82b9d59a7156bff442a06eefdb |
|
BLAKE2b-256 | 6b20e1bc39c798f0d84096eae548ba4d4f7c4a7d83285819fb1ed35fa1b7b2cf |
关闭
correctionlib-2.6.4-cp312-cp312-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0bbe5988efb9fa1adae2248f58e73680d7aba3bcb0ec7326e9d65fbedee37da0 |
|
MD5 | dbfb5eb1ad46c438d56e6daa4997d70e |
|
BLAKE2b-256 | fea1c7bbd873871145992c43e482967b8514f27f845de4015dd13cc5c11da47c |
关闭
correctionlib-2.6.4-cp312-cp312-musllinux_1_2_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 358171c814c603d3a062aa9975be064883c1512b62f953d9185d48c9f3ef9703 |
|
MD5 | f024ce7b83be00a54610090052cbf0fa |
|
BLAKE2b-256 | 728a9a319209742faf4a06f152025fbf43240df4f4ed11a56a6b4067d1dc8c9e |
关闭
哈希值 用于 correctionlib-2.6.4-cp312-cp312-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | faa383c13076433be75c3d701d55500e67026cc4d32a616f5a1f38c38601f8c9 |
|
MD5 | fc269416c6d24e0c86ac0b5c47e52f1c |
|
BLAKE2b-256 | 3673dea844029b1345e4644bcf157686840e0fe10917ac5102f76fba1e776163 |
关闭
哈希值 用于 correctionlib-2.6.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9c2736b7e07861be7c054da50f09a05e3410850642c767eb565b96a7b7356b7e |
|
MD5 | 4df0e8c6c0253493805beb20a0d134ae |
|
BLAKE2b-256 | a3f4a90834972bbb847045561659188861b0571a85e98f9709f3d8cc002a9dce |
关闭
哈希值 用于 correctionlib-2.6.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d973c376240553900cfebf6affe2d6bea8a43f79fb4a789fd3312ee8438916ec |
|
MD5 | 9d5af7ec3559a8e36a120032d6cb224c |
|
BLAKE2b-256 | 7bc3652ac5fb36da8e123f80006c0cfb0ed658d32b0c76f3856e6eeafb594a94 |
关闭
哈希值 用于 correctionlib-2.6.4-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f68376aa03e54916fb70d5c2bbce52f2bd5a1d05f84aceb81bbe63f8badfd5f9 |
|
MD5 | 668ac909934067c9d0c9ed004d6fb70c |
|
BLAKE2b-256 | 700d8dad1304e0111d08614cd4712404b6c660f2b51d7180e32328df472ee41e |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dc83bd1100aa4f4cce7bfdfd01eff4d216a93bae3727129b5438aaca3a31b68e |
|
MD5 | e0a39ad397195d03ccb04172f5a63f8f |
|
BLAKE2b-256 | 27885b8b1c23769197a80bf8c03779cca87bea22acfdd864d6246f88433eba20 |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ca4fa5469424c37fe55d933d80d5c838a421864c146ce5bce25b147e703b191 |
|
MD5 | b88bc7490d0d20365d1353d6c79a5e7b |
|
BLAKE2b-256 | a33fb638bcdba0dd38bf7568df179fc1fc06149682087de9469df2b6f4d6bcab |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 354e164c11bdda048f3108fc1abc3c053d306ed617dfe0fae230c78264aa780d |
|
MD5 | 5853b6061bce8bb11cca9ab8e48f8370 |
|
BLAKE2b-256 | 7547260e0c3d009c9e3fbe296950930a5a3866445e036e8f63d1c8e57df6acf8 |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 29330793b3c8b0e9e1b60e68400ae1384ed4ee6d5c30cc30e2fcb16cb554a8ad |
|
MD5 | 9730881ee733ce9220969ebeb4d52aa8 |
|
BLAKE2b-256 | f7a73ad9bfe3b2c659d647ee84ed31ba90527b71126602beb2dbbc2dcc75e4f2 |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e7c22e85ba0b283bbcb82091e21a53b7939da014c72f2248fcd2d99b6a6a5e5d |
|
MD5 | 27f7adbd32491766c49bc03eab7b11ab |
|
BLAKE2b-256 | f118afd6e9ddde0e4e05a02e39c9ab9b632582bd72726a21371731328f414af1 |
关闭
哈希值 用于 correctionlib-2.6.4-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e62699a310979334214fe53c874ba08a615834b1ac121ebe9e55e32a33ad55d3 |
|
MD5 | 6856dfafa1cb8e39eb3a36a3e7371b99 |
|
BLAKE2b-256 | e5853c1f848994d10943e05d814e81488abc59de8c8e82a2772669547898f504 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c66baf45bc932b89b482f2f907909ab528f580b19d14aa7960f5269dfba289d6 |
|
MD5 | 78900eff9a802265c9f3c65647f47a4e |
|
BLAKE2b-256 | a3980cf88bcf98f3e9df0bbbd3a7d91816a9b32d080ed0e19d1035ae26b6c2f5 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d35be0e903911e15ed03f8184ccd4ebf9fe8612fa897ad0d48543bc9bc46697b |
|
MD5 | 3e319b8254c835dfda3664f74020b3a9 |
|
BLAKE2b-256 | 0487216323aea9e359ee97f1fee8cf0ab1d2bf4255453705e2ad4e87e0f00232 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1fad82885f845f965696458b7ef496f27dbbc9de01f034fe2bb4343b55e86a78 |
|
MD5 | e93902cb239d0c8616a478bea8ac517a |
|
BLAKE2b-256 | a9288e21086c5d25b4695dcb8b63d82572fbeca42ee163c9ae795e003214dc86 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 620dd6225bb3bc7d95b49559a4ee2413c491f979d7b4db60728351ba3791aa34 |
|
MD5 | 0c476ebaf0a021fe490e9ecb0ec2cd93 |
|
BLAKE2b-256 | 400641dcc27658f62e31e4375c621b9fc03752979fc2a68c73d2334564d85685 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f14cf0ddc1cdf02e097f02d40f95fe07e82113aec7b8222e0a251e8b4692a4f |
|
MD5 | 5539295cdc25828d8cff9d5d377127fa |
|
BLAKE2b-256 | e30240e5ea0bdd77a77d1a4e65981ebcd2b7458e4aa3037e9478c084e469a875 |
关闭
哈希值 用于 correctionlib-2.6.4-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d072627e8844656723a4c350708592d90c1e70eef972d2d71a05cda889b6153 |
|
MD5 | a4997f1282940fcd6b9cc4f60a090ee7 |
|
BLAKE2b-256 | adb2f82375f0cda464db13935537d871dd461f6f630f5f3370e1b0b27605e9b0 |
关闭
哈希值 用于 correctionlib-2.6.4-cp39-cp39-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7a19b78b7e437f1c1b27a461d24391f3ef26e5b84e4d1a35d5bf39274de648b |
|
MD5 | a93153bdd7eb8cb8eff741feebe14aba |
|
BLAKE2b-256 | bf44e9832ab7ba1a194c55d75af9e7ace12830f0332754f39d18c2f985e358ae |
关闭
哈希值 用于 correctionlib-2.6.4-cp39-cp39-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cef7e5ef1bd9c52f2f2e7739de15513393fd57e5dea55cb74dbdd6d8c6fbdc12 |
|
MD5 | 28effa872ce1670c1d0fd2d02f54ccba |
|
BLAKE2b-256 | dd9ff246694c3633e70e4ac768f880b8c43bfb415d0123091a363c46f499e60d |
关闭
哈希值 用于 correctionlib-2.6.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3849412448f09739bd863b3dbb4351f5819dfec382f0aa3b3a01acecc89d5282 |
|
MD5 | eaf492f01b076a2be187e7cd9e4a3238 |
|
BLAKE2b-256 | aef1d755952805d6b8035104ef55c3c69283300c27cc080dce21a88f0de67c21 |
关闭
哈希值 用于 correctionlib-2.6.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fa172c7097fbd9e1ecc703ea919c91a821de2fcad0bacf0233728a3bc99803f3 |
|
MD5 | 7531b3548be6d0e63f37dd50026eaee6 |
|
BLAKE2b-256 | 4a43d22f8ea5aeda0f916be9d249965414cf206cc41a6dbe53749f07b00add81 |
关闭
哈希值 用于 correctionlib-2.6.4-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 73d61c49f7cd0dc17a291e19c42ff3018de30b6f0b3b73b27c1ecded4dafaf05 |
|
MD5 | 18f81fb508b2fb47ad6152f2f07564ac |
|
BLAKE2b-256 | c71765d839357fa2faea70427f00cb59d762df82deaef4dc8ffc2bc8dbf10680 |
关闭
哈希值 用于 correctionlib-2.6.4-cp38-cp38-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2eb4c7a7d7f9b86924d8661869bf118599a313bde8b9f4ac562977bbcec953a5 |
|
MD5 | 1503ffcbc29b84bdc49917ed13ba7560 |
|
BLAKE2b-256 | 4e030e2ead13276fff5401fca87942d51932d2e8c4f544b82193dc5195bea78a |
关闭
哈希值 用于 correctionlib-2.6.4-cp38-cp38-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8fe1a5a6d6cbde7475477fba7c2647bb84d757878d5e414d1d1c25aad7f203b5 |
|
MD5 | 6289e688103209111d33626543ff4ec7 |
|
BLAKE2b-256 | c79fafa128407d7d82c8c1c0314ed8c671b00b53a6502e80936cf7f70d1a212a |
关闭
哈希值 用于 correctionlib-2.6.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18041f9ca24b2005f79549a40578961b1f4e4b54d7f425bf81608e627b00b394 |
|
MD5 | 3159e5c2ceb6e0f36ae4066b2b68151a |
|
BLAKE2b-256 | e7f67dcba7cafbe9e2193a19ff376421252afd0d58ac9e1d81f30448be0b73be |
关闭
哈希值 用于 correctionlib-2.6.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05266be0191a7c8be36de9dc53cfcda6b74661f7d15c330bc6ed17118b2eac1e |
|
MD5 | b9b740aa71e765fe20b14bc466e34085 |
|
BLAKE2b-256 | f5acc7a743031271b3f5e8ed92ac9f244f92d956091ff7caa7e36584bacfff01 |
关闭
哈希值 用于 correctionlib-2.6.4-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 953dfd2ca36b009246a89272c667ceb8d5886880ea801b6c9b96031e126101c1 |
|
MD5 | 269fbdf34f2e1d7cc49c8a6efe326023 |
|
BLAKE2b-256 | fdd71b6644d8ba3571efca5ea6bc0bf9df651ddc658d56391c5b568b7e2ce612 |
关闭
哈希值 用于 correctionlib-2.6.4-cp37-cp37m-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebd413849609b425fd412063d764cf61794fee88c30e3ab9cb44728e912cdf76 |
|
MD5 | fd645bd859d80962d959e42626153a0e |
|
BLAKE2b-256 | c4272ea2b8d430d15a2fb2a214b05582518e833a9fc47d3501c7d1bce8541913 |
关闭
哈希值 用于 correctionlib-2.6.4-cp37-cp37m-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2bfa7b060ac16d2d2b609455c22fd577073b91a5f059293c081625474ca7f080 |
|
MD5 | 66c5ccd48a33243c6f46037e0f4f886d |
|
BLAKE2b-256 | 62b07e7e0d49675aaad0e31c31719fd5db4e59527f6f930f79dab5672d58c37a |
关闭
哈希值 用于 correctionlib-2.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 886909a9d95e8b428672cf6d7439b4ff82e7e407e5d2f0936ba771659219da02 |
|
MD5 | f565e8ca1fcacf587a6cb34ed2888fc4 |
|
BLAKE2b-256 | 7f8609cf385c5124ee4c37cdb3cafe63103e24bbf1a870b2eee2bbf87b9bbaeb |
关闭
哈希值 用于 correctionlib-2.6.4-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebded0e51a7cc1f934a976b0b8741574adcf07b6db858fd556633cd41123dfdd |
|
MD5 | cbfd5eb6bf622b0c1be590558e2f767b |
|
BLAKE2b-256 | d6c926f0a58e5ae00ea5cb40e67af872062c6edcb6f1326c2578a281466a6d89 |