/*-- FORTRAN section --*/
integer fgntrksci ! number of tracks in scifi
integer fgtfgmidsci ! fragment id for each scifi track
integer fgflagtrksci ! flags for each scifi track
real fggdtrksci ! goodness of track fit
real fgzstrtrksci ! z_0 for each track
real fgzstptrksci ! z_1 for each track
real fgxy0trksci ! xy_0 for each track
real fgslptrksci ! slope for each track
integer fgntvtxsci ! number of vertices for each track
integer fgtvtxidsci ! vertex id for each track
c
common / fgtracksci / fgntrksci,fgtfgmidsci(2,FGMXTRSCI),
+ fgflagtrksci(FGMXTRSCI),fggdtrksci(FGMXTRSCI),
+ fgzstrtrksci(FGMXTRSCI),fgzstptrksci(FGMXTRSCI),
+ fgxy0trksci(2,FGMXTRSCI),fgslptrksci(2,FGMXTRSCI),
+ fgntvtxsci(FGMXTRSCI),fgtvtxidsci(FGMXVXSCI,FGMXTRSCI)
/*-- C section --*/
typedef struct
{ int ntrk; /* number of tracks in scifi */
int tfgmid[FGMXTRSCI][2]; /* fragment id for each scifi track */
int flagtrk[FGMXTRSCI]; /* flags for each scifi track */
float gdtrk[FGMXTRSCI]; /* goodness of track fit */
float zstrtrk[FGMXTRSCI]; /* z_0 for each track */
float zstptrk[FGMXTRSCI]; /* z_1 for each track */
float xy0trk[FGMXTRSCI][2]; /* xy_0 for each track */
float slptrk[FGMXTRSCI][2]; /* slope for each track */
int ntvtx[FGMXTRSCI]; /* number of vertices for each track */
int tvtxid[FGMXTRSCI][FGMXVXSCI]; /* vertex id for each track */
} FGTRACKSCI_COM;
#define FGTRACKSCI COMMON_BLOCK(FGTRACKSCI,fgtracksci)
COMMON_BLOCK_DEF(FGTRACKSCI_COM,FGTRACKSCI);
Flag of SciFi track ( fgflagtrksci) is as follows:
| value | description | |
| a. | 0 | good track |
| b. | fgfrgmflag(for Y)*100 | (See Fig. 5) |
| + fgfrgmflag(for X) | ||
| c. | -iproj | single fragment track in iproj-projection |
| d. | -(iproj+10) | single fragment track (found in 2ndary track |
| finding) in iproj-projection | ||
| e. | -10 | tracks found in 2ndary track finding |
c*****Bundle hit****************************************************************** c* TOP(X) SIDE(Y) TOP(X) SIDE(Y) * c* * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* |~~~~~~~~~~~~| |~~~~~~~~~~~~| |~~~~~~~~~~~~| |~~~~~~~~~~~~| * c* Nu | | |frgmflag=20 | | | |frgmflag=10 | * c* --> | ------- | | | --> | ----- | | / | * c* | | | \ | | | | / | * c* |____________| |___\________| |____________| |____/_______| * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* +2000 +1000 * c* * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* |~~~~/~~~~~~~| |~~~~~~~~~~~~| |~~~~\~~~~~~~| |~~~~~~~~~~~~| * c* | / | | | | \ | | | * c* --> | | | ----- | --> | \ | | -------- | * c* |frgmflag=20 | | | | frgmflag=10| | | * c* |____________| |____________| |____________| |____________| * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* +20 +10 * c* * c*****Dead Layer****************************************************************** c* * c* :::::::::: :::::::::: * c* :::::::::: frgmflag=1 :::::::::: frgmflag=2 * c* |~~~|~~~~~~~~| |~~~|~~~~~~~~| |~~~|~~~~~~~~| |~~~|~~~~~~~~| * c* |___| | |___| | |___| | |___| \ | * c* --> | ------ | | \ | --> | ---- | | \ | * c* | |~~~| | \ |~~~| | |~~| | |~~~| * c* |________|___| |________|___| |_________|__| |________|___| * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* +100 +200 * c* * c* :::::::::: :::::::::: * c* :::::::::: :::::::::: * c* |~~~|~~~~~~~~| |~~~|~~~~~~~~| |~~~|~~~~~~~~| |~~~|~~~~~~~~| * c* |___|\ | |___| | |___| \ | |___| | * c* --> | \ | | ----- | --> | \ | | ----- | * c* | |~~~| | |~~~| | \|~~| | |~~~| * c* |________|___| |________|___| |_________|__| |________|___| * c* frgmflag=1 :::::::::: frgmflag=2 :::::::::: * c* :::::::::: :::::::::: * c* +1 +2 * c* * c*********************************************************************************