diff --git a/images/cms/2026/README.md b/images/cms/2026/README.md new file mode 100644 index 000000000..99afdba38 --- /dev/null +++ b/images/cms/2026/README.md @@ -0,0 +1,13 @@ +```bash +#build the alma8 image with rendering libraries +apptainer build alma8.simg alma8.singularity +apptainer exec -B /cvmfs alma8.simg /bin/bash + +#initialize CMSSW +source /cvmfs/cms.cern.ch/cmsset_default.sh +cmsrel CMSSW_15_0_5 +cd CMSSW_15_0_5 +cmsenv +cd .. +cmsShow -i CMSSW_15_0_5_mlpf_v2.6.0pre1_puppi_2372e2_small/cuda_False/JetMET0_mlpf/step3_RECO_1.root -c images/cms/2026/fireworks_reco.fwc +``` diff --git a/images/cms/2026/alma8.singularity b/images/cms/2026/alma8.singularity new file mode 100644 index 000000000..2acbf255a --- /dev/null +++ b/images/cms/2026/alma8.singularity @@ -0,0 +1,22 @@ +Bootstrap: docker + +From: cern/alma8-base + +%post + yum --disablerepo=epel install -y dnf vim which + yum --disablerepo=epel install -y python3 python3-devel python3-pip + yum --disablerepo=epel install -y doxygen + yum --disablerepo=epel install -y motif motif-devel + yum --disablerepo=epel install -y wget + yum --disablerepo=epel install -y gcc gcc-c++ make patch bash tar gzip unzip bzip2 xz file gnupg2 git + + yum --disablerepo=epel install -y mesa-libGL mesa-libEGL mesa-libGLU + yum --disablerepo=epel install -y libglvnd-opengl glx-utils libXpm libXext libXft + yum --disablerepo=epel install -y mesa-dri-drivers + +%environment + export LIBGL_ALWAYS_SOFTWARE=1 + export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH + +%runscript + /bin/bash diff --git a/images/cms/2026/event_mlpf.png b/images/cms/2026/event_mlpf.png new file mode 100644 index 000000000..84629ffb8 Binary files /dev/null and b/images/cms/2026/event_mlpf.png differ diff --git a/images/cms/2026/fireworks_reco.fwc b/images/cms/2026/fireworks_reco.fwc new file mode 100644 index 000000000..0d954f4af --- /dev/null +++ b/images/cms/2026/fireworks_reco.fwc @@ -0,0 +1,1768 @@ + + + + 2 + + + 0 + + + 0 + + + 0 + + + 0 + + + 33 + + + 61 + + + 1032 + + + 1033 + + + 1026 + + + 1017 + + + 1025 + + + 1022 + + + 1000 + + + 1000 + + + 1012 + + + 1042 + + + 1043 + + + 1 + + + 50 + + + 3 + + + 1 + + + + 200 + + + 100 + + + 100 + + + + + 100 + + + 100 + + + 200 + + + + + 255 + + + 220 + + + 220 + + + + + 200 + + + 200 + + + 255 + + + + + + + edm::SortedCollection<CaloTower,edm::StrictWeakOrdering<CaloTower> > + + + towerMaker + + + + + + + + + $.emEt()>0.2 + + + 1008 + + + f + + + 2 + + + ECal + + + 0 + + + + + + + edm::SortedCollection<CaloTower,edm::StrictWeakOrdering<CaloTower> > + + + towerMaker + + + + + + + + + $.hadEt()+$.outerEt()>0.2 + + + 1005 + + + f + + + 2 + + + HCal + + + 0 + + + + + + + std::vector<reco::PFJet> + + + ak4PFJetsCHS + + + + + + + + + $.pt()>20 + + + 1000 + + + f + + + 3 + + + Jets + + + 0 + + + + + 0 + + + 0 + + + 2.1 + + + + + + + std::vector<reco::Track> + + + generalTracks + + + + + + + + + $.pt()>1 + + + 1009 + + + f + + + 1 + + + Tracks + + + 0 + + + + + 1 + + + + + + + std::vector<reco::Muon> + + + muons + + + + + + + + + $.isStandAloneMuon() + + + 1008 + + + f + + + 5 + + + Muons + + + 0 + + + + + 1 + + + + + + + std::vector<reco::GsfElectron> + + + gedGsfElectrons + + + + + + + + + $.hadronicOverEm()<0.05 + + + 1007 + + + f + + + 3 + + + Electrons + + + 0 + + + + + 1 + + + + + + + std::vector<reco::Vertex> + + + offlinePrimaryVertices + + + + + + + + + + + + 1000 + + + f + + + 10 + + + Vertices + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 2 + + + 6 + + + -1 + + + + + + + reco::BeamSpot + + + offlineBeamSpot + + + + + + + + + + + + 1002 + + + f + + + 12 + + + Beam Spot + + + 0 + + + + + + + edm::RangeMap<DTChamberId,edm::OwnVector<DTRecSegment4D,edm::ClonePolicy<DTRecSegment4D> >,edm::ClonePolicy<DTRecSegment4D> > + + + dt4DSegments + + + + + + + + + + + + 1005 + + + f + + + 1 + + + DT-segments + + + 0 + + + + + + + edm::RangeMap<CSCDetId,edm::OwnVector<CSCSegment,edm::ClonePolicy<CSCSegment> >,edm::ClonePolicy<CSCSegment> > + + + cscSegments + + + + + + + + + + + + 1005 + + + f + + + 1 + + + CSC-segments + + + 0 + + + + + + + std::vector<reco::Photon> + + + gedPhotons + + + + + + + + + hadronicOverEm < 0.2 + + + 1009 + + + f + + + 1 + + + Photons + + + 0 + + + + + + + std::vector<reco::PFMET> + + + pfMet + + + + + + + + + et()>20 + + + 1008 + + + f + + + 11 + + + recoMET + + + 0 + + + + + + + std::vector<reco::Conversion> + + + conversions + + + + + + + + + + + + 1016 + + + f + + + 13 + + + Conversions + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + abs(pdgId())==211 + + + 1009 + + + t + + + 14 + + + Candidates + + + 60 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + pdgId()==130 + + + 1004 + + + t + + + 15 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + pdgId()==22 + + + 1006 + + + t + + + 16 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + abs(pdgId())==13 + + + 1007 + + + t + + + 17 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + abs(pdgId())==11 + + + 1000 + + + t + + + 18 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + pdgId()==1 + + + 1001 + + + t + + + 19 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFCandidate> + + + particleFlow + + + + + + + + + pdgId()==2 + + + 1012 + + + t + + + 20 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFMET> + + + pfMetPuppi + + + + + + + + + + + + 1001 + + + t + + + 21 + + + Candidates + + + 0 + + + + + 0 + + + + + + + std::vector<reco::PFJet> + + + ak4PFJetsPuppi + + + + + + + + + + + + 1015 + + + t + + + 22 + + + Jets + + + 0 + + + + + 0 + + + 0 + + + 2.1 + + + + + + + + + + $Tracks.pt()>1 + + + 1 + + + + + + + + $Jets.pt()>100 + + + 0 + + + + + + + + $Muons@.size()>3 + + + 0 + + + + + + + + HLT_Mu9 + + + 0 + + + + + + HLT + + + + + 1 + + + 1 + + + + + + 70 + + + 64 + + + 1850 + + + 1016 + + + 20 + + + 0 + + + 1 + + + + + + 2 + + + 2 + + + 1 + + + 1 + + + 2 + + + 1 + + + 2 + + + 2 + + + 2 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0.2 + + + 0.2 + + + 10 + + + 1 + + + 52 + + + 0.03 + + + 0.151557 + + + 0.943104 + + + 0.2 + + + 0.02 + + + 0.98 + + + 1 + + + 50 + + + 3 + + + 1 + + + -0.765026 + + + 0.500558 + + + 0.405188 + + + 0 + + + -0.547516 + + + -0.836795 + + + 0 + + + 0 + + + 0.339059 + + + -0.221847 + + + 0.914234 + + + 0 + + + -779.791 + + + 510.218 + + + 413.008 + + + 1 + + + -1 + + + 0 + + + 0 + + + 0 + + + 0 + + + -0 + + + 1 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 34.869635 + + + + + + + 1 + + + 0 + + + + + + + 1617 + + + 64 + + + 293 + + + 400 + + + + + + + + + endcap + cscDetId.endcap + 0 + station + cscDetId.station + 0 + ring + cscDetId.ring + 0 + chamber + cscDetId.chamber + 0 + + + eta + eta + 3 + phi + phi + 3 + energy + energy + 3 + + + id + detid.rawId + 0 + energy + energy + 3 + time + time + 3 + flags + flags + 0 + + + emEt + emEt + 1 + hadEt + hadEt + 1 + et + et + 1 + eta + eta + 3 + phi + phi + 3 + + + wheel + wireId.wheel + 0 + station + wireId.station + 0 + sector + wireId.sector + 0 + SL + wireId.superlayer + 0 + layer + wireId.layer + 0 + wire + wireId.wire + 0 + digiTime + digiTime + 2 + + + wheel + chamberId.wheel + 0 + station + chamberId.station + 0 + sector + chamberId.sector + 0 + t0phi + phiSegment.t0 + 2 + t0theta + zSegment.t0 + 2 + hasPhi + hasPhi + -2 + hasZed + hasZed + -2 + chi2 + chi2 + 2 + dof + degreesOfFreedom + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + detId + detId + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + pdgId + pdgId + 0 + charge + charge + 0 + dxy + dxy + 3 + dzAssociatedPV + dzAssociatedPV() + 3 + + + Pt + pt + 1 + eta + eta + 3 + phi + phi + 3 + ECAL + p4().E() * emEnergyFraction() + 1 + HCAL + p4().E() * energyFractionHadronic() + 1 + emf + emEnergyFraction() + 3 + size_eta + sqrt(etaetaMoment) + 3 + size_phi + sqrt(phiphiMoment) + 3 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + E/p + eSuperClusterOverP + 3 + H/E + hadronicOverEm + 3 + fbrem + (trackMomentumAtVtx().R() - trackMomentumOut().R()) / trackMomentumAtVtx().R() + 3 + dei + deltaEtaSuperClusterTrackAtVtx + 3 + dpi + deltaPhiSuperClusterTrackAtVtx() + 3 + charge + charge + 0 + isPF + isPF() + 0 + sieie + sigmaIetaIeta + 3 + isNotConv + passConversionVeto + 1 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + status + status + 0 + pdgId + pdgId + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + E/p + eSuperClusterOverP + 3 + H/E + hadronicOverEm + 3 + fbrem + (trackMomentumAtVtx().R() - trackMomentumOut().R()) / trackMomentumAtVtx().R() + 3 + dei + deltaEtaSuperClusterTrackAtVtx() + 3 + dpi + deltaPhiSuperClusterTrackAtVtx() + 3 + charge + charge + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + electronEnergyFraction + electronEnergyFraction + 3 + muonEnergyFraction + muonEnergyFraction + 3 + photonEnergyFraction + photonEnergyFraction + 3 + + + MET + et + 1 + phi + phi + 3 + sumEt + sumEt + 1 + mEtSig + mEtSig + 3 + + + pT + pt + 1 + global + isGlobalMuon + -2 + tracker + isTrackerMuon + -2 + SA + isStandAloneMuon + -2 + calo + isCaloMuon + -2 + tr pt + track().pt() + 1 + eta + eta + 3 + phi + phi + 3 + matches + numberOfMatches('SegmentArbitration') + 0 + d0 + track().d0() + 3 + d0 / d0Err + track().d0() / track().d0Error() + 3 + charge + charge + 0 + + + et + Et + 1 + eta + eta + 3 + phi + phi + 3 + ecalEnergy + ecalEnergy() + 3 + hcalEnergy + hcalEnergy() + 3 + track pt + trackRef().pt() + 3 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + H/E + hadronicOverEm + 3 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + d0 + d0 + 5 + d0Err + d0Error + 5 + dz + dz + 5 + dzErr + dzError + 5 + vx + vx + 5 + vy + vy + 5 + vz + vz + 5 + pixel hits + hitPattern().numberOfValidPixelHits() + 0 + strip hits + hitPattern().numberOfValidStripHits() + 0 + chi2 + chi2 + 3 + ndof + ndof + 0 + charge + charge + 0 + + + x + x + 5 + xError + xError + 5 + y + y + 5 + yError + yError + 5 + z + z + 5 + zError + zError + 5 + tracks + tracksSize + 0 + chi2 + chi2 + 3 + ndof + ndof + 3 + + + CSCSegment + CaloParticle + CaloRecHit + CaloTower + DTRecHit1DPair + DTRecSegment4D + l1t::HGCalTriggerCell + pat::PackedCandidate + reco::CaloJet + reco::Electron + reco::GenParticle + reco::GsfElectron + reco::Jet + reco::MET + reco::Muon + reco::PFCandidate + reco::Photon + reco::Track + reco::Vertex + + + + + diff --git a/images/cms/2026/legend.png b/images/cms/2026/legend.png new file mode 100644 index 000000000..4ae53089c Binary files /dev/null and b/images/cms/2026/legend.png differ