AIDA GELINA BRIKEN nToF CRIB ISOLDE CIRCE nTOFCapture DESPEC DTAS EDI_PSA 179Ta CARME StellarModelling DCF K40
  AIDA  ELOG logo
Message ID: 764     Entry time: Sun Nov 4 04:31:49 2018
Author: TD 
Subject: Offline analysis R4 
Offline analysis of Oct18/R4_0 to _2

alpha background and pulser

Attachments 1-24 - per FEE64 ADC spectra (32k->4k)

Attachments 25-26 - expanded view pulser peaks FEE64 #2 & #17 & #24
                    anomalously small pulser peak widths observed -> possible LH Kapton PCB issue

Attachements 27-28 - sort program (pulser.f) and variables (variables.dat)
Attachment 1: 101.png  67 kB  | Hide | Hide all
101.png
Attachment 2: 102.png  67 kB  | Hide | Hide all
102.png
Attachment 3: 103.png  67 kB  | Hide | Hide all
103.png
Attachment 4: 104.png  68 kB  | Hide | Hide all
104.png
Attachment 5: 105.png  66 kB  | Hide | Hide all
105.png
Attachment 6: 106.png  66 kB  | Hide | Hide all
106.png
Attachment 7: 107.png  67 kB  | Hide | Hide all
107.png
Attachment 8: 108.png  67 kB  | Hide | Hide all
108.png
Attachment 9: 109.png  67 kB  | Hide | Hide all
109.png
Attachment 10: 110.png  66 kB  | Hide | Hide all
110.png
Attachment 11: 111.png  70 kB  | Hide | Hide all
111.png
Attachment 12: 112.png  66 kB  | Hide | Hide all
112.png
Attachment 13: 113.png  66 kB  | Hide | Hide all
113.png
Attachment 14: 114.png  66 kB  | Hide | Hide all
114.png
Attachment 15: 115.png  67 kB  | Hide | Hide all
115.png
Attachment 16: 116.png  67 kB  | Hide | Hide all
116.png
Attachment 17: 117.png  67 kB  | Hide | Hide all
117.png
Attachment 18: 118.png  67 kB  | Hide | Hide all
118.png
Attachment 19: 119.png  67 kB  | Hide | Hide all
119.png
Attachment 20: 120.png  67 kB  | Hide | Hide all
120.png
Attachment 21: 121.png  67 kB  | Hide | Hide all
121.png
Attachment 22: 122.png  67 kB  | Hide | Hide all
122.png
Attachment 23: 123.png  68 kB  | Hide | Hide all
123.png
Attachment 24: 124.png  68 kB  | Hide | Hide all
124.png
Attachment 25: 130.png  70 kB  | Hide | Hide all
130.png
Attachment 26: 131.png  71 kB  | Hide | Hide all
131.png
Attachment 27: pulser.f  15 kB  | Hide | Hide all
*trigger
128  
*oned
0..1535     s 4096
*twod
*vars
*sort
C----67---------------------------------------------------------------72------80
      SUBROUTINE init

      IMPLICIT none

      SAVE                                 
C
C     External functions
C
      EXTERNAL dtime
C
      INTEGER and, lshift, rshift, bb18order
C
      LOGICAL btest
C
      REAL float, secnds
C
C     Parameter variables
C
      INTEGER max
      PARAMETER (max = 4096)
C
C     Local variables
C
      INTEGER adc_data, asic, ch, channel, channel_ident
      INTEGER count, data(0:4095), disc
      INTEGER dsssd_a( 6 ), dsssd_b( 6 ), dsssd_c( 6 ), dsssd_d( 6 )
      INTEGER*8 dt
      INTEGER events, events_old
      INTEGER*8 e_time, e_time_old
      INTEGER i
      INTEGER*2 i2(2), i2_2(4)
      INTEGER i4, i4_2(2)
      INTEGER*8 i8, first_ts_value
      INTEGER idata(0:4095), ierr, information, information_index
      INTEGER invalid_id, items, items_old, j, j1, j1_old, j2, j2_old, k
      INTEGER l, mbs_data(0:3), module, m_disc, m_p, m_n, ptr
      INTEGER sc_channel
      INTEGER scaler( 32 ), scaler_old( 32 ), range, time_warp, total
      INTEGER*8 ts
      INTEGER ts28
      INTEGER ts48
      INTEGER*8 ts_old
      INTEGER type, w(0:31), zzz
C
      LOGICAL first, first_ts, hit(0:4095), ihit(0:4095)
      REAL c(0:7), delta_t, gain(0:max-1), offset(0:max-1)
      REAL t1, t2, t2_old
      DOUBLE PRECISION rates( 32 ), t3, t4, t4_old

C----67---------------------------------------------------------------72------80
C
C     Namelists
C
      NAMELIST /variables/ gain, offset, c, w,
     +                     dsssd_a, dsssd_b, dsssd_c, dsssd_d

C----67---------------------------------------------------------------72------80
C
C     Common variables
C
      INTEGER*2 gdata(0:15)
C
      COMMON /fdata/ gdata
C
C     Common variables
C
      INTEGER*2 gid(0:15)
C
      COMMON /fid/ gid
C
C     Common variables
C
      INTEGER mult
C
      COMMON /fmult/ mult
C
      EQUIVALENCE ( i8, i4_2(1) )
      EQUIVALENCE ( i4, i2(1) )
C
C----67---------------------------------------------------------------72------80

      WRITE ( 6, * ) ' *** AIDA @ RIKEN - pulser - May 2017'
      WRITE ( 6, * ) ' *** Entry init commences'

C     Initialise counters

      events = 0
      events_old = 0

      time_warp = 0
      invalid_id = 0

      first_ts = .TRUE.
      t3 = 0.0D+00
      t4 = 0.0D+00
      t4_old = 0.0D+00

C     Initialise event data

      DO i = 0, 4095
       data( i ) = 0
       hit( i ) = .FALSE.
      ENDDO

      first = .true.
      ts_old = 0
      e_time_old = 0
      count = 0
      total = 0

      DO i = 0, 127
       gain( i ) = 1.0
       offset( i ) = 0.0
      ENDDO
 
      DO i = 0, 31
       w( i ) = 0
      ENDDO

      DO i = 0, 7
       c( i ) = 1.0
      ENDDO

      DO i = 1, 32
       scaler( i ) = 0
       scaler_old( i ) = 0
       rates( i ) = 0.0
      ENDDO

C     Initialise time

      t1 = SECNDS(0.0)

C     Read program variables via NAMELIST I/O

      OPEN( 1, FILE = '/homes/npg/td/GREAT/variables.dat',
     +         IOSTAT = ierr )
      IF ( ierr.NE.0 ) THEN
       WRITE( 6, * ) ' *** OPEN I/O error:', ierr
       RETURN
      ENDIF
      READ( 1, NML = variables, IOSTAT = ierr )
      IF ( ierr.NE.0 ) THEN
       WRITE( 6, * ) ' *** READ I/O error:', ierr
      ENDIF
      CLOSE( 1, IOSTAT = ierr )
      IF ( ierr.NE.0 ) THEN
       WRITE( 6, * ) ' *** CLOSE I/O error:', ierr
       RETURN
      ENDIF  

C     Display program variables

      DO i = 0, 4095, 8
       WRITE( 6, 9001 ) i, i+7, ( gain( j ), j = i, i+7 )
      ENDDO

      DO i = 0, 4095, 8
       WRITE( 6, 9002 ) i, i+7, ( offset( j ), j = i, i+7 )
      ENDDO

      DO i = 0, 7, 8
       WRITE( 6, 9003 ) i, i+7, ( c(j), j = 1, 8 )
      ENDDO

      DO i = 0, 31, 8
       WRITE( 6, 9004 ) i, i+7, ( w(j), j = i, i+7 )
      ENDDO

      DO i = 1, 6
       WRITE( 6, 9005 ) i, dsssd_a(i), dsssd_b(i),
     +                     dsssd_c(i), dsssd_d(i)
      ENDDO

      WRITE ( 6, * ) ' *** Entry init ends'

      RETURN

C----67---------------------------------------------------------------72------80

      ENTRY sortin

      items = items + 1

      IF ( MOD( items, 10000000 ).EQ.0 ) THEN

       t2 = SECNDS( t1 )
       delta_t = t2 - t2_old
       WRITE( 6, 9010 ) items, FLOAT( items - items_old ) / delta_t,
     +                  events, FLOAT( events - events_old ) / delta_t
       items_old = items
       events_old = events
       t2_old = t2

      ENDIF

      IF ( MOD( items, 50000 ).EQ.0 ) THEN

       t4 = DFLOAT( ts ) * 10.0D-9 - t3
       delta_t = t4 - t4_old

       IF ( delta_t.GE.1.0D+00 ) THEN

        DO i = 1, 32
         rates( i ) = DFLOAT( scaler( i ) - scaler_old( i ) ) / delta_t
        ENDDO
C        WRITE( 6, * ) ' '
        DO i = 1, 6
C         WRITE( 6, 9020 ) i, scaler( i ), scaler_old( i ),
C     +                    delta_t, rates( i )
         sc_channel = INT ( MOD( t4, 65536.0 ) + 0.5 )
C         CALL set1d( i+300, sc_channel, INT( rates( i ) + 0.5 ) )
        ENDDO
        DO i = 1, 32
         scaler_old( i ) = scaler( i )
        ENDDO
        t4_old = t4
       ENDIF

      ENDIF

C----67---------------------------------------------------------------72------80
C     Event data

C     For Linux/x64 & Windows/x86 least significant 16-bit word i2(1)
C     For Solaris/SPARC least significant 16-bit word i2(2)

C     GREAT 3.2.1 format
C
C     Other information
C      gid[0]=-1
C     gdata[0]=module number
C     gdata[1]=information type (2=Pause, 3=Resume, 4=SYNC100, 6=FEE64 disc etc)
C     gdata[2]=information field (bits 16-19)
C     gdata[3]=information field (bits 0-15)
C     gdata[4]=time stamp (bits 16-27)
C     gdata[5]=time stamp (bits 0-15) 
C
C     ADC data format
C
C       gid[0]=channel ident (FEE64 module bits 6-11, channel bits 0-5)
C     gdata[0]=fail/veto bits (AIDA: fail=0, veto=0 LEC/MEC, veto=1 HEC)
C     gdata[1]=?
C     gdata[2]=ADC data
C     gdata[3]=time stamp (bits 16-27)
C     gdata[4]=time stamp (bits 0-15) 

C----67---------------------------------------------------------------72------80
C     gid = - 1   Other information

      IF ( gid(0).EQ.-1 ) THEN

       i2(2) = 0
       i2(1) = gdata(0)
       module = AND( i4, Z'0000003f' )
       i2(1) = gdata(1)
       type = AND( i4, Z'0000000f' )
       i2(2) = gdata(2)
       i2(1) = gdata(3)
       information = AND( i4, Z'000fffff' )
       i2(2) = gdata(4)
       i2(1) = gdata(5)
       ts28 = AND( i4, Z'0fffffff' )

       IF ( type.EQ.2 ) THEN

C----67---------------------------------------------------------------72------80
C     PAUSE timestamp

        ts48 = information

        i8 = 0
        i4_2( 1 ) = ts48
        ts = LSHIFT( i8, 28 )
        i8 = 0
        i4_2(1) = ts28
        ts = ts + i8

       ELSEIF( type.EQ.3 ) THEN

C----67---------------------------------------------------------------72------80
C     RESUME timestamp

        ts48 = information

        i8 = 0
        i4_2( 1 ) = ts48
        ts = LSHIFT( i8, 28 )
        i8 = 0
        i4_2(1) = ts28
        ts = ts + i8

... 322 more lines ...
Attachment 28: variables.dat  609 Bytes  | Hide | Hide all
  $variables
  dsssd_a( 1 ) = 17
  dsssd_a( 2 ) = 18
  dsssd_a( 3 ) = 9
  dsssd_a( 4 ) = 10
  dsssd_a( 5 ) = 1
  dsssd_a( 6 ) = 2
  dsssd_b( 1 ) = 20
  dsssd_b( 2 ) = 19
  dsssd_b( 3 ) = 12
  dsssd_b( 4 ) = 11
  dsssd_b( 5 ) = 4
  dsssd_b( 6 ) = 3
  dsssd_c( 1 ) = 22
  dsssd_c( 2 ) = 21
  dsssd_c( 3 ) = 14
  dsssd_c( 4 ) = 13
  dsssd_c( 5 ) = 6
  dsssd_c( 6 ) = 5
  dsssd_d( 1 ) = 23
  dsssd_d( 2 ) = 24
  dsssd_d( 3 ) = 15
  dsssd_d( 4 ) = 16
  dsssd_d( 5 ) = 7
  dsssd_d( 6 ) = 8
  offset = 4096*0.0
  gain = 4096*1.0
  c = 8*1.0
  w = 32*0
  w(1) = 2000
  w(2) = -2000
  w(3) = 210
  w(4) = 210
  $[end]
ELOG V3.1.4-unknown