void BkgParamH5::IncrementalWrite(BkgFitterTracker &GlobalFitter, int flow, int numFlows, bool last_flow) { if (ptrs.mAmpl != NULL) { DumpBkgModelRegionInfoH5(GlobalFitter, flow, last_flow); IncrementalWriteParam(beadDC,beadDCDS,flow,1,numFlows); IncrementalWriteParam(amplMultiplier,amplDS,flow,1,numFlows); IncrementalWriteParam(kRateMultiplier,kRateDS,flow,1,numFlows); IncrementalWriteParam(bgResidualError,resErrorDS,flow,1,numFlows); IncrementalWriteParam(emptyOnceParam,emptyOnceParamDS,flow,1,numFlows); beadDC_bgDS->WriteMatrix(beadDC_bg,flow); if (CheckFlowForWrite(flow,false)) { beadInitParamDS->WriteDataCube(beadInitParam); darkOnceParamDS->WriteDataCube(darkOnceParam); //emptyOnceParamDS->WriteDataCube(emptyOnceParam); regionInitParamDS->WriteMatrix(regionInitParam); darknessParamDS->WriteMatrix(darknessParam); regionOffsetDS->WriteMatrix(regionOffset); } if (CheckFlowForWrite(flow,last_flow)) { int iBlk = ceil(float(flow+1)/NUMFB) - 1; emphasisParamDS[iBlk]->WriteDataCube(emphasisParam); beadFblk_avgErrDS[iBlk]->WriteMatrix(beadFblk_avgErr); } } }
void BkgParamH5::IncrementalWriteBeads ( int flow, int iBlk ) { // every parameter checks itself to see if writing is useful or safe // every time we write, we write these IncrementalWriteParam ( bead_dc.source,bead_dc.h5_set,flow ); IncrementalWriteParam ( Amplitude.source,Amplitude.h5_set,flow ); IncrementalWriteParam ( krate_multiplier.source,krate_multiplier.h5_set,flow ); IncrementalWriteParam ( residual_error.source,residual_error.h5_set,flow ); // do compute blocks WriteOneBlock ( average_error_flow_block.source, average_error_flow_block.h5_set,iBlk ); WriteOneBlock ( bead_clonal_compute_block.source, bead_clonal_compute_block.h5_set,iBlk ); WriteOneBlock ( bead_corrupt_compute_block.source, bead_corrupt_compute_block.h5_set,iBlk ); if ( iBlk==0 ) // only do the first compute block { bead_base_parameter.SafeWrite(); } }
void BkgParamH5::IncrementalWriteRegions ( int flow, int iBlk ) { // write to any live region parameters // every parameter checks itself to see if writing is useful or safe IncrementalWriteParam ( empty_trace.source,empty_trace.h5_set,flow ); IncrementalWriteParam ( empty_dc.source, empty_dc.h5_set, flow ); IncrementalWriteParam ( region_debug_bead_amplitude_krate.source, region_debug_bead_amplitude_krate.h5_set, flow ); IncrementalWriteParam ( region_debug_bead_predicted.source, region_debug_bead_predicted.h5_set, flow ); IncrementalWriteParam ( region_debug_bead_corrected.source, region_debug_bead_corrected.h5_set, flow ); IncrementalWriteParam ( region_debug_bead_xtalk.source, region_debug_bead_xtalk.h5_set, flow ); WriteOneBlock ( regional_params.source, regional_params.h5_set,iBlk ); WriteOneBlock ( nuc_shape_params.source, nuc_shape_params.h5_set,iBlk ); WriteOneBlock ( enzymatics_params.source, enzymatics_params.h5_set,iBlk ); WriteOneBlock ( buffering_params.source, buffering_params.h5_set,iBlk ); WriteOneBlock ( derived_params.source, derived_params.h5_set,iBlk ); emphasis_val.SafeWrite ( iBlk ); // do every compute block if ( iBlk==0 ) // do only once at first compute block { region_debug_bead_location.SafeWrite(); region_debug_bead.SafeWrite(); dark_matter_trace.SafeWrite(); darkness_val.SafeWrite(); region_init_val.SafeWrite(); region_offset_val.SafeWrite(); time_compression.SafeWrite(); } }
void BkgParamH5::IncrementalWriteBestRegion ( int flow, bool lastflow ) { IncrementalWriteParam ( beads_bestRegion_predicted.source, beads_bestRegion_predicted.h5_set, flow ); IncrementalWriteParam ( beads_bestRegion_corrected.source, beads_bestRegion_corrected.h5_set, flow ); IncrementalWriteParam ( beads_bestRegion_amplitude.source, beads_bestRegion_amplitude.h5_set, flow ); IncrementalWriteParam ( beads_bestRegion_residual.source, beads_bestRegion_residual.h5_set, flow ); IncrementalWriteParam ( beads_bestRegion_fittype.source, beads_bestRegion_fittype.h5_set, flow ); IncrementalWriteParam ( beads_bestRegion_taub.source, beads_bestRegion_taub.h5_set, flow ); if ( lastflow ) // do only once at lastflow, for data independant of flow { beads_bestRegion_timeframe.SafeWrite(); // this only has to done once for all flows beads_bestRegion_location.SafeWrite(); // this only has to done once for all flows beads_bestRegion_gainSens.SafeWrite(); beads_bestRegion_kmult.SafeWrite(); beads_bestRegion_dmult.SafeWrite(); beads_bestRegion_SP.SafeWrite(); beads_bestRegion_R.SafeWrite(); } }
void BkgParamH5::IncrementalWriteRegionSamples ( int flow, bool lastflow ) { // trace IncrementalWriteParam ( beads_regionSamples_predicted.source, beads_regionSamples_predicted.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_corrected.source, beads_regionSamples_corrected.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_original.source, beads_regionSamples_original.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_sbg.source, beads_regionSamples_sbg.h5_set, flow ); // per bead per flow fitted IncrementalWriteParam ( beads_regionSamples_amplitude.source, beads_regionSamples_amplitude.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_kmult.source, beads_regionSamples_kmult.h5_set, flow ); // incidental data IncrementalWriteParam ( beads_regionSamples_residual.source, beads_regionSamples_residual.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_fittype.source, beads_regionSamples_fittype.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_converged.source, beads_regionSamples_converged.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_bkg_leakage.source, beads_regionSamples_bkg_leakage.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_initAk.source, beads_regionSamples_initAk.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_tms.source, beads_regionSamples_tms.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_taub.source, beads_regionSamples_taub.h5_set, flow ); IncrementalWriteParam ( beads_regionSamples_etbR.source, beads_regionSamples_etbR.h5_set, flow ); if ( lastflow ) // do only once at lastflow, for data independant of flow { beads_regionSamples_timeframe.SafeWrite(); // this only has to done once for all flows beads_regionSamples_location.SafeWrite(); // this only has to done once for all flows beads_regionSamples_gainSens.SafeWrite(); beads_regionSamples_regionParams.SafeWrite(); beads_regionSamples_dmult.SafeWrite(); beads_regionSamples_SP.SafeWrite(); beads_regionSamples_R.SafeWrite(); } }