Ntupleデータの解析入門コース#2(rev.a): Fortranプログラムを作る

2003.4.26 T. Kondo | 入門コース:目次概要#1→HERE→ #3#4#5#6#7#8#9 | PAWコマンド表
ここではPAWから直接fortran関数をよんでデータを解析します。

[2-1] Fortran 関数の作成:

    サンプル関数nlep.fを作成する。


[2-2] nlep.fの中で呼んでいるinclude fileの rantpl3.inc を作成する: > paw | PAWを起動する。 PAW> h/file 1 higgs_sample/hpro-ggf_hd-zz_hm0200_cteq5l_llumi_n0001.ntpl 0 PAW> uwfunc 102 rantpl3.inc | ID=102 data の common構造を調べてrantpl3.incに置く。 PAW> sh ls | rantpl3.inc が出来ていでることを確認する。 PAW> sh less rantpl3.inc | rantpl3.incの内容を確認する。

[2-3] Fortran関数 nlep.f を使う。 PAW> zone 2 2 | screen表示を2x2にセットする。 PAW> n/pl 102.nlep.f(0.) | fortran function(nlep.f)による計算値結果の表示 PAW> n/pl 102.nlep.f(7.) | function への引数(ptcut)の変更をしてみる。 PAW> n/pl 102.nlep.f(20.) | 7 では余り変化が見えないので..... PAW> n/pl 102.pmu(3,1:nisomu) nlep.f(7.)>3 | function の条件式への利用例    ここまでのプロットはout2a.gifのようになるはず。

[2-4] 2つのmuonの不変質量(invariant mass)を組む: サンプルFortran関数 invmass.f を作成する。ただしこの関数の中では最初にリストされている 2つのmuon (isolated muonとは限らない)の不変質量のみを組んでおり、全ての組み合わせを組んではいない。   PAW> n/pl 102.invmass.f(0.) | fortran function(invmass.f)による計算値結果の表示。Pt cut=0 GeV PAW> n/pl 102.invmass.f(7.) nisomu>1 | 2個以上のisolated muonが存在する条件を課す。Pt cut=7.0 GeV PAW> n/pl 102.invmass.f(7.) nisomu>1.and.chgmu(1)*chgmu(2)=-1 | +-の対のみを選ぶ。 PAW> n/pl 102.invmass.f(7.) nisomu>1.and.chgmu(1)*chgmu(2)=1 | ++.--の対のみを選ぶ。 ここまでのプロットはout2b.gifのようになるはず。 PAW> exit

→→→→→ 入門コース#3ヘ行く。
解説
  • n/pl 102.nlep.f(0.) では、PAWが関数nlep.fを1行毎にinterpleteし、成功したらntupleデータ のID=102部の全イベントをスキャンし、関数の値をヒストグラムにプロットする。
  • Fortranプログラムの中では'rantpl3.inc'の中のcommonを通じてデータがピックアップできる。
    サンプルプロフラム例
  • [example 1] nlep.f (made by I. Ueda)
  • [example 2] invmass.f (made by T. Kondo)
    Send your comments of this home page to Taka Kondo