The MVD detector in PISA

John P. Sullivan
P25, MS H846
Los Alamos National Lab
Los Alamos, NM 87545
Phone :(505) 665-5963
FAX :(505) 665-7920
email: sullivan@lanl.gov

(a lot of the code was originally written by Ju Kang)


If all you need is a crib-sheet to remind you of some key commands, look here. If you want to know how to look at the output, try this.


Contents:
Introduction
Turning it on in PISA
Geometry
Volumes heirachy in the MVD
Summary of subroutines


Introduction

This version of this document replaces a previous version dated January 13, 1998. The important difference in the current version is that it has a correct model for the year-1 version of the MVD is PHENIX. In addition, the code was written to use "C-cages", which look like this:

as the fundamental unit for the MVD's construction. The previous version of the MVD in PISA was based on "ladders" how we really make the MVD. In the process, a variety of updates to the geometry were made.

Running pisa as described in the crib-sheet produced this output file, which has been editted to remove most information except the part which is relevent to the "hits" in the MVD for the first event. A few debugging statements in ver_hits.f were uncommented for this test run.


Turning it ``on" in PISA

The MVD is controlled by the 'VER' command card in pisa.kumac which a set of commands to PISA. A typical use of this control card, which turns on the detector and causes the digitized hits to be saved is:
VER 'ON' 'FULL' 'P_ID' 'FULL' 'VCAL' 0.0 0.0 ! MVD on, hits stored
The 'VER ' command is followed by 5 character parameters whose meanings are defined in the table below. The last 4 of these parameters are stored in the variable CVOLU_OPT(1-4,1) in common GUPHNX in PISA.

parameter# possible values meanings
1 'ON' MVD is on
" 'OFF' MVD is off
2 'FULL' Geant hit banks for MVD are defined
" 'VOLS' geometry set up, but no Geant hit banks
3 'P\_ID' if the Geant hit banks are ``on" (controlled via the 4th parameter), then this must be 'P\_ID'. It controls the numbers of elements in the Geant hits banks
4 'NONE' stops hits information from being stored
" 'FULL' store hits -- the normal condition
5 'VCAL' store standard output hits
" 'VMUL' does the same thing as 'VCAL'


Geometry

The MVD geometry is defined in subroutine ver (cvs/simulation/pisa2000/src/ver/ver.f). The ``barrel'' part of the MVD is constructed from C-shaped "cages" (see above) which consist of a rohacell support structure which can hold anywhere from 0 to 6 Si detectors. The year-1 version of the MVD never had more than 4 detectors on a C-cage. Partially populated cages are always populated in the following order:
1) inner bottom
2) outer bottom
3) inner middle
4) inner top
5) outer middle
6) outer top
The MCMs and associated power/communications boards plus their cooling plenum (made of rohacell) are at the bottom of the detector. The pad detectors (endcaps) and the mounting plates which hold the foam cages in the barrel (aka foam cage adapter) are included. The enclosure for the detector is also included. The geometry parameters are read from a file (
phnx.par). Default values of the parameters are defined in data statements in subroutine ver_pars. In the rest of this document, the names of variables which are read from (phnx.par) are CAPITALIZED. Other variable names are in lower case.

The overall position of the MVD in the 'HALL' reference frame is defined in the include file cvs/simulation/pisa2000/inc/gugeom.inc. The variable pos_vert defines the position. The z position of the center of the MVD is passed as an arguement to subroutine ver and is saved in the zebra bank of MVD geometry parameters as z_mvd_cent.

Here is a cross sectional view (looking down the beam line) of the MVD barrel geometry:

The inner and outer detector planes are represented by the two concentric hexagons. The electronics (MCMs and power/comm boards) are collected on the bottom of the detector. The inner detector shell is VISLR cm from the beam line and the outer detector shell is VOSLR cm from the beam line -- measured on a line perpendicular to both the beam line and to the detector planes. The measurement is to the inner surface of the detector plane.

The following figure shows a cross section through the MVD in the horizontal plane. The location of the pad detectors and the electronics motherboards associated with them is shown.

The active parts of the endcap pad detectors are 12-sided polygons with holes through the middle for the beam pipe. The inner and outer ``radii" of these polygons are R1_VER_PAD and R2_VER_PAD cm, respectively. The pads are mounted to ``motherboards" which represent the electronics for the pad planes. These motherboards are +-Z_VER_PAD cm from the center of the MVD.

Summary of geometry parameters related to active detector elements in the MVD:

Name offset param name from IQ(LFV_PARA) in Zebra bank typical value Description
DVISL(1-3) OFVA_DVISL, OFVA_DVISL+1, OFVA_DVISL+2 0.015cm, 2.5cm, 31.8cm dx,dy,dz of the Si in a whole (inner) azimuthal segment. This is almost obsolete, because the code is no longer organized in "ladders", but the parameters are still used in a few places.
DVOSL(1-3) OFVA_DVOSL 0.015cm , 4.0cm, 31.8cm dx,dy,dz of the Si in a whole (outer) azimuthal segment. This is almost obsolete, because the code is no longer organized in "ladders", but the parameters are still used in a few places.
DVWR1(1-3) OFVA_DVWR1 0.015cm , 2.6cm, 2.65cm dx,dy,dz of a Si inner detector panel, elements (1) and (2) also define x,y dimensions of the active area of each panel.
DVWR2(1-3) OFVA_DVWR2 0.015cm, 3.725cm, 2.65cm dx,dy,dz of a Si outer detector panel, elements (1) and (2) also define the x,y dimensions of the active area of each panel
PITCH OFVA_PITCH 0.02cm Read-out interval
NSTRIP OFVA_NSTRIP 256 Number of strips per panel, active area of the panel is NSTRIP*PITCH
VISLR OFVA_VISLR 4.985cm perpendicular distance from beam line to inner surface of inner barrel.
VOSLR OFVA_VOSLR 7.485cm perpendicular distance from beam line to inner surface of outer barrel.
R1_VER_PAD OFVA_R1_PAD 5.0cm inner radius of pad detector, also inner radius of motherboard
R2_VER_PAD OFVA_R2_PAD 12.0cm outer radius of pad detector
z_ver_pad OFVA_Z_PAD 34.975cm z position of pad detector, calculated as Z_VER_PMB-(DZ_VER_PMB+DVISL(1))
z_mvd_cent OFVA_Z_MVD 0.0cm offset of MVD center from z=0, defined in gugeom.inc
N_CAGES OFVA_N_CAGES 24 # C-cages in MVD, including unpopulated C-cages.
N_CAGE_TYPE(1-24) OFVA_CAGE_TYPE 0,0,0,0,0,0, 4,4,4,2,2,0, 0,0,0,0,0,0, 4,4,3,2,2,0 Specify the number of detectors/MCMs on each of the C-cages, the numbers start with the west side and count from south to north (1st 12 numbers). The second twelve numbers are for the East side (also south to north).
PAD_INSTALL_FLG(1-2) OFVA_PAD_INSTALL_FLG 0,1 1st # is for South pads, 2nd is for north. 1 means they are all installed. 0 means none are installed.

Click here to look at some old geometry parameters which may still exist in the code, but are no longer used.

The tables above summarize the geometry parameters describing the MVD and where they are stored in the output Zebra bank. The position in the zebra bank is given using parameters which define offsets from the base address (IQ(LFV_PARA)) for the MVD geometry parameters. The size parameters usually follow the Geant convention in which the half-length is used rather than the full length. The following table gives the Geant tracking medium numbers used in the PISA definition of the MVD.

Name offset param name from IQ(LFV_PARA) in Zebra bank typical value Description
MED_VER_SEN OFVA_MED_SEN 105 Silicon (sensitive) -- used for Si volumes which have ``hits" structures.
MED_VER_INS OFVA_MED_INS 101 Silicon (insensitive) -- used for Si volumes without ``hits"
MED_VER_ROH OFVA_MED_ROH 102 Rohacell -- used in support frame
MED_VER_PMB OFVA_MED_PMB 107 G10 - pad motherboards
MED_VER_ENC1 OFVA_MED_ENC1 106 Aluminum skin on enclosure walls
MED_VER_ENC2 OFVA_MED_ENC2 102 Rohacell enclosure walls
MED_VER_STRUT OFVA_MED_STRUT 106 aluminum enclosure struts
MED_VER_ENDPL OFVA_MED_ENDPL 106 Aluminum enclosure endplate
MED_VER_HE OFVA_MED_HE 19 "magnetic" air -- in "empty" spaces
MED_VER_MOPL OFVA_MED_MOPL 106 barrel mounting plate
MED_VER_MCM OFVA_MED_MCM 103 MCM's (default=alumina)
MED_VER_BUS_CABLE OFVA_MED_BUS 107 power/comm board, motherboard to MCM
MED_VER_CABL OFVA_MED_CABL 108 kapton cable from Si to MCM
MED_VER_DUMMY OFVA_MED_DUMMY 102 dummy MCM medium (default=rohacell)
In addition to the parameters in geometry tables, which are saved in a Zebra bank, the parameter COLOR_VER, with a typical value of 4, is read from the phnx.par file, but is not saved in the Zebra bank. COLOR_VER specifies the default color number used when drawing the MVD in PISA.

Details of barrel geometry

The barrel portion of the MVD has 6 segments, each covering approximately 60 degrees in azimuthal angle. The number of Si detectors installed at each location is given by N_CAGE_TYPE.

The detector panels in each detector plane are placed inside a Geant 'BOX ' (see GEOM-050 in Geant manual) with whose size is given by DVWR1(1-3) for the inner shell and DVWR2(1-3) for the outer shell. These boxes contain ``insensitive Si", or medium number MED_VER_INS. Only the sensitive part of the detector, which is placed inside this larger volume, is made of ``sensitive" Si (MED_VER_SEN). The sizes are given in terms of the half-lengths in x, y, z in cm. The local coordinate system used to define these sizes is here:

The sensitive part of each panel (tracking medium MED_VER_SEN) has the same x,y dimensions as the whole panel, but a z dimension defined by the pitch (PITCH) and number of strips per panel (NSTRIP) -- centered in the panel. The Si detectors are positioned on C-cages. The C-cages are positioned at locations:
(IZ-5.5)*(DVWR1(3)*2.)
for panel z locations IZ=1,12 (counting from south to north).

The geometry of the rohacell support cage is reasonably complex and is based on 5 volumes with Geant shapes 'PGON' and 'PARA'. A sketch is shown near the top of this page. I will not go into details here. The tracking medium number is MED_VER_ROH. The key geometry parameters used in this definition are WDVROH (the width of a "rib"), the inner and outer Si detector radii (VISLR, VOSLR), the half-length (Z direction) of a C-cage (taken from DVWR1(3)) and the thickness of a Si wafer (DVWR1(1) and DVWR2(1)).

Geometry parameters related to the enclosure, rohacell c-cages, and support structure:

Name offset param name from IQ(LFV_PARA) in Zebra bank typical value Description
WDVROH OFVA_WDVROH 0.57cm width of rohacell cage struts
NHVROH OFVA_NHVROH 12 obsolete -- previously Number of holes on the side of the support cage -- should normally be set = NWPERP
R1_VER_ENC OFVA_R1_ENC 4.83cm Radius, inside of inner wall of outer enclosure, also inner radius of enclosure's endcap
R2_VER_ENC OFVA_R2_ENC 28.35cm Radius, inside of outer wall of outer enclosure, also outer radius of enclosure's endcap
DR_VER_ENC1 OFVA_DR_ENC1 0.001cm Thickness of aluminum skin for the MVD enclosure barrel -- 4 shells total, inside/outside of inner/outer walls
DR_VER_ENC2 OFVA_DR_ENC2 0.64cm Thickness of rohacell core for MVD enclosure barrel outer shell, inner shell is 1/2 this thickness
DZ_VER_ENC OFVA_DZ_ENC 37.2cm Length of enclosure barrel
R_VER_STRUT OFVA_R_STRUT 1.54cm Inner radius of struts
DR_VER_STRUT OFVA_DR_STRUT 0.050cm Wall thickness of struts
DZ_VER_ENDPL OFVA_DZ_ENDPL 0.10cm half-thickness of endplate of MVD enclosure
DZ_VER_MOPL OFVA_DZ_MOPL 0.054cm half-thickness (dz/2) of barrel mounting plate (aka foam cage adapter) -- the actual geometry is like a wheel with spokes, this is an average thickness
R_VER_MOPL OFVA_R_MOPL 8.0cm outer radius of mounting plate
Z_VER_MOPL OFVA_Z_MOPL 32.1cm z of barrel mounting plates

Geometry parameters related to electronics, cooling plenum, and cables:

Name offset param name from IQ(LFV_PARA) typical value Description
DVOEL(1-3) OFVA_DVOEL 2.15, 0.0854, 2.40cm dx,dy,dz of volumes VMCM and VDUM (=size of an MCM)
DZ_VER_PMB OFVA_DZ_PMB 0.21cm half-thickness, pad motherboard
Z_VER_PMB OFVA_Z_PMB 35.15cm +-z position of the 2 pad motherboards
R_VER_PMB OFVA_R_PMB 25.0cm Outer radius of pad motherboard
VER_EL_SPACE OFVA_EL_SPACE 0.85cm spacing between MCM's
VER_TH_BUS_CABLE OFVA_TH_BUS 0.25cm full thickness of power/comm board
VER_W_BUS_CABLE OFVA_W_BUS 7.5cm full width of power/comm board
VER_PLNM_THWALL OFVA_PLNM_THWALL 1.0cm thickness of plenum walls
R_VER_PLENA OFVA_R_PLENA 11.5cm distance of closest wall of plenum to beam line
ANG_VER_PLENA OFVA_ANG_PLENA 20.0deg tilt angle of plenum
VER_TH_CABL OFVA_TH_CABL 0.005cm thickness of kapton cable from Si to MCM

Volumes name VCAI is used to represent the kapton cables (with copper traces) which go from the Si detector panels in the barrel to the MCM's. The portions of the cables which are on the surface of the Si detector panels are included in the model. The small segments of cable from the bottom of the barrel to the MCM's inside the cooling plenum are not in the model. The thickness of these cables is given by VER_TH_CABL. The material is given by

Details of electronics geometry:

There is one MCM (multi-chip modules) for each Si detector in the barrel (Geant volume name VMCM). In the locations without MCMs, there are "dummy MCMs" (Geant volume name VDUM) -- needed to control the flow of cooling air. The material for the MCMs is normally rohacell (variable name MED_VER_MCM = 103). The material for these dummy MCMs is defined by MED_VER_DUMMY (= 102 = rohacell normally). All of the MCM's are collected in two groups near the bottom of the detector. The MCM's are enclosed by a rectangular rohacell plenum, the plenum walls have volume names VXWL and VYWL. The power/comm boards (which were once called "bus cables", a name which remains in many of the variable names) which go from the MCM's to the outside world are at the bottom of the plenum. The size of the "box" for either an MCM or a dummy MCM is defined by the array DVOEL.

Summary of enclosure and barrel support geometry:

The enclosure consists of two concentric thin-walled cylindrical shells, which are made of tracking medium number MED_VER_ENC2 (rohacell by default) covered inside and outside with thin layers of tracking medium number MED_VER_ENC1 (aluminum by default). The thickness of the 2 rohacell layers is given by DR_VER_ENC2 and the thickness of the 4 aluminum layers is DR_VER_ENC1. The outer radius of the inner shell is R1_VER_ENC (cm) and the inner radius of the outer shell is R2_VER_ENC (cm). The enclosure is completed by two endcaps, which are disk-shaped with a hole in the middle for the beam pipe. The inner radius of each endcap is R1_VER_ENC (cm), the outer radius is R2_VER_ENC (cm), and the thickness is DZ_VER_ENDPL. The endcaps are made of tracking medium number MED_VER_ENDPL (aluminum by default). Finally, the enclosure has 4 tube-shaped supporting struts. The these struts are made of tracking medium number MED_VER_STRUT (aluminum by default). The struts have inner radius R_VER_STRUT, wall thickness DR_VER_STRUT, and are dz_ver_strut (which is =DVISL(3) = the length of the detector row in the current version). As shown in the figure near the top of this page, two of the struts are at the top of the enclosure and two are at the bottom.

Details of the pad geometry:

There are two approximately disk-shaped pad detectors, one at each end of the the MVD barrel. The active elements of the detectors are defined as 12-sides polygons instead of disks, using the Geant shape called 'PGON' (see section GEOM-050 of Geant manual). Each disk has a hole in the middle for the beam pipe (that is, it is shaped something like a compact disk). The active part of the detector is made of material MED_VER_SEN (which is Si by default). The thickness of the pad detectors is assumed the same as the Si in the barrel (DVIEL(1)). The inner radius is R1_VER_PAD and the outer radius is R2_VER_PAD. It's position is +-z_ver_pad (which is calculated from the position of the "motherboard", which is an input parameter). Each pad detector also has a "motherboard" made of medium number MED_VER_PMB (G10 by default), which is also "compact disk shaped" with a thickness of DZ_VER_PMD, inner radius R1_VER_PAD, and outer radius R_VER_PMB. The motherboard has rounded edges -- not 12-sided.


Volumes Hierarchy in the MVD:

The tube-shaped mother volume for the MVD is called 'VERT' and is defined in subroutine hall (cvs/simulation/pisa2000/src/phnxcore/hall.f). Subroutine ver places the rest of the volumes inside this larger volume. VCG0, VCG2, VCG3, VCG4 are the volumes containing one "C-cage" with 0, 2, 3, and 4 Si detectors attached. Inside these volumes, the rohacell ribs are defined as VRi0 -- VRi5, where i=0,2,3,4 is the number of Si detectors on the cage. Also inside the VCG0 ... VCG4 volumes are the VSIi and VSOi volumes -- the Si wafers. Inside these Si wafers are the active volumes (VAIi and VAOi). In these names, the "I" and "O" are for Inner and Outer layer. VPAD is the ``sensitive" volume in the pad detector. volume VPAD is a 12-sided polygon. The East and West plena (containing MCMs and power/comm boards) are volumes VPLE and VPLW. The following figure shows the "tree" structure of the volumes. The size parameters, the material numbers, and a description of how the sizes are calculated from the input paramerters is given for each of the volumes in appendix A.

This figure was too hard to read if I went down to the end of every branch of the tree. If you want to look at the rest of the different trees, click to its name here:

  1. VCG0 -- a C-cage with no Si detectors
  2. VCG2 -- a C-cage with 2 Si detectors
  3. VCG3 -- a C-cage with 3 Si detectors
  4. VCG4 -- a C-cage with 4 Si detectors
  5. VPLE -- the East MCM-cooling plenum
  6. VPLW -- the West MCM-cooling plenum


    Digitization

    The Geant hit banks are booked in subroutine ver_bhits for the barrel and in ver_pads for the pads when the geometry is being defined. The hit banks are only defined if CVOLU_OPT(1,1)='FULL'. This is the 2nd control variable on the input data card VER in pisa.kumac. The data stored in Geant's hit banks are stored as positive integers with values
    IVAR = (VAR+VORIG)*VFACT,
    where VORIG and VFACT are given in the following table:

    name (NAMESH) n bits per hit element (NBITSH) offset (VORIG) scale factor (VFACT) notes
    POSX 24 80.0 100000.0 0.1 micron resolution
    POSY 24 80.0 100000.0 0.1 micron resolution
    POSZ 24 80.0 100000.0 0.1 micron resolution
    DELE 20 0.0 1.0E+7 0.1 keV resolution
    TOFL 16 0.0 100.0 10 psec timing
    P_ID 8 0.0 1. IDs are integers

    Subroutine VER_DIGI (cvs/simulation/pisa2000/src/ver/ver_digi.f) uses these hit banks. This subroutine counts the hits on active detector element and stores them in Zebra banks which go to the output data file (default name phnx.dat). The Geant hit banks come in pairs -- an entrance and exit hit. The information from each pait of Geant hits in combined into one entry in the output Zebra banks. In principle, the type of output is controlled by CVOLU_OPT(4,1), which is the 5th item in the list of commands of the VER control card in gffgo.dat. This option can be either 'VCAL' or VMAP'. Currently, there are different banks for the two cases (called 'VCAL' or 'VMAP'), but the same information is stored in both cases. In each sub-event, a maximum of MFV_ALLDETS (a parameter whose current value is 5000) hits are allowed. Either MFV_CAL or MFV_MAP (parameters whose current values are both 9) elements are stored for each strip hit. These parameters are:

    Item number variable type description
    1 Integer overall panel address. For detectors in the barrel this is 10000*n_type + n_row + n_panel, where n_type is 1 for the inner shell and 2 for the outer shell, n_row is the row number (aka azimuthal section number) which runs from 1 - 6, and n\_panel is the panel number within the row -- from 1 - 12. For the pad endcaps, the address is 30000 for the endcap at +z and 40000 for the endcap at -z.
    2 Real the energy loss in GeV.
    3 Integer track number
    4-6 Real x,y,z at entrance to detector in local coordinates
    7-9 Real x,y,z at exit from detector in local coordinates

    A large part of the digitization step takes place in subroutine VER_HITS, which is called by VER_DIGI. Subroutine VER_HITS calls GFHITS (a Geant routine) to retrieve the Geant hit banks. If there are too many hits in one sub-event, a message is written to logical unit number lver_out (currently=6) and the number of strips hit is truncated to 5000.

    The MVD zebra banks are written to the output file by subroutine FV_PUT_DST (cvs/simulation/pisa2000/src/ver/fvputdst.f), which also writes the geometry parameters to the output file.


    Summary of Subroutines

    The subroutines related to the MVD are individual files in directory cvs/simulation/pisa2000/src. The column ``subdirec. name" lists the subdirectory name in which the file is stored. The following table gives a brief summary of the purpose of each of these routines.

    Subroutine name subdirec. name called by subroutines called purpose
    VER ver GUGEOM GSDET, GSDETH, VER_PARS, VER_CABL, VER_PLEN, VER_FRAM, VER_ENCL, VER_CCAGE, VER_PADS, VER_BHITS, VERMATDEF Define MVD geometry, hits banks
    VER_PARS ver VER MZFORM,MZBOOK put geometry pars into a Zebra bank
    VER_DIGI ver GUDIGI VER_HITS, MZFORM, MZPUSH, MZBOOK ``digitize" MVD hits, put in Zebra bank
    VER_HITS ver VER_DIGI GFHITS, GMEDIA, GMTOD, TRKSTACK find all strips hit in a sub-event
    VER_FRAM ver VER GSVOLU, GSATT, GSPOS, GSROTM define frame geometry: mounting plates
    VER_ENCL ver VER GSVOLU, GSATT, GSPOS defines enclosure cylinder and endcap
    VER_PADS ver VER GSVOLU, GSATT, GSPOS, GSDET, GSDETH Si pad + its motherboard + pad hits
    VERMATDEF ver VER GSTMED, GSMIXT, GSMATE, GSTPAR define materials used in MVD code
    VER_CABL ver VER GSVOLU, GSATT, GSPOS, GSROTM kapton cables
    VER_CCAGE ver VER GSROTM, GSVOLU, GSATT, VER_ROCAGE, VER_SIDETS, GSPOS define C-cage
    VER_ROCAGE ver VER_CCAGE GSVOLU, GSATT, GSPOS, GSROTM rohacell part of a C-cage
    VER_SIDETS ver VER_CCAGE GSVOLU, GSATT, GSPOS, GSROTM Si on a C-cage
    VER_BHITS ver VER GSDET, GSDETH hits in barrel
    VER_USER ver G_USER2 --- skeleton of an analysis code
    VER_PLEN ver ver GSVOLU, GSATT, GSPOS, GSROTM define plenum, MCM's, and ``bus'' cables
    FV_PUT_DST phnxcore E_PUT_DST U_PUT_DST Zebra bank output


    John Sullivan
    comments to: sullivan@lanl.gov
    updated 27-Oct-2000