Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update L1Scouting Data Format tests and minor code fixes #43984

Merged
merged 3 commits into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DataFormats/L1Scouting/interface/OrbitCollection.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
45 changes: 24 additions & 21 deletions DataFormats/L1Scouting/src/classes_def.xml
Original file line number Diff line number Diff line change
@@ -1,40 +1,43 @@
<lcgdict>
<class name="l1ScoutingRun3::Muon" ClassVersion="3">
<version ClassVersion="3" checksum="3886315831"/>

<class name="l1ScoutingRun3::BxSums" ClassVersion="3">
<version ClassVersion="3" checksum="1112955969"/>
</class>
<class name="std::vector<l1ScoutingRun3::Muon>"/>
<class name="l1ScoutingRun3::MuonOrbitCollection"/>
<class name="edm::Wrapper<l1ScoutingRun3::MuonOrbitCollection>"/>

<class name="l1ScoutingRun3::CaloObject"/>
<class name="std::vector<l1ScoutingRun3::CaloObject>"/>

<class name="l1ScoutingRun3::EGamma" ClassVersion="3">
<version ClassVersion="3" checksum="1578240696"/>
</class>

<class name="l1ScoutingRun3::Jet" ClassVersion="3">
<version ClassVersion="3" checksum="1391509699"/>
</class>
<class name="std::vector<l1ScoutingRun3::Jet>"/>
<class name="l1ScoutingRun3::JetOrbitCollection"/>
<class name="edm::Wrapper<l1ScoutingRun3::JetOrbitCollection>"/>

<class name="l1ScoutingRun3::EGamma" ClassVersion="3">
<version ClassVersion="3" checksum="1578240696"/>
<class name="l1ScoutingRun3::Muon" ClassVersion="3">
<version ClassVersion="3" checksum="3886315831"/>
</class>
<class name="std::vector<l1ScoutingRun3::EGamma>"/>
<class name="l1ScoutingRun3::EGammaOrbitCollection"/>
<class name="edm::Wrapper<l1ScoutingRun3::EGammaOrbitCollection>"/>


<class name="l1ScoutingRun3::Tau" ClassVersion="3">
<version ClassVersion="3" checksum="2889952120"/>
</class>
<class name="std::vector<l1ScoutingRun3::Tau>"/>
<class name="l1ScoutingRun3::TauOrbitCollection"/>
<class name="edm::Wrapper<l1ScoutingRun3::TauOrbitCollection>"/>

<class name="l1ScoutingRun3::BxSums" ClassVersion="3">
<version ClassVersion="3" checksum="1112955969"/>
</class>
<class name="std::vector<l1ScoutingRun3::BxSums>"/>
<class name="std::vector<l1ScoutingRun3::EGamma>"/>
<class name="std::vector<l1ScoutingRun3::Jet>"/>
<class name="std::vector<l1ScoutingRun3::Muon>"/>
<class name="std::vector<l1ScoutingRun3::Tau>"/>

<class name="l1ScoutingRun3::BxSumsOrbitCollection"/>
<class name="l1ScoutingRun3::EGammaOrbitCollection"/>
<class name="l1ScoutingRun3::JetOrbitCollection"/>
<class name="l1ScoutingRun3::MuonOrbitCollection"/>
<class name="l1ScoutingRun3::TauOrbitCollection"/>

<class name="edm::Wrapper<l1ScoutingRun3::BxSumsOrbitCollection>"/>
<class name="edm::Wrapper<l1ScoutingRun3::EGammaOrbitCollection>"/>
<class name="edm::Wrapper<l1ScoutingRun3::JetOrbitCollection>"/>
<class name="edm::Wrapper<l1ScoutingRun3::MuonOrbitCollection>"/>
<class name="edm::Wrapper<l1ScoutingRun3::TauOrbitCollection>"/>

</lcgdict>
8 changes: 7 additions & 1 deletion DataFormats/L1Scouting/test/TestL1ScoutingFormat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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" $?
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
2 changes: 2 additions & 0 deletions DataFormats/L1ScoutingRawData/interface/SDSNumbering.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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" $?
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
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -18,4 +18,4 @@

process.path = cms.Path(process.testReadSDSDRawDataCollection)

process.endPath = cms.EndPath(process.out)
process.endPath = cms.EndPath(process.out)
5 changes: 0 additions & 5 deletions EventFilter/L1ScoutingRawToDigi/plugins/ScGMTRawToDigi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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) {
Expand Down
7 changes: 7 additions & 0 deletions EventFilter/L1ScoutingRawToDigi/python/ScCaloRawToDigi_cfi.py
Original file line number Diff line number Diff line change
@@ -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)
)
7 changes: 7 additions & 0 deletions EventFilter/L1ScoutingRawToDigi/python/ScGMTRawToDigi_cfi.py
Original file line number Diff line number Diff line change
@@ -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)
)
47 changes: 19 additions & 28 deletions EventFilter/Utilities/test/testScoutingRun3_unpackers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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
Expand All @@ -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",
Expand All @@ -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_*_*",
Expand All @@ -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
)
2 changes: 1 addition & 1 deletion L1TriggerScouting/Utilities/interface/scales.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down