Added to repository.
This commit is contained in:
196
geant3/paw/geant_part.kumac
Normal file
196
geant3/paw/geant_part.kumac
Normal file
@@ -0,0 +1,196 @@
|
||||
*
|
||||
* paw$dir:geant_part.kumac
|
||||
*
|
||||
* KUMAC to copy first 400 ns of GEANT decay spectra to
|
||||
* histogram.
|
||||
*
|
||||
* [1] ID of left histogram; other ID's will be reconstructed
|
||||
*
|
||||
* TP, 23-feb-1999
|
||||
*
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
if ( [1] .eq. ' ' .or. [1] .eq. '?' .or. [1] .eq. '!' ) then
|
||||
mess
|
||||
mess GEANT_PART IDleft
|
||||
mess
|
||||
mess Copies first 400ns of existing GEANT decay spectra
|
||||
mess to new IDs; NewID = OldID+1000
|
||||
mess
|
||||
exitm
|
||||
endif
|
||||
idl = [1]
|
||||
idt = [idl]+2
|
||||
idr = [idt]+1
|
||||
idb = [idr]+1
|
||||
idln = [idl]+1000
|
||||
idtn = [idt]+1000
|
||||
idrn = [idr]+1000
|
||||
idbn = [idb]+1000
|
||||
*
|
||||
upp = 400. | upper bin center of new histograms
|
||||
*
|
||||
if ( $vexist(data) ) then
|
||||
v/de data
|
||||
endif
|
||||
*
|
||||
* get histo information
|
||||
*
|
||||
if ( $hexist([idl]) .eq. 0 ) then
|
||||
mess
|
||||
mess Left Histogram ID = [idl] does not exist !
|
||||
mess
|
||||
exitm
|
||||
endif
|
||||
if ( $hexist([idt]) .eq. 0 ) then
|
||||
mess
|
||||
mess Top Histogram ID = [idt] does not exist !
|
||||
mess
|
||||
exitm
|
||||
endif
|
||||
if ( $hexist([idr]) .eq. 0 ) then
|
||||
mess
|
||||
mess Right Histogram ID = [idr] does not exist !
|
||||
mess
|
||||
exitm
|
||||
endif
|
||||
if ( $hexist([idb]) .eq. 0 ) then
|
||||
mess
|
||||
mess Bottom Histogram ID = [idb] does not exist !
|
||||
mess
|
||||
exitm
|
||||
endif
|
||||
*
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
* L E F T
|
||||
*
|
||||
xmin = $hinfo([idl], 'XMIN')
|
||||
xmax = $hinfo([idl], 'XMAX')
|
||||
nbin = $hinfo([idl], 'XBINS')
|
||||
bin = ([xmax] - [xmin])/[nbin]
|
||||
*
|
||||
mess Left ID = [idl] with bin size [bin]
|
||||
*
|
||||
* copy histogram to vector
|
||||
*
|
||||
v/cre data([nbin]
|
||||
get_vec/con [idl] data
|
||||
*
|
||||
* construct new upper limit
|
||||
*
|
||||
nbin = [upp]/[bin] + 1
|
||||
xmax = [xmin] + [nbin]*[bin]
|
||||
mess New LeftId = [idln] with xmax = [xmax] and nbin = [nbin]
|
||||
*
|
||||
* book histogram
|
||||
*
|
||||
if ( $hexist([idln]) ) then
|
||||
hi/de [idln]
|
||||
endif
|
||||
1d [idln] 'part of left, id = '//[idl] [nbin] [xmin] [xmax]
|
||||
put_vec/con [idln] data(1:[nbin])
|
||||
v/de data
|
||||
*
|
||||
*---------------------------------------------------------------------------
|
||||
*
|
||||
* T O P
|
||||
*
|
||||
xmin = $hinfo([idt], 'XMIN')
|
||||
xmax = $hinfo([idt], 'XMAX')
|
||||
nbin = $hinfo([idt], 'XBINS')
|
||||
bin = ([xmax] - [xmin])/[nbin]
|
||||
*
|
||||
mess Top ID = [idt] with bin size [bin]
|
||||
*
|
||||
* copy histogram to vector
|
||||
*
|
||||
v/cre data([nbin]
|
||||
get_vec/con [idt] data
|
||||
*
|
||||
* construct new upper limit
|
||||
*
|
||||
nbin = [upp]/[bin] + 1
|
||||
xmax = [xmin] + [nbin]*[bin]
|
||||
mess New TopId = [idtn] with xmax = [xmax] and nbin = [nbin]
|
||||
*
|
||||
* book histogram
|
||||
*
|
||||
if ( $hexist([idtn]) ) then
|
||||
hi/de [idtn]
|
||||
endif
|
||||
1d [idtn] 'part of top, id = '//[idt] [nbin] [xmin] [xmax]
|
||||
put_vec/con [idtn] data(1:[nbin])
|
||||
v/de data
|
||||
*
|
||||
*---------------------------------------------------------------------------
|
||||
*
|
||||
* Right
|
||||
*
|
||||
xmin = $hinfo([idr], 'XMIN')
|
||||
xmax = $hinfo([idr], 'XMAX')
|
||||
nbin = $hinfo([idr], 'XBINS')
|
||||
bin = ([xmax] - [xmin])/[nbin]
|
||||
*
|
||||
mess Right ID = [idr] with bin size [bin]
|
||||
*
|
||||
* copy histogram to vector
|
||||
*
|
||||
v/cre data([nbin]
|
||||
get_vec/con [idr] data
|
||||
*
|
||||
* construct new upper limit
|
||||
*
|
||||
nbin = [upp]/[bin] + 1
|
||||
xmax = [xmin] + [nbin]*[bin]
|
||||
mess New RightId = [idrn] with xmax = [xmax] and nbin = [nbin]
|
||||
*
|
||||
* book histogram
|
||||
*
|
||||
if ( $hexist([idrn]) ) then
|
||||
hi/de [idrn]
|
||||
endif
|
||||
1d [idrn] 'part of Right, id = '//[idr] [nbin] [xmin] [xmax]
|
||||
put_vec/con [idrn] data(1:[nbin])
|
||||
v/de data
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* Bottom
|
||||
*
|
||||
xmin = $hinfo([idb], 'XMIN')
|
||||
xmax = $hinfo([idb], 'XMAX')
|
||||
nbin = $hinfo([idb], 'XBINS')
|
||||
bin = ([xmax] - [xmin])/[nbin]
|
||||
*
|
||||
mess Bottom ID = [idb] with bin size [bin]
|
||||
*
|
||||
* copy histogram to vector
|
||||
*
|
||||
v/cre data([nbin]
|
||||
get_vec/con [idb] data
|
||||
*
|
||||
* construct new upper limit
|
||||
*
|
||||
nbin = [upp]/[bin] + 1
|
||||
xmax = [xmin] + [nbin]*[bin]
|
||||
mess New BottomId = [idbn] with xmax = [xmax] and nbin = [nbin]
|
||||
*
|
||||
* book histogram
|
||||
*
|
||||
if ( $hexist([idbn]) ) then
|
||||
hi/de [idbn]
|
||||
endif
|
||||
1d [idbn] 'part of Bottom, id = '//[idb] [nbin] [xmin] [xmax]
|
||||
put_vec/con [idbn] data(1:[nbin])
|
||||
v/de data
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
zone 2 2
|
||||
hi/pl [idln]
|
||||
hi/pl [idtn]
|
||||
hi/pl [idrn]
|
||||
hi/pl [idbn]
|
||||
zone
|
||||
*
|
||||
Reference in New Issue
Block a user