BEC. Описание процессоров.

 


В таблице внизу приведены описания процессоров в той последовательности, как они работают в программе реконструкции. Иногда процессоры с разными именами физически представляют одну подпрограмму. Отличие состоит в том, что при этом они используют разные банки в ZEBRA структуре и разные параметры, определяемые через базу данных BEC$PROC_DB.

  Processor name in databases (BEC$PROC_DB, BEC$PROC) and programs Name of subroutine File General description of the processors
1 BEAM
dsbeam
dsbeam Reconstructs beam direction
2 VTNY
dsvrtn
dsvrtn Searchs of the straight tracks in PCs
Поиск прямых треков в Y-плоскостях PC с использованием пучкового трека
3 VRTY
dsvert
dsvert finds common vertex for all tracks (Y-plane)
По трекам из (2) и пучку восстанавливается Y,Z -координаты вершины ( первое приближение )
4 VANY
dsvran
dsvran searches additional tracks in PC (Y-plane)
Используя Z из (3) подбираются ненайденные в (2) Y-проекции треков
5 VANX
dsvran
dsvran searches of the tracks in PC (X-plane)
Используя Z из (3) ищутся X-проекции треков в проп. камерах
6 VERS
dsvers
dsvers finds common vertex for all tracks in space
По проекциям из (4),(5) ищется уточненная вершина взаимодействия (X,Y,Z)
7 SDRY
dsSDRF
dssdrf searches points in Drift Chambers belonging tracks
Через вершину (6) и проекции (4) в Y-плоскости проводится прямые линии и ищутся хиты в DRFT камерах на их продолжениях
8 DALI
dsDALI
dsdali searches of DALITZ points in Drift chambers
Для всех хитов в дрейфовых камерах ищет Далитц-тройки. Заодно преобразует координаты ВСЕХ хитов в повернутых плоскостях DRFT в TD банке.
Только после DALI для повернутых камер DRFT в TD получаются правильные координаты
9 CURV
dsCURV
dscur3 defines candidates in track in ZX-projection
По Y-проекциям из (7), Далитц-точкам из (8) X-проекциям из (5) и точкам в INOX ищутся все возможные их объединения в кривые треки в XZ плоскости. Для каждого определяется импульс.
10 TRSP
dsSLCT
dsslc1 selects connections of tracks in X and Y planes
Из кандидатов (9) и Y-проекций (7) выбираются пространственные треки. При этом учитываются хиты в повернутых PC.
11 VRSF
dsVRSF
dsvrs2 Final Space Vertex Fit
Делается полный пространственный фит вершины для треков (10) и пучка (1). Позиция вершины используется для уточнения импульса из (9)
12 IMPR
dsIMPR
dsimp1 Search of additional tracks
Используя вершину из (11) делается попытка найти найти дополнительные кандидаты в X,Y проекциях и них и оставшихся в (10) сформировать новые треки. Выходные результаты присоединяются к результатам (10), формируя общую структуру PO.
13 FINA
dsfin
dsfin1 Формирует выходную DST структуру. Также заполняет множество гистограмм типа упругого пика, массы К,.....
14 V0IN
dsv0in
dsv0in После вычеркивания всех хитов в PC,POLC принадлежащих уже найденным трекам, ищутся пространственные треки без привязки к вершине взаимодействия.
15 V0CF
dsv0cf
dsv0cf Ищутся продолжения в INOX для треков из (14). Уточняется их импульс.
16 V0DR
dsv0dr
dsv0dr Ищутся точки в DRFT для треков (14),(15). Окончательное определение импульса.
17 V0VR
dsv0vr
dsv0vr Для всех треков (10),(16) ищутся первичная и вторичные вершины. Формируется DST структура. Заполняются гистограммы по К0.
18 GAMS
dsgams
dsgams GAMS Search of clusters in GAMS
Перед работой GAMS и CHER вызывается DSTRAM подпрограмма. Она из результатов (17) заполняет /COMMON/ы и трековая информация для GAMS и CHER берется только из них.
19 CHER
dscher
dscher CHER Determination of particles type
Обработка большого C счетчика. Также идентифицируются электроны.



 


Ниже приведены описания форматов выходных и входных данных для некоторых процессоров. В основном они (описания) созданы Е.Власовым и их правильность я пока не проверял.

В.Костюхин

List of processors.

dsBEAM.

dsDALI,

dsDAL1.

dsVRTN.

dsINOX

dsSLT3

dsLINE

dsVAR1

dsPRPV

dsVERT

dsVRAN

dsVERS

dsSDRF

dsCURV

dsSLCT

dsVRSF

dsIMPR



Ничего больше пока нет...


Processor BEAM

Примечание: В DSTD3 есть обрезания по временам в HPCB (winhpc), которые вбиты прямо в код. Требуют настройки, из базы данных не управляются.
Параметры:


    ipar1=1  histogramming
    ipar2=1  calculation of chamber's positions and time constants
    ipar2=2  filling of new constants
    Параметры 3-6, по-видимому, нигде не используются.
  Пример:
  *PROC BEAM BEAM 6,8,0
   1.,0.,0.,0.0018,0.,0.0018
   HPC1 HPC2 HPC3 HPC4 HPC5 HPC6 HPC7 HPC8

Используемые процессоры: нет.
Output: Фрагмент события.


 1 *F(           22)
 2     2.0000000     - Число использованных хитов в нечетных плоскостях (X)
 3     3.0000000     - Число использованных хитов в   четных плоскостях (Y)
 4   -0.11597876E-01 - (w*xzw-xw*zw)/det      !Ax  det=zzw*w-zw*zw
 5    -4.3213801     - (xw*zzw-zw*xzw)/det    !Bx   
 6     1499.9999     - w   = w +  weight      !S1  для X плоскостей
 7    -652799.94     - zw  = zw+ zj * weight  !Sz  для X плоскостей
 8    0.29178835E+09 - zzw =zzw+ zj*zj*weight !Szz для X плоскостей
 9    0.00000000E+00 - 0.
10   -0.12931476E-02 - (w*xzw-xw*zw)/det      !Ay
11    -2.8324692     - (xw*zzw-zw*xzw)/det    !By
12     1489.5648     - w                      !S1  для Y плоскостей
13    -1462961.1     - zw                     !Sz  для Y плоскостей
14    0.17981795E+10 - zzw                    !Szz для Y плоскостей
15    0.00000000E+00 - 0. 
16    0.00000000E+00 - Координата кластера в 1-й плоскости
17    0.00000000E+00 - Координата кластера в 2-й плоскости
18    0.00000000E+00 - Координата кластера в 3-й плоскости
19    -1.1296203     - Координата кластера в 4-й плоскости
20     1.1412193     - Координата кластера в 5-й плоскости
21   -0.70320952     - Координата кластера в 6-й плоскости
22   -0.93480039     - Координата кластера в 7-й плоскости
23    -3.6948581     - Координата кластера в 8-й плоскости
24 *B(            1)
25 Z               0 - R-список - пустой...


Processor VRTN


Параметры:



   #БД  Назв. в пр.     Назначение
     1.   itype         1 - X проекция, 2 - Y проекция
     2.   param1        Z-координата начала мишени
     3.   param2        Z-координата конца  мишени
     4.   param3        ширина зоны 
     5.   jbase         search starts in planes 1:jbase (т.е. PC12,PC10,PC08)
     6.   ipar5         min total number of plns where trk has isolated hit
     7.   param4        Не используется
     8.   param5        Не используется
  Пример:
  *PROC VTNY LINE 8,6,1
   2.,-222.,-195.,0.1,3.,4.,-200.,-195.
   PC12 PC10 PC08 PC06 PC04 PC02
   BEAM

Используемые процессоры: BEAM.
Output: Фрагмент события.


  1 *F(           15)
  2     2.0000000      - itype = 1 for X, 2 for Y
  3    0.00000000E+00  - 0.0
  4    0.00000000E+00  - 0.0
  5   -0.51290654E-01  - apr=(w*xzw-xw*zw)/det  !Ax
  6    -12.305907      - bpr=(xw-apr*zw)/w      !Bx
  7     1349.9999      - w   = w +  weight      !S1
  8    -205241.52      - zw  = zw+ zj * weight  !Sz
  9     32215030.      - zzw =zzw+ zj*zj*weight !Szz
 10     4.0619006      - his =his+(xj-x1)**2*w1 !HI**2
 11     5.0000000      - npl                    !Number of used planes
 12     1349.9999      - w                      !S1 again
 13    -6086.0005      - xw  = xw+ xw * weight  !Sx
 14    -205241.52      - zw                     !Sz again
 15     873352.81      - xzw =xzw+ xj*zj*weight !Szx
 16     32215030.      - zzw                    !Szz again
 17 *B(            6)
 18 Z           1000E  - Links to the hits in the TD-bank 
 19 Z           10018
 20 Z           20018
 21 Z           10014
 22 Z           10012
 23 Z           10010

Processor SLT3


Параметры:


   #БД  Назв. в пр.     Назначение
     1.   itype         1 - X проекция, 2 - Y проекция
     2.   ibas1(itype)  базовая  плоскость пропорциональных камер
     3.   ibas2(itype)  базовая  плоскость дрейфовых камер
     4.   param1(itype) обрезание abs(cq(ladr+9))ge.par для DRFT (daliz)
  Пример:
*PROC SL3X SLT3 4,19,2
 1.,5.,19.,1.0
 HPC1 HPC3 HPC5 HPC7 PC01 PC03 PC05 PC07 PC09 PC11
 PC13 PC14 INO1 INO2 INO3 INO4 DRF1 DRF6 DRF7
 DALI INOX
*PROC SL3Y SLT3 4,13,2
 2.,2.,13.,1.5
 HPC2 HPC4 HPC6 HPC8 PC02 PC04 PC06 PC08 PC10 PC12
 DRF3 DRF4 DRF9
 DALI INOX


Output: Новое значение координат камер в базе данных


Processor dsINOX

Назначение: This processor is the standard routine of search of couples in INOX chambers.
Coded by: Borisov G.V. 13-jun-89
Параметры:


   #БД  Назв. в пр.     Назначение
     1.   ipar3         1 , если нужно гистограммировать
     2.   param2/2      максимальное значение дрейфа
  Пример:
*PROC INOX INOX 2,4,0
 1.,0.15
 INO1 INO2 INO3 INO4

Используемые процессоры: Нет.
Output: Фрагмент события.


  1 *F(            7)
  2     1.0000000      -  =1 для пары камер 1&2, =2 для пары 3&4   
  3    -35.743938      -  Z - координата
  4    -9.7584457      -  X - координата первой плоскости
  5   -0.20105860      -  дрейф для первой плоскости
  6    -10.062523      -  X - координата проволочки  1-й плоскости
  7    0.30852998E-01  -  дрейф для второй плоскости
  8    0.23191160      -  сумма расстояний
  9 *B(            2)  
 10      Z      1001D  -  адрес хита 1-й плоскости
 11      Z      3001E  -  адрес хита 2-й плоскости


Processor DALI

Назначение: This processor is the standard routine of search of DALITZ points in Drift chambers. Coded by: Borisov G.V. 13-sep-88
Примечания:
1. В боевых программах используется версия DSDAL1 - улучшенная версия DSDALI. Но DSDAL1 использует результаты работы DSDRFT, процессора поиска хитов в дрейфовых камерах, ассоциированных с треками, восстановленными в пропорциональных камерах. В связи с этим в SLT используется DSDALI - автономная версия процессора.
2. Координаты в V-камерах считаются в Y-направлении ! Т.е. шаг 2.4 см между проволоками - это шаг по вертикали !
Параметры:


  #БД  Назв. в пр. Default Назначение
    1.   param1     99999. Первичное обрезание (без времен)   а=yw-xw-vw   
    2.   param2/3   99999. Вторичное обрезание (с дрейфом) на а=yw-xw-vw
    3.    ipar3            1 - главная гистограмма vmi1 ,2 - больше гистограм
    4.    ipar4            Условие на проверку идентичности хитов
    5.    ipar5    .LE.30  Максимальное количество комбинаций
    6    param6            Z-координата фокуса пучка
  Пример:
*PROC DALI DALI 6,9,0
 2.5,0.10,1.0,0.0,15.0,-213.00
 DRF7 DRF9 DRF8 DRF6 DRF4 DRF5 DRF1 DRF3 DRF2

Используемые процессоры: Нет.
Output: Фрагмент события:


  1 *F(           10)
  2     1.0000000     - Номер камеры (3 плоскости) в порядке, описанном в PRC_DB
  3     370.39999     - Z-координата V-плоскости
  4    -72.590836     - X-координата хита (проволочки)
  5   -0.60885710     - dx*is1(jmin) - X-дрейф со знаком 
  6    -28.266479     - Y-координата хита (проволочки)
  7   -0.51069850     - dy*is2(jmin) - Y-дрейф со знаком
  8     27.146475     - V-координата хита (проволочки)
  9   -0.88855922     - dv*is3(jmin) - V-дрейф со знаком
 10    0.91550350E-01 - vmi1=yw-xw-vw - Daliz constraint
 11     1.0000000     - число фрагментов событий, исп. хит ? (только DSDAL1)
 12 *B(            3) 
 13 Z           10028 - адрес хита в X-плоскости
 14 Z           3002A - адрес хита в Y-плоскости
 15 Z           10029 - адрес хита в V-плоскости


Примечание: DSDALI производит дополнительное преобразование координат (TD-банк) для V-плоскостей, т.е корректирует значения, полученные в DSTD3.


Processor LINE

Назначение:
This routine selects hits which belong to the track, started from the Dalitz_point (finded by DALI) and directed to the target.
Coded by: Borisov G.V. 18-sep-88
Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   itype           1 - X проекция, 2 - Y проекция
    2.   param1          Z-координата начала мишени
    3.   param2          Z-координата конца  мишени
    4.   param3          ширина зоны 
    5.   ipar4           минимальное число хитов в PC для трека
    6.   param5   0.25   =1./param5**2 - точность восстановления в INOX и DRF
    7.   param6          ширина коридора для хитов
    8.   param7    4.0   максимальное значение hi**2 для трека
  Примеры:
*PROC LINY LINE 8,9,2
 2.,-218.,-207.,0.2,3.,0.04,0.8,16.
 DRF9 DRF4 DRF3 PC12 PC10 PC08 PC06 PC04 PC02
 BEAM DALI
*PROC LINX LINE 8,15,3
 1.,-218.,-207.,0.2,4.,0.04,0.8,25.
 DRF7 DRF6 DRF1 INO4 INO3 INO2 INO1 PC14 PC13 PC11
 PC09 PC07 PC05 PC03 PC01
 BEAM DALI INOX
*PROC VTNY LINE 8,6,1
 2.,-222.,-195.,0.1,3.,4.,-200.,-195.
 PC12 PC10 PC08 PC06 PC04 PC02
 BEAM
*PROC VANX LINE 6,8,2
 1.,1.5,-203.,0.1,4.,4.
 PC11 PC09 PC07 PC05 PC03 PC01 PC13 PC14
 VRTY VANX

Используемые процессоры: BEAM,DALI,INOX,VERT
Output: Фрагмент события.


   1 *F(            9)
   2     1.0000000       - itype  1 - X проекция, 2 - Y проекция
   3     3.0000000       - nrtot количество ссылок на DALI фрагменты
   4     13.000000       - npl   количество ссылок на хиты
   5    0.28219917E-02   - a      - далее параметры трека для комбинации DRF
   6   -0.10859958       - b      - лево/право с минимальным hi**2
   7     5850.0000       - w1
   8     328706.63       - zw1
   9    0.23196288E+09   - zzw1
  10     10.003584       - himin
  11 *B(           16)
  12 Z           18002   - ссылка на DALI фрагмент
  13 Z           58002   - ссылка на DALI фрагмент
  14 Z           68002   - ссылка на DALI фрагмент
  15 Z           1001A   - ссылка на хит
  16 Z           10019   - ссылка на хит
 ...             .....

Processor VAR1

Назначение:


       This routine computes calibration constants
       of planes.
       Different cases:                                           Processors
       ICASE   = 0     - calibration of delays for every channel
       ICASE   = 1     - calibration of z-position of chambers.    VRX3,VRY3
       ICASE   = 2     - calibration of x-position of chambers.
       ICASE   = 3     - the same, but also for Base Planes.
       ICASE   = 4     - Alignment of detectors according to beam. VARX,VARY
       ICASE   = 5     - Calibration of drift Constants.           VRX2,VRY2
       ICASE   = 6     - Calibration of drift Curves with tracks.  VRX4,VRY4
       Coded by:       Borisov G.V.    29-sep-88


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   itype           1 - X проекция, 2 - Y проекция
    2.   ibase1          первая базовая плоскость
    3.   ibase2          вторая базовая плоскость
    4.   icase           вариант алгоритма
    5.   param1   0.1    вес для хитов в BHPC камерах = 12./param1**2
    6.   param2   0.25   вес для хитов в DRFT камерах =  1./param2**2
    7.   param3   0.25   вес для хитов в INOX камерах =  1./param3**2
    8.   ------          не используется
  Примеры:
*PROC VARY VARI 8,13,2
 2.,5.,13.,4.,0.2,0.05,0.035,16.
 HPC2 HPC4 HPC6 HPC8 PC02 PC04 PC06 PC08 PC10 PC12
 DRF3 DRF4 DRF9
 BEAM LINY
*PROC VARX VARI 8,19,2
 1.,5.,19.,4.,0.2,0.05,0.035,16.
 HPC1 HPC3 HPC5 HPC7 PC01 PC03 PC05 PC07 PC09 PC11
 PC13 PC14 INO1 INO2 INO3 INO4 DRF1 DRF6 DRF7
 BEAM LINX
*PROC VRY2 VARI 8,9,2
 2.,1.,9.,5.,0.1,0.05,0.035,16.
 PC02 PC04 PC06 PC08 PC10 PC12 DRF3 DRF4 DRF9
 BEAM LINY
*PROC VRX2 VARI 8,15,2
 1.,1.,15.,5.,0.1,0.05,0.035,16.
 PC01 PC03 PC05 PC07 PC09 PC11 PC13 PC14 INO1 INO2
 INO3 INO4 DRF1 DRF6 DRF7
 BEAM LINX
*PROC VRY3 VARI 8,9,2
 2.,1.,9.,1.,0.1,0.05,0.035,16.
 PC02 PC04 PC06 PC08 PC10 PC12 DRF3 DRF4 DRF9
 BEAM LINY
*PROC VRX3 VARI 8,15,2
 1.,1.,15.,1.,0.1,0.05,0.035,16.
 PC01 PC03 PC05 PC07 PC09 PC11 PC13 PC14 INO1 INO2 
 INO3 INO4 DRF1 DRF6 DRF7
 BEAM LINX
*PROC VRY4 VARI 8,9,2
 2.,1.,9.,6.,-185.8,372.0,0.035,16.
 PC02 PC04 PC06 PC08 PC10 PC12 DRF3 DRF4 DRF9
 BEAM LINY
*PROC VRX4 VARI 8,15,2
 1.,1.,15.,6.,-183.8,368.8,0.035,16.
 PC01 PC03 PC05 PC07 PC09 PC11 PC13 PC14 INO1 INO2 
 INO3 INO4 DRF1 DRF6 DRF7
 BEAM LINX

Используемые процессоры: BEAM,LINE
Output: Константы в базе данных. ... .....


Processor PRPV

Назначение:


       This routine computes calibration constants of rotated planes
       of proportional chambers using One-particle SLT.
       Different cases:
       ICASE   = 0     - Determination of V0 only
       ICASE   = 1     - Determination of V0 and tang of Rot. Angle.
       Coded by:       Borisov G.V.    29-mar-90


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   icase           смотри выше
    2.   par1            максимальное расстояние до трека
  Примеры:
*PROC PRPV VARV 3,4,2
 1.,0.5,0.
 PC15 PC16 POL1 POL2
 LINX LINY

Используемые процессоры: LINE
Output: Константы в базе данных. ... .....


Processor VERT

Назначение:


       This routine finds common vertex for all tracks
       (including beam track.)
       Coded by:       Borisov G.V.    13-oct-88


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   itype           1 - X-проекция, 2 - Y-проекция 
    2.   icase           1 - если нужно гистограммирование
    3    ztarg           Z-координата мишени
  Примеры:
*PROC VRTY VERT 3,0,2
 2.,1.,-215.
 BEAM VTNY

Используемые процессоры: BEAM, LINE
Output: Фрагмент события.


   1 *F(            7)
   2     4.0000000      - Количество использованных треков (включая beam)   
   3     1.0035841      - (wb*wa2-wab*wa)/det    !X(Y)-coord. of Vertex
   4   -0.39865786      - ayb*arr(4)+byb         !Y(X)-coord. of Vertex
   5    -207.95486      - (wa*wb -wab*w1)/det    !Z-coord. of Vertex
   6     935.20001      - w1  =1./err            !
   7     2.5887332      - -wa =-axb*w1           ! det =w1*wa2-wa*wa
   8    0.41445855E-01  - wa2 = axb*axb*w1
   9 *B(            1)
  10 Z               0
  Примечание: порядок следования X/Y зависит от itype (см. параметры).

Processor VRAN

Назначение:


       This routine searches additional tracks in proportional
       chambers (after work of VRTN and VERT processors).
       Coded by:       Borisov G.V.    27-jul-89


Активно использует подпрограмму DSPRTR, которая...
This routine finds Track elements in proportional chambers.
... и создает фрагмент события.
Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   itp             1 - X-проекция, 2 - Y-проекция
    2.   erzv            немедленно переопределяется из VERT...
    3.   ----            даже не читается
    4.   erxv            немедленно переопределяется из VERT...
    5.   jbase(itp)      базовая плоскость
    6.   ipar5(itp)      min total number of plns where trk has isolated hit
  Примеры:
*PROC VANY LINE 6,6,2
 2.,1.5,-203.,0.1,4.,3.
 PC12 PC10 PC08 PC06 PC04 PC02
 VRTY VTNY
*PROC VANX LINE 6,8,2
 1.,1.5,-203.,0.1,4.,4.
 PC11 PC09 PC07 PC05 PC03 PC01 PC13 PC14
 VRTY VANX

Используемые процессоры: VERT.
Второй процессор в параметрах указывает к какому процессору приписать создаваемые фрагменты события.
Output: Фрагмент события.


   1 *F(           15) 
   2     1.0000000      - itype = 1 for X, 2 for Y    
   3    0.00000000E+00  - 0.0
   4    0.00000000E+00  - 0.0
   5   -0.63761979E-0   - apr=(w*xzw-xw*zw)/det  !Ax
   6    -12.745448      - bpr=(xw-apr*zw)/w      !Bx
   7     1349.9999      - w   = w +  weight      !S1
   8    -182253.80      - zw  = zw+ zj * weight  !Sz
   9     25168678.      - zzw =zzw+ zj*zj*weight !Szz
  10     3.1133974      - his =his+(xj-x1)**2*w1 !HI**2
  11     5.0000000      - npl                    !Number of used planes
  12     1349.9999      - w                      !S1 again
  13    -5585.4902      - xw  = xw+ xw * weight  !Sx
  14    -182253.80      - zw                     !Sz again
  15     718101.56      - xzw =xzw+ xj*zj*weight !Szx
  16     25168678.      - zzw                    !Szz again
  17 *B(            6) 
  18 Z           10017  - Links to the hits in the TD-bank
  19 Z           20015 
  20 Z           30013
  ....           .....

Processor VERS

Назначение:


       This routine finds common vertex for all tracks in space
       (including beam track).
       It uses routine VERTEX from CERN-POOL Library (X1023)
       Coded by:       Borisov G.V.    13-oct-88


Параметры:

  #БД  Назв. в пр. Def   Назначение
    1.   ----            даже не читается
    2.   ipar            
    3.   ztarg           
  Примеры:
*PROC VERS VERS 3,0,4
 1.,1.,-215.
 BEAM VTNY VANX VRTY

Используемые процессоры: BEAM,LINE,VERT.
Output: Фрагмент события.

   1 *F(           40)   = 15 + itrcka*5
   2     5.0000000       - itrcka  = max(itrckx,itrcky)  
   3     1.0604260       - cvert(1)  = X
   4   -0.36973897       - cvert(2)  = Y
   5    -217.70473       - cvert(3)  = Z
   6    0.11676041E-02   - covarx(1,1)
   7   -0.67245160E-05   - covarx(2,1)
   8    0.21907238E-02   - covarx(3,1)
   9   -0.67245160E-05   - covarx(1,2)
  10    0.11001097E-02   - covarx(2,2)
  11   -0.62368796E-02   - covarx(3,2)
  12    0.21907238E-02   - covarx(1,3)
  13   -0.62368796E-02   - covarx(2,3)
  14     2.0318608       - covarx(3,3)
  15    0.99676621       - cvec(1,1) = ax  (X)
  16   -0.63009214       - cvec(2,1) = ay  (Y)
  17    0.00000000E+00   - cvec(3,1) = 0.0 (Z)
  18   -0.29247403E-03   - cvec(4,1) = bx  (tan(teta(x))
  19   -0.11958592E-02   - cvec(5,1) = by  (tan(teta(y))
  20    -12.633693       - cvec(1,2)
  ..    ...........      - ........
  35     5.5309730       - cvec(1,5)
  36    0.67980069       - cvec(2,5)
  37    0.00000000E+00   - cvec(3,5)
  38    0.19811379E-01   - cvec(4,5)
  39    0.58623101E-02   - cvec(5,5)
  40     5.0000000       - itrckx
  41     4.0000000       - itrcky
  42 *B(            1)
  43 Z               0
    

 Приложение: Описание программы VERTEX from CERN-POOL Library (X1023)
c***********************************************************************

c      SUBROUTINE VERTEX(VEC,WW,EVAR,NV,WORK,NSIZE,CVEC,CVERT,COVARX,
c     +                 CDA,SSQ,NVHI)
      SUBROUTINE VERTEX(VEC,EVAR,NV,WORK,NSIZE,CVEC,CVERT,COVARX,SSQ)
C
C.        TWO SUBROUTINES TO
C.        A) CALCULATE THE BEST SPACE INTERSECTION OF SEVERAL
C.           (STRAIGHT) TRACKS
C.        B) COMPUTE IMPROVED TRACK PARAMETERS AND FITTED ERROR MATRIX.
C.            REVISED VERSION JUNE 83 REPLACING ORIGINAL OF AUG 77
C.            DOCUMENTATION = VERTEX CERN/DD/EE/81-6
C.            ORIGIN = M. HANSROUL AND J. KUBLER '77, STATUS = TESTED.
C.      Some modifications from Borisov G. 23-oct-89
C
C     ******************************************************************
C     *                                                                *
C     *THIS SUBROUTINE MINIMIZE THE ERROR ON THE INPUT VECTORS  UNDER  *
C     *THE CONSTRAINT OF THE VERTEX.                                   *
C     *IT RETURNS NEW VECTORS,A NEW VERTEX WHICH REALIZES THIS MINIMUM *
C     *AND ALSO THE ERROR MATRIX                                       *
C     *                                                                *
C     ******************************************************************
C
C
C      INPUT VECTORS ARE TRANSFERRED IN ARRAY VEC(5,N) WHERE
C                VEC(I,N) I=1,3    ARE X,Y,Z COORDINATES OF ONE POINT
C                                  ON VECTOR N
C                         I=4,5    ARE TAN(TETA(X)),TAN(TETA(Y)) DIREC-
C                                  TION TANGENTS OF VECTOR N
C                 VEC(3,N) IS CONSIDERED ERROR FREE
C
C            -CVERT(I)  I=1,3    ARE X,Y,Z,COORDINATES OF VERTEX
C
C           -ARRAY OF ERROR MATRIX EVAR(4,4,N) WHERE
C                EVAR(I,J,N) I=1,4
C                            J=1,4 IS THE COVARIANCE MATRIX OF VECTOR N
C                    THE SEQUENCE FOR THE ERRORS IS THE SAME AS IN THE
C                    VECTORS VEC (I.E  X,Y,TANX,TANY)
C
C              - NV=NUMBER OF INPUT VECTORS
C             - WW(N)=WEIGHT GIVEN TO VECTOR N IN CALCULATING THE
C                     FIRST APPROXIMATION OF THE VERTEX
C
C            WORK(NSIZE) WORKING SPACE NEEDED
C                NSIZE=37*NV   IS THE REQUIRED DIMENSION
C
C
C      OUTPUT VECTOR ARE TRANSFERED IN ARRAY CVEC(5,N) WHERE
C                CVEC(I,N)         IS THE NEW VECTOR (N)
C                                  STORED  AS  VEC(I,N)
C
C            -VECTOR OF NEW VERTEX TRANSFERRED IN CVERT(3) WHERE
C                CVERT(I)          NEW VERTEX
C
C            -ARRAY OF ERROR MATRIX TRANSFERED IN
C                COVARX(3,3)       COVARIANCE MATRIX OF NEW VERTEX
C                                  LENGTH
C
C            -PARAMETER XSISQ WHERE
C                SSQ             CHI-SQUARE OF THE APPROXIMATION
C
C               CDA(4,N)      X,Y,Z,COMPONENTS AND MAGNITUDE OF CLOSEST
C                             DISTANCE VECTORS FROM VERTEX TO VECTOR N
C
C
C
C
C     *****************************************************************


Processor SDRF

Назначение:


       This routine searches points in Drift Chambers which
       belong to (proportional chambers) track elements.
       Coded by:       Borisov G.V.    10-aug-89
       Modifyed by   Borisov G.V. for RUN15 07-apr-1995


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   itype           1 - X-проекция, 2 - Y-проекция
    2.   ----            не читается
    3.   ----            не читается
  Примеры:
*PROC SDRY SDRF 3,3,2
 2.,0.,0.
 DRF9 DRF4 DRF3
 VERS VTNY

Используемые процессоры: VERS,LINE.
Output: Фрагмент события.


   1 *F(           14)  - = 10 + 2*nhit
   2     2.0000000      - itype - 1 - X-проекция, 2 - Y-проекция
   3     2.0000000      - ifrag(imin) - номер фрагмента процессора 2
   4     2.0000000      - npl - число плоскостей в DRFs для данного трека
   5   -0.50225952E-0   - apr(imin) - параметры трека как обычно
   6    -1.4608198      - bpr(imin)
   7     1809.0002      - w(imin)
   8    -319280.63      - zw(imin)
   9     60037880.      - zzw(imin)
  10    -1039.0061      - xw(imin)
  11     164865.52      - xzw(imin)
  12    -3.3839798      - x(y) of the 1-st hit in DRF
  13     372.00000      - z    of the 1-st hit in DRF
  14    -3.4570236      - x(y) of the 2-nd hit in DRF
  15     306.30014      - z    of the 2-nd hit in DRF
  16 *B(            2)
  17 Z           2002A  - ссылки на хиты в DRFs (те же, что в словах 12-15) 
  18 Z           20025  -

Processor CURV

Назначение:


       This routine defines candidates in track in ZX-projection.
       Coded by:       Borisov G.V.    30-oct-88

  Примечания.
   1. В этом процессоре инициализируется другой - IMPR (call INIIMP)
   2. Кроме этого используются подпрограммы:
          CALL dstrft - 
          CALL dsrotp - performs search of hits in rotated planes
          CALL hiscal - calculation of HI**2


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   param5    0.05  некая точность в дрейфовых камерах
    2.   param6          немедленно переопределяется на 0.4
    3.   pint            немедленно переопределяется на 0.71466
    4.   ----            не читается
  Примеры:
*PROC CURV CURV 4,9,5
 0.05,0.4,0.71466,0.
 DRF7 DRF6 DRF1 DRF8 DRF5 DRF2 DRF9 DRF4 DRF3
 DALI SDRY VANX VERS IMPR        

Используемые процессоры: VERS,LINE.
Output: Фрагмент события.


   1 *F(          121)  - istep = 13 + nplane*3 + ndet*3
                        - nplane - число детекторов, используемых в CURV
                        - ndet   - число детекторов, используемых в IMPR
   2    -10101.000      - jtrckx+100*jtrcky+10000*itrall
   3   -0.53272145E-02  - ay = (sbxbx*sax  -sbxax*sbx  )/det
   4    -1.5136217      - by = (saxax*sbx  -sbxax*sax  )/det
   5    -7.8940578      - p  ! det = sbxbx*saxax-sbxax*sbxa
   6   -0.66704907E-01  - ax 
   7    -13.103662      - bx 
   8    0.71851825E-02  - szz1pc/detx
   9     2257.0000      - nplx*64+nply1*8+nplv+iexst*512
  10     3.6333270      - his/(ndg-3)
  11     1.0000000      - hit numbers for 9 DRF planes: DRF7
  12     3.0000000      - ..DRF6
  ...    .........      - 
  18     2.0000000      - ..DRF4
  19    0.00000000E+00  - ..DRF3
  20    0.20430814E-02  - w 
  21    0.16681421E-04  - zw
  22    0.16724702E-06  - zzw
  23    0.38551123E-03  -  saxax/det
  24    0.12090911E-06  - -sbxax/det
  25    0.65773142E-08  -  sbxbx/det
  26    0.00000000E+00  -
  27    0.00000000E+00  -  дальше не разбирал пока...
 ...    ..............     ...........

Processor SLCT

Назначение:


       This processor selects connections of tracks in X and Y
       planes.
       Coded by:       Borisov G.V.    21-aug-89


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   ----            не читается
    2.   ----            не читается
    3.   ----            не читается
    4.   ipar            гистограммирование, если ipar>0
  Примеры:
*PROC TRSP TRSP 4,9,4
 0.05,36.0,0.698,1.
 DRF7 DRF6 DRF1 DRF8 DRF5 DRF2 DRF9 DRF4 DRF3
 VERS SDRY VANX CURV

Используемые процессоры: VERS,LINE,CURV.
Output: Фрагмент события.


   1 *F(            9)
   2   -0.66367000E-01  - ax
   3    -13.076665      - bx
   4   -0.53041265E-02  - ay
   5    -1.5200771      - by
   6    -7.8569479      - p
   7     3.6333270      - his/(ndg-3)
   8    0.00000000E+00  - не заполняется
   9     101.00000      - ix*100+iy
  10     1.0000000      - EF of CURV number
  11 *B(           12)  
  12 Z           18005  - ссылкa на X-EF (из CURV на LINX)
  13 Z           18007  - ссылка на Y-EF (из CURV на LINY)
  14 Z           10028  - ссылки на хиты
  15 Z           30027  - 
  16 Z           10022  -
 ...

Processor VRSF

Назначение:


       This routine finds common vertex for all tracks in space
       (including beam track).
       It uses routine VERTEX from CERN-POOL Library (X1023)
       Coded by:       Borisov G.V.    13-oct-88
       RUN9 Version    Borisov G.V.    23-feb-90


Параметры:

  #БД  Назв. в пр. Def   Назначение
    1.   ----            не читается
    2.   ipar1           гистограммирование, если >0
    3.   ztarg           Z-координата мишени
  Примеры:
*PROC VRSF VERS 3,0,4
 1.0,1.0,-215.
 BEAM CURV TRSP VERS

Используемые процессоры: BEAM,CURV,SLCT,VERS.
Output: Фрагмент события.

   1 *F(           18)  
   2     1.0000000       - =1 - всегда  
   3     1.1127176       - X
   4   -0.38534862       - Y
   5    -213.93317       - Z
   6    0.49310987E-03   - covarx(1,1)
   7   -0.82043942E-06   - covarx(2,1)
   8    0.17179947E-03   - covarx(3,1)
   9   -0.82043942E-06   - covarx(1,2)
  10    0.18871484E-03   - covarx(2,2)
  11   -0.18226006E-02   - covarx(3,2)
  12    0.17179947E-03   - covarx(1,3)
  13   -0.18226006E-02   - covarx(2,3)
  14    0.38165137       - covarx(3,3)
  15     1.1034164       - cvec(1,1) = ax  (X)
  16   -0.65237236       - cvec(2,1) = ay  (Y)
  17    0.00000000E+00   - cvec(3,1) = 0.0 (Z)
  18   -0.43477281E-04   - cvec(4,1) = bx  (tan(teta(x))
  19   -0.12481643E-02   - cvec(5,1) = by  (tan(teta(y))
  20 *B(            1)
  21 Z               0
 ...

Processor IMPR

Назначение:


       This processor makes search of additional space tracks
       using information about not coupled tracks in X- and Y-
       projections.
       Coded by:       Borisov G.V.    14-oct-89
       Corrected for RUN9 by BGV       24-feb-90


Параметры:


  #БД  Назв. в пр. Def   Назначение
    1.   ----            не читается
    2.   ----            не читается
    3.   ----            не читается
    4.   ----            не читается
    5.   ----            не читается
    6.   ----            не читается
  Примеры:
*PROC IMPR IMPR 6,29,4
 0.3,0.5,0.05,0.05,1.,7.
 PC01 PC02 PC03 PC04 PC05 PC06 PC07 PC08 PC09 PC10
 PC11 PC12 PC13 PC14 INO1 INO2 INO3 INO4 DRF1 DRF3
 DRF4 DRF6 DRF7 DRF9 DRF2 DRF5 DRF8 PC15 PC16
 TRSP SDRY VANX VRSF
 Примечание: В процессоре забито в коде использование VTNY.

Используемые процессоры: SLCT,SDRF,LINE,VRSF.
Output: Фрагмент события.


   Процессор добавляет свои фрагменты под именем SLCT !
   и в том же формате.