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