Add EMCal BadChi2 IB Propagation - CaloTowerStatus
- Add feature to flag each tower in the EMCal interface board as having badChi2 if the majority of the towers in the interface board have a badChi2.
- Default threshold is set to 0.5 (half of the interface board), but can be adjusted as desired.
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work for users)
- [ ] Requiring change in macros repository (Please provide links to the macros pull request in the last section)
- [x] I am a member of GitHub organization of sPHENIX Collaboration, EIC, or ECCE (contact Chris Pinkenburg to join)
What kind of change does this PR introduce? (Bug fix, feature, ...)
TODOs (if applicable)
Links to other PRs in macros and calibration repositories (if applicable)
Is there a particular problem this is trying to solve? It would seem easier to modify the maps before adding them to the CDB.
Is there a particular problem this is trying to solve? It would seem easier to modify the maps before adding them to the CDB.
Hi Blair, yes, @vbailey2 requested this feature. The issue is occurring on the level of individual events, where the majority of the interface board is marked as isBadChi2, however, a few towers slip through, and these are occasionally reconstructed into high pT jets. We can't address this issue by modifying the cdb maps because they represent an aggregate behavior over the entire run. The idea is to check if the majority of the towers in an interface board are marked as having isBadChi2 for an event, then set all towers in the interface board as having isBadChi2 so they would fail the isGood check and not produce these fake high pT jets.
Build & test report
Report for commit bc526c3b3645b8d01151383937756edb0824b94a:

builds and tests overall are SUCCESS.
Build with configuration of
alma9.2-gcc-14.2.0/clangis SUCCESS, :bar_chart:clang report (full)/(new), build logBuild with configuration of
alma9.2-gcc-14.2.0/newis SUCCESS, :bar_chart:Compiler report (full)/(new), build logGenerating DST and readback: build is SUCCESS
Calorimeter QA: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-calorimeter for e- at p_T=4GeV : combined Chi2/nDoF = 15.2766 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimeter for pi+ at p_T=30GeV : combined Chi2/nDoF = 9.83159 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for e- at p_T=4GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for pi+ at p_T=30GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
Tracking QA with Distortions: build is SUCCESS, :bar_chart: trends
Tracking QA at low occupancy: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = 0.99818 / 56, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
Tracking QA for Pythia D0-jet: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = -0 / 50, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
system
alma9.2-gcc-14.2.0, buildnew: run the default sPHENIX macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default CaloProduction/Fun4All_Year2.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default StreamingProduction/Fun4All_Stream_Combiner.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default TrackingProduction/Fun4All_PRDFReconstruction.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of CaloProduction/Fun4All_Year2.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of StreamingProduction/Fun4All_Stream_Combiner.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the overlap check for sPHENIX macro: build is SUCCESS, outputsystem
alma9.2-gcc-14.2.0, buildnew: Valgrind test: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:
Build with configuration of
alma9.2-gcc-14.2.0/scanis SUCCESS, :bar_chart:scan-build report (full)/(new), build logclang-tidyis SUCCESS, :bar_chart:clang-tidyreport (full)/(new)cpp-checkis SUCCESS, :bar_chart:cppcheckreport (full)/(new)
Automatically generated by sPHENIX Jenkins continuous integration

Build & test report
Report for commit 97648bbcac23f117ca7c2a4c315131805d0c3158:

builds and tests overall are SUCCESS.
Build with configuration of
alma9.2-gcc-14.2.0/clangis SUCCESS, :bar_chart:clang report (full)/(new), build logBuild with configuration of
alma9.2-gcc-14.2.0/newis SUCCESS, :bar_chart:Compiler report (full)/(new), build logGenerating DST and readback: build is SUCCESS
Calorimeter QA: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-calorimeter for e- at p_T=4GeV : combined Chi2/nDoF = 15.2766 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimeter for pi+ at p_T=30GeV : combined Chi2/nDoF = 9.83159 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for e- at p_T=4GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for pi+ at p_T=30GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
Tracking QA with Distortions: build is SUCCESS, :bar_chart: trends
Tracking QA at low occupancy: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = 0.99818 / 56, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
Tracking QA for Pythia D0-jet: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = -0 / 50, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
system
alma9.2-gcc-14.2.0, buildnew: run the default sPHENIX macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default CaloProduction/Fun4All_Year2.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default StreamingProduction/Fun4All_Stream_Combiner.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default TrackingProduction/Fun4All_PRDFReconstruction.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of CaloProduction/Fun4All_Year2.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of StreamingProduction/Fun4All_Stream_Combiner.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the overlap check for sPHENIX macro: build is SUCCESS, outputsystem
alma9.2-gcc-14.2.0, buildnew: Valgrind test: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:
Build with configuration of
alma9.2-gcc-14.2.0/scanis SUCCESS, :bar_chart:scan-build report (full)/(new), build logclang-tidyis SUCCESS, :bar_chart:clang-tidyreport (full)/(new)cpp-checkis SUCCESS, :bar_chart:cppcheckreport (full)/(new)
Automatically generated by sPHENIX Jenkins continuous integration

Build & test report
Report for commit 6d5b0ef06b8547f64d64d8fa9dd56268f206acf4:

builds and tests overall are SUCCESS.
Build with configuration of
alma9.2-gcc-14.2.0/clangis SUCCESS, :bar_chart:clang report (full)/(new), build logBuild with configuration of
alma9.2-gcc-14.2.0/newis SUCCESS, :bar_chart:Compiler report (full)/(new), build logGenerating DST and readback: build is SUCCESS
Calorimeter QA: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-calorimeter for e- at p_T=4GeV : combined Chi2/nDoF = 15.2766 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimeter for pi+ at p_T=30GeV : combined Chi2/nDoF = 9.83159 / 72, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for e- at p_T=4GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
- :bar_chart: QA-calorimetric-jet for pi+ at p_T=30GeV : combined Chi2/nDoF = -0 / 42, and combined p-Value = 1
Tracking QA with Distortions: build is SUCCESS, :bar_chart: trends
Tracking QA at low occupancy: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = 0.99818 / 56, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
Tracking QA for Pythia D0-jet: build is SUCCESS, :bar_chart: trends
- :bar_chart: QA-Intt : combined Chi2/nDoF = -0 / 72, and combined p-Value = 1
- :bar_chart: QA-Micromegas : combined Chi2/nDoF = -0 / 20, and combined p-Value = 1
- :bar_chart: QA-Mvtx : combined Chi2/nDoF = -0 / 54, and combined p-Value = 1
- :bar_chart: QA-Tpc : combined Chi2/nDoF = -0 / 56, and combined p-Value = 1
- :bar_chart: QA-tracking : combined Chi2/nDoF = -0 / 50, and combined p-Value = 1
- :bar_chart: QA-vertexing : combined Chi2/nDoF = 30 / 112, and combined p-Value = 1
system
alma9.2-gcc-14.2.0, buildnew: run the default sPHENIX macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default CaloProduction/Fun4All_Year2.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default StreamingProduction/Fun4All_Stream_Combiner.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the default TrackingProduction/Fun4All_PRDFReconstruction.C macro: build is SUCCESS, output, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of CaloProduction/Fun4All_Year2.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: Valgrind test of StreamingProduction/Fun4All_Stream_Combiner.C: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:system
alma9.2-gcc-14.2.0, buildnew: run the overlap check for sPHENIX macro: build is SUCCESS, outputsystem
alma9.2-gcc-14.2.0, buildnew: Valgrind test: build is SUCCESS, :bar_chart:valgrind report, trends :bar_chart:
Build with configuration of
alma9.2-gcc-14.2.0/scanis SUCCESS, :bar_chart:scan-build report (full)/(new), build logclang-tidyis SUCCESS, :bar_chart:clang-tidyreport (full)/(new)cpp-checkis SUCCESS, :bar_chart:cppcheckreport (full)/(new)
Automatically generated by sPHENIX Jenkins continuous integration

After discussion at the Mini Calo meeting today, it was decided to hold off on merging this feature as:
- Adds more complexity to the existing function, resulting in more code maintenance.
- There are potentially other approaches that can be investigated such as an offline tower minimum energy threshold, etc.