def add_missing_items(self,config):
        isCorrected = resultsCreation.is_corrected(config)
        runno = config.getint('RunInfo', 'runno')
        config.set('RunInfo', 'realRunNo', '%d' % runno)
        config.set('RunInfo', 'cor', '%s' % isCorrected)
        newRunNo = runno
        if isCorrected:
            newRunNo = int(newRunNo / 10)

        if newRunNo in self.map:
            try:
                config.set('RunInfo', 'repeatercardno', '%s' % self.map[newRunNo]['repeaterCard'])
            except:
                config.set('RunInfo', 'repeatercardno','unknown')
            try:
                config.set('RunInfo', 'voltage', '%+4d' % self.map[newRunNo]['biasVoltage'])
            except:
                config.set('RunInfo', 'voltage', '%s'% self.map[newRunNo]['biasVoltage'])
            try:
                config.set('RunInfo', 'currentbegin', '%s' % (self.map[newRunNo]['currentBegin']))
                config.set('RunInfo', 'currentend', '%s' % (self.map[newRunNo]['currentEnd']))
            except Exception as e:
                print 'repeatercardno',self.map[newRunNo]['repeaterCard']
                print 'voltage',self.map[newRunNo]['biasVoltage']
                print 'current',self.map[newRunNo]['currentBegin'],self.map[newRunNo]['currentEnd']
                print self.map[newRunNo]
                raise e
            if not config.has_option('RunInfo','events'):
                try:
                    config.set('RunInfo', 'events', '%s' % (self.map[newRunNo]['events']))
                except:
                    print 'cannot find events in map'
                    print self.map[newRunNo].keys()
                    pass
        else:
            print 'cannot find %s' % newRunNo
        config.set('RunInfo', 'runno', '%d' % newRunNo)
        if config.has_option('TimeDependence', 'landauclusterfitoffsetsize10'):
            if config.has_option('TimeDependence', 'landauclusterfitslopesize10'):
                offset = config.getfloat('TimeDependence', 'landauclusterfitoffsetsize10')
                slope = config.getfloat('TimeDependence', 'landauclusterfitslopesize10')
                try:
                    config.set('TimeDependence', 'LinFitRelChange', '%s' % (slope / offset * 100.))
                except:
                    config.set('TimeDependence', 'LinFitRelChange', '%s' % slope)

        m2 = float(config.get('Landau_normal', 'm2/2_normal', 0))
        m4 = float(config.get('Landau_normal', 'm4/4_normal', -1))
        if m4 != 0:
            convergence = m2 / m4 * 100.
        else:
            convergence = -1
        config.set('Landau_normal', 'convergence', '%6.2f' % convergence)
        runDesc = config.get('RunInfo', 'descr.')
        dia = utilities.getDiamond(self.map,newRunNo, runDesc)
        config.set('RunInfo', 'dia', dia)
        if '?' in config.get('RunInfo', 'dia'):
            config.set('RunInfo', 'dia', 'unknown')
        return config