CondAttrListCollection.h Database/AthenaPool/AthenaPoolUtilitiesに入っている。
データはlxplus:~atlcond/scratch0/sqlite3にある。
sqlite3でCOMP130.dbの中を見る方法はこのページの下の部分にある。 Database#v133b067
マスクされているchannelをsqlite3で調べる。ここではすべての468モジュールのチップ0を表示する。
select OBJECT_ID,CHANNEL_ID,c00mask from COMP130_F0017_IOVS where IOV_SINCE = 13314398617600 and c00mask <> '0xffffffff 0xffffffff 0xffffffff 0xffffffff';
IOV_SINCEを条件としているのは、100回以上データベースに同じような書き込みがあるので、一番最後の書き込みのみを読むため。マスクがついているチップのみ表示する。
/SCT/auxiliaryInfo COMP130_F0006_IOVS /SCT/Config/OfflineLocations COMP130_F0006_IOVS /SCT/modules COMP130_F0017_IOVS /SCT/chipData COMP130_F0013_IOVS
最初がRODID、ROBID、2番目がモジュールの場所とSN、3番目が電圧と状態とSN、4番目が全部のチップのマスク、SNなど。どうもシリアル番号がいわゆるフォーリンキーか?フォルダー番号は古いdbだと違っている。いまはchipDataは17番。
https://uimon.cern.ch/twiki/bin/view/Atlas/AthenaDBAccess
わかりやすい。12.x.0からGeoModelの初期化でCondition DBの設定が行われるらしい。
基本URL https://uimon.cern.ch/twiki/bin/view/Atlas/AthenaConditionsArchitecture
COOLとはOracle、MySQL、SQLiteをどれでも使えるようにするインターフェースのこと.でもDAQ、DCSはオラクルが使われる。そのSQlite,MySQLレプリカはサブセット的になる。(?)その辺の説明URL https://uimon.cern.ch/twiki/bin/view/Atlas/CoolAthena
defectのデータはCOMP130.dbにあるようだ。IOV_SINCEを調べるのは18番フォルダーの/SCT/partitionがよい。まず、lineモードでフォルダーの中身を確認する。次に最後のIOV_SINCEを確認する。columnモードはコンパクトな表示が得られる。
sqlite3 COMP130.db .mode line select * from COMP130_NODES; select * from COMP130_F0018_IOVS; .mode column .header on .table select * from COMP130_NODES; select * from COMP130_F0007_IOVS where IOV_SINCE = 13314398617600;
PoolCat_comcond.xmlやgeomDBはKitDir/DBReleaseに入っている。設定ファイルもそこにある。cosmicRecの設定は12.0.1で動いた。
https://uimon.cern.ch/twiki/bin/view/Atlas/ConnSvcAthena
cd pacmanDir . setup.sh cd runDir mkdir geomDB export ATLASGEOM=http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/Geometry pacman -get $ATLASGEOM:GeomDBSQLite
新しいターミナルにする。
cd cosmicRunDir export CORAL_DBLOOKUP_PATH=./:$CORAL_DBLOOKUP_PATH export CORAL_AUTH_PATH=./:$CORAL_AUTH_PATH
上のファイルをコピーする。 これでDBアクセスは問題なくなったがまだ変なところで落ちる。 その対策
cd /afs/cern.ch/12.0.0/AtlasCore/2.0.0/InstallArea/share ln -s /afs/cern.ch/user/a/atlcond/poolcond mkdir -p /afs/cern.ch/user/a/atlcond/poolcond cd /afs/cern.ch/user/a/atlcond/ rsync -avz -e ssh xxx@lxplus.cern.ch:/afs/cern.ch/user/a/atlcond/poolcond . mkdir -p /afs/cern.ch/atlas/conditions/poolcond/catalogue/ cd /afs/cern.ch/atlas/conditions/poolcond/catalogue/ rsync -avz -e ssh xxx@lxplus.cern.ch:/afs/cern.ch/atlas/conditions/poolcond/catalogue/poolcond .
これで'PoolSvc INFO Resolved path is' と空振りしていたところは進むようになった。その結果動くようになった。ログの分析は大事だ。見ているファイルPoolCat_comcond.xmlにはメモリーのなかを見なさいとなっている。つまり実データは読み込まれているのでファイルでなくメモリーを見ろと指示しているのではないか。
まずはこれを勉強すべし。 http://www.sqlite.org/ sqlite compilation needs tcl8.4. Vine and SLC4 are OK. But SLC3 uses tcl8.3.
cd /afs/cern.ch/user/a/atlcond/coolrep/sqlite130/ sqlite3 COMPROD.db sqlite> .table sqlite> select * from COMPROD_NODES; sqlite> select * from COMPROD_DB_ATTRIBUTES;
http://www.net-newbie.com/sqlite/sqlite.html 幅が1600ドットのターミナルにする。 まずテーブルの意味を示したものを調べる。
sqlite3 COMPROD.db .mode column .header on select * from COMPROD_NODES;
もうひとつターミナルを開ける。1600ドットで。最初の10個を見ていく。IOVのテーブル(フォルダー)は最初のラベル(フィールド名?)がOBJECT_ID。
select * from COMPROD_F0012_IOVS where OBJECT_ID < 10; select * from COMPROD_F0013_IOVS where OBJECT_ID < 10; select * from COMPROD_F0014_IOVS where OBJECT_ID < 10;
これをやれば数千行のテーブルも見れる。
IOVは条件の変わったラン毎に作られる。IOV_SINCEがタイムスタンプ的なものだとすると同じものを選んでみる。この番号はOBJECT_ID 116の所のもの。つまり116個ランの条件が変わったことを意味している。COMPROD.dbは116個も条件の似通ったものをいれていることがわかる。だから単に見るだけでは、116回くり返しになってしまう。だからやたら表示されるわけ。
select * from COMPROD_F0022_IOVS where IOV_SINCE = 13314398617600;
1600ドットの標準ターミナルでテーブルを見るsql文は以下のファイル。
https://twiki.cern.ch/twiki//bin/view/Atlas/DatabaseDeployment
このとおりCosmicSimをやったが、3kいべんとの終了の後、こんなエラーが出た。
***************************************************** * * Memory snooper called here end of event process size at this point (VmMem): 265320 kBytes * * ***************************************************** MemorySnooper(event,VmMem,diff-previous) kBytes: 3000 265320 0 ***************************************************** Traceback (most recent call last): File "/afs/cern.ch/11.4.0/AtlasCore/1.4.0/InstallArea/share/bin/athena.py", line 364, in ? include( script ) File "/afs/cern.ch/11.4.0/AtlasCore/1.4.0/InstallArea/python/AthenaCommon/Include.py", line 108, in __call__ execfile( name, __main__.__dict__, __main__.__dict__ ) File "./cosmicSimMysql.py", line 73, in ? IOVDbSvc.serverName = "atx13.hep.kyokyo-u.ac.jp" NameError: name 'IOVDbSvc' is not defined athena> File "<stdin>", line 1 ATLASDD oracle:atlas_dd ^ SyntaxError: invalid syntax
コスミックではどういう風にRDBAccessSvcとIOVDbSvcを使っているのか良くわからないので、結構難しい。結局デフォルトでやるのがよさそう。