
ROOT
文章平均质量分 87
X D
双非学校在读研究生,干啥啥不行,吃饭第一名。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
处理TTree的几种方法
TTree是ROOT的一个存储数据的类,大概可以理解成一个二维数据表格。每一个Branch代表一种属性(或者一列),Entry代表一个事例(或者一行)。用户可以通过读取每一Entry中的特定Branch,来统计一个样本的某个属性的分布。读取TTree数据的方法有很多,这里总结几个比较常用的,他们有的比较复杂但比较灵活,有的简单快捷,但是面对更复杂的数据结构或者操作就无能为力。不同的场景适用不同的方法,但个人觉得RDataFrame在各种情况都相对好用一些,写这篇博客也是起因于此。利用TTree本身的成原创 2021-08-07 17:52:26 · 2526 阅读 · 0 评论 -
ROOT叠加TH1并保留所有statistics box
详见ROOT官方文档https://root.cern/doc/master/classTPaveStats.html以及论坛帖子:https://root-forum.cern.ch/t/how-to-move-statistics-box-when-using-draw-sames/5139在调用TH1::Draw()方法时,可以使用“same”选项将两个TH1叠加在同一个TCanvas上,但这样做会导致图中只保留一个直方图的统计信息。例如:{ TH1D* h1 = new TH1D("h1"原创 2020-10-08 17:37:17 · 860 阅读 · 0 评论 -
第一次尝试RooFit
我想开学……课程作业要求做个拟合的小练习,其中TH1::Fit()已经用过了,试一试RooFit。我的理解上RooFit大概就是另外一票人基于ROOT做的另一个工具,在使用方法上,我感觉和ROOT本身有点格格不入。ROOT的手册里都用指针的,但是RooFit手册里都不用指针,就很烦。而且两边的数据类型都没有很圆滑地接口,各自用自己的一套。也没有时间详细写什么,先把码儿们放下,以后看心情吧。...原创 2020-04-17 20:02:21 · 2420 阅读 · 0 评论 -
Eorror: dyld: Symbol not found: __cg_jpeg_resync_to_restart
在MBP上编译安装完root,运行时发现报错:dyld: Symbol not found: __cg_jpeg_resync_to_restart重新将系统库中的库文件映射到/usr/local/lib下:cd /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.fr...原创 2020-01-16 19:58:06 · 477 阅读 · 0 评论 -
Xrootd
Xrootd-NoteXrootd是高能物理领域通用的数据访问协议。起初是root中的一个模块,后来有了独立的版本。基本使用元数据处理:xrdfs对远端数据实现基本的ls,cd,mv,cat等操作:交互式:xrdfs root://ceph.xx.xx.cn/这样就进入了交互式页面,可以使用类似于bash的语法。命令行使用:直接把命令跟在上述指令后面:xrdfs root:/...原创 2019-12-27 20:48:30 · 1040 阅读 · 2 评论 -
ROOT (a Data analysis Framework) TMatrix类的简单操作
简单使用TMatrix类ROOT中的TMatrix类可以实现矩阵运算。详细介绍见ROOTUsersGuide-14 Linear Algebra in ROOT一个内含Double_t元素的矩阵可以这样定义:TMatrixD x = TMatrix(nRow, nCol,)...原创 2019-09-08 20:01:32 · 1066 阅读 · 1 评论 -
Bug: version `GLIBCXX_3.4.26' not found (required by /usr/lib/root/libPyROOT.so)
ROOT --notebook的小问题今天打开jupyter发现root内核打不开了(说不定是manjaro滚挂了),主要报错是这样:Traceback (most recent call last): File "/opt/miniconda3/lib/python3.7/runpy.py", line 183, in _run_module_as_main mod_name, ...转载 2019-09-08 10:20:36 · 8093 阅读 · 1 评论 -
ROOT(a Data analysis Framework)-Note6: iSTEP day3-Random
Note5: Random3其实每天进展都还是听慢的,今天也只考虑了一个小问题,就是生成随机数。Monte-Carlo方法产生特定分布的随机数给定一个分布,或许不一定归一化:P(x=x′)=f(x)P(x = x') = f(x)P(x=x′)=f(x)方法一:生成一个平均分布的随机数x∈[a1,a2]x \in [a_1,a_2]x∈[a1,a2]生成一...原创 2019-07-19 00:47:09 · 569 阅读 · 0 评论 -
ROOT(a Data analysis Framework)-Note5: iSTEP day2-TH1::Fit()
Note5 :数据拟合今天还是关于TH1和TF1的内容,使用Fit方法,使用不同的函数对数据进行拟合。下面以问题的形式做个小的总结记录。Section 1目标: Read histogram “\h1” from file “\hists.root” that I give you. And Draw it.读取一个.root文件:基于TFile类,有这样几种方法:TFile f(...原创 2019-07-18 23:44:44 · 1382 阅读 · 1 评论 -
ROOT(a Data analysis Framework)-Note4: iSTEP day1-TH1&TF1
ROOT(a Data analysis Framework)-Note4: iSTEP day1最近参加了一个叫做iSTEP的暑期学校,这里教授一些基本的ROOT使用方法。曾经用root的过程忘的差不多了,也没有记录。现在正好记录一下。TF1类TF1类是一个数学函数的类,基本的用法就是画一些函数的图像。root [0] TF1* f = new TF1("f","sin(x)",-10,...原创 2019-07-16 00:01:25 · 1315 阅读 · 0 评论 -
ROOT (a Data analysis Framework) - Note2:关于编译和运行
Note2:关于编译运行写在前面ROOT是基于C++的,即使有了cling的帮忙,也还是不能像python那样方便地交互运行。怎么说呢,就比如你写了一个脚本,在交互式界面中直接.x运行,ROOT还是把它当做一个C++脚本去看待的,诸如.L、.help之类的命令是不能出现在脚本中的。这样如果你自己写了一个类,在主函数中调用它之前,一般是include这个类的头文件,但是这在ROOT上并不好用,R...原创 2019-05-25 15:07:34 · 1239 阅读 · 0 评论 -
ROOT (a Data analysis Framework) - Note3:TCanvas类
TCanvas类TCanvas是一个画布的类,任何一张图,无论是直方图、函数曲线还是其他图,最终显示,都需要在这样一个画布上完成。实际上,如上一节那样,当你没有建立TCanvas实例就使用h.Draw()这个方法时,系统总会默认给这个Draw()方法创建一个画布,并且默认给一个名字叫c1。Info in <TCanvas::MakeDefCanvas>: created defa...原创 2019-05-24 23:27:45 · 1467 阅读 · 0 评论 -
ROOT类初始化后成员指针变成野指针的问题
ROOT类初始化后成员指针变成野指针的问题现在对面向对象和面向过程理解的不够透彻,只是希望用面向对象的形式写出一个类,把一套计算工作写成一个类似与工具包的样子。写出一个简易的雏形,大概构造是这样的:class A: public TObject{private: TH1D* a; TH2D* b; TH3D* data;public: A(); ~A(); void APl...原创 2019-04-11 11:48:55 · 664 阅读 · 0 评论 -
ROOT (a Data analysis Framework) - Note1:先定一个小目标
ROOT-NoteROOT是一个基于C++的软件包,它被广泛地应用于高能物理实验的数据处理中。为了应付毕设, 近期开始学习ROOT的基本操作方法。打开ROOTRoot软件是基于C++的,但它嵌入了cling,因此可以通过命令行交互,还可以运行macro文件(实际上是一个C++脚本),可以解释运行也可以编译运行,这就很方便。在设置好环境变量的前提下,打开ROOT交互界面可以输入命令:roo...原创 2019-05-24 23:21:17 · 2063 阅读 · 0 评论