Makent

Aus HERMESwiki
Zur Navigation springen Zur Suche springen

Makent is a wrapper script for hexe. It is useful for quickly generating an HBOOK ntuple from a uDST file. Makent is not included in the standard HERMES software, but you can find makent in the original author's home directory: ~makins/scripts/makent.

For usage instructions you can just run

makent -example

The ntuple will contain one record for each MAINTABLE row

 MAINTABLE: g1Track
 CONDITION: (abs(rVertZ)<18)and(abs(rVertD)<0.75) ! optional row condition

Grab information from main table, format is <ntuple_var> <adamo_var> [I_R_C#]

 ievent iEvent I                                  ! default type is R=real
 p abs(rEnergy) R                                 ! dad parser expressions ok
 imethod iMethod&255 I                            ! bits 0-7: tracking method
 imag iSelect&512 I                               ! bit 9 on for magnet track
 thx atan2(sin(rTheta)*cos(rPhi),cos(rTheta))     ! maintable function syntax
 thy atan2(sin($1)*sin($2),cos($1)) rTheta rPhi   ! general function syntax

Pull in secondary table via NATREL = forward link from maintable

 TABLE: g1MTrack g1Track_g1MTrack
 genp abs($1) rP                    ! $n syntax *ONLY* for 2ndary table func's
 dp1 abs($1-$2) rP g1Track_rEnergy  ! can use entries from other tables,
 dp2 abs($1-$2) NT_genp NT_p        ! or prev'ly defined ntuple variables
 iltype iLType I

Pull in secondary table via generalized relation (named link)

 TABLE: smRICH g1Track_IRT
 irich iType I
 rqp rQp
 rCov1 rCov(1) R
 rCov2 rCov(2) R
 rCov3 rCov(3) R

Pull in secondary table via NAFREL = backwards link TO maintable

 TABLE: smTrack smTrack_g1Track
 pulscer rCer
 ecalo rECaloTrack

Pull information from a one-row table without navigation

 TABLEROW: g1MEvent 1               ! optional row number defaults to 1
 weight Weight                      ! Monte Carlo event weight

Count the number of rows in a table

 COUTAB: g1MVert nvert              ! 2nd argument is ntuple variable name