[[FrontPage]]

* Data Challenge 3 [#v376f4ff]

DC3に向けSimuulationでは AtlasG4Appsのpythonを使ったmacroのかわりのインターフェース使用する。Data Challenge 3は今ではCSC:Computer System Commissioningと呼ばれている。

* Kit 12.0.0をLocal Siteで動かす [#v1ec4623]

 mkdir -p ~/cosmicRun/12.0.0/AtlasOffline-12.0.0
 cd ~/cosmicRun/12.0.0
 vi mysetup.sh
 export LANG=C
 source /afs/cern.ch/12.0.0/cmtsite/setup.sh -tag=AtlasOffline,12.0.0
 exit vi
 . mysetup.sh
 cd AtlasOffline-12.0.0
 vi requirements
 macro TestArea  "${PWD}"
 path_prepend CMTPATH "$(TestArea)"
 exit vi
 cmt config; source setup.sh
 echo $CMTPATH
 cmt co -r xxx

なぜかLD_LIBRARY_PATHなどが十分でない。

* CERN で12.0.0を動かす[#v53ebea9]

テストエリアのセットアップに制限が加わった。テストエリアの下にAtlasOffline-12.0.0があることが必要となる。
 mkdir -p ~/cosmicRun/12.0.0
 mkdir ~/cosmicRun/cmthome
 source /afs/cern.ch/sw/contrib/CMT/v1r18p20060301/mgr/setup.sh
 cd ~/cosmicRun/cmthome
 vi requirements
 set   CMTSITE  CERN
 set   SITEROOT /afs/cern.ch
 macro ATLAS_DIST_AREA ${SITEROOT}/atlas/software/dist
 macro ATLAS_RELEASE   "12.0.0"
 macro ATLAS_TEST_AREA ${HOME}/cosmicRun/12.0.0
 use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA)    
 apply_tag opt
 exit vi
 cmt config
 . setup.sh -tag=12.0.0
 printenv CMTPATH 
 check testArea path
 cd ~/cosmicRun/12.0.0
 mkdir AtlasOffline-12.0.0
 cd AtlasOffline-12.0.0
 cmt co -r xxxxxx

と言う具合になります。結局AtlasOffline-12.0.0を作ってやらないとうまく行きません。

日本に帰って、pcoput12でなくlxplusでやるとうまくいかなかった。なんでか。. コマンドが効かなくなった。sourceでやっているがこれはおかしい。
 
* kit 11.4.0の走らせ方 [#v72caf95]
devloperの3月末のメールによると、インストールしたところのcmtsiteにrequirementsができていて、そのなかにやりかたが書いてある。でも自分でコンパイルできない。

でも実際にやって見るとダメという話がある。確かにgeant4がLD_LIBRARY_PATHにないのでこけている。これは難しい。手でいれると動きそうだ。
https://twiki.cern.ch/twiki/bin/view/Atlas/AtlasRelease1140#Simulation

これでcosmicSimは動いたが、G4AtlasAppsでjobOptions.G4Atlas_Sim.pyをやったらroot5 migration problemというエラーが出てこける。

HepMCのgenerated eventsのroot Fileを11.0.2のものとかを持ってきて、LD_LIBRARY_PATHにkitarea/usr/libをたしてlibshift.soを、読めるようにするとシミュレーションが始まった。あとはreplicaを読ませて早くしてやるだけ。結構世話がやける。Pthia_iもないというのでgenerationもやりにくい。とにかくbuildになった効果が結構ある。

またdirectory構造が変わったのでテストエリアを定義して、コンパイルをするときにはbuildのところを作ってやったほうが良いかも。いまは動かすだけだから、特に問題ないが。
 cd ; mkdir G4AtlasApps; cd G4AtlasApps
 cp kitDir/cmtsite/setup.sh ./; source setup.sh -tag=AtlasOffline,11.4.0,opt
 mkdir -p 11.4.0/AtlasSimulation/1.4.0; cd 11.4.0/AtlasSimulation/1.4.0
 vi requirements and insert following
 macro TestArea  "${PWD}"
 path_prepend CMTPATH "$(TestArea)"
 cmt config ; source setup.sh
 cmt co -r G4AtlasApps-00-00-85 Simulation/G4Atlas/G4AtlasApps
 cmt co -r Digitization-00-08-21 Simulation/Digitization

OutOfBoxで古いroot4で作られたイベントを読んで、hit ファイルが作成できた。

* 11.3.0での変更点(LXPLUS) [#v5ead496]

atlasloginで設定するようなことがdeveloperメーリングリストででていた。具体的には以下を参照

https://twiki.cern.ch/twiki/bin/view/Atlas/MooreHowTo11pt3pt0

新しいプログラム構造にはバージョンのディレクトリがない。AthenaRunTimeがないというエラーも良く出る。なれ親しんだInDetRecExampleでrunさせるには以下のやりかたがある。shareのpythonファイルを手元に置くと言う意味しかないが。requirementsの最後の2行はいらないかも。

#ref(requirements)

 mkdir InDetRecExample/11.3.0
 cp ~ryuichi/InDetRecExample/11.3.0/requirements
 cp ~ryuichi/cmt.sh
 . cmt.sh
 cd InDetRecExample/11.3.0
 cmt config
 . setup.sh -tag=11.3.0,opt
 echo $AtlasArea
 less $AtlasArea/../../AtlasReconstruction/1.3.0/InnerDetector/InDetExample/InDetRecExample/cmt/requirements
 cmt co -r InDetRecExample-01-00-72 InnerDetector/InDetExample/InDetRecExample
 cmt co -r InDetRecStatistics-00-01-26 InnerDetector/InDetValidation/InDetRecStatistics
 source $AtlasArea/AtlasOfflineRunTime/cmt/setup.sh
 cd InnerDetector/InDetExample/InDetRecExample/cmt
 cmt config
 . setup.sh
 cmt bro gmake
 cd ../run
 athena ../share/jobOptions.py 2>&1 | tee jobO.log
 java -jar /afs/cern.ch/atlas/software/builds/AtlasAnalysis/1.3.0/graphics/AtlantisJava/atlantis.jar
 

 
* 11.0.2 Full chain test using kit [#v9041589]

DeltaIntersectionがいじりにくくなった。Volumeごとに値を決めているようだが、元のファイルが不明。また以下のエラーが出る。多分細かすぎる。python/SimAtlasKernel.pyをいじると良い。
 Problem in G4PropagatorInField::LocateIntersectionPoint: Convergence is  requiring too many substeps: 101 Will abandon effort to intersect.
 Information on start & current step follows in cout:
       Current Position  and  Direction
 Step#      X(mm)      Y(mm)      Z(mm)    N_x     N_y     N_z   Delta|N|     StepLen  StartSafety   PhsStep         NextVolume
 Start -0.41175716 -853.29394  334.66497 -0.65416212 -0.60642153 -0.45202306   0         0      4.2e-05 Init/NotKnown   OutOfWorld
    0 -0.41175716 -853.29394  334.66497 -0.65416212 -0.60642153 -0.45202306   0         0      4.2e-05 Init/NotKnown   OutOfWorld
  101 -0.3539767 -854.24406  334.11131 0.72301532 -0.52316399 -0.45116326 3.3e-08       1.2      4.2e-05 Init/NotKnown   OutOfWorld

atlasdbproがたまに落ちるようだ。安定に動かすときには以下のページを使ってmysqlのレプリカサーバを動かすのが良い。だがそのとおりやると、インストールした計算機からしかアクセスできない。

http://uimon.cern.ch/twiki/bin/view/Atlas/DatabaseDeployment

* 11.0.0 Full chain test using kit[#v140ce36]
G4AtlasAppsをチェックアウトして、jobOptionに以下のものを最後に付け加えると、eta cutができるので遅くならない。前方に崩壊する粒子があるとシミュレーションが止まるバグがあるらしい。sqliteをつかってオラクルへのアクセスを省略する。
 RDBAccessSvc = Service( "RDBAccessSvc" )
 RDBAccessSvc.UseDBConnSvc = FALSE
 RDBAccessSvc.Technology   = "sqlite"
 RDBAccessSvc.HostName     = "/afs/cern.ch/11.0.0/geomDB_sqlite"
 theApp.initialize()
 AtlasG4Eng.G4Eng._ctrl.G4Command("/Filters/Vertex/toggle ON")
 AtlasG4Eng.G4Eng._ctrl.G4Command("/Filters/Vertex/Spread 0.015 0.015 56. mm")
 AtlasG4Eng.G4Eng._ctrl.G4Command("/Filters/EtaPhiFilter/toggle ON")
 AtlasG4Eng.G4Eng._ctrl.G4Command("/Filters/EtaPhiFilter/EtaInterval -2.5 2.5")
 theApp.nextEvent( theApp.EvtMax )
 theApp.exit()

これらはアトラスG4ページのG4AtlasAppsのマニュアルのところに説明がある。これでSimulationは問題なさそう。Digitizationをcheckoutしてmake. AtlasDigitization.pyにLArのconditionDBのエラーを避けるための東大のミラーをセットした。うまくいかなかったのでatlasdbpro.cern.chに変更した。

reconstructionを作成したZmumu20evDigits.rootに付いてやってみたが、InnerDetectorのみ動いているよう(?)でloopが回らないので他をオフにしてみる。

11月2日のdeveloper listで以下のをしないとreconstructionが動かないと書いてあった。Release Statusにもこの問題が書いてある。11.0.1のkitをインストール中。
 cmt co -r RecAthenaPool-00-00-41 Reconstruction/RecAthenaPool 

* 10.5.0 Simulation  Digitization Reconstruction [#vfd47a01]

SimulationでPyG4Atlas.pyをいじる必要はなくなった。DeltaInterSectionは物質境界でのコード交差点と直線交差点の距離だとグラントが言っていた。lxplusでReconstructionでなぜか今は失敗する。combinedのあたりなのでこのメッセージの問題か?doTauRec=False, DetDescrVersion="Rome-Final"でちゃんとイベントループが回り、今度はTRTのヒットがある。当然分解能がミューオンで10GeVで1.6%ぐらいに向上した。シリコンだけだと2.3%ぐらい。電子の物質による影響。これはカロリメータのキャリブレーションに必要。Z質量、トラックχ2乗のカットでブレムスの影響を落とすことができる?
#ref(eleTrk_pt.eps)
 #CMT> Warning: package VxVertex VxVertex-01-* Tracking/TrkEvent not found (requested by HiggsToTauTau)

** full chain using kit 10.5.0 [#v6e9be44]

kitはsw/lcg/app/releases/SEAL/SEAL_1_7_1/slc3_ia32_gcc323/pythonのpermissionに問題が有る。(rwx------)
Digitizationで以下のエラーに遭遇した。もう一回やってみる。2回目はOKだった。サーバーがときどきbusyになるのか?

 end of initialize of LArMCSymTool
 IOVDbMgr            FATAL *** ConditionsDB exception caught: MySQL error [2013] :
 Lost connection to MySQL server during query
 
 *** catched in file: MySqlTypes.h line: 2013
 ***   error code: 2000
 DetectorStore       ERROR could not bind handle to ILArRamp to key: LArRamp
 ToolSvc.LArADC2...  ERROR Cannot register testCallback function for key LArRamp

以下のページに出てくる事をjobOptionsファイルに入れると問題がないという話も有る。よさそうなサーバを設定しているのか?

http://uimon.cern.ch/twiki//bin/view/Atlas/BestPracticesForRelease10

アトラス計算機のメーリングリスト情報では以下の設定で良いらしい。

LArCondCnvDbServer = "atlasdb1.icepp.s.u-tokyo.ac.jp"

* 10.4.1 Simulation  Digitization Reconstruction on lxplus [#ve2d5366]

いま29/9/05ではFull chain OK? tssがなぜかterminateされたのでバッチでサブミット。以下のメッセージが出てるが、ntupleにTruthは入っていた。。
 ConversionFinder              WARNING Could not retrieve McEventCollection


DevVersionのTrue Falseの比較を行うため、モンテカルロイベントを用意する。各プロセスにDevVersionを記述する。ラン環境とSCT_GeoModelのチェックアウト

 cmt co -r SCT_GeoModel-00-07-00 InnerDetector/InDetDetDescr/SCT_GeoModel
 cmt co -r  G4AtlasApps-00-00-44 Simulation/G4Atlas/G4AtlasApps
 cd Simulation/G4Atlas/G4AtlasApp/*/cmt
 change requiremets to implement naito's new SCT_GeoModel
 use SCT_GeoModel   SCT_GeoModel-00-07-00   InnerDetector/InDetDetDescr
 cmt config
 cmt broadcast cmt config
 . setup.sh 
 cmt broadcast gmake

** Generation [#n3af5af3]

#ref(ParticleGenerator.py)

 cd ../run
 source /afs/cern.ch/atlas/software/dist/10.4.1/AtlasRelease/AtlasRelease-10-04-01/cmt/setup.sh
 get_files rome_generation_skeleton.py
 vi rome_generation_skeleton.py # 出力ファイル名と ParticleGenerator.pyを設定。
 athena rome_generation_skeleton.py

McEvent.rootができるのでファイル名を変更しておくのがよさそう。PoolFileCatalog.xmlの中も変更。
** Simulation [#a4ffb19b]

#ref(jobOptions.G4Atlas_Sim.py)
#ref(PyG4Atlas.py)

 cd Simulation/G4Atlas/G4AtlasApps/*/python
 vi PyG4Atlas.py
 /setDeltaIntersection
 comment out 4 lines of 
 G4AtlasEngine._ctrl.fldMenu related with transport in field

DeltaIntersectionの関係でsimulationが長引いたりするので、ここは調べる必要がある。
G4AtlasApps/*/python でgrep DeltaIntersection *.pyで設定を調べて、このへんを変更してシミュレーションをし、オプティマイズする必要がある。

#ref(GorfineSimStudySept2005.ppt)

** Digitization [#q873bd66]

GeoModelSvcのロードの後になるように

 GeoModelSvc.SCT_DetectorTool.DevVersion = True

を挿入する。そのためにDigitizationをチェックアウトする。

#ref(DigitizationConfig.py)

DigitizationConfig.pyをそのまま使うとカロリメータのところでリソースを食うので簡単のためにノイズをオフにする。

 doCaloNoise = False

 cmt co -r Digitization-00-08-09 Simulation/Digitization
 cd Simulation/Digitization/*/share
 vi ConfigDigitization.py # GeoModelのInitのあとにDevVersionを記述
 
 cd Simulation/G4Atlas/G4AtlasApp/*/run
 get_files DigitizationConfig.py # ファイルを指定。DetDiscriptionはRome-Finalを指定する。
 athena DigitizationConfig.py Digitization/AtlasDigitization.py >& digit.log &

** Reconstruction [#k6d1bd7a]

#ref(myTopOptions.py)

 get_files RecExCommon_topOptions.py
 vi myTopOptions.py #ファイルを指定。DetDiscriptionはDC2を指定する。Wiki参照。
 doTauRec = False
 vi RecExCommon_topOptions.py # DevVersionを記述する。AllDet_detDescr.pyのあたり?
 athena myTopOptions.py >& recon2.log &

複雑なイベントでは時間がかかる可能性がある。
フルパスで指定したスクリプトを作成し以下のようにバッチジョブを投入する。1nh,1ndなどもある。(nはNormal CPU(?)のn)

 bsub -q 8nh test.sh #ジョブのサブミット
 bjobs -p #モニター JOBIDの表示
 bqueues  #Batch Queueの状態
 bkill JOBID 

#ref(testSim.sh)

#ref(testDigi.sh)

#ref(testReco.sh)

TBrowserで見たところ、運動量分布はほぼ正常。GetEntry(n),Show()で数字を見てみた。TRTのヒットがない。100イベント。
#ref(Trk_pt.eps)
#ref(GetEntry.txt)

1000イベントをlxplusのバッチではしった。

今回はツリーのMakeClassが動いた。




トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS