macro analyze optimize=off opt_var=adc scint=off vdc=off gas=off shower=off _ vertex=on loop=off filter=off run=1416 * disable the echoing of the command lines *trace off * IF [optimize]=on THEN loop = off NOTFOUND=false MESS 'Following optimization is performed:' CASE [opt_var] IN (adc) MESS 'scintillator ADC pedestals' (beta) MESS 'scintillator time offsets, timewalk and c' (tzero) MESS 'VDC time offsets' (drift) MESS 'VDC electron drift velocity' (tdc_diff) MESS 'VDC t-x lookup table' (dp_kin) MESS 'momentum aberrations' (angle) MESS 'reconstructed angles' (*) NOTFOUND=true ENDCASE IF [NOTFOUND]=true THEN MESS 'optimization option NOT defined in MACRO' EXITM ENDIF ENDIF IF [optimize]=off.and.[scint]=off.and.[vdc]=off.and.[vertex]=off_ .and.[gas]=off.and.shower=off THEN MESS '??????????????????????????????????????????????????????????????????' MESS 'no optimization or spectra specified ??; NO SCAN will be performed' MESS '??????????????????????????????????????????????????????????????????' EXITM ENDIF IF [filter]=on THEN loop=off ENDIF ********************** Set GLOBAL parameters * *** stop execution if any error occurs if next logical is on define/batch on * next logical is on for cosmics set/cosmic_rays off *** define the self-timing plane and side set/timing/e s2 right *** if next logical is on the TIMEWALK parameters in the *** scintilator timing are fitted when calibrating *set/fit/time/time_walk on * Fit the TDC offsets of the scintillator paddles in SPECE set/fit/time/paddle_e on set/fit/time/time_walk on set/fit/npts 2000000 set/vdc/tdc_cut 2 set/vdc/tx_cor 2 *set/vdc/tx_cor 3 e tx_table.hbook * ********************** Setup files ************************ * set/file/output spec_[run].hbook set/file/database db845 set/file/opt_database db845_opt1 set/file/fit_inp fit_dp.inp set/file/detmap detmap.config *********************** Define cuts ************************ * * scintillators * define/cut/1d spec_e.s1.icode-1 -0.5 0.5 define/cut/1d spec_e.s1.icode-2 0.5 1.5 define/cut/1d spec_e.s1.icode-3 1.5 2.5 define/cut/1d spec_e.s2.icode-1 -0.5 0.5 define/cut/1d spec_e.s2.icode-2 0.5 1.5 define/cut/1d spec_e.s2.icode-3 1.5 2.5 define/cut/1d spec_e.s1.mult-1 0.5 1.5 define/cut/1d spec_e.s2.mult-1 0.5 1.5 define/cut/1d spec_e.s1.y_det-1 -0.15 0.15 define/cut/1d spec_e.s2.y_det-1 -0.30 0.30 define/cut/1d spec_e.beta-1 0.70 1.30 * do j = 1,2 do i = 1,6 define/cut/1d spec_e.s[j].adc_l_c[[i];[i]]-1 300.0 3600.0 define/cut/1d spec_e.s[j].adc_r_c[[i];[i]]-1 300.0 3600.0 enddo enddo do i = 1,6 define/cut/1d spec_e.s1.tdc_l_c[[i];[i]]-1 1000.0 3000.0 enddo do i = 1,6 define/cut/1d spec_e.s1.tdc_r_c[[i];[i]]-1 1000.0 3000.0 enddo do i = 1,6 define/cut/1d spec_e.s2.tdc_l_c[[i];[i]]-1 1000.0 3000.0 enddo do i = 1,6 define/cut/1d spec_e.s2.tdc_r_c[[i];[i]]-1 1000.0 3000.0 enddo do j = 1,2 do i = 1,6 ilow = [i]-0.5 ihigh = [i]+0.5 define/cut/1d spec_e.s[j].hp_r-[i] [ilow] [ihigh] enddo enddo * * Gass Cherenkov * define/cut/1d spec_e.gas.adcsum_c-1 50. 5000. * * VDC's * define/cut/1d spec_e.u1.clus-1 0.5 1.5 define/cut/1d spec_e.v1.clus-1 0.5 1.5 define/cut/1d spec_e.u2.clus-1 0.5 1.5 define/cut/1d spec_e.v2.clus-1 0.5 1.5 define/cut/1d spec_e.u1.mult-1 0. 2. define/cut/1d spec_e.v1.mult-1 0. 2. define/cut/1d spec_e.u2.mult-1 0. 2. define/cut/1d spec_e.v2.mult-1 0. 2. * * vertex * define/cut/1d spec_e.u1.y_det-1 -0.144 0.144 define/cut/1d spec_e.u1.x_det-1 -1.059 1.059 define/cut/1d spec_e.th_tra-1 -0.2 0.2 define/cut/1d spec_e.th_tg-1 -0.070 0.070 define/cut/1d spec_e.ph_tg-1 -0.050 0.050 define/cut/1d spec_e.p_kin-1 838.0 848.0 * ********************** Define new logicals ************************ * define/logical one_sc_hit spec_e.s1.mult-1&&spec_e.s2.mult-1 define/logical no_lite_g spec_e.s1.y_det-1&&spec_e.s2.y_det-1 do i = 1,6 define/logical gs1[i]t _ spec_e.s1.tdc_l_c[[i];[i]]-1&&spec_e.s1.tdc_r_c[[i];[i]]-1 define/logical gs2[i]t _ spec_e.s2.tdc_l_c[[i];[i]]-1&&spec_e.s2.tdc_r_c[[i];[i]]-1 define/logical gs1[i]a _ spec_e.s1.adc_l_c[[i];[i]]-1&&spec_e.s1.adc_r_c[[i];[i]]-1 define/logical gs2[i]a _ spec_e.s2.adc_l_c[[i];[i]]-1&&spec_e.s2.adc_r_c[[i];[i]]-1 define/logical hpeq[i] spec_e.s1.hp_r-[i]&&spec_e.s2.hp_r-[i] enddo do i = 1,5 j = [i]+1 define/logical hpne[i] spec_e.s1.hp_r-[i]&&spec_e.s2.hp_r-[j] define/logical hpnn[i] spec_e.s1.hp_r-[j]&&spec_e.s2.hp_r-[i] enddo * define/logical gs1t 'gs11t||gs12t||gs13t||gs14t||gs15t||gs16t' define/logical gs2t 'gs21t||gs22t||gs23t||gs24t||gs25t||gs26t' define/logical gs1a 'gs11a||gs12a||gs13a||gs14a||gs15a||gs16a' define/logical gs2a 'gs21a||gs22a||gs23a||gs24a||gs25a||gs26a' define/logical s1eqs2 'hpeq1||hpeq2||hpeq3||hpeq4||hpeq5||hpeq6' define/logical s1eqs2m1 'hpne1||hpne2||hpne3||hpne4||hpne5' define/logical beta_cut spec_e.beta-1 define/logical s1eqs2p1 'hpnn1||hpnn2||hpnn3||hpnn4||hpnn5' * define/logical gas_cut spec_e.gas.adcsum_c-1 * define/logical one_cluster _ spec_e.u1.clus-1&&spec_e.v1.clus-1&&spec_e.u2.clus-1&&spec_e.v2.clus-1 define/logical low_mult _ spec_e.u1.mult-1&&spec_e.v1.mult-1&&spec_e.u2.mult-1&&spec_e.v2.mult-1 define/logical vdc_hole spec_e.u1.x_det-1&&spec_e.u1.y_det-1 define/logical accept_e spec_e.th_tg-1&&spec_e.ph_tg-1 define/logical steep_track spec_e.th_tra-1&&!low_mult&&one_cluster * ************************ spectrometer HRS ******************* set/auto_window off * set/spectrum/bins/x1 1 set/spectrum/window/x1 0 16 spectra/save event_type * * Do not make any spectra while optimizing * * ---> Scintillator * IF [scint]=on THEN set/spectrum/bins/x1 1 set/spectrum/window/x1 0 5 spectra/save spec_e.s1.mult spectra/save spec_e.s2.mult set/spectrum/window/x1 0 8 do j = 1,2 do i = 1,3 spectra/save spec_e.s[j].hp_l spec_e.s[j].icode-[i] spectra/save spec_e.s[j].hp_r spec_e.s[j].icode-[i] enddo enddo set/spectrum/bins/x1 1 set/spectrum/bins/x2 1 set/spectrum/window/x1 0 7 set/spectrum/window/x2 0 7 spectra/save spec_e.s1.hp_l/spec_e.s1.hp_r _ steep_track&&gs1t&&spec_e.s1.mult-1&&gs1a spectra/save spec_e.s2.hp_l/spec_e.s2.hp_r _ steep_track&&gs2t&&spec_e.s2.mult-1&&gs2a spectra/save spec_e.s1.hp_r/spec_e.s2.hp_r _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit set/spectrum/bins/x2 100 set/spectrum/window/x2 -1.5 1.5 set/spectrum/bins/x1 1 set/spectrum/window/x1 0 7 spectra/save spec_e.s1.x_det/spec_e.s1.hp_r _ steep_track&&gs1t&&spec_e.s1.mult-1&&gs1a spectra/save spec_e.s2.x_det/spec_e.s2.hp_r _ steep_track&&gs2t&&spec_e.s2.mult-1&&gs2a set/spectrum/bins/x1 1 set/spectrum/window/x1 0 5 set/ntuple on spectra/save spec_e.s1.x_det/spec_e.s1.mult steep_track&&gs1t spectra/save spec_e.s2.x_det/spec_e.s2.mult steep_track&&gs2t set/ntuple off * * TDC spectra * set/spectrum/bins/x1 4 set/spectrum/window/x1 1000 3000 do j = 1,2 do i = 1,6 spectra/save spec_e.s[j].tdc_l[[i];[i]] spectra/save spec_e.s[j].tdc_r[[i];[i]] enddo enddo do j = 1,2 do i = 1,6 set/spectrum/window/x1 1000 3000 spectra/save spec_e.s[j].tdc_l_c[[i];[i]] _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track IF [j].eq.1 THEN set/spectrum/window/x1 1000 3000 ELSE set/spectrum/window/x1 1000 3000 ENDIF spectra/save spec_e.s[j].tdc_r_c[[i];[i]] _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track enddo enddo set/spectrum/bins/x1 50 set/spectrum/window/x1 -0.3 0.3 set/spectrum/bins/x2 16 do j = 1,2 do i = 1,6 set/spectrum/window/x2 1000 3000 spectra/save spec_e.s[j].tdc_l_c/spec_e.s[j].y_det _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track IF [j].eq.1 THEN set/spectrum/window/x2 1000 3000 ELSE set/spectrum/window/x2 1000 3000 ENDIF spectra/save spec_e.s[j].tdc_r_c/spec_e.s[j].y_det _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track enddo enddo set/spectrum/bins/x1 50 set/spectrum/window/x1 -0.01 0.05 set/spectrum/bins/x2 48 do j = 1,2 do i = 1,6 set/spectrum/window/x2 1000 3000 spectra/save spec_e.s[j].tdc_l_c[[i];[i]]/spec_e.s[j].root_l[[i];[i]] _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track IF [j].eq.1 THEN set/spectrum/window/x2 1000 3000 ELSE set/spectrum/window/x2 1000 3000 ENDIF spectra/save spec_e.s[j].tdc_r_c[[i];[i]]/spec_e.s[j].root_r[[i];[i]] _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track enddo enddo * * ADC spectra * set/spectrum/bins/x1 16 set/spectrum/window/x1 -256 4096 do j = 1,2 do i = 1,6 spectra/save spec_e.s[j].adc_l_c[[i];[i]] _ spec_e.s[j].tdc_l_c[[i];[i]]-1 spectra/save spec_e.s[j].adc_r_c[[i];[i]] _ spec_e.s[j].tdc_r_c[[i];[i]]-1 enddo enddo * * beta spectra * set/spectrum/bins/x1 100 set/spectrum/window/x1 -2.0 2.0 spectra/save spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g do i = 1,6 spectra/save spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&hpeq[i] spectra/save spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&hpne1 spectra/save spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&hpnn1 enddo set/spectrum/bins/x1 100 set/spectrum/window/x1 -5. 5. set/spectrum/bins/x2 50 do j = 1,2 set/spectrum/window/x2 -1.0 1.0 spectra/save spec_e.s[j].x_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g spectra/save spec_e.s[j].x_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2 spectra/save spec_e.s[j].x_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2p1 spectra/save spec_e.s[j].x_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2m1 set/spectrum/window/x2 -0.3 0.3 spectra/save spec_e.s[j].y_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g spectra/save spec_e.s[j].y_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2 spectra/save spec_e.s[j].y_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2p1 spectra/save spec_e.s[j].y_det/spec_e.beta _ steep_track&&gs1t&&gs1a&&gs2t&&gs2a&&one_sc_hit&&no_lite_g&&s1eqs2m1 enddo * set/spectrum/bins/x2 50 set/spectrum/window/x2 -5. 5. set/spectrum/bins/x1 1 set/spectrum/window/x1 0.0 8.0 spectra/save spec_e.beta/spec_e.s1.hp_l steep_track spectra/save spec_e.beta/spec_e.s1.hp_r steep_track spectra/save spec_e.beta/spec_e.s2.hp_l steep_track spectra/save spec_e.beta/spec_e.s2.hp_r steep_track * set/spectrum/bins/x1 16 set/spectrum/window/x1 -256 4096 set/spectrum/bins/x2 100 set/spectrum/window/x2 -5. 5. do j = 1,2 do i = 1,6 spectra/save spec_e.beta/spec_e.s[j].adc_l_c[[i];[i]]-1 _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track spectra/save spec_e.beta/spec_e.s[j].adc_r_c[[i];[i]]-1 _ gs[j]t&&gs[j]a&&spec_e.s[j].mult-1&&steep_track enddo enddo ENDIF * * ---> Gas Cherenkov * IF [gas]=on THEN set/spectrum/bins/x1 16 set/spectrum/window/x1 -256 4096 spectra/save spec_e.gas.adcsum_c do i = 1,10 spectra/save spec_e.gas.adc_c[[i];[i]] spectra/save spec_e.gas.tdc[[i];[i]] enddo ENDIF * * ---> Shower * IF [shower]=on THEN set/spectrum/bins/x1 16 set/spectrum/window/x1 -256 4096 spectra/save spec_e.preshow.adcsum do i = 1,48 spectra/save spec_e.preshow.adc[[i];[i]] enddo spectra/save spec_e.show.adcsum do i = 1,96 spectra/save spec_e.show.adc[[i];[i]] enddo ENDIF * * ---> vdc spectra * IF [vdc]=on THEN set/spectrum/bins/x1 4 set/spectrum/window/x1 500 1300 spectra/save spec_e.u1.tdc,spec_e.v1.tdc,spec_e.u2.tdc,spec_e.v2.tdc set/spectrum/window/x1 500 1300 spectra/save _ spec_e.u1.tdc_c,spec_e.v1.tdc_c,spec_e.u2.tdc_c,spec_e.v2.tdc_c _ steep_track set/spectrum/window/x1 -100 100 spectra/save _ spec_e.u1.tdc_cor,spec_e.v1.tdc_cor,spec_e.u2.tdc_cor,spec_e.v2.tdc_cor _ steep_track spectra/save spec_e.u1.tdc_trig_cor,spec_e.v1.tdc_trig_cor steep_track spectra/save spec_e.u2.tdc_trig_cor,spec_e.v2.tdc_trig_cor steep_track spectra/save spec_e.u1.tdc_drif_cor,spec_e.v1.tdc_drif_cor steep_track spectra/save spec_e.u2.tdc_drif_cor,spec_e.v2.tdc_drif_cor steep_track set/spectrum/bins/x1 1 set/spectrum/window/x1 0 16 spectra/save _ spec_e.u1.mult,spec_e.v1.mult,spec_e.u2.mult,spec_e.v2.mult set/spectrum/window/x1 0 368 spectra/save _ spec_e.u1.coars,spec_e.v1.coars,spec_e.u2.coars,spec_e.v2.coars set/spectrum/window/x1 0 4 spectra/save _ spec_e.u1.clus,spec_e.v1.clus,spec_e.u2.clus,spec_e.v2.clus set/spectrum/bins/x1 100 set/spectrum/window/x1 40000. 70000. spectra/save _ spec_e.u1.drift,spec_e.v1.drift,spec_e.u2.drift,spec_e.v2.drift set/spectrum/bins/x1 4 set/spectrum/window/x1 500. 1300. do i=0,22 j = 16*[i]+1 k = [j]+15 spectra/save spec_e.u1.tdc_c[[j];[k]] spectra/save spec_e.v1.tdc_c[[j];[k]] spectra/save spec_e.u2.tdc_c[[j];[k]] spectra/save spec_e.v2.tdc_c[[j];[k]] enddo set/spectrum/bins/x1 1 set/spectrum/window/x1 0 4 spectra/save spec_e.track set/spectrum/bins/x1 100 set/spectrum/window/x1 -2. 2. spectra/save _ spec_e.u1.slope,spec_e.v1.slope,spec_e.u2.slope,spec_e.v2.slope _ steep_track set/spectrum/bins/x1 500 set/spectrum/window/x1 -0.5 0.5 spectra/save spec_e.u1.angle_diff,spec_e.v1.angle_diff steep_track spectra/save spec_e.u2.angle_diff,spec_e.v2.angle_diff steep_track set/spectrum/bins/x1 500 set/spectrum/window/x1 0. 50. spectra/save _ spec_e.u1.chisq,spec_e.v1.chisq,spec_e.u2.chisq,spec_e.v2.chisq _ steep_track ENDIF * * ---> vertex * * detector vertex * IF [vertex]=on THEN set/spectrum/bins/x1 500 set/spectrum/window/x1 -0.75 0.75 spectra/save spec_e.x_rot-1 !low_mult set/spectrum/window/x1 -0.05 0.05 spectra/save spec_e.th_rot-1 !low_mult&&spec_e.p_kin-1 set/spectrum/window/x1 -0.10 0.10 spectra/save spec_e.y_rot-1 !low_mult&&spec_e.p_kin-1 set/spectrum/window/x1 -0.10 0.10 spectra/save spec_e.ph_rot-1 !low_mult&&spec_e.p_kin-1 set/ntuple on spectra/save spec_e.th_rot/spec_e.x_rot-1 _ vdc_hole&&!low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.y_rot/spec_e.x_rot-1 _ vdc_hole&&!low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.ph_rot/spec_e.x_rot-1 _ vdc_hole&&!low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.ph_rot/spec_e.y_rot-1 _ vdc_hole&&!low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.th_rot/spec_e.ph_rot-1 _ vdc_hole&&!low_mult&&accept_e&&spec_e.p_kin-1 set/ntuple off * * reconstructed target vertex * set/spectrum/bins/x1 560 set/spectrum/window/x1 -0.07 0.07 spectra/save spec_e.th_tg !low_mult set/spectrum/bins/x1 320 set/spectrum/window/x1 -0.04 0.04 spectra/save spec_e.ph_tg !low_mult set/spectrum/bins/x1 100 set/spectrum/window/x1 -0.05 0.05 spectra/save spec_e.y_tg !low_mult set/spectrum/bins/x1 300 set/spectrum/window/x1 820.0 850.0 spectra/save spec_e.p_kin-1 !low_mult&&accept_e spectra/save spec_e.p_kin-2 !low_mult&&accept_e&&beta_cut spectra/save spec_e.p_kin-3 !low_mult&&accept_e&&beta_cut&&gas_cut set/spectrum/bins/x1 1000 set/spectrum/window/x1 -0.05 0.05 spectra/save spec_e.dp-1 !low_mult&&accept_e spectra/save spec_e.dp_cor-1 !low_mult&&accept_e spectra/save spec_e.dp_kin-1 !low_mult&&accept_e spectra/save spec_e.dp-2 !low_mult&&accept_e&&beta_cut spectra/save spec_e.dp_cor-2 !low_mult&&accept_e&&beta_cut spectra/save spec_e.dp_kin-2 !low_mult&&accept_e&&beta_cut spectra/save spec_e.dp-3 !low_mult&&accept_e&&beta_cut&&gas_cut spectra/save spec_e.dp_cor-3 !low_mult&&accept_e&&beta_cut&&gas_cut spectra/save spec_e.dp_kin-3 !low_mult&&accept_e&&beta_cut&&gas_cut * **** th_tg/ph_tg acceptance * set/ntuple on set/spectrum/bins/x1 100 set/spectrum/bins/x2 100 set/spectrum/window/x1 -0.04 0.04 set/spectrum/window/x2 -0.10 0.10 spectra/save spec_e.th_tg/spec_e.ph_tg-1 vdc_hole&&!low_mult set/ntuple off * ***** dp-aberation plots * set/ntuple on spectra/save spec_e.th_rot/spec_e.dp_kin-1 vdc_hole&&!low_mult&&accept_e spectra/save spec_e.ph_rot/spec_e.dp_kin-1 vdc_hole&&!low_mult&&accept_e spectra/save spec_e.y_rot/spec_e.dp_kin-1 vdc_hole&&!low_mult&&accept_e set/ntuple off * ***** y_tg plots * set/ntuple on spectra/save spec_e.th_rot/spec_e.y_tg-1 !low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.ph_rot/spec_e.y_tg-1 !low_mult&&accept_e&&spec_e.p_kin-1 spectra/save spec_e.y_rot/spec_e.y_tg-1 !low_mult&&accept_e&&spec_e.p_kin-1 set/ntuple off ENDIF * *********************** Define filters ******************* * *IF [filter]=off THEN * file/filter filter_[run].dat spec_e.p_kin-1&&gas_cut *ENDIF * *********************** Set optimization ***************** * * scint ADC pedestals * IF [optimize]=on THEN IF [opt_var]=adc THEN calibrate/optimize spec_e.s2.adc_r_c _ one_sc_hit&&no_lite_g&&gs1t&&gs2t&&steep_track calibrate/optimize spec_e.s2.adc_l_c _ one_sc_hit&&no_lite_g&&gs1t&&gs2t&&steep_track calibrate/optimize spec_e.s1.adc_r_c _ one_sc_hit&&no_lite_g&&gs1t&&gs2t&&steep_track calibrate/optimize spec_e.s1.adc_l_c _ one_sc_hit&&no_lite_g&&gs1t&&gs2t&&steep_track * * scint TDC time offsets, speed of light, time walk * ELSEIF [opt_var]=beta THEN calibrate/optimize spec_e.beta _ one_sc_hit&&no_lite_g&&gs1t&&gs2t&&gs1a&&gs2a&&beta_cut&&steep_track * * VDC time offsets * ELSEIF [opt_var]=tzero THEN calibrate/optimize spec_e.u1.tzero steep_track calibrate/optimize spec_e.v1.tzero steep_track calibrate/optimize spec_e.u2.tzero steep_track calibrate/optimize spec_e.v2.tzero steep_track * * VDC drift speed * ELSEIF [opt_var]=drift THEN calibrate/optimize spec_e.u1.drift steep_track calibrate/optimize spec_e.v1.drift steep_track calibrate/optimize spec_e.u2.drift steep_track calibrate/optimize spec_e.v2.drift steep_track * * VDC t-x lookup table * ELSEIF [opt_var]=tdc_diff THEN calibrate/optimize spec_e.u1.tdc_diff steep_track calibrate/optimize spec_e.v1.tdc_diff steep_track calibrate/optimize spec_e.u2.tdc_diff steep_track calibrate/optimize spec_e.v2.tdc_diff steep_track * * momentum resolution * ELSEIF [opt_var]=dp_kin THEN calibrate/optimize spec_e.dp_kin vdc_hole&&!low_mult&&accept_e * * angle reconstruction * ELSEIF [opt_var]=angle THEN calibrate/optimize spec_e.th_tg/spec_e.ph_tg !low_mult&&vdc_hole&&accept_e ENDIF ENDIF * ********************** scanning and output ***************** * IF [loop]=off THEN IF [optimize]=on THEN IF [filter]=off THEN set/file/header hdr_[run] file/scan /work/halla/com96/data/carbon_[run].dat FIRST=1 LAST=-1 -o ELSE set/file/header hdr_[run] file/scan filter_[run].dat FIRST=1 LAST=-1 -o ENDIF ELSE IF [filter]=off THEN set/file/header hdr_[run] file/scan /work/halla/com96/data/carbon_[run].dat FIRST=1 LAST=-1 ELSE set/file/header hdr_[run] file/scan filter_[run].dat FIRST=1 LAST=-1 ENDIF ENDIF spectra/write ELSE set/file/header hdr_[run] file/scan /work/halla/com96/data/carbon_[run].dat FIRST=1 LAST=500 spectra/write nevent = 500 start = 1 stop = [start]+[nevent]-1 WHILE [nevent] > 0 DO READ nevent 'enter #events; #events<=0 means STOP: ' IF [nevent] > 0 THEN start = [stop]+1 stop = [start]+[nevent]-1 IF [optimize]=on THEN set/file/header hdr_[run] file/scan /work/halla/com96/data/carbon_[run].dat _ FIRST=[start] LAST=[stop] -o -l ELSE set/file/header hdr_[run] file/scan /work/halla/com96/data/carbon_[run].dat _ FIRST=[start] LAST=[stop] -l ENDIF spectra/write ENDIF ENDWHILE ENDIF RETURN