1999/11/09    Root 2.23/08 and Tracker Resolution Study Package

韓国の国際会議が終わった。来週は浜松でまた国際会議である。なかなか暇ができそうもない。それなのにRoot のホームページが新しくなったと思ったら、早くもバージョンが更新されてしまった。ついていくのは大変である。今回はポストスクリプト出力関係の改善があり、v.2.23/07 でパスしなかったテストにも無事パスするようになった。

[1] Root 2.23/08

使った開発環境は
gcc*-2.95.2-0hm
glibc-2.1.3-0b
binutils-2.9.5.0.14-0a
にアップグレードしたが、これについても使用上の注意を参照。

ビルドの手順は

$ tar -zxvf <somewhere>/root_v2.23.08.source.tar.gz
$ tar -zxvf <somewhere>/ttf_1.1.tar.gz
$ cp -p /usr/include/freetype.h ttf/include
$ export ROOTSYS=`pwd`
$ export LD_LIBRARY_PATH=$ROOTSYS/lib
$ export PATH=$ROOTSYS/bin:$PATH
$ export CERNLIB=/cern/pro/lib
$ export OPENGLROOT=/usr
$ sh configure
$ cd src
$ ln -s Makefile.linuxppcegcs Makefile
$ make distclean
$ ln -s /usr/lib/libttf.so ../lib
$ cp -p <somewhere>/iosenum.h ../cint/include/
$ cp -p <somewhere>/MAKEINFO ../cint/
$ patch -p1 < <somewhere>/root_v2.23-x3d.patch
$ patch -p1 < <somewhere>/root_v2.23.07-opengl.patch
$ patch -p1 < <somewhere>/root_v2.23.07-g2c.patch
$ vi Makefile
...
CC = gcc
...
$ make depend
$ make OPT='-O0' EG_DatabasePDG.o
$ make OPT='-O0' EG_AttParticle.o
$ make OPT='-O1' H_H1.o
$ make >& make.log &

である。いくつかのソースのコンパイルで最適化レベルを変更する必要がある点(g++ の問題)に注意。
できたバイナリーは

root_v2.23.08_linuxppc-r5.tar.gz
である。
 

[2] Tracker Resolution Study Package (Resol-0.50)

上記の Root を使った JLC の Tracking System の運動量分解能を解析的に計算するためのパッケージを作成。
高運動量近似で、誤差行列を測定器の位置分解能と物質中のクーロン多重散乱を考慮して計算する。もちろん業界の人間以外には何の役にも立たないプログラムである。

ソースファイルは

resol-0.50.tar.gz
で、
$ tar -zxvf resol-0.50.tar.gz
$ cd resol-0.50
$ xmkmf -a; make
で ROOT が入れてあればビルドできるはず。HP-UX 10.20、RedHat 6.0、LinuxPPC-1999 で動作を確認。
使い方は
$ cd prod
$ ./resol [p(GeV)|50] [cos(theta)|0.]
で、与えられた運動量と方位角(デフォールトでは 50GeV と 90度)に対し、sigma_(1/Pt) が衝突点拘束条件ありなしの場合について出力される。
測定器の構成を変更したい場合は CTDResol.cxx を直接変更する。このファイルには十分コメントがしてあるので変更の仕方は分かるはず。同梱の README にも少し説明がある。
 


Back to Keisuke Fujii's MkLinux/LinuxPPC Life