FrontPage

参考とするWikiページは以下のものです。

まずはDigitsからESDを作ってみます

走らせる環境がReleaseとKitではセットアップのしかたが違います。Running Athena Hello Worldを見て下さい。私はKitもRelease風に動かしています。(読んでなかった) lxatlはreleseとして動かします。

cd ~/tutorials/10.0.4
. cmthome/setup.sh -tag=opt
tar xvf ~ryuichi/RecExCommon10.0.4.tar
cd Reconstruction/RecExample/RecExCommon/*/cmt
cmt config
. setup.sh
gmake
cd ../run
get_files RecExCommon_topOptions.py
get_files PDGTABLE.MeV
pool_insertFileToCatalog /home/ryuichi/myDigits/10.0.4/myZmumuDigits.pool.root
vi myRecOptions.py   # PoolRDOInput に 入力Digit File をセット、ためしにHist,Ntuple を True
athena myRecOptions.py RecExCommon_topOptions.py >& myZmumuESD.log &
tail -f myZmumuESD.log

20イベント目でメモリーが500Mを越えたがそこからあまり増えない。500イベントでESDは140Mていどになる。WorkbookのmyRecOptions.pyファイルを変更した結果は以下のようだった。

このReconstrutionの実行手順を示したRecExCommon_topOptions.pyのパラメータを設定しているのはRecExCommon_flags.pyなので、一通り目を通しておく。trackingではipatRec,xKalmannがTrueになっている。RecExCommonFlags = {XXX:yyy,ZZZ:uuu}はPythonのディクショナリというオブジェクトだそうです。for文を使って、XXX=yyy,ZZZ=uuuが実行されています。ただしリストvarInitにないものが実行されます。myRecOptions.pyで定義されたdoWriteESDなどの変数はvarInit=dir()でリストに読み込まれます。RecExCommonAlgs={AAA:bbb,CCC:ddd}はreadESDがFalseのときAAA=bbb;CCC=dddとなりますが、readESDがTrueのときは全部Falseになります。このしくみはAODを作るときにmyRecOptions.pyのかわりにoptESDtoAOD.pyを使えるようにするものです。

RecExCommon_topOptions.pyのなかではSystemRec_config.pyとCombinedRec_config.pyで各測定器のrecoctructionと測定器を組み合わせたreconstructionの設定がされます。

ジョブのlog ファイルのflagのプリントアウトは以下のようになります。

ここで使っているmyRecOptions.pyのかわりに

https://uimon.cern.ch/twiki/bin/view/Atlas/RecoCompleteMyTopOptions

で記述されている、myTopOptions.pyを使うとAtlastis用のJiveXmlファイルを作ったり、DC2データを処理したりもできます。

AODをつくってみる

cd ~/tutorials/10.0.4
cd Reconstruction/RecExample/RecExCommon/RecExCommon-00-03-43/cmt
. setup.sh
cd ../run
get_files optESDtoAOD.py
pool_insertFileToCatalog /home/ryuichi/myESD/10.0.4/myWmunuESD.pool.root
vi optESDtoAOD.py
athen optESDtoAOD.py RecExCommon_topOptions.py >& myWmunuAOD.log &
tail -f myWmunuAOD.log

CBNTをみてみる

RunningReconstructionのとおりやってみます。

ln -s /home/ryuichi/myCBNT/10.0.4/xxx ntuple.root // not yet confirmed
root
TFile f("ntuple.root")
f.cd("CBNT")
t3333->Draw("Trk_pt:PtGen[Trk_truthNt]","Trk_truthBarcode!=0")
t3333->Show(0)
.x  ../share/RecExCommon_dump.C

Draw("x:y"[,"条件"][,"表示オプション"])であることを思い出すと、これは確かにトラックとそのMCTruthの2次元プロットであることがわかる。以下のページのTruthとTrackParticleを見て下さい。推測ではTrk_truthBarcodeはgenerationの時付けた自然数。221イベントしかないし、イベントあたりのトラックが10本ぐらいしかない。500イベントのはずだったのに。あと疑問なのはTrk_ptはイベントあたり何個も有るはずなので、これだと最初のだけになる?そうすると多すぎる。謎だらけ。Trk_totalNumTracksでloopを回さないといけないのではないか?そこで自分でloopを回せるしくみを作ります。

TFile *file = TFile::Open("ntuple.root")
TTree *ttreeID=(TTree*)file->Get("CBNT/t3333")
ttreeID->MakeClass("CBNT")

これでCBNT.CとCBNT.hができます。CBNT.Cを変更し、自分でイベントloopを回します。

https://uimon.cern.ch/twiki/bin/view/Atlas/CBNTVariableList

ESDのTrk::Trackオブジェクトの理解

InnerDetector,EM,HAD,Muon,Trigなど各測定器のESDオブジェクトは解析のベースになるものです。ここでは典型的なInnerDetectorのESDオブジェクトTrk::Trackを見ていきます。

[[tracking tutorial:https://uimon.cern.ch/twiki/bin/view/Atlas/UkInnerDetectorSoftwareTutorial ]]

Part1 はInnerDetector のESD解析環境を作ります。

cd tutorials/10.0.4
source cmthome/setup.sh -tag=opt
tar xvf ~ryuichi/InDetRecExample10.0.4.tar
cd InnerDetector/InDetExample/InDetRecExample/InDetRecExample-00-27-01/cmt
cmt config
. setup.sh
gmake
cd ../run
get_files -symlink -jo AthenaCommon/athena.py
get_files -symlink -data Materials.dtd
get_files -symlink -data AGDD.dtd
get_files -symlink -data PDGTABLE.MeV
cp ../share/jobOptions.py ./
cp ../share/ReadInDet_jobOptions.py ./
ln -s jobOptions.py POOLjobOptions.py
pool_insertFileToCatalog /home/ryuichi/myESD/10.0.4/InDetRec_xKalman.pool.root

次にjobOptions.pyを編集します。解析ファイル名をいまセットしたものに変更します。またdoxKalman, doiPatRec, doLegacyConversion, doAmbiSolving, doPRDFormation, doSpacePointFormation, doVertexFinding, doParticleCreationをFalseにします。 またファイルの先頭にあるdoTruthもFALSEにします。これらは既に作られているので再度やる必要はないわけです。

athena jobOptions.py

これでパート1はおわりです。

パート2トラックのパラメータのd0にカット。Vertexのデータにアクセス

すいません。まだできてません。SCTのページを参照しながらやってみて下さい。



HEPVis/ v-atlas

http://boudreau.home.cern.ch/boudreau/v-atlas-hepvis.htm

今のところ、測定器の他、MCTruthとHitsを出してみました。oracleのレプリカはないのでじぶんのpcの画面でやってます。ESDのtracckを見ようとすると落ちました。そこでHitsを見ることにします。

cd ~/tutorials/10.0.4 
tar xvf ~ryuichi/GeoModelDisplay10.0.4.tar

としてください。そのあとは

cd AtlasGeometryCommon/GeoModelDisplay/*/cmt
cmt config ; . setup.sh ; gmake
mkdir ../run ; cd run
get_files PDGTABLE.MeV
get_files GeoG4Display.py
pool_insertFileToCatalog /home/ryuichi/myHits/10.0.4/myrome_H4_pythia_VBF_hww20Hits.pool.root
v-atlas /home/ryuichi/myHits/10.0.4/myrome_H4_pythia_VBF_hww20Hits.pool.root

でGeometry, Hits, MCTruthがみれます。下の方のrun buttonを押してイベントを更新します。GeometryではCtlキーを押しながらクリックするとさわったエンベロープを見えなくできます。ZapをOnにするとエンベロープごと消して内部を見ることができます。


添付ファイル: fileCBNTdump.ps 694件 [詳細] filezmumuESDflags.log 1377件 [詳細] fileRecExCommon_flags.py 1512件 [詳細] filemyRecOptions.py 1282件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-04-10 (火) 08:32:32 (3899d)