diff --git a/src/proto_nd_flow/reco/charge/calib_prompt_hits.py b/src/proto_nd_flow/reco/charge/calib_prompt_hits.py
index 8254c6f..9c4e35c 100644
--- a/src/proto_nd_flow/reco/charge/calib_prompt_hits.py
+++ b/src/proto_nd_flow/reco/charge/calib_prompt_hits.py
@@ -156,7 +156,7 @@ class CalibHitBuilder(H5FlowStage):
         # get event boundaries
         if np.count_nonzero(mask):
             raw_hits_arr = raw_hits.data[rh_mask]
-            mask = (packets_data['packet_type'] == 0) & mask
+            mask = (packets_data['packet_type'] == 1) & mask
             n = np.count_nonzero(mask)
             packets_arr = packets_data.data[mask]
             if resources['RunData'].is_mc:
@@ -392,12 +392,15 @@ class CalibHitBuilder(H5FlowStage):
 
             vcm_arr[mask] += vcm_corrs
             vref_arr[mask] += vref_corrs
-             
-        return (dw / adc_counts * (vref_arr - vcm_arr) + vcm_arr - ped) / gain
+        return charge_from_dataword(dw, vref, vcm, ped, adc_counts, gain)
+        #return (dw / adc_counts * (vref_arr - vcm_arr) + vcm_arr - ped) / gain
 
     @staticmethod
     def charge_from_dataword(dw, vref, vcm, ped, adc_counts, gain):
-        return (dw / adc_counts * (vref - vcm) + vcm - ped) / gain
+        #return (dw / adc_counts * (vref - vcm) + vcm - ped) / gain
+        print(dw[:3], vref[:3], ped[:3])
+        print((dw[:3] * vref[:3] * 2 / 1023. - ped[:3]) / 3.4)
+        return (dw * vref * 2 / 1023. - ped) / 3.4
 
     def load_pedestals(self):
         if self.pedestal_file != '':
diff --git a/src/proto_nd_flow/reco/charge/external_trigger_finder.py b/src/proto_nd_flow/reco/charge/external_trigger_finder.py
index 5a05405..434f3fe 100644
--- a/src/proto_nd_flow/reco/charge/external_trigger_finder.py
+++ b/src/proto_nd_flow/reco/charge/external_trigger_finder.py
@@ -181,6 +181,6 @@ class ExternalTriggerFinder(H5FlowStage):
         trigs = np.empty(events.shape, dtype=self.ext_trigs_dtype)
         trigs['ts'] = metadata['ts']['ts']
         trigs['ts_raw'] = events['timestamp']
-        trigs['type'] = events['trigger_type'] * (events['packet_type'] != 0) + -1 * (events['packet_type'] == 0)
+        trigs['type'] = events['trigger_type'] * (events['packet_type'] != 1) + -1 * (events['packet_type'] == 1)
         trigs['iogroup'] = events['io_group']
         return ma.array(trigs, mask=~trigger_mask)
diff --git a/src/proto_nd_flow/reco/charge/make_pedestal_hist.py b/src/proto_nd_flow/reco/charge/make_pedestal_hist.py
index 7988199..57dcc2d 100644
--- a/src/proto_nd_flow/reco/charge/make_pedestal_hist.py
+++ b/src/proto_nd_flow/reco/charge/make_pedestal_hist.py
@@ -86,7 +86,7 @@ class MakePedestalHist(H5FlowGenerator):
         tile_ids = resources['Geometry'].tile_id[(self.packets['io_group'], self.packets['io_channel'])]
         self.pixel_unique_ids = pf.get_pixel_unique_ids(self.packets, tile_ids)
 
-        self.mask = (self.packets['valid_parity'].astype(bool) & (self.packets['packet_type'] == 0))  # data packets
+        self.mask = (self.packets['valid_parity'].astype(bool) & (self.packets['packet_type'] == 1))  # data packets
     
     def finish(self):
         super(MakePedestalHist, self).finish()
diff --git a/src/proto_nd_flow/reco/charge/pps_delay_extractor.py b/src/proto_nd_flow/reco/charge/pps_delay_extractor.py
index c1be35c..341e35d 100644
--- a/src/proto_nd_flow/reco/charge/pps_delay_extractor.py
+++ b/src/proto_nd_flow/reco/charge/pps_delay_extractor.py
@@ -63,7 +63,7 @@ class PPSDelayExtractor:
                 pkts = all_pkts[np.min(pkt_idcs) - self.window
                                 :np.max(pkt_idcs) + self.window]
                 rollover = resources['RunData'].rollover_ticks
-                data_pkts = pkts[pkts['packet_type'] == 0]
+                data_pkts = pkts[pkts['packet_type'] == 1]
                 if len(data_pkts) < self.min_packets:
                     continue
                 delay = np.float64(rollover) - np.median(data_pkts['timestamp'])
diff --git a/src/proto_nd_flow/reco/charge/raw_event_builder.py b/src/proto_nd_flow/reco/charge/raw_event_builder.py
index 768fc3a..d32b4c2 100644
--- a/src/proto_nd_flow/reco/charge/raw_event_builder.py
+++ b/src/proto_nd_flow/reco/charge/raw_event_builder.py
@@ -136,7 +136,7 @@ class RawEventBuilder(object):
             # means that a SYNC arrived while the packet was traveling across
             # the tile. In that case, subtract the timestamp of the preceding SYNC.
             oops_mask = (mask &
-                         (packets['packet_type'] == 0) &
+                         (packets['packet_type'] == 1) &
                          (packets['receipt_timestamp'] < packets['timestamp']))
             last_sync_ts = fill_with_last(sync_ts)
             offsets[oops_mask] -= last_sync_ts[oops_mask]
@@ -350,7 +350,7 @@ class SymmetricWindowRawEventBuilder(RawEventBuilder):
         # calculate time distance between hits
         min_ts, max_ts = np.min(ts), np.max(ts)
         bin_edges = np.linspace(min_ts - 1, max_ts + 1, int((max_ts - min_ts + 2) // self.window))
-        ts_data = ts[packets['packet_type'] == 0]
+        ts_data = ts[packets['packet_type'] == 1]
         hist, bin_edges = np.histogram(ts_data, bins=bin_edges)
 
         # find high correlation regions
diff --git a/src/proto_nd_flow/reco/charge/raw_event_generator.py b/src/proto_nd_flow/reco/charge/raw_event_generator.py
index 45b8a05..8c419bb 100644
--- a/src/proto_nd_flow/reco/charge/raw_event_generator.py
+++ b/src/proto_nd_flow/reco/charge/raw_event_generator.py
@@ -436,7 +436,7 @@ class RawEventGenerator(H5FlowGenerator):
         else:
             mc_assn = None
 
-        mask = (block['valid_parity'].astype(bool) & (block['packet_type'] == 0))  # data packets
+        mask = (block['valid_parity'].astype(bool) & (block['packet_type'] == 1))  # data packets
         mask = mask | (block['packet_type'] == 4)  # timestamp packets
         mask = mask | (block['packet_type'] == 7)  # external trigger packets
         mask = mask | (block['packet_type'] == 6)  # sync packets
diff --git a/src/proto_nd_flow/reco/charge/raw_hit_builder.py b/src/proto_nd_flow/reco/charge/raw_hit_builder.py
index acb791a..5648717 100644
--- a/src/proto_nd_flow/reco/charge/raw_hit_builder.py
+++ b/src/proto_nd_flow/reco/charge/raw_hit_builder.py
@@ -104,7 +104,7 @@ class RawHitBuilder(H5FlowStage):
 
         # get event boundaries
         if np.count_nonzero(mask):
-            mask = (packets_data['packet_type'] == 0) & mask
+            mask = (packets_data['packet_type'] == 1) & mask
             n = np.count_nonzero(mask)
             packets_arr = packets_data.data[mask]
             ts_arr = ts_data.data[mask]
diff --git a/src/proto_nd_flow/util/pixel_functions.py b/src/proto_nd_flow/util/pixel_functions.py
index 5e24ec5..8f9b7fd 100644
--- a/src/proto_nd_flow/util/pixel_functions.py
+++ b/src/proto_nd_flow/util/pixel_functions.py
@@ -26,7 +26,7 @@ def adc2mv(adc, vref, vcm, adc_counts):
     :param adc_counts: nominally 2^N, where N is the total bits in the ADC (usually 8)
     :returns: array of pedestal-corrected datawords converted to mV units
     '''
-    return (vref-vcm) * adc/adc_counts + vcm
+    return  adc * 2 * vref / 1023
 
 def dac2mv(dac, vdda, adc_counts):
     '''
@@ -36,4 +36,4 @@ def dac2mv(dac, vdda, adc_counts):
     :param vdda: VDDA voltage (usually ~1800 mV) [mV]
     :param adc_counts: nominally 2^N, where N is the total bits in the ADC (usually 8)
     '''
-    return vdda * dac/adc_counts
\ No newline at end of file
+    return vdda * dac/adc_counts
diff --git a/yamls/fsd_flow/reco/charge/CalibHitBuilderData.yaml b/yamls/fsd_flow/reco/charge/CalibHitBuilderData.yaml
index 5eefa78..3f8e051 100644
--- a/yamls/fsd_flow/reco/charge/CalibHitBuilderData.yaml
+++ b/yamls/fsd_flow/reco/charge/CalibHitBuilderData.yaml
@@ -22,15 +22,12 @@ params:
   calib_hits_dset_name: 'charge/calib_prompt_hits'
 
   # configuration parameters
-  vref_mv: 1504.2
-  vcm_mv: 458.7
-  adc_counts: 256
-  gain: 2.46
+  vref_mv: 1750
 
   #flag to perform electron liftime calibration
-  elifetime_calibration: True
+  elifetime_calibration: False
 
-  pedestal_file: '/global/common/software/dune/inputs/FSD/pedestals/FSD_pedestals_20241112.json'
+  pedestal_file: '/data/v3/FSDCube/Feb2026/cold_processed/pedestal_prc-1280_rolling-2026_02_26_16_18_05_PST.flow.json'
   #pedestal_file: 'data/module0_flow/datalog_2021_04_02_19_00_46_CESTevd_ped.json'
   # download link: https://portal.nersc.gov/project/dune/data/Module0/TPC1+2/configFiles/datalog_2021_04_02_19_00_46_CESTevd_ped.json
   #configuration_file: 'data/module0_flow/evd_config_21-03-31_12-36-13.json'
diff --git a/yamls/fsd_flow/reco/charge/GeneratePedestalJson.yaml b/yamls/fsd_flow/reco/charge/GeneratePedestalJson.yaml
index 98f550e..aa7aed6 100644
--- a/yamls/fsd_flow/reco/charge/GeneratePedestalJson.yaml
+++ b/yamls/fsd_flow/reco/charge/GeneratePedestalJson.yaml
@@ -6,9 +6,8 @@ params:
     pedestal_dset_name: 'charge/channel_pedestals'
 
     vref_dac: 223
-    vcm_dac: 68
     adc_counts: 255
-    vdda: 1720
+    vdda: 2000
     mean_trunc: 3 # ADCs
     
     
diff --git a/yamls/fsd_flow/reco/charge/MakePedestalHist.yaml b/yamls/fsd_flow/reco/charge/MakePedestalHist.yaml
index 2cb41d6..ce64aee 100644
--- a/yamls/fsd_flow/reco/charge/MakePedestalHist.yaml
+++ b/yamls/fsd_flow/reco/charge/MakePedestalHist.yaml
@@ -6,6 +6,6 @@ params:
     hist_dset_name: 'charge/hist_data'
 
     buffer_size: 100000
-    adc_counts: 255 
+    adc_counts: 1023 
     
     
diff --git a/yamls/fsd_flow/reco/charge/RawEventGenerator.yaml b/yamls/fsd_flow/reco/charge/RawEventGenerator.yaml
index b5d3525..b049e24 100644
--- a/yamls/fsd_flow/reco/charge/RawEventGenerator.yaml
+++ b/yamls/fsd_flow/reco/charge/RawEventGenerator.yaml
@@ -10,11 +10,11 @@ params:
   buffer_size: 100000
   nhit_cut: 5
   sync_noise_cut: [100, 11000000] # Stephen says no need to cut > first 10 usec
-  sync_noise_cut_enabled: True
+  sync_noise_cut_enabled: False
   event_builder_class: 'ExtTrigRawEventBuilder' #'SymmetricWindowRawEventBuilder'
   event_builder_config:
-    window: 3300 # 0.1 usec ticks; 10% buffer added to previous 3000
-    trig_io_grp: 4
+    window: 5500 # 0.1 usec ticks; 10% buffer added to previous 3000
+    trig_io_grp: 1
     extendable: True
     build_off_beam_events : True
     shifted_event_dt : -5
diff --git a/yamls/fsd_flow/reco/charge/TimestampCorrector.yaml b/yamls/fsd_flow/reco/charge/TimestampCorrector.yaml
index af38e8a..8a25fde 100644
--- a/yamls/fsd_flow/reco/charge/TimestampCorrector.yaml
+++ b/yamls/fsd_flow/reco/charge/TimestampCorrector.yaml
@@ -14,7 +14,7 @@ params:
 
   # configuration parameters
   correction:
-    1: [-14.033, 2.123e-6, 10000020]
-    2: [-13.962, 2.094e-6, 10000020]
-    3: [-13.964, 1.559e-6, 10000014]
-    4: [-16.020, 1.912e-6, 10000018]
+    1: [0, 0]
+    2: [0, 0]
+    3: [0, 0]
+    4: [0, 0]
diff --git a/yamls/fsd_flow/resources/LArData.yaml b/yamls/fsd_flow/resources/LArData.yaml
index ce5d040..4ed59c5 100644
--- a/yamls/fsd_flow/resources/LArData.yaml
+++ b/yamls/fsd_flow/resources/LArData.yaml
@@ -4,8 +4,8 @@ params:
   path: 'lar_info'
   # electron_lifetime_file: 'data/module0_flow/ElecLifetimeFit_Module0.npz'
   # download link: https://portal.nersc.gov/project/dune/data/Module0/electronLifetime/ElecLifetimeFit_Module0.root
-  electron_lifetime: 2200 # us
-  electron_lifetime_file: "data/fsd_flow/lifetime.json"
+  #electron_lifetime: 2200 # us
+  #electron_lifetime_file: "data/fsd_flow/lifetime.json"
   #: Recombination :math:`\alpha` constant for the Box model
   box_alpha: 0.93
   #: Recombination :math:`\beta` value for the Box model in :math:`(kV/cm)(g/cm^2)/MeV`