跳转到主要内容

ROOT图形的LHCb样式

项目描述

LHCbStyle

PyPI version Conda-Forge Python 3.7‒3.9

包含python包装器和工具的lhcbStyle.C宏的打包版本。

只寻找宏本身? 点击这里

安装

注意:如果使用lb-conda default,此包已经可用。

通过包管理器

可以使用pip安装python模块

pip install lhcbstyle

conda(通过conda-forge

conda install -c conda-forge lhcbstyle

安装宏

注意:conda用户可以忽略此步骤。它是自动完成的。

使用pip或从源安装包后,还需要进行最后一步,将lhcbStyle.C宏安装到ROOT宏路径。这可以通过控制台命令完成

lhcbstyle install

默认目录通过PyROOT函数gROOT.GetMacroDir()找到,通常位于如/usr/share/root/macros$ROOTSYS/macros这样的位置。如果您没有权限写入此目录,或者您想将宏安装到不同的ROOT安装中,您可以使用环境变量设置目标。

ROOT_MACRO_DIR=/path/to/macros lhcbstyle install

或者使用命令行选项--macro-dir

lhcbstyle install --macro-dir /path/to/macros

如果您选择的路径不对应于$ROOTSYS/macros,则您可以使用~/.rootrc文件将其添加到ROOT的宏路径中。例如,如果您将lhcbStyle.C安装到~/.local/share/root/macros,则将此行添加到~/.rootrc

Unix.*.Root.MacroPath: .:$(HOME)/.local/share/root/macros:$(ROOTSYS)/macros

使用方法

在C++中

宏成功安装后,您可以用通常的方式调用它

gROOT->ProcessLine(".L lhcbStyle.C");
lhcbStyle();

函数lhcbStyle()接受一个布尔参数print_msg,该参数控制是否在设置样式时将消息打印到stdout。

TPaveTextlhcbName)、TTextlhcbLabel)和TLatexlhcbLatex)对象现在位于LHCbStyle命名空间中。

例如,要使用默认位置在图表上绘制“LHCb”注释

LHCbStyle::lhcbName->Draw("same");

在同一个命名空间中也有可用的TStyle对象(lhcbStyle)。

例如,在调用lhcbStyle()之前调整样式

LHCbStyle::lhcbStyle->SetPadLeftMargin(0.16);

或者在调用lhcbStyle()之后

gStyle->SetPadLeftMargin(0.16);

在Python中

当然,在PyROOT中,您可以像在C++中一样执行宏

ROOT.gROOT.ProcessLine(".L lhcbStyle.C")
ROOT.lhcbStyle()

但是,该包包含一个名为LHCbStyle的Python类,它添加了上下文管理,允许使用with关键字,例如

from lhcbstyle import LHCbStyle

with LHCbStyle() as lbs:
    can = ROOT.TCanvas()
    hist = make_plot()
    hist.Draw("E1")
    lbs.lhcbName.Draw("same")
    can.SaveAs("hist_lhcb.png")

从命令行

还有一个控制台命令lhcbstyle plot,可以绘制保存在ROOT文件中的可绘制对象。

位置参数是

  1. 要打开的ROOT文件
  2. 要绘制的TObject的名称
  3. 输出文件名,不带扩展名(可选,默认为"plot")

可选参数是

  • --draw-style-D:传递给Draw()函数的选项字符串
  • --formats-F:保存图表的文件扩展名

还可以使用以下选项之一添加到图表的标签

  • --official:绘制“LHCb”标签
  • --preliminary:绘制“LHCb Preliminary”标签
  • --simulation:绘制“LHCb Simulation”标签
  • --unofficial:绘制“LHCb Unofficial”标签
  • --no-label:不绘制任何标签(默认)

例如,要打开plot.root,提取名为histTH1D并带有错误条绘制它,并保存为Fig1.pdfFig1.epsFig1.png

lhcbstyle plot plot.root hist Fig1 --formats pdf eps png

使用以下命令查看完整的用法说明

lhcbstyle plot -h

贡献

创建开发环境

ssh://git@gitlab.cern.ch:7999/lhcb-docs/lhcbstyle.git
cd lhcbstyle
mamba create --name test-env root pytest pip setuptools_scm
pip install -e .[testing]
pre-commit install
curl -o lb-check-copyright "https://gitlab.cern.ch/lhcb-core/LbDevTools/raw/master/LbDevTools/SourceTools.py?inline=false"
chmod +x lb-check-copyright

运行测试

pre-commit run --all-files
pytest

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

lhcbstyle-0.1.0.tar.gz (23.5 kB 查看散列值)

上传时间 源代码

构建分发

lhcbstyle-0.1.0-py3-none-any.whl (21.6 kB 查看散列值)

上传于 Python 3

由以下机构支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面