Description
Hello,
I suspect there's a problem with the Caloparticle starting from CMSSW_15_0_0_pre2. I was trying to generate some CloseByParticleGun events in PU 200 [1] and I noticed that the number of CaloParticle is always 1 (== number of particles generated), suggesting that the CaloParticle coming from the PU are not present.
For a quick check I generated 5 events with PU 50 and I used the TiclDebugger that runs some sort of debugging on the CaloParticle, adding a simple cout
on the number of CP.
The same test have been done in CMSSW_15_0_0_pre1.
All the files / logs can be found here
Unfortunately the TiclDebugger is not up to date so it requires some changes in case one wants to use it [2]
But even inspecting the step2.root file from pre2 one can see how the number of CP represents only the CP from the generated particle. The SimCluster seem to be fine instead
I've also tried to look at recent PR tests but I couldn't find any Standard Mixing PU samples for Phase-2. But also in the Premixing the CP are not present, and only the SC are there.
Am I missing something?
Pre2
CaloParticle Plot
SimCluster Plot
Pre1
CaloParticle Plot
SimCluster Plot
PR47327 step2.root from 29834.999
CaloParticle Plot
SimCluster Plot
[1] WF = 29896.203
[2]
diff --git a/RecoHGCal/TICL/test/TiclDebugger.cc b/RecoHGCal/TICL/test/TiclDebugger.cc
index beaf4bbc872..2ed355ae345 100644
--- a/RecoHGCal/TICL/test/TiclDebugger.cc
+++ b/RecoHGCal/TICL/test/TiclDebugger.cc
@@ -105,6 +105,7 @@ void TiclDebugger::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet
edm::Handle<std::vector<CaloParticle>> caloParticlesH;
iEvent.getByToken(caloParticlesToken_, caloParticlesH);
auto const& caloParticles = *caloParticlesH.product();
+ LogVerbatim("TICLDebugger") << "Caloparticle size " << caloParticles.size() << std::endl;
std::vector<std::pair<int, float>> bestCPMatches;
auto bestCaloParticleMatches = [&](const ticl::Trackster& t) -> void {
diff --git a/RecoHGCal/TICL/test/ticlDebugger_cfg.py b/RecoHGCal/TICL/test/ticlDebugger_cfg.py
index 76cef2d34e4..1d92873b39b 100644
--- a/RecoHGCal/TICL/test/ticlDebugger_cfg.py
+++ b/RecoHGCal/TICL/test/ticlDebugger_cfg.py
@@ -3,21 +3,26 @@ import FWCore.ParameterSet.Config as cms
process = cms.Process("TICLDEBUG")
process.load("FWCore.MessageService.MessageLogger_cfi")
-process.load('Configuration.Geometry.GeometryExtendedRun4D49Reco_cff')
+process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.GlobalTag import GlobalTag
-process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T15', '')
+process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T33', '')
-process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) )
+process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) )
process.source = cms.Source("PoolSource",
# replace 'myfile.root' with the source file you want to use
fileNames = cms.untracked.vstring(
- 'file:step3.root'
+ 'file:/eos/user/w/wredjeb/HGCAL/TestCPFromPU/step3_pre1.root'
)
)
process.load("RecoHGCal.TICL.ticlDebugger_cfi")
+from RecoHGCal.TICL.ticlDebugger_cfi import ticlDebugger as ticlDebugger_
+process.ticlDebugger = ticlDebugger_.clone(
+ trackstersMerge = cms.InputTag("ticlCandidate")
+)
+
process.load("SimGeneral.Debugging.caloParticleDebugger_cfi")
# MessageLogger customizations