diff --git a/DataFormats/L1Scouting/interface/OrbitCollection.h b/DataFormats/L1Scouting/interface/OrbitCollection.h index d9d2c34ca75a9..3bdbf49fc850d 100644 --- a/DataFormats/L1Scouting/interface/OrbitCollection.h +++ b/DataFormats/L1Scouting/interface/OrbitCollection.h @@ -78,7 +78,7 @@ class OrbitCollection { } // get number of objects stored in a BX - int getBxSize(unsigned bx) const { + unsigned getBxSize(unsigned bx) const { if (bx >= orbitBufferSize_) { cms::Exception("OrbitCollection") << "Called getBxSize() of a bx out of the orbit range." << " BX = " << bx; diff --git a/DataFormats/L1Scouting/src/classes_def.xml b/DataFormats/L1Scouting/src/classes_def.xml index 994fe65b0d442..cbd00bc4cb718 100644 --- a/DataFormats/L1Scouting/src/classes_def.xml +++ b/DataFormats/L1Scouting/src/classes_def.xml @@ -1,40 +1,43 @@ - - + + + - - - - + + + + - - - - - + + - - - - + - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DataFormats/L1Scouting/test/TestL1ScoutingFormat.sh b/DataFormats/L1Scouting/test/TestL1ScoutingFormat.sh index 3ef6057274e9a..8d3f69831b790 100755 --- a/DataFormats/L1Scouting/test/TestL1ScoutingFormat.sh +++ b/DataFormats/L1Scouting/test/TestL1ScoutingFormat.sh @@ -8,4 +8,10 @@ cmsRun ${LOCAL_TEST_DIR}/create_L1Scouting_test_file_cfg.py || die 'Failure usin file=testL1Scouting.root -cmsRun ${LOCAL_TEST_DIR}/read_L1Scouting_cfg.py "$file" || die "Failure using read_L1Scouting_cfg.py $file" $? \ No newline at end of file +cmsRun ${LOCAL_TEST_DIR}/read_L1Scouting_cfg.py "$file" || die "Failure using read_L1Scouting_cfg.py $file" $? + +oldFile="testL1Scouting_v3_v3_v3_v3_v3_13_3_0_pre5.root" +inputfile=$(edmFileInPath DataFormats/L1Scouting/data/$oldFile) || die "Failure edmFileInPath DataFormats/L1Scouting/data/$oldFile" $? +cmsRun ${LOCAL_TEST_DIR}/read_L1Scouting_cfg.py "$inputfile" || die "Failed to read old file $oldFile" $? + +exit 0 \ No newline at end of file diff --git a/DataFormats/L1ScoutingRawData/interface/SDSNumbering.h b/DataFormats/L1ScoutingRawData/interface/SDSNumbering.h index 354131e56e4ed..e7db43142130b 100644 --- a/DataFormats/L1ScoutingRawData/interface/SDSNumbering.h +++ b/DataFormats/L1ScoutingRawData/interface/SDSNumbering.h @@ -19,6 +19,8 @@ class SDSNumbering { static constexpr int GtSDSID = 4; static constexpr int BmtfMinSDSID = 10; static constexpr int BmtfMaxSDSID = 21; + static constexpr int CaloTCPMinSDSID = 22; + static constexpr int CaloTCPMaxSDSID = 29; }; #endif // L1ScoutingRawData_SDSNumbering_h \ No newline at end of file diff --git a/DataFormats/L1ScoutingRawData/test/TestSDSRawDataCollectionFormat.sh b/DataFormats/L1ScoutingRawData/test/TestSDSRawDataCollectionFormat.sh index 2b8cf681d377f..bfdeb1679dbb7 100755 --- a/DataFormats/L1ScoutingRawData/test/TestSDSRawDataCollectionFormat.sh +++ b/DataFormats/L1ScoutingRawData/test/TestSDSRawDataCollectionFormat.sh @@ -8,4 +8,10 @@ cmsRun ${LOCAL_TEST_DIR}/create_SDSRawDataCollection_test_file_cfg.py || die 'Fa file=testSDSRawDataCollection.root -cmsRun ${LOCAL_TEST_DIR}/read_SDSRawDataCollection_cfg.py "$file" || die "Failure using read_SDSRawDataCollection_cfg.py $file" $? \ No newline at end of file +cmsRun ${LOCAL_TEST_DIR}/read_SDSRawDataCollection_cfg.py "$file" || die "Failure using read_SDSRawDataCollection_cfg.py $file" $? + +oldFile="testSDSRawDataCollection_v3_CMSSW_13_3_0_pre5.root" +inputfile=$(edmFileInPath DataFormats/L1ScoutingRawData/data/$oldFile) || die "Failure edmFileInPath DataFormats/L1ScoutingRawData/data/$oldFile" $? +cmsRun ${LOCAL_TEST_DIR}/read_SDSRawDataCollection_cfg.py "$inputfile" || die "Failed to read old file $oldFile" $? + +exit 0 \ No newline at end of file diff --git a/DataFormats/L1ScoutingRawData/test/read_SDSRawDataCollection_cfg.py b/DataFormats/L1ScoutingRawData/test/read_SDSRawDataCollection_cfg.py index 95e3e23d18142..0f9ebb672d4fb 100644 --- a/DataFormats/L1ScoutingRawData/test/read_SDSRawDataCollection_cfg.py +++ b/DataFormats/L1ScoutingRawData/test/read_SDSRawDataCollection_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms import sys -process = cms.Process("READ") +process = cms.Process("READRAW") process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring("file:"+sys.argv[1])) process.maxEvents.input = 1 @@ -18,4 +18,4 @@ process.path = cms.Path(process.testReadSDSDRawDataCollection) -process.endPath = cms.EndPath(process.out) \ No newline at end of file +process.endPath = cms.EndPath(process.out) diff --git a/EventFilter/L1ScoutingRawToDigi/plugins/ScGMTRawToDigi.cc b/EventFilter/L1ScoutingRawToDigi/plugins/ScGMTRawToDigi.cc index 349c250d4bba2..444dd27730856 100644 --- a/EventFilter/L1ScoutingRawToDigi/plugins/ScGMTRawToDigi.cc +++ b/EventFilter/L1ScoutingRawToDigi/plugins/ScGMTRawToDigi.cc @@ -101,9 +101,6 @@ void ScGMTRawToDigi::unpackOrbit(const unsigned char* buf, size_t len) { continue; } uint32_t qual = (bl->mu[i].f >> ugmt::shiftsMuon::qual) & ugmt::masksMuon::qual; - if (qual == 0) { - continue; - } // extract integer value for extrapolated phi int32_t iphiext = ((bl->mu[i].f >> ugmt::shiftsMuon::phiext) & ugmt::masksMuon::phiext); @@ -156,8 +153,6 @@ void ScGMTRawToDigi::unpackOrbit(const unsigned char* buf, size_t len) { } // end of bx } // end orbit while loop - - //muons->flatten(); } void ScGMTRawToDigi::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { diff --git a/EventFilter/L1ScoutingRawToDigi/python/ScCaloRawToDigi_cfi.py b/EventFilter/L1ScoutingRawToDigi/python/ScCaloRawToDigi_cfi.py new file mode 100644 index 0000000000000..3775796000979 --- /dev/null +++ b/EventFilter/L1ScoutingRawToDigi/python/ScCaloRawToDigi_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +ScCaloUnpacker = cms.EDProducer("ScCaloRawToDigi", + srcInputTag = cms.InputTag("rawDataCollector"), + # print all objects + debug = cms.untracked.bool(False) +) \ No newline at end of file diff --git a/EventFilter/L1ScoutingRawToDigi/python/ScGMTRawToDigi_cfi.py b/EventFilter/L1ScoutingRawToDigi/python/ScGMTRawToDigi_cfi.py new file mode 100644 index 0000000000000..1a9535cb2787e --- /dev/null +++ b/EventFilter/L1ScoutingRawToDigi/python/ScGMTRawToDigi_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +ScGmtUnpacker = cms.EDProducer('ScGMTRawToDigi', + srcInputTag = cms.InputTag('rawDataCollector'), + # print all objects + debug = cms.untracked.bool(False) +) \ No newline at end of file diff --git a/EventFilter/Utilities/test/testScoutingRun3_unpackers.py b/EventFilter/Utilities/test/testScoutingRun3_unpackers.py index b5e961df12de3..bf90c0a6a2760 100644 --- a/EventFilter/Utilities/test/testScoutingRun3_unpackers.py +++ b/EventFilter/Utilities/test/testScoutingRun3_unpackers.py @@ -18,19 +18,19 @@ "DAQ source data mode") options.register ("buBaseDir", - "/dev/shm", + "ramdisk", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "BU base directory") options.register ("fuBaseDir", - "/tmp/", + "data", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "BU base directory") options.register ("fffBaseDir", - "/dev/shm", + "/tmp", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "FFF base directory") @@ -81,7 +81,7 @@ process.EvFDaqDirector = cms.Service("EvFDaqDirector", useFileBroker = cms.untracked.bool(False), buBaseDirsAll = cms.untracked.vstring( - options.buBaseDir + options.fffBaseDir+"/"+options.buBaseDir ), buBaseDirsNumStreams = cms.untracked.vint32( 2 @@ -100,9 +100,13 @@ print(str(ex)) pass -ram_dir_path=options.buBaseDir+"/run"+str(options.runNumber).zfill(6)+"/" +buDir = options.fffBaseDir+"/"+options.buBaseDir+("/run%06d" % options.runNumber) +if not os.path.isdir(buDir): + os.makedirs(buDir) +os.system("touch " + buDir + "/" + "fu.lock") + flist = [ - ram_dir_path + "run" + str(options.runNumber) + "_ls0340_index000028.raw" + buDir+"/" + "run" + str(options.runNumber) + "_ls0340_index000028.raw" ] process.source = cms.Source("DAQSource", @@ -117,29 +121,22 @@ maxBufferedFiles = cms.untracked.uint32(2), fileListMode = cms.untracked.bool(True), fileNames = cms.untracked.vstring(*flist) - ) -fuDir = options.fuBaseDir+("/run%06d" % options.runNumber) -buDir = options.buBaseDir+("/run%06d" % options.runNumber) -for d in fuDir, buDir, options.fuBaseDir, options.buBaseDir: - if not os.path.isdir(d): - os.makedirs(d) -os.system("touch " + buDir + "/" + "fu.lock") +import EventFilter.L1ScoutingRawToDigi.ScGMTRawToDigi_cfi +process.GmtUnpacker = EventFilter.L1ScoutingRawToDigi.ScGMTRawToDigi_cfi.ScGmtUnpacker.clone() -process.GmtUnpacker = cms.EDProducer('ScGMTRawToDigi', - srcInputTag = cms.InputTag('rawDataCollector'), - debug = cms.untracked.bool(False) -) +import EventFilter.L1ScoutingRawToDigi.ScCaloRawToDigi_cfi +process.CaloUnpacker = EventFilter.L1ScoutingRawToDigi.ScCaloRawToDigi_cfi.ScCaloUnpacker.clone() -process.CaloUnpacker = cms.EDProducer('ScCaloRawToDigi', - srcInputTag = cms.InputTag('rawDataCollector'), - enableAllSums = cms.untracked.bool(True), - debug = cms.untracked.bool(False) +rawToDigiTask = cms.Task( + process.GmtUnpacker,process.CaloUnpacker ) +process.p = cms.Path(rawToDigiTask) + process.outputZB = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('file:/dev/shm/PoolOutputTest.root'), + fileName = cms.untracked.string('file:' + options.fffBaseDir + '/PoolOutputTest.root'), outputCommands = cms.untracked.vstring( "drop *", "keep *_GmtUnpacker_*_*", @@ -149,12 +146,6 @@ #compressionLevel = cms.untracked.int32(4) ) -rawToDigiTask = cms.Task( - process.GmtUnpacker,process.CaloUnpacker -) - -process.p = cms.Path(rawToDigiTask) - process.ep = cms.EndPath( process.outputZB ) diff --git a/L1TriggerScouting/Utilities/interface/scales.h b/L1TriggerScouting/Utilities/interface/scales.h index 45995518619ff..f06ebc5546a5b 100644 --- a/L1TriggerScouting/Utilities/interface/scales.h +++ b/L1TriggerScouting/Utilities/interface/scales.h @@ -20,7 +20,7 @@ namespace l1ScoutingRun3 { namespace demux { struct scales { - static constexpr float phi_scale = 2. * M_PI / 144.; + static constexpr float phi_scale = 0.0435; static constexpr float eta_scale = 0.0435; static constexpr float et_scale = 0.5; };