diff --git a/Configuration/PyReleaseValidation/python/relval_production.py b/Configuration/PyReleaseValidation/python/relval_production.py
index b20ec8b37ac30..c0f55979da9a1 100644
--- a/Configuration/PyReleaseValidation/python/relval_production.py
+++ b/Configuration/PyReleaseValidation/python/relval_production.py
@@ -38,6 +38,9 @@
workflows[1052] = ['',['RunCosmics2022F','TIER0EXPCOSMICSRUN3','ALCAEXPCOSMICSRUN3','ALCAHARVDSIPIXELLAMCS']]
workflows[1052.1] = ['',['RunSiPixelCalCosmics2022F','ALCASPLITSIPIXELLAMCS','ALCAHARVDSIPIXELLAMCS']]
+workflows[1060.1] = ['',['RunZeroBias2022D', 'HcalNano']]
+workflows[1060.2] = ['',['TestEnablesEcalHcal2023C', 'HcalNanoCalibGap']]
+
## MC production test
#workflows[1100] = [ '',[]]
diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py
index 48cfc404ae78f..242d2692c38a4 100644
--- a/Configuration/PyReleaseValidation/python/relval_steps.py
+++ b/Configuration/PyReleaseValidation/python/relval_steps.py
@@ -584,6 +584,9 @@
steps['RunTau2023B']={'INPUT':InputInfo(dataSet='/Tau/Run2023B-v1/RAW',label='2023B',events=100000,location='STD', ls=Run2023B)}
steps['RunMuonEG2023B']={'INPUT':InputInfo(dataSet='/MuonEG/Run2023B-v1/RAW',label='2023B',events=100000,location='STD', ls=Run2023B)}
+Run2023C_LS500={368489: [[46,546]]}
+steps['TestEnablesEcalHcal2023C']={'INPUT':InputInfo(dataSet='/TestEnablesEcalHcal/Run2023C-Express-v4/RAW',label='2023C',events=100000,location='STD', ls=Run2023C_LS500)}
+
# Highstat HLTPhysics
Run2015DHS=selectedLS([258712,258713,258714,258741,258742,258745,258749,258750,259626,259637,259683,259685,259686,259721,259809,259810,259818,259820,259821,259822,259862,259890,259891])
steps['RunHLTPhy2015DHS']={'INPUT':InputInfo(dataSet='/HLTPhysics/Run2015D-v1/RAW',label='2015DHS',events=100000,location='STD', ls=Run2015DHS)}
@@ -3926,6 +3929,24 @@ def gen2022HiMix(fragment,howMuch):
'--datatier':'NANOAODSIM',
'--eventcontent':'NANOEDMAODSIM',
'--filein':'file:step3_inMINIAODSIM.root'}
+
+steps['HcalNano']={'-s':'RAW2DIGI,RECO,USER:DPGAnalysis/HcalNanoAOD/hcalNano_cff.hcalNanoTask',
+ '--conditions':'auto:run3_data_prompt',
+ '-n':'10',
+ '--era' : 'Run3',
+ '--geometry' : 'DB:Extended',
+ '--datatier':'NANOAOD',
+ '--eventcontent':'NANOAOD'}
+
+steps['HcalNanoCalibGap']={'-s':'RAW2DIGI,RECO,USER:DPGAnalysis/HcalNanoAOD/hcalNano_cff.hcalNanoTask',
+ '--conditions':'auto:run3_data_prompt',
+ '-n':'10',
+ '--era' : 'Run3',
+ '--geometry' : 'DB:Extended',
+ '--datatier':'NANOAOD',
+ '--eventcontent':'NANOAOD',
+ '--customise':'DPGAnalysis/HcalNanoAOD/hcalNano_cff.customiseHcalCalib',
+ '--processName': 'USER'}
#################################################################################
####From this line till the end of the file :
diff --git a/DPGAnalysis/HcalNanoAOD/BuildFile.xml b/DPGAnalysis/HcalNanoAOD/BuildFile.xml
new file mode 100644
index 0000000000000..d3a218562f836
--- /dev/null
+++ b/DPGAnalysis/HcalNanoAOD/BuildFile.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/DPGAnalysis/HcalNanoAOD/README.md b/DPGAnalysis/HcalNanoAOD/README.md
new file mode 100644
index 0000000000000..653d9f763aebe
--- /dev/null
+++ b/DPGAnalysis/HcalNanoAOD/README.md
@@ -0,0 +1,5 @@
+### HcalNanoAOD
+
+This package provides modules for saving HCAL raw data to NanoAOD. Specifically, modules are provided for HB/HE/HF/HO digis, RecHits, trigger primitives (TPs), HF pre-RecHits, and calibration metadata. Also see DPGAnalysis/CaloNanoAOD for modules related to HCAL+particle flow.
+
+The digis are saved as a dense array (counting on compression to minimize the space consumed by 0s). The outputs are also sorted by DetId; the sorting is performed by the classes named *SortedTable.
diff --git a/DPGAnalysis/HcalNanoAOD/interface/HFPreRecHitSortedTable.h b/DPGAnalysis/HcalNanoAOD/interface/HFPreRecHitSortedTable.h
new file mode 100644
index 0000000000000..da24a3276874b
--- /dev/null
+++ b/DPGAnalysis/HcalNanoAOD/interface/HFPreRecHitSortedTable.h
@@ -0,0 +1,31 @@
+#ifndef HFPreRecHitSortedTable_h
+#define HFPreRecHitSortedTable_h
+
+#include
+#include