~ubuntu-branches/debian/jessie/eso-midas/jessie

« back to all changes in this revision

Viewing changes to prim/proc/cuts.prg

  • Committer: Package Import Robot
  • Author(s): Ole Streicher
  • Date: 2014-04-22 14:44:58 UTC
  • Revision ID: package-import@ubuntu.com-20140422144458-okiwi1assxkkiz39
Tags: upstream-13.09pl1.2+dfsg
ImportĀ upstreamĀ versionĀ 13.09pl1.2+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
! @(#)cuts.prg  19.1 (ES0-DMD) 02/25/03 14:08:48
 
2
! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
3
!
 
4
! MIDAS procedure  cuts.prg  to set user defined values in descr. LHCUTS
 
5
! K. Banse      901023, 910903, 920522, 920925
 
6
!
 
7
! execute as CUTS frame clow,chi  set both cut values
 
8
!         or CUTS frame ,chi      set hi cut value
 
9
!         or CUTS frame clo       set low cut value
 
10
!         or CUTS frame frame1    set cut values as in frame1
 
11
!         or CUTS frame           to look at the cuts values
 
12
!         or CUTS frame =option   to set cuts according to `option'
 
13
!            with option - sigma for cuts = mean-1/2/3*sig, mean+1/2/3*sig
 
14
!                        - high for cuts = mean-0.1*max, max
 
15
!
 
16
! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
17
!
 
18
DEFINE/PARAM P1 ? IMA "Enter frame name:"
 
19
!
 
20
IF P2(1:1) .EQ. "?" THEN
 
21
   READ/DESC {P1} LHCUTS                        !just show curent cuts
 
22
   RETURN
 
23
ENDIF
 
24
!
 
25
DEFINE/PARAM P2 ? ? "Enter cut specs: "
 
26
DEFINE/LOCAL NN/I/1/2 0,0
 
27
NN = M$TSTNO(P2)
 
28
!
 
29
IF P2(1:1) .NE. "=" THEN                !it's the =option mode
 
30
   IF NN .EQ. 0 THEN
 
31
      IF P2(1:1) .EQ. "," THEN                  !only high cut value...
 
32
         WRITE/DESCR {P1} LHCUTS/R/2/1 {P2(2:)}
 
33
      ELSE                                      !reference frame...
 
34
         COPY/DD {P2} LHCUTS/R/1/2 {P1} LHCUTS/R/1/2
 
35
      ENDIF
 
36
!
 
37
   ELSE                                         !low[,high] cuts...
 
38
      WRITE/DESCR {P1} LHCUTS/R/1/2 {P2}
 
39
   ENDIF
 
40
 
41
! it's the =option mode
 
42
 
43
ELSE
 
44
   DEFINE/LOCAL MYCUTS/R/1/2 0.,0.
 
45
   DEFINE/LOCAL WW/R/1/2 0.,0.
 
46
 
47
   IF P2(2:3) .EQ. "SI" THEN
 
48
      STATIST/IMAG {P1} P5=RN
 
49
      NN(2) = 10
 
50
      DO NN = 1 3
 
51
         WW(1) = NN * OUTPUTR(4)                !1/2/3 * sigma         
 
52
 
53
         WW(2) = OUTPUTR(3) - WW(1)             !mean - x*sigma
 
54
         IF WW(2) .LT. OUTPUTR(1) THEN
 
55
            MYCUTS(1) = OUTPUTR(1)
 
56
         ELSE
 
57
            MYCUTS(1) = WW(2)
 
58
         ENDIF
 
59
         WW(2) = OUTPUTR(3) + WW(1)             !mean + x*sigma
 
60
         IF WW(2) .GT. OUTPUTR(2) THEN
 
61
            MYCUTS(2) = OUTPUTR(2)
 
62
         ELSE
 
63
            MYCUTS(2) = WW(2)
 
64
         ENDIF
 
65
         NN(2) = NN(2) + 1
 
66
         OUTPUTR({NN(2)}) = MYCUTS(1)
 
67
         NN(2) = NN(2) + 1
 
68
         OUTPUTR({NN(2)}) = MYCUTS(2)
 
69
      ENDDO
 
70
      WRITE/OUT -
 
71
      "Values computed for mean +- 1,2,3*sigma" are stored -
 
72
      in OUTPUTR(11-16):
 
73
      WRITE/OUT -
 
74
      {OUTPUTR(11)},{OUTPUTR(12)}, {OUTPUTR(13)},{OUTPUTR(14)}, -
 
75
      {OUTPUTR(15)},{OUTPUTR(16)} 
 
76
      WRITE/OUT Cut values for {P1} set to: {MYCUTS(1)}, {MYCUTS(2)}
 
77
 
78
   ELSEIF P2(2:3) .EQ. "HI" THEN
 
79
      STATIST/IMAG {P1} P5=RN
 
80
      WW(1) = 0.1*OUTPUTR(2)            !0.1 * max
 
81
      WW(2) = OUTPUTR(3)-WW(1)          !mean - 0.1*max
 
82
      IF WW(2) .LT. OUTPUTR(1) THEN
 
83
         MYCUTS(1) = OUTPUTR(1)
 
84
      ELSE
 
85
         MYCUTS(1) = WW(2)
 
86
      ENDIF
 
87
      MYCUTS(2) = OUTPUTR(2)
 
88
      WRITE/OUT Cut values for {P1} set to: {MYCUTS(1)}, {MYCUTS(2)}
 
89
 
90
   ELSE
 
91
      WRITE/OUT Invalid cut option (see the HELP)
 
92
      WRITE/OUT Cut values for {P1} not updated ...
 
93
      RETURN
 
94
   ENDIF
 
95
 
96
   WRITE/DESCR {P1} LHCUTS/R/1/2 {MYCUTS(1)},{MYCUTS(2)}
 
97
ENDIF