Skip to content

Commit

Permalink
Merge pull request #43984 from Mmiglio/141x
Browse files Browse the repository at this point in the history
Update L1Scouting Data Format tests and minor code fixes
  • Loading branch information
cmsbuild authored Feb 23, 2024
2 parents 4437a69 + 122acb5 commit 58c4cd7
Show file tree
Hide file tree
Showing 11 changed files with 77 additions and 60 deletions.
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

0 comments on commit 58c4cd7

Please sign in to comment.