74     logging.basicConfig(stream=sys.stdout,
 
   75                         format=
'%(levelname)-8s %(message)s',
 
   76                         level=logging.DEBUG 
if args.verbose 
else logging.INFO)
 
   79         logging.info(
'Reading events from %s and metadata from %s', args.file, args.copyFrom)
 
   81         logging.info(
'Reading events and metadata from %s', args.file)
 
   82     meta_input = args.copyFrom 
if args.copyFrom 
else args.file
 
   83     reader = EventStorage.pickDataReader(meta_input)
 
   84     input_stream = eformat.istream(args.file)
 
   89     metadata_basic[
'runNumber'] = reader.runNumber()
 
   90     metadata_basic[
'triggerType'] = reader.triggerType()
 
   91     metadata_basic[
'detectorMask'] = reader.detectorMask()
 
   92     metadata_basic[
'beamType'] = reader.beamType()
 
   93     metadata_basic[
'beamEnergy'] = reader.beamEnergy()
 
   94     metadata_extra[
'Stream'] = reader.stream()
 
   95     metadata_extra[
'Project'] = reader.projectTag()
 
   96     metadata_extra[
'LumiBlock'] = reader.lumiblockNumber()
 
   98     logging.debug(
'Input metadata_basic = %s', metadata_basic)
 
   99     logging.debug(
'Input metadata_extra = %s', metadata_extra)
 
  103         metadata_basic[
'runNumber'] = args.runNumber
 
  105         metadata_basic[
'triggerType'] = args.triggerType
 
  106     if args.detectorMask:
 
  107         metadata_basic[
'detectorMask'] = args.detectorMask
 
  109         metadata_basic[
'beamType'] = beam_type_dict[args.beamType]
 
  111         metadata_basic[
'beamEnergy'] = args.beamEnergy
 
  113         metadata_extra[
'Stream'] = args.stream
 
  115         metadata_extra[
'Project'] = args.projectTag
 
  117         metadata_extra[
'LumiBlock'] = args.lumiBlock
 
  119     logging.debug(
'Updated metadata_basic = %s', metadata_basic)
 
  120     logging.debug(
'Updated metadata_extra = %s', metadata_extra)
 
  123     file_name_base = args.outputName
 
  124     if not file_name_base:
 
  126         ptag = metadata_extra[
'Project']
 
  127         runno = metadata_basic[
'runNumber']
 
  128         stream = metadata_extra[
'Stream']
 
  129         lbn = metadata_extra[
'LumiBlock']
 
  132         file_name_list.append(ptag 
if ptag 
else 'data')
 
  133         file_name_list.append(
'{:08d}'.
format(runno 
if runno 
else 0))
 
  134         file_name_list.append(stream 
if stream 
else 'unknown_stream')
 
  135         file_name_list.append(
'lb{:04d}'.
format(lbn 
if lbn 
else 0))
 
  136         file_name_base = 
'.'.
join(file_name_list)
 
  139     metadata_extra_strings = [
'{:s}={:s}'.
format(k, 
str(v)) 
for k, v 
in metadata_extra.items()]
 
  140     output_stream = eformat.ostream(
 
  141         core_name         = file_name_base,
 
  142         run_number        = metadata_basic[
'runNumber'],
 
  143         trigger_type      = metadata_basic[
'triggerType'],
 
  144         detector_mask     = metadata_basic[
'detectorMask'],
 
  145         beam_type         = metadata_basic[
'beamType'],
 
  146         beam_energy       = metadata_basic[
'beamEnergy'],
 
  147         meta_data_strings = metadata_extra_strings)
 
  149     logging.info(
'Writing file %s', output_stream.current_filename().
replace(
'.writing', 
'.data'))
 
  152     nmax = args.numEvents 
or -1
 
  153     for event 
in input_stream:
 
  155         if nmax >= 0 
and ievt > nmax:
 
  157         logging.debug(
'Writing event %d', ievt)
 
  158         output_stream.write(event)