diff --git a/Alignment/OfflineValidation/src/GeometryComparisonPlotter.cc b/Alignment/OfflineValidation/src/GeometryComparisonPlotter.cc index 45f95d0bfc55e..36df70af29971 100644 --- a/Alignment/OfflineValidation/src/GeometryComparisonPlotter.cc +++ b/Alignment/OfflineValidation/src/GeometryComparisonPlotter.cc @@ -154,8 +154,6 @@ GeometryComparisonPlotter::GeometryComparisonPlotter(TString tree_file_name, #endif // style - gROOT->Reset(); - data->SetMarkerSize(0.5); data->SetMarkerStyle(6); diff --git a/Alignment/TrackerAlignment/test/Misalignments/createRandomlyMisalignedGeometry_Phase2_cfg.py b/Alignment/TrackerAlignment/test/Misalignments/createRandomlyMisalignedGeometry_Phase2_cfg.py index 31652b0bf7704..a43aeacdda74c 100644 --- a/Alignment/TrackerAlignment/test/Misalignments/createRandomlyMisalignedGeometry_Phase2_cfg.py +++ b/Alignment/TrackerAlignment/test/Misalignments/createRandomlyMisalignedGeometry_Phase2_cfg.py @@ -55,24 +55,8 @@ process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') from Configuration.AlCa.GlobalTag import GlobalTag process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') # using realistic Phase 2 geom -process.GlobalTag.toGet = cms.VPSet( - cms.PSet(record = cms.string("TrackerAlignmentRcd"), - tag = cms.string("Alignments"), - connect = cms.string('sqlite_file:/afs/cern.ch/user/m/musich/public/forSandra/tracker_alignment_phase2_D88130X_mcRun4_realistic_v2.db') - ), - cms.PSet(record = cms.string("TrackerAlignmentErrorExtendedRcd"), - tag = cms.string("AlignmentErrorsExtended"), - connect = cms.string('sqlite_file:/afs/cern.ch/user/m/musich/public/forSandra/tracker_alignment_phase2_D88130X_mcRun4_realistic_v2.db') - ), - cms.PSet(record = cms.string("TrackerSurfaceDeformationRcd"), - tag = cms.string("AlignmentSurfaceDeformations"), - connect = cms.string('sqlite_file:/afs/cern.ch/user/m/musich/public/forSandra/tracker_alignment_phase2_D88130X_mcRun4_realistic_v2.db') - ) -) - print("Using global tag:", process.GlobalTag.globaltag.value()) - ################################################################### # This uses the object from the tag and applies the misalignment scenario on top of that object ################################################################### diff --git a/Alignment/TrackerAlignment/test/testCreateRandomMisalignment.sh b/Alignment/TrackerAlignment/test/testCreateRandomMisalignment.sh index cd8b92e2b3f40..6d6f3dc98a7bc 100755 --- a/Alignment/TrackerAlignment/test/testCreateRandomMisalignment.sh +++ b/Alignment/TrackerAlignment/test/testCreateRandomMisalignment.sh @@ -1,8 +1,9 @@ -#! /bin/bash +#!/bin/bash +function die { echo $1: status $2 ; exit $2; } folder=$CMSSW_BASE/src/Alignment/TrackerAlignment/test/Misalignments for a in $(ls $folder); do - echo "running " ${a} - cmsRun $folder/${a} + echo "running unit test: " ${a} + cmsRun $folder/${a} || die "Failure running ${a}" $? done diff --git a/CondCore/AlignmentPlugins/interface/AlignmentPayloadInspectorHelper.h b/CondCore/AlignmentPlugins/interface/AlignmentPayloadInspectorHelper.h index 96783ba718b61..7b318c32dd4e3 100644 --- a/CondCore/AlignmentPlugins/interface/AlignmentPayloadInspectorHelper.h +++ b/CondCore/AlignmentPlugins/interface/AlignmentPayloadInspectorHelper.h @@ -882,6 +882,17 @@ namespace AlignmentPI { virtual ~TkAlBarycenters() {} }; + /*--------------------------------------------------------------------*/ + inline void TkAlBarycenters::init() + /*--------------------------------------------------------------------*/ + { + // empty all maps + Xbarycenters.clear(); + Ybarycenters.clear(); + Zbarycenters.clear(); + nmodules.clear(); + } + /*--------------------------------------------------------------------*/ inline GlobalPoint TkAlBarycenters::getPartitionAvg(AlignmentPI::PARTITION p) /*--------------------------------------------------------------------*/ @@ -895,10 +906,8 @@ namespace AlignmentPI { const std::map& GPR) /*--------------------------------------------------------------------*/ { - // zero in the n. modules per partition... - for (const auto& p : PARTITIONS) { - nmodules[p] = 0.; - } + // clear all data members; + init(); for (const auto& ali : input) { if (DetId(ali.rawId()).det() != DetId::Tracker) { diff --git a/CondCore/AlignmentPlugins/plugins/TrackerAlignment_PayloadInspector.cc b/CondCore/AlignmentPlugins/plugins/TrackerAlignment_PayloadInspector.cc index a52d4e26a7672..f2a185b230615 100644 --- a/CondCore/AlignmentPlugins/plugins/TrackerAlignment_PayloadInspector.cc +++ b/CondCore/AlignmentPlugins/plugins/TrackerAlignment_PayloadInspector.cc @@ -693,6 +693,7 @@ namespace { bool fill() override { auto tag = PlotBase::getTag<0>(); auto iov = tag.iovs.front(); + const auto &tagname = PlotBase::getTag<0>().name; std::shared_ptr payload = fetchPayload(std::get<1>(iov)); unsigned int run = std::get<0>(iov); @@ -794,8 +795,8 @@ namespace { TLatex t1; t1.SetNDC(); t1.SetTextAlign(26); - t1.SetTextSize(0.05); - t1.DrawLatex(0.5, 0.96, Form("Tracker Alignment Barycenters, IOV %i", run)); + t1.SetTextSize(0.045); + t1.DrawLatex(0.5, 0.96, Form("TkAl Barycenters, Tag: #color[4]{%s}, IOV #color[4]{%i}", tagname.c_str(), run)); t1.SetTextSize(0.025); std::string fileName(m_imageFileName); diff --git a/CondTools/Hcal/test/BuildFile.xml b/CondTools/Hcal/test/BuildFile.xml index 7f00bc545196c..2bd964c9b3292 100644 --- a/CondTools/Hcal/test/BuildFile.xml +++ b/CondTools/Hcal/test/BuildFile.xml @@ -31,10 +31,7 @@ - - - - + diff --git a/CondTools/Hcal/test/pfcuts_db_io_test.csh b/CondTools/Hcal/test/pfcuts_db_io_test.sh similarity index 89% rename from CondTools/Hcal/test/pfcuts_db_io_test.csh rename to CondTools/Hcal/test/pfcuts_db_io_test.sh index dd31b1a8088e3..701b5a8ca271a 100755 --- a/CondTools/Hcal/test/pfcuts_db_io_test.csh +++ b/CondTools/Hcal/test/pfcuts_db_io_test.sh @@ -1,10 +1,7 @@ -#!/bin/csh +#!/bin/bash -ex -set inputfile = `ls -1 $CMSSW_DATA_PATH/data-CondTools-Hcal/V*/CondTools/Hcal/data/hcalpfcuts.txt | tail -1` -set inputdir = `dirname $inputfile` -setenv CMSSW_SEARCH_PATH ${CMSSW_SEARCH_PATH}:$inputdir - -cat >! temp_pfcuts_to_db.py <<% +inputfile=$(edmFileInPath CondTools/Hcal/data/hcalpfcuts.txt) +cat << \EOF > temp_pfcuts_to_db.py import FWCore.ParameterSet.Config as cms from Configuration.StandardSequences.Eras import eras @@ -34,7 +31,7 @@ process.es_ascii = cms.ESSource("HcalTextCalibrations", input = cms.VPSet( cms.PSet( object = cms.string("PFCuts"), - file = cms.FileInPath("hcalpfcuts.txt") + file = cms.FileInPath("CondTools/Hcal/data/hcalpfcuts.txt") ) ) ) @@ -59,11 +56,12 @@ process.mytest = cms.EDAnalyzer("HcalPFCutsPopConAnalyzer", ) ) process.p = cms.Path(process.mytest) -% +EOF + cmsRun temp_pfcuts_to_db.py rm temp_pfcuts_to_db.py -cat >! temp_pfcuts_from_db.py <<% +cat << \EOF > temp_pfcuts_from_db.py import FWCore.ParameterSet.Config as cms from Configuration.StandardSequences.Eras import eras @@ -101,7 +99,8 @@ process.dumpcond = cms.EDAnalyzer("HcalDumpConditions", dump = cms.untracked.vstring("PFCuts") ) process.p = cms.Path(process.dumpcond) -% +EOF + cmsRun temp_pfcuts_from_db.py rm temp_pfcuts_from_db.py diff --git a/Configuration/PyReleaseValidation/README.md b/Configuration/PyReleaseValidation/README.md index e8a7ccd150dd8..33908547fbec0 100644 --- a/Configuration/PyReleaseValidation/README.md +++ b/Configuration/PyReleaseValidation/README.md @@ -52,6 +52,7 @@ The offsets currently in use are: * 0.601: HLT as separate step * 0.7: trackingMkFit modifier * 0.8: BPH Parking (Run-2) +* 0.81: Running also HeavyFlavor DQM * 0.9: Vector hits * 0.12: Neutron background * 0.13: MLPF algorithm @@ -84,3 +85,4 @@ The offsets currently in use are: * 0.9001: Sonic Triton * 0.278: Weighted Vertexing in Blocks * 0.279: Weighted Vertexing in Blocks and tracking only wf + diff --git a/Configuration/PyReleaseValidation/python/relval_2026.py b/Configuration/PyReleaseValidation/python/relval_2026.py index 726eb236ac0bc..857b5cdc121d5 100644 --- a/Configuration/PyReleaseValidation/python/relval_2026.py +++ b/Configuration/PyReleaseValidation/python/relval_2026.py @@ -15,7 +15,7 @@ #2026 WFs to run in IB (TTbar) numWFIB = [] numWFIB.extend([20034.0]) #2026D86 -numWFIB.extend([20834.0,20834.911,20834.103]) #2026D88 DDD XML, DD4hep XML, aging +numWFIB.extend([20834.0]) #2026D88 numWFIB.extend([21061.97]) #2026D88 premixing stage1 (NuGun+PU) numWFIB.extend([20834.5,20834.9,20834.501,20834.502]) #2026D88 pixelTrackingOnly, vector hits, Patatrack local reconstruction on CPU, Patatrack local reconstruction on GPU numWFIB.extend([21034.99,21034.999]) #2026D88 premixing combined stage1+stage2 (ttbar+PU200, ttbar+PU50 for PR test) @@ -33,7 +33,7 @@ numWFIB.extend([24034.0]) #2026D96 numWFIB.extend([24434.0]) #2026D97 numWFIB.extend([24834.0]) #2026D98 -numWFIB.extend([25234.0]) #2026D99 +numWFIB.extend([25234.0,25234.911]) #2026D99 DDD XML, DD4hep XML #Additional sample for short matrix and IB #CloseByPGun for HGCAL diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 18b5679ea2fe2..77c9ce19d9625 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1756,6 +1756,34 @@ def condition(self, fragment, stepList, key, hasHarvest): offset = 0.8, ) +## Wf to add Heavy Flavor DQM to whichever DQM is already there +class UpgradeWorkflow_HeavyFlavor(UpgradeWorkflow): + def setup_(self, step, stepName, stepDict, k, properties): + self.__frags = ["B0","Psi2S","Bu","Bd","Xi","Bs"] + thisStep = stepDict[step][k]["-s"] + if "Reco" in step: + if "DQM:" in thisStep: + #print(thisStep.replace("DQM:","DQM:@heavyFlavor+")) + stepDict[stepName][k] = merge([{'-s': thisStep.replace("DQM:","DQM:@heavyFlavor+")}, stepDict[step][k]]) + #print(k) + elif "DQM" in thisStep: + stepDict[stepName][k] = merge([{'-s': thisStep.replace("DQM","DQM:@heavyFlavor")}, stepDict[step][k]]) + else: + stepDict[stepName][k] = merge([{'-s': thisStep + ",DQM:@heavyFlavor"}, stepDict[step][k]]) + + def condition(self, fragment, stepList, key, hasHarvest): + return any(frag in fragment for frag in self.__frags) + +upgradeWFs['HeavyFlavor'] = UpgradeWorkflow_HeavyFlavor( + steps = [ + 'Reco', + 'RecoNano' + ], + PU = [], + suffix = '_HeavyFlavor', + offset = 0.81, +) + class UpgradeWorkflow_JMENano(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): if 'Nano' in step: diff --git a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py index 91162e6b70e92..69323c2a106cf 100755 --- a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py +++ b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py @@ -97,8 +97,8 @@ def runSelected(opt): 13234.0, #2021 ttbar fastsim 13434.0, #2021 ttbar PU fastsim 12434.0, #2023 ttbar - 23634.0, #2026D95 ttbar (2023 new baseline) - #23634.911, #2026D95 ttbar DD4hep XML + 23634.0, #2026D95 ttbar (Phase-2 baseline) + 23634.911, #2026D95 ttbar DD4hep XML 23834.999, #2026D95 ttbar premixing stage1+stage2, PU50 23696.0, #CE_E_Front_120um D95 23700.0, #CE_H_Coarse_Scint D95 diff --git a/Configuration/Skimming/python/PDWG_EXOLLPJetHCAL_cff.py b/Configuration/Skimming/python/PDWG_EXOLLPJetHCAL_cff.py new file mode 100644 index 0000000000000..540c3e30bb158 --- /dev/null +++ b/Configuration/Skimming/python/PDWG_EXOLLPJetHCAL_cff.py @@ -0,0 +1,15 @@ +import FWCore.ParameterSet.Config as cms + +import HLTrigger.HLTfilters.hltHighLevel_cfi as _hltHighLevel +hltLLPJetHCAL = _hltHighLevel.hltHighLevel.clone( + throw = False, + andOr = True, + HLTPaths = [ + "HLT*_L1SingleLLPJet_*", + ] +) + +# disappTrk skim sequence +EXOLLPJetHCALSkimSequence = cms.Sequence( + hltLLPJetHCAL + ) \ No newline at end of file diff --git a/Configuration/Skimming/python/Skims_PDWG_cff.py b/Configuration/Skimming/python/Skims_PDWG_cff.py index 93575f538756a..0ab2334456d3e 100644 --- a/Configuration/Skimming/python/Skims_PDWG_cff.py +++ b/Configuration/Skimming/python/Skims_PDWG_cff.py @@ -293,6 +293,17 @@ dataTier = cms.untracked.string('AOD') ) +from Configuration.Skimming.PDWG_EXOLLPJetHCAL_cff import * +EXOLLPJetHCALPath = cms.Path(EXOLLPJetHCALSkimSequence) +SKIMStreamEXOLLPJetHCAL = cms.FilteredStream( + responsible = 'PDWG', + name = 'EXOLLPJetHCAL', + paths = (EXOLLPJetHCALPath), + content = skimRawAODContent.outputCommands+['keep *_hbhereco__*'], + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + from Configuration.Skimming.PDWG_EXODTCluster_cff import * EXODTClusterPath = cms.Path(EXODTClusterSkimSequence) SKIMStreamEXODTCluster = cms.FilteredStream( diff --git a/Configuration/Skimming/test/test_EXOLLPJetHCAL_SKIM.py b/Configuration/Skimming/test/test_EXOLLPJetHCAL_SKIM.py new file mode 100644 index 0000000000000..57915d7452dd2 --- /dev/null +++ b/Configuration/Skimming/test/test_EXOLLPJetHCAL_SKIM.py @@ -0,0 +1,403 @@ +# Auto generated configuration file +# using: +# Revision: 1.19 +# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v +# with command line options: skims -s SKIM:EXOLLPJetHCAL --dasquery=file=/store/relval/CMSSW_12_4_11/DisplacedJet/RECO/124X_dataRun3_Prompt_v4_gtval_RelVal_2022D-v1/2580000/1e9b47ed-c192-4f49-9e3d-6fac61586946.root -n 100 --conditions 120X_mcRun3_2021_realistic_v6 --python_filename=test_EXOLLPJetHCAL_SKIM.py --processName=SKIMEXOLLPJetHCAL --no_exec --data +import FWCore.ParameterSet.Config as cms + + + +process = cms.Process('SKIMEXOLLPJetHCAL') + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.MagneticField_cff') +process.load('Configuration.StandardSequences.Skims_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1000), + output = cms.optional.untracked.allowed(cms.int32,cms.PSet) +) + +# Input source +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring('/store/relval/CMSSW_12_4_11/DisplacedJet/RECO/124X_dataRun3_Prompt_v4_gtval_RelVal_2022D-v1/2580000/1e9b47ed-c192-4f49-9e3d-6fac61586946.root'), + secondaryFileNames = cms.untracked.vstring() +) + +process.options = cms.untracked.PSet( + FailPath = cms.untracked.vstring(), + IgnoreCompletely = cms.untracked.vstring(), + Rethrow = cms.untracked.vstring(), + SkipEvent = cms.untracked.vstring(), + accelerators = cms.untracked.vstring('*'), + allowUnscheduled = cms.obsolete.untracked.bool, + canDeleteEarly = cms.untracked.vstring(), + deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), + dumpOptions = cms.untracked.bool(False), + emptyRunLumiMode = cms.obsolete.untracked.string, + eventSetup = cms.untracked.PSet( + forceNumberOfConcurrentIOVs = cms.untracked.PSet( + allowAnyLabel_=cms.required.untracked.uint32 + ), + numberOfConcurrentIOVs = cms.untracked.uint32(0) + ), + fileMode = cms.untracked.string('FULLMERGE'), + forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), + holdsReferencesToDeleteEarly = cms.untracked.VPSet(), + makeTriggerResults = cms.obsolete.untracked.bool, + modulesToIgnoreForDeleteEarly = cms.untracked.vstring(), + numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0), + numberOfConcurrentRuns = cms.untracked.uint32(1), + numberOfStreams = cms.untracked.uint32(0), + numberOfThreads = cms.untracked.uint32(1), + printDependencies = cms.untracked.bool(False), + sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, + throwIfIllegalParameter = cms.untracked.bool(True), + wantSummary = cms.untracked.bool(False) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + annotation = cms.untracked.string('skims nevts:100'), + name = cms.untracked.string('Applications'), + version = cms.untracked.string('$Revision: 1.19 $') +) + +# Output definition + +process.RECOSIMoutput = cms.OutputModule("PoolOutputModule", + dataset = cms.untracked.PSet( + dataTier = cms.untracked.string(''), + filterName = cms.untracked.string('') + ), + fileName = cms.untracked.string('skims_SKIM.root'), + outputCommands = process.RECOSIMEventContent.outputCommands, + splitLevel = cms.untracked.int32(0) +) + +# Additional output definition +process.SKIMStreamEXOLLPJetHCAL = cms.OutputModule("PoolOutputModule", + SelectEvents = cms.untracked.PSet( + SelectEvents = cms.vstring('EXOLLPJetHCALPath') + ), + dataset = cms.untracked.PSet( + dataTier = cms.untracked.string('AOD'), + filterName = cms.untracked.string('EXOLLPJetHCAL') + ), + eventAutoFlushCompressedSize = cms.untracked.int32(5242880), + fileName = cms.untracked.string('EXOLLPJetHCAL.root'), + outputCommands = cms.untracked.vstring( ( + 'drop *', + 'drop *', + 'keep ClusterSummary_clusterSummaryProducer_*_*', + 'keep *_dt4DSegments_*_*', + 'keep *_dt4DCosmicSegments_*_*', + 'keep *_cscSegments_*_*', + 'keep *_rpcRecHits_*_*', + 'keep *_dt1DRecHits_*_*', + 'keep *_csc2DRecHits_*_*', + 'keep *_castorreco_*_*', + 'keep *_reducedHcalRecHits_*_*', + 'keep HcalUnpackerReport_castorDigis_*_*', + 'keep HcalUnpackerReport_hcalDigiAlCaMB_*_*', + 'keep HcalUnpackerReport_hcalDigis_*_*', + 'keep *_selectDigi_*_*', + 'keep EcalRecHitsSorted_reducedEcalRecHitsEB_*_*', + 'keep EcalRecHitsSorted_reducedEcalRecHitsEE_*_*', + 'keep EcalRecHitsSorted_reducedEcalRecHitsES_*_*', + 'keep recoSuperClusters_correctedHybridSuperClusters_*_*', + 'keep recoCaloClusters_hybridSuperClusters_*_*', + 'keep recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_*', + 'keep recoCaloClusters_multi5x5SuperClusters_multi5x5EndcapBasicClusters_*', + 'keep recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower_*_*', + 'keep recoPreshowerClusters_multi5x5SuperClustersWithPreshower_*_*', + 'keep recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_*_*', + 'keep recoSuperClusters_particleFlowSuperClusterECAL_*_*', + 'keep recoCaloClusters_particleFlowSuperClusterECAL_*_*', + 'keep recoSuperClusters_particleFlowSuperClusterOOTECAL_*_*', + 'keep recoCaloClusters_particleFlowSuperClusterOOTECAL_*_*', + 'keep recoTracks_GsfGlobalElectronTest_*_*', + 'keep recoGsfTracks_electronGsfTracks_*_*', + 'keep recoTracks_generalTracks_*_*', + 'keep recoTracks_conversionStepTracks_*_*', + 'keep recoTracks_beamhaloTracks_*_*', + 'keep recoTracks_ctfPixelLess_*_*', + 'keep *_dedxHarmonic2_*_*', + 'keep *_dedxPixelHarmonic2_*_*', + 'keep *_dedxHitInfo_*_*', + 'keep *_trackExtrapolator_*_*', + 'keep *_generalTracks_MVAValues_*', + 'keep *_generalTracks_MVAVals_*', + 'keep recoCaloJets_ak4CaloJets_*_*', + 'keep *_ak4CaloJets_rho_*', + 'keep *_ak4CaloJets_sigma_*', + 'keep *_ak4PFJetsCHS_*_*', + 'keep floatedmValueMap_puppi_*_*', + 'keep *_ak4PFJetsPuppi_*_*', + 'keep *_ak8PFJetsPuppi_*_*', + 'keep *_ak8PFJetsPuppiSoftDrop_*_*', + 'keep recoPFJets_ak4PFJets_*_*', + 'keep *_ak4PFJets_rho_*', + 'keep *_ak4PFJets_sigma_*', + 'keep *_JetPlusTrackZSPCorJetAntiKt4_*_*', + 'keep *_caloTowers_*_*', + 'keep *_CastorTowerReco_*_*', + 'keep *_ak4JetTracksAssociatorAtVertex_*_*', + 'keep *_ak4JetTracksAssociatorAtVertexPF_*_*', + 'keep *_ak4JetTracksAssociatorExplicit_*_*', + 'keep *_ak4JetExtender_*_*', + 'keep *_ak4JetID_*_*', + 'keep recoBasicJets_ak5CastorJets_*_*', + 'keep *_ak5CastorJets_rho_*', + 'keep *_ak5CastorJets_sigma_*', + 'keep *_ak5CastorJetID_*_*', + 'keep recoBasicJets_ak7CastorJets_*_*', + 'keep *_ak7CastorJets_rho_*', + 'keep *_ak7CastorJets_sigma_*', + 'keep *_ak7CastorJetID_*_*', + 'keep *_fixedGridRhoAll_*_*', + 'keep *_fixedGridRhoFastjetAll_*_*', + 'keep *_fixedGridRhoFastjetAllTmp_*_*', + 'keep *_fixedGridRhoFastjetCentral_*_*', + 'keep *_fixedGridRhoFastjetAllCalo_*_*', + 'keep *_fixedGridRhoFastjetCentralCalo_*_*', + 'keep *_fixedGridRhoFastjetCentralChargedPileUp_*_*', + 'keep *_fixedGridRhoFastjetCentralNeutral_*_*', + 'keep *_ak8PFJetsPuppiSoftDropMass_*_*', + 'keep recoCaloMETs_caloMet_*_*', + 'keep recoCaloMETs_caloMetBE_*_*', + 'keep recoCaloMETs_caloMetBEFO_*_*', + 'keep recoCaloMETs_caloMetM_*_*', + 'keep recoPFMETs_pfMet_*_*', + 'keep recoPFMETs_pfChMet_*_*', + 'keep floatedmValueMap_puppiNoLep_*_*', + 'keep recoPFMETs_pfMetPuppi_*_*', + 'keep recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_*_*', + 'keep HcalNoiseSummary_hcalnoise_*_*', + 'keep recoGlobalHaloData_GlobalHaloData_*_*', + 'keep recoCSCHaloData_CSCHaloData_*_*', + 'keep recoBeamHaloSummary_BeamHaloSummary_*_*', + 'keep recoMuons_muons_*_*', + 'keep booledmValueMap_muons_*_*', + 'keep doubleedmValueMap_muons_muPFMean*_*', + 'keep doubleedmValueMap_muons_muPFSum*_*', + 'keep *_muons_muonShowerInformation_*', + 'keep recoMuonTimeExtraedmValueMap_muons_*_*', + 'keep recoMuonCosmicCompatibilityedmValueMap_muons_*_*', + 'keep uintedmValueMap_muons_*_*', + 'keep *_particleFlow_muons_*', + 'keep recoMuons_displacedMuons_*_*', + 'keep booledmValueMap_displacedMuons_*_*', + 'keep doubleedmValueMap_displacedMuons_dispMuPFMean*_*', + 'keep doubleedmValueMap_displacedMuons_dispMuPFSum*_*', + 'keep recoMuonTimeExtraedmValueMap_displacedMuons_*_*', + 'keep uintedmValueMap_displacedMuons_*_*', + 'keep *_particleFlow_displacedMuons_*', + 'keep recoTracks_standAloneMuons_*_*', + 'keep recoTrackExtras_standAloneMuons_*_*', + 'keep TrackingRecHitsOwned_standAloneMuons_*_*', + 'keep recoTracks_globalMuons_*_*', + 'keep recoTrackExtras_globalMuons_*_*', + 'keep recoTracks_tevMuons_*_*', + 'keep recoTrackExtras_tevMuons_*_*', + 'keep recoTracks_generalTracks_*_*', + 'keep recoTracks_displacedTracks_*_*', + 'keep recoTracksToOnerecoTracksAssociation_tevMuons_*_*', + 'keep recoTracks_displacedGlobalMuons_*_*', + 'keep recoTrackExtras_displacedGlobalMuons_*_*', + 'keep TrackingRecHitsOwned_displacedGlobalMuons_*_*', + 'keep recoTracks_cosmicMuons_*_*', + 'keep recoMuons_muonsFromCosmics_*_*', + 'keep recoTracks_cosmicMuons1Leg_*_*', + 'keep recoMuons_muonsFromCosmics1Leg_*_*', + 'keep recoTracks_refittedStandAloneMuons_*_*', + 'keep recoTrackExtras_refittedStandAloneMuons_*_*', + 'keep TrackingRecHitsOwned_refittedStandAloneMuons_*_*', + 'keep recoTracks_displacedStandAloneMuons__*', + 'keep recoTrackExtras_displacedStandAloneMuons_*_*', + 'keep TrackingRecHitsOwned_displacedStandAloneMuons_*_*', + 'keep *_muonReducedTrackExtras_*_*', + 'keep *_displacedMuonReducedTrackExtras_*_*', + 'keep *_softPFElectronBJetTags_*_*', + 'keep *_softPFMuonBJetTags_*_*', + 'keep *_pfTrackCountingHighEffBJetTags_*_*', + 'keep *_pfJetProbabilityBJetTags_*_*', + 'keep *_pfJetBProbabilityBJetTags_*_*', + 'keep *_pfSimpleSecondaryVertexHighEffBJetTags_*_*', + 'keep *_pfSimpleInclusiveSecondaryVertexHighEffBJetTags_*_*', + 'keep *_pfCombinedSecondaryVertexV2BJetTags_*_*', + 'keep *_pfCombinedInclusiveSecondaryVertexV2BJetTags_*_*', + 'keep *_pfGhostTrackBJetTags_*_*', + 'keep *_pfCombinedMVAV2BJetTags_*_*', + 'keep *_inclusiveCandidateSecondaryVertices_*_*', + 'keep *_inclusiveCandidateSecondaryVerticesCvsL_*_*', + 'keep *_pfCombinedCvsLJetTags_*_*', + 'keep *_pfCombinedCvsBJetTags_*_*', + 'keep *_pfChargeBJetTags_*_*', + 'keep *_pfDeepCSVJetTags_*_*', + 'keep *_pfDeepCMVAJetTags_*_*', + 'keep *_pixelClusterTagInfos_*_*', + 'keep recoRecoTauPiZeros_hpsPFTauProducer_pizeros_*', + 'keep recoPFTaus_hpsPFTauProducer_*_*', + 'keep *_hpsPFTauBasicDiscriminators_*_*', + 'keep *_hpsPFTauBasicDiscriminatorsdR03_*_*', + 'keep *_hpsPFTauDiscriminationByDeadECALElectronRejection_*_*', + 'keep *_hpsPFTauDiscriminationByDecayModeFinding_*_*', + 'keep *_hpsPFTauDiscriminationByDecayModeFindingNewDMs_*_*', + 'keep *_hpsPFTauDiscriminationByDecayModeFindingOldDMs_*_*', + 'keep *_hpsPFTauDiscriminationByMuonRejection3_*_*', + 'keep *_hpsPFTauTransverseImpactParameters_*_*', + 'keep *_offlinePrimaryVertices__*', + 'keep *_offlinePrimaryVerticesWithBS_*_*', + 'keep *_offlinePrimaryVerticesFromCosmicTracks_*_*', + 'keep *_nuclearInteractionMaker_*_*', + 'keep *_generalV0Candidates_*_*', + 'keep *_inclusiveSecondaryVertices_*_*', + 'keep recoGsfElectronCores_gsfElectronCores_*_*', + 'keep recoGsfElectronCores_gedGsfElectronCores_*_*', + 'keep recoGsfElectrons_gsfElectrons_*_*', + 'keep recoGsfElectrons_gedGsfElectrons_*_*', + 'keep recoGsfElectronCores_uncleanedOnlyGsfElectronCores_*_*', + 'keep recoGsfElectrons_uncleanedOnlyGsfElectrons_*_*', + 'keep floatedmValueMap_eidRobustLoose_*_*', + 'keep floatedmValueMap_eidRobustTight_*_*', + 'keep floatedmValueMap_eidRobustHighEnergy_*_*', + 'keep floatedmValueMap_eidLoose_*_*', + 'keep floatedmValueMap_eidTight_*_*', + 'keep *_egmGedGsfElectronPFIsolation_*_*', + 'keep recoPhotonCores_gedPhotonCore_*_*', + 'keep recoPhotons_gedPhotons_*_*', + 'keep *_particleBasedIsolation_*_*', + 'keep recoPhotonCores_photonCore_*_*', + 'keep recoPhotons_photons_*_*', + 'keep recoPhotonCores_ootPhotonCore_*_*', + 'keep recoPhotons_ootPhotons_*_*', + 'keep recoConversions_conversions_*_*', + 'drop recoConversions_conversions_uncleanedConversions_*', + 'keep recoConversions_mustacheConversions_*_*', + 'keep *_gsfTracksOpenConversions_*_*', + 'keep recoConversions_allConversions_*_*', + 'keep recoConversions_allConversionsOldEG_*_*', + 'keep recoTracks_ckfOutInTracksFromConversions_*_*', + 'keep recoTracks_ckfInOutTracksFromConversions_*_*', + 'keep recoConversions_uncleanedOnlyAllConversions_*_*', + 'keep recoTracks_uncleanedOnlyCkfOutInTracksFromConversions_*_*', + 'keep recoTracks_uncleanedOnlyCkfInOutTracksFromConversions_*_*', + 'keep *_PhotonIDProd_*_*', + 'keep *_PhotonIDProdGED_*_*', + 'keep *_hfRecoEcalCandidate_*_*', + 'keep *_hfEMClusters_*_*', + 'keep *_gedGsfElectronCores_*_*', + 'keep *_gedGsfElectrons_*_*', + 'keep recoCaloClusters_lowPtGsfElectronSuperClusters_*_*', + 'keep recoGsfElectrons_lowPtGsfElectrons_*_*', + 'keep recoGsfElectronCores_lowPtGsfElectronCores_*_*', + 'keep recoGsfTracks_lowPtGsfEleGsfTracks_*_*', + 'keep *_lowPtGsfToTrackLinks_*_*', + 'keep recoSuperClusters_lowPtGsfElectronSuperClusters_*_*', + 'keep floatedmValueMap_lowPtGsfElectronSeedValueMaps_*_*', + 'keep floatedmValueMap_rekeyLowPtGsfElectronSeedValueMaps_*_*', + 'keep floatedmValueMap_lowPtGsfElectronID_*_*', + 'keep recoPFRecHits_particleFlowRecHitECAL_Cleaned_*', + 'keep recoPFRecHits_particleFlowRecHitHBHE_Cleaned_*', + 'keep recoPFRecHits_particleFlowRecHitHF_Cleaned_*', + 'keep recoPFRecHits_particleFlowRecHitHO_Cleaned_*', + 'keep recoPFRecHits_particleFlowRecHitPS_Cleaned_*', + 'keep recoCaloClusters_particleFlowEGamma_*_*', + 'keep recoSuperClusters_particleFlowEGamma_*_*', + 'keep recoCaloClusters_particleFlowSuperClusterECAL_*_*', + 'keep recoSuperClusters_particleFlowSuperClusterECAL_*_*', + 'keep recoConversions_particleFlowEGamma_*_*', + 'keep recoPFCandidates_particleFlow_*_*', + 'keep recoPFCandidates_particleFlowTmp_AddedMuonsAndHadrons_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedCosmicsMuons_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedFakeMuons_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedHF_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedPunchThroughMuons_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedPunchThroughNeutralHadrons_*', + 'keep recoPFCandidates_particleFlowTmp_CleanedTrackerAndGlobalMuons_*', + 'keep *_particleFlow_electrons_*', + 'keep *_particleFlow_photons_*', + 'keep *_particleFlow_muons_*', + 'keep recoCaloClusters_pfElectronTranslator_*_*', + 'keep recoPreshowerClusters_pfElectronTranslator_*_*', + 'keep recoSuperClusters_pfElectronTranslator_*_*', + 'keep recoCaloClusters_pfPhotonTranslator_*_*', + 'keep recoPreshowerClusters_pfPhotonTranslator_*_*', + 'keep recoSuperClusters_pfPhotonTranslator_*_*', + 'keep recoPhotons_pfPhotonTranslator_*_*', + 'keep recoPhotonCores_pfPhotonTranslator_*_*', + 'keep recoConversions_pfPhotonTranslator_*_*', + 'keep *_particleFlowPtrs_*_*', + 'keep *_particleFlowTmpPtrs_*_*', + 'keep *_chargedHadronPFTrackIsolation_*_*', + 'keep *_offlineBeamSpot_*_*', + 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', + 'keep *_l1GtRecord_*_*', + 'keep *_l1GtTriggerMenuLite_*_*', + 'keep *_conditionsInEdm_*_*', + 'keep *_l1extraParticles_*_*', + 'keep *_l1L1GtObjectMap_*_*', + 'keep LumiSummary_lumiProducer_*_*', + 'drop *_hlt*_*_*', + 'keep GlobalObjectMapRecord_hltGtStage2ObjectMap_*_*', + 'keep edmTriggerResults_*_*_*', + 'keep triggerTriggerEvent_*_*_*', + 'keep *_hltFEDSelectorL1_*_*', + 'keep *_hltScoutingEgammaPacker_*_*', + 'keep *_hltScoutingMuonPacker_*_*', + 'keep *_hltScoutingPFPacker_*_*', + 'keep *_hltScoutingPrimaryVertexPacker_*_*', + 'keep *_hltScoutingTrackPacker_*_*', + 'keep edmTriggerResults_*_*_*', + 'keep L1AcceptBunchCrossings_scalersRawToDigi_*_*', + 'keep L1TriggerScalerss_scalersRawToDigi_*_*', + 'keep Level1TriggerScalerss_scalersRawToDigi_*_*', + 'keep LumiScalerss_scalersRawToDigi_*_*', + 'keep BeamSpotOnlines_scalersRawToDigi_*_*', + 'keep DcsStatuss_scalersRawToDigi_*_*', + 'keep CTPPSRecord_onlineMetaDataDigis_*_*', + 'keep DCSRecord_onlineMetaDataDigis_*_*', + 'keep OnlineLuminosityRecord_onlineMetaDataDigis_*_*', + 'keep recoBeamSpot_onlineMetaDataDigis_*_*', + 'keep *_tcdsDigis_*_*', + 'keep *_logErrorHarvester_*_*', + 'keep FEDRawDataCollection_rawDataCollector_*_*', + 'keep FEDRawDataCollection_source_*_*', + 'drop *_MEtoEDMConverter_*_*', + 'drop *_*_*_SKIM', + 'keep *_hbhereco__*' + ) ) +) + +# Other statements +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, '120X_mcRun3_2021_realistic_v6', '') + +# Path and EndPath definitions +process.RECOSIMoutput_step = cms.EndPath(process.RECOSIMoutput) +process.SKIMStreamEXOLLPJetHCALOutPath = cms.EndPath(process.SKIMStreamEXOLLPJetHCAL) + +# Schedule definition +process.schedule = cms.Schedule(process.EXOLLPJetHCALPath,process.RECOSIMoutput_step,process.SKIMStreamEXOLLPJetHCALOutPath) +from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask +associatePatAlgosToolsTask(process) + + + +# Customisation from command line + +#Have logErrorHarvester wait for the same EDProducers to finish as those providing data for the OutputModule +from FWCore.Modules.logErrorHarvester_cff import customiseLogErrorHarvesterUsingOutputCommands +process = customiseLogErrorHarvesterUsingOutputCommands(process) + +# Add early deletion of temporary data products to reduce peak memory need +from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete +process = customiseEarlyDelete(process) +# End adding early deletion diff --git a/DQM/Integration/test/BuildFile.xml b/DQM/Integration/test/BuildFile.xml index 70efac6554c41..bfd02a4c970c0 100644 --- a/DQM/Integration/test/BuildFile.xml +++ b/DQM/Integration/test/BuildFile.xml @@ -1,6 +1,3 @@ - - - diff --git a/DataFormats/FWLite/test/test.cppunit.cpp b/DataFormats/FWLite/test/test.cppunit.cpp index 873043639b073..58cd14ded3f7d 100644 --- a/DataFormats/FWLite/test/test.cppunit.cpp +++ b/DataFormats/FWLite/test/test.cppunit.cpp @@ -14,7 +14,6 @@ Test program for edm::Ref use in ROOT. #include "DataFormats/TestObjects/interface/OtherThingCollection.h" #include "DataFormats/TestObjects/interface/ThingCollection.h" #include "DataFormats/TestObjects/interface/TrackOfThings.h" -#include "FWCore/Utilities/interface/TestHelper.h" #include "DataFormats/FWLite/interface/ChainEvent.h" #include "DataFormats/FWLite/interface/EventBase.h" @@ -23,12 +22,6 @@ Test program for edm::Ref use in ROOT. #include "DataFormats/Common/interface/Handle.h" #include "DataFormats/Provenance/interface/ProductID.h" -static char* gArgV = nullptr; - -extern "C" char** environ; - -#define CHARSTAR(x) const_cast(x) - class testRefInROOT : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(testRefInROOT); @@ -576,10 +569,7 @@ void testRefInROOT::testThinning() { #include #include -int main(int argc, char* argv[]) { - gArgV = argv[0]; - std::string testPath = (argc > 1) ? std::string(argv[1]) : ""; - +int main() { // Create the event manager and test controller CppUnit::TestResult controller; @@ -595,8 +585,8 @@ int main(int argc, char* argv[]) { CppUnit::TestRunner runner; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); try { - std::cout << "Running " << testPath; - runner.run(controller, testPath); + std::cout << "Running "; + runner.run(controller); std::cerr << std::endl; diff --git a/DataFormats/L1TMuonPhase2/interface/Constants.h b/DataFormats/L1TMuonPhase2/interface/Constants.h index d3f80a3421948..ea8c2f4c0c5cb 100644 --- a/DataFormats/L1TMuonPhase2/interface/Constants.h +++ b/DataFormats/L1TMuonPhase2/interface/Constants.h @@ -54,7 +54,7 @@ namespace Phase2L1GMT { // Bitwidth for standalone muons to CL1 and GT const int BITSSAZ0 = 5; const int BITSSAD0 = 7; - const int BITSSAQUALITY = 4; + const int BITSSAQUAL = 4; // Bitwidth for dataformat to GT const int BITSGTPT = 16; @@ -62,14 +62,24 @@ namespace Phase2L1GMT { const int BITSGTETA = 14; const int BITSGTZ0 = 10; const int BITSGTD0 = 10; - const int BITSGTQUALITY = 8; + const int BITSGTQUAL = 8; const int BITSGTISO = 4; + const int BITSGTBETA = 4; + + // Bitwidth for Tau->3mu object + const int BITSTMPT = 8; + const int BITSTMPHI = 8; + const int BITSTMETA = 8; + const int BITSTMMASS2 = 8; + const int BITSTMTYPE = 6; + const int BITSTMIDX = 4; + const int BITSTMQUAL = 4; const float maxCurv_ = 0.00855; // 2 GeV pT Rinv is in cm const float maxPhi_ = 1.026; // relative to the center of the sector const float maxTanl_ = 8.0; - const float maxZ0_ = 30.; - const float maxD0_ = 15.4; + const float maxZ0_ = 25.6; + const float maxD0_ = 15.36; // Updated barrelLimit according to Karol, https://indico.cern.ch/event/1113802/#1-phase2-gmt-performance-and-i const int barrelLimit0_ = 1.4 / 0.00076699039 / 8; const int barrelLimit1_ = 1.1 / 0.00076699039 / 8; @@ -81,12 +91,32 @@ namespace Phase2L1GMT { const float LSBpt = 0.03125; const float LSBphi = 2. * M_PI / pow(2, BITSPHI); const float LSBeta = 2. * M_PI / pow(2, BITSETA); - const float LSBGTz0 = 2. * maxZ0_ / pow(2, BITSZ0); - const float LSBGTd0 = 2. * maxD0_ / pow(2, BITSD0); - const float LSBSAz0 = 1.875; - const float LSBSAd0 = 3.85; + const float LSBGTz0 = 0.05; // 0.5mm, in sync with GTT and Correlator + const float LSBGTd0 = 0.03; // from GT interface doc + const float LSBSAz0 = 1.6; // 0.05 * 32 cm, with range +- 25.6 + const float LSBSAd0 = 3.84; // 0.03 * 128 cm, with range +- 245.76 typedef ap_uint<64> wordtype; + typedef ap_uint<1> valid_gt_t; //valid + typedef ap_uint<1> q_gt_t; //charge + typedef ap_uint pt_gt_t; //pt of tracker muon + typedef ap_int phi_gt_t; //phi of tracker muon + typedef ap_int eta_gt_t; //eta of tracker muon + typedef ap_int z0_gt_t; //z0 of tracker muon + typedef ap_int d0_gt_t; //d0 of tracker muon + typedef ap_uint iso_gt_t; //isolation of tracker muon + typedef ap_uint beta_gt_t; //beta of tracker muon + typedef ap_uint qual_gt_t; //quality of tracker muon + + //Standalone muon datatype + typedef ap_uint<1> valid_sa_t; //valid + typedef ap_uint pt_sa_t; //pt of standalone muon + typedef ap_int phi_sa_t; //phi of standalone muon + typedef ap_int eta_sa_t; //eta of standalone muon + typedef ap_int z0_sa_t; //z0 of standalone muon + typedef ap_int d0_sa_t; //d0 of standalone muon + typedef ap_uint<1> q_sa_t; //charge of standalone muon + typedef ap_uint qual_sa_t; //quality of standalone muon inline uint64_t twos_complement(long long int v, uint bits) { uint64_t mask = (1 << bits) - 1; diff --git a/DataFormats/L1TMuonPhase2/interface/SAMuon.h b/DataFormats/L1TMuonPhase2/interface/SAMuon.h index d46d6cab3610c..12ea802dae04f 100644 --- a/DataFormats/L1TMuonPhase2/interface/SAMuon.h +++ b/DataFormats/L1TMuonPhase2/interface/SAMuon.h @@ -31,6 +31,16 @@ namespace l1t { const uint hwBeta() const { return hwBeta_; } void setBeta(uint beta) { hwBeta_ = beta; } + // For GT, returning ap_ type + const Phase2L1GMT::valid_sa_t apValid() const { return Phase2L1GMT::valid_sa_t(hwPt() > 0); }; + const Phase2L1GMT::pt_sa_t apPt() const { return Phase2L1GMT::pt_sa_t(hwPt()); }; + const Phase2L1GMT::phi_sa_t apPhi() const { return Phase2L1GMT::phi_sa_t(hwPhi()); }; + const Phase2L1GMT::eta_sa_t apEta() const { return Phase2L1GMT::eta_sa_t(hwEta()); }; + const Phase2L1GMT::z0_sa_t apZ0() const { return Phase2L1GMT::z0_sa_t(hwZ0()); }; + const Phase2L1GMT::d0_sa_t apD0() const { return Phase2L1GMT::d0_sa_t(hwD0()); }; + const Phase2L1GMT::q_sa_t apCharge() const { return Phase2L1GMT::q_sa_t(hwCharge()); }; + const Phase2L1GMT::qual_sa_t apQual() const { return Phase2L1GMT::qual_sa_t(hwQual()); }; + // For HLT const double phZ0() const { return Phase2L1GMT::LSBSAz0 * hwZ0(); } const double phD0() const { return Phase2L1GMT::LSBSAd0 * hwD0(); } diff --git a/DataFormats/L1TMuonPhase2/interface/TrackerMuon.h b/DataFormats/L1TMuonPhase2/interface/TrackerMuon.h index 78bb288685d37..1dd8cc90bf344 100644 --- a/DataFormats/L1TMuonPhase2/interface/TrackerMuon.h +++ b/DataFormats/L1TMuonPhase2/interface/TrackerMuon.h @@ -32,7 +32,7 @@ namespace l1t { ~TrackerMuon() override; const edm::Ptr& trkPtr() const { return trkPtr_; } - const edm::Ref& muonRef() const { return muRef_; } + const std::vector& muonRef() const { return muRef_; } const bool hwCharge() const { return hwCharge_; } const int hwZ0() const { return hwZ0_; } @@ -41,10 +41,22 @@ namespace l1t { const int hwIsoSumAp() const { return hwIsoSumAp_; } const uint hwBeta() const { return hwBeta_; } void setBeta(uint beta) { hwBeta_ = beta; } - void setMuonRef(const edm::Ref& p) { muRef_ = p; } + void setMuonRef(const std::vector& p) { muRef_ = p; } void setHwIsoSum(int isoSum) { hwIsoSum_ = isoSum; } void setHwIsoSumAp(int isoSum) { hwIsoSumAp_ = isoSum; } + // For GT, returning ap_ type + const Phase2L1GMT::valid_gt_t apValid() const { return Phase2L1GMT::valid_gt_t(hwPt() > 0); }; + const Phase2L1GMT::pt_gt_t apPt() const { return Phase2L1GMT::pt_gt_t(hwPt()); }; + const Phase2L1GMT::phi_gt_t apPhi() const { return Phase2L1GMT::phi_gt_t(hwPhi()); }; + const Phase2L1GMT::eta_gt_t apEta() const { return Phase2L1GMT::eta_gt_t(hwEta()); }; + const Phase2L1GMT::z0_gt_t apZ0() const { return Phase2L1GMT::z0_gt_t(hwZ0()); }; + const Phase2L1GMT::d0_gt_t apD0() const { return Phase2L1GMT::d0_gt_t(hwD0()); }; + const Phase2L1GMT::q_gt_t apCharge() const { return Phase2L1GMT::q_gt_t(hwCharge()); }; + const Phase2L1GMT::qual_gt_t apQual() const { return Phase2L1GMT::qual_gt_t(hwQual()); }; + const Phase2L1GMT::iso_gt_t apIso() const { return Phase2L1GMT::iso_gt_t(hwIso()); }; + const Phase2L1GMT::beta_gt_t apBeta() const { return Phase2L1GMT::beta_gt_t(hwBeta()); }; + // For HLT const double phZ0() const { return Phase2L1GMT::LSBGTz0 * hwZ0(); } const double phD0() const { return Phase2L1GMT::LSBGTd0 * hwD0(); } @@ -76,7 +88,7 @@ namespace l1t { //Store the eneryg sum for isolation with ap_type int hwIsoSumAp_; - edm::Ref muRef_; + std::vector muRef_; MuonStubRefVector stubs_; }; } // namespace l1t diff --git a/DataFormats/L1TMuonPhase2/src/classes_def.xml b/DataFormats/L1TMuonPhase2/src/classes_def.xml index b20feacd4c091..b3cbf00fcf430 100644 --- a/DataFormats/L1TMuonPhase2/src/classes_def.xml +++ b/DataFormats/L1TMuonPhase2/src/classes_def.xml @@ -8,7 +8,8 @@ - + + diff --git a/FWCore/FWLite/test/BuildFile.xml b/FWCore/FWLite/test/BuildFile.xml index d9b36bfa5240b..1035cac14234b 100644 --- a/FWCore/FWLite/test/BuildFile.xml +++ b/FWCore/FWLite/test/BuildFile.xml @@ -1,7 +1,10 @@ + + + diff --git a/FWCore/FWLite/test/ref_t.cppunit.cpp b/FWCore/FWLite/test/ref_t.cppunit.cpp index 1669f372be38a..865be3ca8e929 100644 --- a/FWCore/FWLite/test/ref_t.cppunit.cpp +++ b/FWCore/FWLite/test/ref_t.cppunit.cpp @@ -62,13 +62,6 @@ using ROOT's "Draw" interface. #include "DataFormats/TestObjects/interface/OtherThingCollection.h" #include "DataFormats/TestObjects/interface/TrackOfThings.h" #include "DataFormats/Provenance/interface/BranchType.h" -#include "FWCore/Utilities/interface/TestHelper.h" - -static char* gArgV = nullptr; - -extern "C" char** environ; - -#define CHARSTAR(x) const_cast(x) class testRefInROOT : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(testRefInROOT); @@ -93,14 +86,6 @@ class testRefInROOT : public CppUnit::TestFixture { if (!sWasRun_) { gSystem->Load("libFWCoreFWLite.so"); FWLiteEnabler::enable(); - - char* argv[] = { - CHARSTAR("testFWCoreFWLite"), CHARSTAR("/bin/bash"), CHARSTAR("FWCore/FWLite/test"), CHARSTAR("RefTest.sh")}; - argv[0] = gArgV; - if (0 != ptomaine(sizeof(argv) / sizeof(const char*), argv, environ)) { - std::cerr << "could not run script needed to make test files\n"; - ::exit(-1); - } sWasRun_ = true; } } @@ -494,10 +479,7 @@ void testRefInROOT::testThinning() { #include #include -int main(int argc, char* argv[]) { - gArgV = argv[0]; - std::string testPath = (argc > 1) ? std::string(argv[1]) : ""; - +int main() { // Create the event manager and test controller CppUnit::TestResult controller; @@ -513,8 +495,8 @@ int main(int argc, char* argv[]) { CppUnit::TestRunner runner; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); try { - std::cout << "Running " << testPath; - runner.run(controller, testPath); + std::cout << "Running "; + runner.run(controller); std::cerr << std::endl; diff --git a/FWCore/Services/test/BuildFile.xml b/FWCore/Services/test/BuildFile.xml index dab99a16e1a63..61df66283d06c 100644 --- a/FWCore/Services/test/BuildFile.xml +++ b/FWCore/Services/test/BuildFile.xml @@ -14,11 +14,12 @@ + + + + - - - diff --git a/FWCore/Utilities/interface/TestHelper.h b/FWCore/Utilities/interface/TestHelper.h deleted file mode 100644 index 7768da00522de..0000000000000 --- a/FWCore/Utilities/interface/TestHelper.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef Utilities_TestHelper -#define Utilities_TestHelper -// -*- C++ -*- - -//------------------------------------------------------------ -// -// Function to drive test programs and scripts. -// -// Write your test program with whatever name you want; the -// implementation should be: -// -// int main(int argc, char* argv[]) { return ptomaine(argc, argv); } -// -// -// Asumming you call your program RunThis, invocation of this program -// should look like: -// -// RunThis [args ...] -// e.g. -// RunThis /bin/bash ls -// RunThis /bin/bash cmsRun -p somefile.cfg -// RunThis /bin/bash some_script.sh a b c -// -// -//------------------------------------------------------------ - -int ptomaine(int argc, char* argv[], char** env); - -#define RUNTEST() \ - extern "C" char** environ; \ - int main(int argc, char* argv[]) { return ptomaine(argc, argv, environ); } - -#endif diff --git a/FWCore/Utilities/scripts/edmFileInPath b/FWCore/Utilities/scripts/edmFileInPath new file mode 100755 index 0000000000000..bd655e47ab1f4 --- /dev/null +++ b/FWCore/Utilities/scripts/edmFileInPath @@ -0,0 +1,21 @@ +#!/bin/bash +function usage(){ + echo "Usage: $0 [-h|--help] " + echo " $0 CondTools/Hcal/data/hcalpfcuts.txt" + exit $1 +} + + +if [ "$1" = "" ] ; then + echo "ERROR: Mising input data file name" + usage 1 +fi +[ "$1" = "-h" -o "$1" = "--help" ] && usage 0 + +data_file=$1 +for dir in $(echo $CMSSW_SEARCH_PATH | tr ':' '\n') ; do + [ -e $dir/${data_file} ] || continue + echo "$dir/${data_file}" + exit 0 +done +exit 1 diff --git a/FWCore/Utilities/src/TestHelper.cc b/FWCore/Utilities/src/TestHelper.cc deleted file mode 100644 index 7a6d944952bb8..0000000000000 --- a/FWCore/Utilities/src/TestHelper.cc +++ /dev/null @@ -1,192 +0,0 @@ -//------------------------------------------------------------ -//------------------------------------------------------------ -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "FWCore/Utilities/interface/EDMException.h" -#include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/Utilities/interface/RegexMatch.h" -#include "FWCore/Utilities/interface/TestHelper.h" -#include "FWCore/Utilities/interface/thread_safety_macros.h" - -namespace bf = std::filesystem; - -int run_script(std::string const& shell, std::string const& script) { - pid_t pid = 0; - int status = 0; - - if ((pid = fork()) < 0) { - std::cerr << "fork failed, to run " << script << std::endl; - return -1; - } - - if (pid == 0) { // child - execlp(shell.c_str(), "sh", "-c", script.c_str(), static_cast(nullptr)); - std::cerr << "child failed becuase '" << strerror(errno) << "'\n"; - _exit(127); // signal parent and children processes - } else { // parent - while (waitpid(pid, &status, 0) < 0) { - if (errno != EINTR) { - std::cerr << "child process failed " << strerror(errno) << "\n"; - status = -1; - break; - } else { - if (WIFSIGNALED(status)) { - std::cerr << "child existed because of a signal " << WTERMSIG(status) << "\n"; - } - } - } - if (WIFSIGNALED(status)) { - std::cerr << "child existed because of a signal " << WTERMSIG(status) << "\n"; - } - if (WIFEXITED(status)) { - } - } - return status; -} - -int do_work(int argc, char* argv[], char** env) { - bf::path currentPath(bf::current_path().string()); - - if (argc < 4) { - std::cout << "Usage: " << argv[0] << " shell subdir script1 script2 ... scriptN\n\n" - << "where shell is the path+shell (e.g., /bin/bash) intended to run the scripts\n" - << "and subdir is the subsystem/package/subdir in which the scripts are found\n" - << "(e.g., FWCore/Utilities/test)\n" - << std::endl; - - std::cout << "Current directory is: " << currentPath.string() << '\n'; - std::cout << "Current environment:\n"; - std::cout << "---------------------\n"; - for (int i = 0; env[i] != nullptr; ++i) - std::cout << env[i] << '\n'; - std::cout << "---------------------\n"; - std::cout << "Executable name: " << argv[0] << '\n'; - return -1; - } - - char const* goodDirectory = "[A-Za-z0-9/_.-]+"; - - for (int i = 0; i < argc; ++i) { - std::cout << "argument " << i << ": " << argv[i] << '\n'; - } - - std::string shell(argv[1]); - std::cerr << "shell is: " << shell << '\n'; - - std::cout << "Current directory is: " << currentPath.string() << '\n'; - // It is unclear about which of these environment variables should - // be used. - char const* topdir = std::getenv("SCRAMRT_LOCALRT"); - if (!topdir) - topdir = std::getenv("LOCALRT"); - try { - if (!edm::untaintString(topdir, goodDirectory)) { - std::cerr << "Invalid top directory '" << topdir << "'" << std::endl; - return -1; - } - } catch (std::runtime_error const& e) { - std::cerr << "Invalid top directory '" << topdir << "'" << std::endl; - std::cerr << "e.what" << std::endl; - return -1; - } - - char const* arch = std::getenv("SCRAM_ARCH"); - - if (!arch) { - // Try to synthesize SCRAM_ARCH value. - bf::path exepath(argv[0]); - std::string maybe_arch = exepath.parent_path().filename().string(); - - if (setenv("SCRAM_ARCH", maybe_arch.c_str(), 1) != 0) { - std::cerr << "SCRAM_ARCH not set and attempt to set it failed\n"; - return -1; - } - arch = std::getenv("SCRAM_ARCH"); - } - - int rc = 0; - - if (!topdir) { - std::cerr << "Neither SCRAMRT_LOCALRT nor LOCALRT is defined" << std::endl; - return -1; - } - - try { - if (!edm::untaintString(argv[2], goodDirectory)) { - std::cerr << "Invalid test directory '" << argv[2] << "'" << std::endl; - return -1; - } - } catch (std::runtime_error const& e) { - std::cerr << "Invalid test directory '" << argv[2] << "'" << std::endl; - std::cerr << "e.what" << std::endl; - return -1; - } - - std::string testdir(topdir); - testdir += "/src/"; - testdir += argv[2]; - std::string tmpdir(topdir); - tmpdir += "/tmp/"; - tmpdir += arch; - std::string testbin(topdir); - testbin += "/test/"; - testbin += arch; - - std::cout << "topdir is: " << topdir << '\n'; - std::cout << "testdir is: " << testdir << '\n'; - std::cout << "tmpdir is: " << tmpdir << '\n'; - std::cout << "testbin is: " << testbin << '\n'; - - if (setenv("LOCAL_TEST_DIR", testdir.c_str(), 1) != 0) { - std::cerr << "Could not set LOCAL_TEST_DIR to " << testdir << std::endl; - return -1; - } - if (setenv("LOCAL_TMP_DIR", tmpdir.c_str(), 1) != 0) { - std::cerr << "Could not set LOCAL_TMP_DIR to " << tmpdir << std::endl; - return -1; - } - if (setenv("LOCAL_TOP_DIR", topdir, 1) != 0) { - std::cerr << "Could not set LOCAL_TOP_DIR to " << topdir << std::endl; - return -1; - } - if (setenv("LOCAL_TEST_BIN", testbin.c_str(), 1) != 0) { - std::cerr << "Could not set LOCAL_TEST_BIN to " << testbin << std::endl; - return -1; - } - - testdir += "/"; - - for (int i = 3; i < argc && rc == 0; ++i) { - std::string scriptname(testdir); - scriptname += argv[i]; - std::cout << "Running script: " << scriptname << std::endl; - rc = run_script(shell, scriptname); - } - - std::cout << "status = " << rc << std::endl; - return rc == 0 ? 0 : -1; -} - -int ptomaine(int argc, char* argv[], char** env) { - int rc = 1; - // Standalone executable, prints exception message - CMS_SA_ALLOW try { rc = do_work(argc, argv, env); } catch (edm::Exception& x) { - std::cerr << "Caught an edm::Exception in " << argv[0] << '\n' << x; - } catch (cms::Exception& x) { - std::cerr << "Caught a cms::Exception in " << argv[0] << '\n' << x; - } catch (std::exception& x) { - std::cerr << "Caught a std::exception in " << argv[0] << '\n' << x.what(); - } catch (...) { - std::cerr << "Caught an unknown exception in " << argv[0]; - } - return rc; -} diff --git a/FWCore/Utilities/test/README b/FWCore/Utilities/test/README deleted file mode 100644 index a79a1886a0340..0000000000000 --- a/FWCore/Utilities/test/README +++ /dev/null @@ -1,48 +0,0 @@ -How to make 'scram b runtests' run your shell script... - -Please note this is a hack, necessary only until 'scram b runtests' -can directly run a shell script. - -Here are the necessary items: - - 1. Write a source (.cpp) file that invokes the RUNTEST macro. Note - this is a C++ macro, not a CINT macro. The contents of your file - should be the following: - ------------------------------------------------------------- -#include "FWCore/Utilities/interface/TestHelper.h" -RUNTEST() ------------------------------------------------------------- - - 2. Add a binary target to your BuildFile that will build and run this - program, passing it the appropriate arguments. If your program name - is TestHelper (it should not be; you should name it - 'SubsystemPackagesMeaningfulName_t') - - - - - -The list of arguments in this target is - ' ...' -where - - a) shell name = the path to the shell you want (use bash!) - - b) current directory name = the name of the current directory (the - system isn't smart enough to figure this out) - - c) script1 ... is a sequence (of any length, subject to shell line - line restrictions) of the names of shell scripts to run. - - 3. Generally, you will have these shell scripts run binaries. These - shell scripts will have supplied to them several environment - variables: - - a) LOCAL_TEST_DIR: The directory where the test source code is. - b) LOCAL_TMP_DIR: The directory in which to create temporary files. - c) LOCAL_TOP_DIR: The directory that is the top of your local git - sandbox. - d) LOCAL_TEST_BIN: The directory in which your test binary is - found. - diff --git a/Geometry/GlobalTrackingGeometryBuilder/test/GlobalTrackingGeometryTest.cc b/Geometry/GlobalTrackingGeometryBuilder/test/GlobalTrackingGeometryTest.cc index 5e511c1dd74b0..e06a801a026b4 100644 --- a/Geometry/GlobalTrackingGeometryBuilder/test/GlobalTrackingGeometryTest.cc +++ b/Geometry/GlobalTrackingGeometryBuilder/test/GlobalTrackingGeometryTest.cc @@ -10,6 +10,7 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h" #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h" @@ -30,7 +31,7 @@ class GlobalTrackingGeometryTest : public edm::one::EDAnalyzer<> { public: explicit GlobalTrackingGeometryTest(const edm::ParameterSet&); - ~GlobalTrackingGeometryTest() override; + ~GlobalTrackingGeometryTest() override = default; void beginJob() override {} void analyze(edm::Event const& iEvent, edm::EventSetup const&) override; @@ -52,8 +53,6 @@ GlobalTrackingGeometryTest::GlobalTrackingGeometryTest(const edm::ParameterSet& : my_name("GlobalTrackingGeometryTest"), geometryToken_{esConsumes(edm::ESInputTag{})} {} -GlobalTrackingGeometryTest::~GlobalTrackingGeometryTest() {} - void GlobalTrackingGeometryTest::analyzeCSC(const GlobalTrackingGeometry* geo, const CSCGeometry* cscGeometry) { for (auto& detUnit : cscGeometry->detUnits()) { const DetId detId(detUnit->geographicalId()); @@ -62,7 +61,7 @@ void GlobalTrackingGeometryTest::analyzeCSC(const GlobalTrackingGeometry* geo, c const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "CSC detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "CSC detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : cscGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -71,7 +70,7 @@ void GlobalTrackingGeometryTest::analyzeCSC(const GlobalTrackingGeometry* geo, c const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "CSC det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "CSC det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyzeDT(const GlobalTrackingGeometry* geo, const DTGeometry* dtGeometry) { @@ -82,7 +81,7 @@ void GlobalTrackingGeometryTest::analyzeDT(const GlobalTrackingGeometry* geo, co const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "DT detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "DT detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : dtGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -91,7 +90,7 @@ void GlobalTrackingGeometryTest::analyzeDT(const GlobalTrackingGeometry* geo, co const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "DT det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "DT det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyzeRPC(const GlobalTrackingGeometry* geo, const RPCGeometry* rpcGeometry) { @@ -102,7 +101,7 @@ void GlobalTrackingGeometryTest::analyzeRPC(const GlobalTrackingGeometry* geo, c const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "RPC detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "RPC detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : rpcGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -111,7 +110,7 @@ void GlobalTrackingGeometryTest::analyzeRPC(const GlobalTrackingGeometry* geo, c const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "RPC det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "RPC det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyzeGEM(const GlobalTrackingGeometry* geo, const GEMGeometry* gemGeometry) { @@ -122,7 +121,7 @@ void GlobalTrackingGeometryTest::analyzeGEM(const GlobalTrackingGeometry* geo, c const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "GEM detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "GEM detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : gemGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -131,7 +130,7 @@ void GlobalTrackingGeometryTest::analyzeGEM(const GlobalTrackingGeometry* geo, c const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "GEM det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "GEM det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyzeMTD(const GlobalTrackingGeometry* geo, const MTDGeometry* mtdGeometry) { @@ -142,7 +141,7 @@ void GlobalTrackingGeometryTest::analyzeMTD(const GlobalTrackingGeometry* geo, c const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "MTD detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "MTD detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : mtdGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -151,7 +150,7 @@ void GlobalTrackingGeometryTest::analyzeMTD(const GlobalTrackingGeometry* geo, c const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "MTD det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "MTD det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyzeTracker(const GlobalTrackingGeometry* geo, const TrackerGeometry* tkGeometry) { @@ -162,7 +161,7 @@ void GlobalTrackingGeometryTest::analyzeTracker(const GlobalTrackingGeometry* ge const GeomDetUnit* gdu(geo->idToDetUnit(detId)); assert(gdu == detUnit); } - std::cout << "Tracker detUnit: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "Tracker detUnit: GlobalTrackingGeometry succesfully tested."; for (auto& det : tkGeometry->dets()) { const DetId detId(det->geographicalId()); @@ -171,72 +170,66 @@ void GlobalTrackingGeometryTest::analyzeTracker(const GlobalTrackingGeometry* ge const GeomDet* gd(geo->idToDet(detId)); assert(gd == det); } - std::cout << "Tracker det: GlobalTrackingGeometry succesfully tested." << std::endl; + edm::LogVerbatim("GlobalTracking") << "Tracker det: GlobalTrackingGeometry succesfully tested."; } void GlobalTrackingGeometryTest::analyze(const edm::Event& /*iEvent*/, const edm::EventSetup& iSetup) { - std::cout << myName() << ": Analyzer..." << std::endl; + edm::LogVerbatim("GlobalTracking") << myName() << ": Analyzer..."; const auto& geo = iSetup.getData(geometryToken_); DetId detId1(DetId::Tracker, 0); const TrackerGeometry* trackerGeometry = nullptr; - std::cout << "Pointer to Tracker Geometry: "; try { trackerGeometry = (const TrackerGeometry*)geo.slaveGeometry(detId1); - std::cout << trackerGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to Tracker Geometry: " << trackerGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to Tracker Geometry: N/A"; } DetId detId6(DetId::Forward, 1); const MTDGeometry* mtdGeometry = nullptr; - std::cout << "Pointer to MTD Geometry: "; try { mtdGeometry = (const MTDGeometry*)geo.slaveGeometry(detId6); - std::cout << mtdGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to MTD Geometry: " << mtdGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to MTD Geometry: N/A"; } DetId detId2(DetId::Muon, 1); const DTGeometry* dtGeometry = nullptr; - std::cout << "Pointer to DT Geometry: "; try { dtGeometry = (const DTGeometry*)geo.slaveGeometry(detId2); - std::cout << dtGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to DT Geometry: " << dtGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to DT Geometry: N/A"; } DetId detId3(DetId::Muon, 2); const CSCGeometry* cscGeometry = nullptr; - std::cout << "Pointer to CSC Geometry: "; try { cscGeometry = (const CSCGeometry*)geo.slaveGeometry(detId3); - std::cout << cscGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to CSC Geometry: " << cscGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to CSC Geometry: N/A"; } DetId detId4(DetId::Muon, 3); const RPCGeometry* rpcGeometry = nullptr; - std::cout << "Pointer to RPC Geometry: "; try { rpcGeometry = (const RPCGeometry*)geo.slaveGeometry(detId4); - std::cout << rpcGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to RPC Geometry: " << rpcGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to RPC Geometry: N/A"; } DetId detId5(DetId::Muon, 4); const GEMGeometry* gemGeometry = nullptr; - std::cout << "Pointer to GEM Geometry: "; try { gemGeometry = (const GEMGeometry*)geo.slaveGeometry(detId5); - std::cout << gemGeometry << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to GEM Geometry: " << gemGeometry; } catch (...) { - std::cout << "N/A" << std::endl; + edm::LogVerbatim("GlobalTracking") << "Pointer to GEM Geometry: N/A"; } if (cscGeometry) diff --git a/Geometry/GlobalTrackingGeometryBuilder/test/testGlobalTrackingGeometry_cfg.py b/Geometry/GlobalTrackingGeometryBuilder/test/testGlobalTrackingGeometry_cfg.py index 386b122f652da..d084295f27403 100644 --- a/Geometry/GlobalTrackingGeometryBuilder/test/testGlobalTrackingGeometry_cfg.py +++ b/Geometry/GlobalTrackingGeometryBuilder/test/testGlobalTrackingGeometry_cfg.py @@ -1,22 +1,22 @@ import FWCore.ParameterSet.Config as cms +from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9 -process = cms.Process("Demo") -process.load('Configuration.Geometry.GeometryExtended2023D24_cff') -process.load('Configuration.Geometry.GeometryExtended2023D24Reco_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +process = cms.Process("Demo",Phase2C17I13M9) +process.load('Configuration.Geometry.GeometryExtended2026D99Reco_cff') process.load('FWCore.MessageLogger.MessageLogger_cfi') +if 'MessageLogger' in process.__dict__: + process.MessageLogger.GlobalTracking=dict() +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic', '') +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T25', '') process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) ) process.source = cms.Source("EmptySource") -process.MessageLogger = cms.Service("MessageLogger") - process.test = cms.EDAnalyzer("GlobalTrackingGeometryTest") process.p = cms.Path(process.test) diff --git a/Geometry/HcalEventSetup/python/HcalDDDGeometry_cfi.py b/Geometry/HcalEventSetup/python/HcalDDDGeometry_cfi.py new file mode 100644 index 0000000000000..6dcd4d747ed8e --- /dev/null +++ b/Geometry/HcalEventSetup/python/HcalDDDGeometry_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +# Ideal geometry, needed for simulation +from Geometry.CMSCommonData.hcalOnlyGeometryXML_cfi import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * + + + diff --git a/Geometry/HcalEventSetup/src/HcalTopologyIdealEP.cc b/Geometry/HcalEventSetup/src/HcalTopologyIdealEP.cc index 26442555f107a..5fe4404748e03 100644 --- a/Geometry/HcalEventSetup/src/HcalTopologyIdealEP.cc +++ b/Geometry/HcalEventSetup/src/HcalTopologyIdealEP.cc @@ -24,15 +24,15 @@ #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "FWCore/ParameterSet/interface/ParameterSetDescription.h" -//#define DebugLog +//#define EDM_ML_DEBUG HcalTopologyIdealEP::HcalTopologyIdealEP(const edm::ParameterSet& conf) : m_hdcToken{setWhatProduced(this, &HcalTopologyIdealEP::produce).consumes(edm::ESInputTag{})}, m_restrictions(conf.getUntrackedParameter("Exclude")), m_mergePosition(conf.getUntrackedParameter("MergePosition")) { -#ifdef DebugLog - std::cout << "HcalTopologyIdealEP::HcalTopologyIdealEP with Exclude: " << m_restrictions - << " MergePosition: " << m_mergePosition << std::endl; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HCalGeom") << "HcalTopologyIdealEP::HcalTopologyIdealEP with Exclude: " << m_restrictions + << " MergePosition: " << m_mergePosition; edm::LogInfo("HCAL") << "HcalTopologyIdealEP::HcalTopologyIdealEP"; #endif } @@ -46,15 +46,15 @@ void HcalTopologyIdealEP::fillDescriptions(edm::ConfigurationDescriptions& descr // ------------ method called to produce the data ------------ HcalTopologyIdealEP::ReturnType HcalTopologyIdealEP::produce(const HcalRecNumberingRecord& iRecord) { -#ifdef DebugLog - std::cout << "HcalTopologyIdealEP::produce(const IdealGeometryRecord& iRecord)" << std::endl; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HCalGeom") << "HcalTopologyIdealEP::produce(const IdealGeometryRecord& iRecord)"; edm::LogInfo("HCAL") << "HcalTopologyIdealEP::produce(const HcalGeometryRecord& iRecord)"; #endif const HcalDDDRecConstants& hdc = iRecord.get(m_hdcToken); -#ifdef DebugLog - std::cout << "mode = " << hdc.getTopoMode() << ", maxDepthHB = " << hdc.getMaxDepth(0) - << ", maxDepthHE = " << hdc.getMaxDepth(1) << ", maxDepthHF = " << hdc.getMaxDepth(2) << std::endl; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HCalGeom") << "mode = " << hdc.getTopoMode() << ", maxDepthHB = " << hdc.getMaxDepth(0) + << ", maxDepthHE = " << hdc.getMaxDepth(1) << ", maxDepthHF = " << hdc.getMaxDepth(2); edm::LogInfo("HCAL") << "mode = " << hdc.getTopoMode() << ", maxDepthHB = " << hdc.getMaxDepth(0) << ", maxDepthHE = " << hdc.getMaxDepth(1) << ", maxDepthHF = " << hdc.getMaxDepth(2); #endif diff --git a/Geometry/HcalEventSetup/test/runTestHcalDDDGeometry_cfg.py b/Geometry/HcalEventSetup/test/runTestHcalDDDGeometry_cfg.py index bb52fb06eb302..97ce345b186e0 100644 --- a/Geometry/HcalEventSetup/test/runTestHcalDDDGeometry_cfg.py +++ b/Geometry/HcalEventSetup/test/runTestHcalDDDGeometry_cfg.py @@ -7,23 +7,9 @@ #process.load("Configuration.StandardSequences.MagneticField_cff") -process.MessageLogger = cms.Service("MessageLogger", - destinations = cms.untracked.vstring('cout'), - categories = cms.untracked.vstring('HCalGeom'), - debugModules = cms.untracked.vstring('*'), - cout = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG'), - INFO = cms.untracked.PSet( - limit = cms.untracked.int32(-1) - ), - DEBUG = cms.untracked.PSet( - limit = cms.untracked.int32(0) - ), - HCalGeom = cms.untracked.PSet( - limit = cms.untracked.int32(-1) - ) - ) -) +process.load('FWCore.MessageService.MessageLogger_cfi') +if 'MessageLogger' in process.__dict__: + process.MessageLogger.HCalGeom=dict() process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) diff --git a/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2006-algorithm.xml b/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2006-algorithm.xml new file mode 100644 index 0000000000000..453f2b6bbd3e6 --- /dev/null +++ b/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2006-algorithm.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2007-algorithm.xml b/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2007-algorithm.xml new file mode 100644 index 0000000000000..6fb0079b44436 --- /dev/null +++ b/Geometry/HcalTestBeamData/data/dd4hep/cms-test-ddTB2007-algorithm.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HcalTestBeamData/plugins/HcalTBParameterTester.cc b/Geometry/HcalTestBeamData/plugins/HcalTBParameterTester.cc index 929f0c3813877..6cd19304d2686 100644 --- a/Geometry/HcalTestBeamData/plugins/HcalTBParameterTester.cc +++ b/Geometry/HcalTestBeamData/plugins/HcalTBParameterTester.cc @@ -5,6 +5,7 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "Geometry/HcalTestBeamData/interface/HcalTB02Parameters.h" #include "Geometry/HcalTestBeamData/interface/HcalTB06BeamParameters.h" @@ -13,7 +14,7 @@ class HcalTBParameterTester : public edm::one::EDAnalyzer<> { public: explicit HcalTBParameterTester(const edm::ParameterSet&); - ~HcalTBParameterTester() override {} + ~HcalTBParameterTester() override = default; void beginJob() override {} void analyze(edm::Event const& iEvent, edm::EventSetup const&) override; @@ -36,19 +37,19 @@ void HcalTBParameterTester::analyze(const edm::Event& iEvent, const edm::EventSe if (mode_ == 0) { const auto& hcp = iSetup.getData(token1_); const auto* php = &hcp; - std::cout << "TB02Parameters for " << name_ << "\n"; - std::cout << "Length map with " << php->lengthMap_.size() << " elements\n"; + edm::LogVerbatim("HCalGeom") << "TB02Parameters for " << name_; + edm::LogVerbatim("HCalGeom") << "Length map with " << php->lengthMap_.size() << " elements"; std::map::const_iterator itr = php->lengthMap_.begin(); int i(0); for (; itr != php->lengthMap_.end(); ++itr, ++i) - std::cout << "[" << i << "] " << itr->first << " " << itr->second << " mm\n"; + edm::LogVerbatim("HCalGeom") << "[" << i << "] " << itr->first << " " << itr->second << " mm"; } else { const auto& hcp = iSetup.getData(token2_); const auto* php = &hcp; - std::cout << "TB06BeamParameters:: Material " << php->material_ << "\n"; - std::cout << "TB06BeamParameters:: " << php->wchambers_.size() << " wire chambers:\n"; + edm::LogVerbatim("HCalGeom") << "TB06BeamParameters:: Material " << php->material_; + edm::LogVerbatim("HCalGeom") << "TB06BeamParameters:: " << php->wchambers_.size() << " wire chambers:"; for (unsigned int k = 0; k < php->wchambers_.size(); ++k) - std::cout << "[" << k << "] " << php->wchambers_[k] << "\n"; + edm::LogVerbatim("HCalGeom") << "[" << k << "] " << php->wchambers_[k]; } } diff --git a/HeterogeneousCore/SonicTriton/test/BuildFile.xml b/HeterogeneousCore/SonicTriton/test/BuildFile.xml index 2943bc9931d02..272fba3da2cc8 100644 --- a/HeterogeneousCore/SonicTriton/test/BuildFile.xml +++ b/HeterogeneousCore/SonicTriton/test/BuildFile.xml @@ -1,6 +1,3 @@ - - - diff --git a/L1Trigger/Phase2L1GMT/plugins/Phase2L1TGMTSAMuonProducer.cc b/L1Trigger/Phase2L1GMT/plugins/Phase2L1TGMTSAMuonProducer.cc index 5f64b43b10ccc..c6284873729c5 100644 --- a/L1Trigger/Phase2L1GMT/plugins/Phase2L1TGMTSAMuonProducer.cc +++ b/L1Trigger/Phase2L1GMT/plugins/Phase2L1TGMTSAMuonProducer.cc @@ -127,17 +127,17 @@ void Phase2L1TGMTSAMuonProducer::produce(edm::Event& iEvent, const edm::EventSet // Description: // =========================================================================== SAMuon Phase2L1TGMTSAMuonProducer::Convertl1tMuon(const l1t::Muon& mu, const int bx_) { - ap_uint qual = mu.hwQual(); + qual_sa_t qual = mu.hwQual(); int charge = mu.charge() > 0 ? 0 : 1; - ap_uint pt = round(mu.pt() / LSBpt); - ap_int phi = round(mu.phi() / LSBphi); - ap_int eta = round(mu.eta() / LSBeta); + pt_sa_t pt = round(mu.pt() / LSBpt); + phi_sa_t phi = round(mu.phi() / LSBphi); + eta_sa_t eta = round(mu.eta() / LSBeta); // FIXME: Below are not well defined in phase1 GMT // Using the version from Correlator for now - ap_int z0 = 0; // No tracks info in Phase 1 + z0_sa_t z0 = 0; // No tracks info in Phase 1 // Use 2 bits with LSB = 30cm for BMTF and 25cm for EMTF currently, but subjet to change - ap_int d0 = mu.hwDXY(); + d0_sa_t d0 = mu.hwDXY(); int bstart = 0; wordtype word(0); @@ -148,7 +148,7 @@ SAMuon Phase2L1TGMTSAMuonProducer::Convertl1tMuon(const l1t::Muon& mu, const int bstart = wordconcat(word, bstart, z0, BITSSAZ0); bstart = wordconcat(word, bstart, d0, BITSSAD0); bstart = wordconcat(word, bstart, charge, 1); - bstart = wordconcat(word, bstart, qual, BITSSAQUALITY); + bstart = wordconcat(word, bstart, qual, BITSSAQUAL); SAMuon samuon(mu, charge, pt.to_uint(), eta.to_int(), phi.to_int(), z0.to_int(), d0.to_int(), qual.to_uint()); samuon.setWord(word); diff --git a/L1Trigger/Phase2L1GMT/plugins/TrackMuonMatchAlgorithm.h b/L1Trigger/Phase2L1GMT/plugins/TrackMuonMatchAlgorithm.h index 3df98ee6ed63e..30f3ad6d8a3f5 100644 --- a/L1Trigger/Phase2L1GMT/plugins/TrackMuonMatchAlgorithm.h +++ b/L1Trigger/Phase2L1GMT/plugins/TrackMuonMatchAlgorithm.h @@ -105,7 +105,7 @@ namespace Phase2L1GMT { if (out.size() == maximum) break; l1t::TrackerMuon muon(mu.trkPtr(), mu.charge(), mu.pt(), mu.eta(), mu.phi(), mu.z0(), mu.d0(), mu.quality()); - //muon.setMuonRef(mu.muonRef()); + muon.setMuonRef(mu.muonRef()); for (const auto& stub : mu.stubs()) muon.addStub(stub); out.push_back(muon); @@ -131,9 +131,9 @@ namespace Phase2L1GMT { bstart = 0; bstart = wordconcat(word2, bstart, mu.hwCharge(), 1); - bstart = wordconcat(word2, bstart, mu.hwQual(), BITSGTQUALITY); + bstart = wordconcat(word2, bstart, mu.hwQual(), BITSGTQUAL); bstart = wordconcat(word2, bstart, mu.hwIso(), BITSGTISO); - bstart = wordconcat(word2, bstart, mu.hwBeta(), BITSMUONBETA); + bstart = wordconcat(word2, bstart, mu.hwBeta(), BITSGTBETA); std::array wordout = {{word1, word2}}; mu.setWord(wordout); diff --git a/L1Trigger/Phase2L1GMT/python/gmt_cfi.py b/L1Trigger/Phase2L1GMT/python/gmt_cfi.py index 6e8bcde812de1..e5d24cf7bd955 100644 --- a/L1Trigger/Phase2L1GMT/python/gmt_cfi.py +++ b/L1Trigger/Phase2L1GMT/python/gmt_cfi.py @@ -70,7 +70,7 @@ RelIsoThresholdM = cms.double(0.05), RelIsoThresholdT = cms.double(0.01), verbose = cms.int32(0), - IsodumpForHLS = cms.int32(1), + IsodumpForHLS = cms.int32(0), ), tauto3mu = cms.PSet() diff --git a/L1Trigger/Phase2L1GMT/test/runGMT.py b/L1Trigger/Phase2L1GMT/test/runGMT.py index 4a870ad535b43..26c0aec35ae64 100644 --- a/L1Trigger/Phase2L1GMT/test/runGMT.py +++ b/L1Trigger/Phase2L1GMT/test/runGMT.py @@ -115,30 +115,10 @@ process.dtTriggerPhase2PrimitiveDigis.scenario = 0 process.load("L1Trigger.Phase2L1GMT.gmt_cff") -process.l1tGMTMuons.trackMatching.verbose=1 -process.l1tGMTMuons.verbose=0 -process.l1tGMTMuons.trackConverter.verbose=0 - - - -#process.schedule = cms.Schedule(process.L1TrackTrigger_step,process.pL1TMuonTPS,process.endjob_step,process.e) # Adding MuonTPS - # Path and EndPath definitions process.raw2digi_step = cms.Path(process.RawToDigi) process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger) -#process.pL1TkPhotonsCrystal = cms.Path(process.L1TkPhotonsCrystal) -#process.pL1TkIsoElectronsCrystal = cms.Path(process.L1TkIsoElectronsCrystal) -#process.pL1TkElectronsLooseCrystal = cms.Path(process.L1TkElectronsLooseCrystal) -#process.pL1TkElectronsLooseHGC = cms.Path(process.L1TkElectronsLooseHGC) -#process.pL1TkElectronsHGC = cms.Path(process.L1TkElectronsHGC) -process.pL1TkMuon = cms.Path(process.L1TkMuons+process.L1TkMuonsTP) -#process.pL1TkElectronsEllipticMatchHGC = cms.Path(process.L1TkElectronsEllipticMatchHGC) -#process.pL1TkElectronsCrystal = cms.Path(process.L1TkElectronsCrystal) -#process.pL1TkPhotonsHGC = cms.Path(process.L1TkPhotonsHGC) -#process.pL1TkIsoElectronsHGC = cms.Path(process.L1TkIsoElectronsHGC) -#process.pL1TkElectronsEllipticMatchCrystal = cms.Path(process.L1TkElectronsEllipticMatchCrystal) -#process.L1simulation_step = cms.Path(process.SimL1Emulator) process.testpath=cms.Path(process.CalibratedDigis*process.dtTriggerPhase2PrimitiveDigis*process.phase2GMT) process.endjob_step = cms.EndPath(process.endOfProcess) process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput) diff --git a/RecoEcal/EgammaClusterProducers/test/BuildFile.xml b/RecoEcal/EgammaClusterProducers/test/BuildFile.xml index b83b4d100f648..330f479305f47 100644 --- a/RecoEcal/EgammaClusterProducers/test/BuildFile.xml +++ b/RecoEcal/EgammaClusterProducers/test/BuildFile.xml @@ -9,8 +9,4 @@ - - - - - +