Skip to content

Commit

Permalink
DD4hep migration for DB payload tester
Browse files Browse the repository at this point in the history
  • Loading branch information
cvuosalo committed Jun 3, 2022
1 parent b54d06d commit f67cd12
Show file tree
Hide file tree
Showing 48 changed files with 1,857 additions and 44 deletions.
28 changes: 25 additions & 3 deletions CondTools/Geometry/test/GeometryTester.cc
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ namespace {
bool m_xmltest, m_tktest, m_ecaltest;
bool m_hcaltest, m_hgcaltest, m_calotowertest;
bool m_castortest, m_zdctest, m_csctest;
bool m_dttest, m_rpctest;
bool m_dttest, m_rpctest, m_round;
std::string m_geomLabel;
edm::ESGetToken<FileBlob, GeometryFileRcd> m_xmlGeoToken;
edm::ESGetToken<PGeometricDet, IdealGeometryRecord> m_tkGeoToken;
Expand Down Expand Up @@ -115,6 +115,7 @@ GeometryTester::GeometryTester(const edm::ParameterSet &iConfig)
m_csctest(iConfig.getUntrackedParameter<bool>("CSCTest", true)),
m_dttest(iConfig.getUntrackedParameter<bool>("DTTest", true)),
m_rpctest(iConfig.getUntrackedParameter<bool>("RPCTest", true)),
m_round(iConfig.getUntrackedParameter<bool>("roundValues", false)),
m_geomLabel(iConfig.getUntrackedParameter<std::string>("geomLabel", "Extended")),
m_xmlGeoToken(esConsumes(edm::ESInputTag("", m_geomLabel))),
m_tkGeoToken(esConsumes()),
Expand Down Expand Up @@ -191,10 +192,31 @@ void GeometryTester::analyze(const edm::Event &, const edm::EventSetup &iSetup)
std::cout << "Translations " << tsee.size() << "\n";
std::cout << "Dimensions " << dimee.size() << "\n";
std::cout << "Indices " << indee.size() << "\n";
std::cout << "ecale ";
for (auto it : tsee)
std::cout << "ecale " << std::endl;
int cnt = 1;
for (auto it : tsee) {
if (cnt % 6 == 1) {
outStream << "ecale xyz ";
if (m_round)
std::cout << std::defaultfloat << std::setprecision(6);
} else if (cnt % 3 == 1) {
outStream << "ecale phi/theta/psi ";
if (m_round) {
std::cout << std::setprecision(4);
// Angles show fluctuations beyond four digits
if (std::abs(it) < 1.e-4) {
it = 0.0;
// Show tiny phi values as 0 to avoid fluctuations
}
}
}
outStream << it;
if ((cnt++) % 3 == 0)
std::cout << "\n";
}
std::cout << "\n";
if (m_round)
std::cout << std::setprecision(6);
std::cout << "ecale ";
for (auto it : dimee)
outStream << it;
Expand Down
42 changes: 42 additions & 0 deletions CondTools/Geometry/test/geometrytestDD4hep_db.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import FWCore.ParameterSet.Config as cms
from Configuration.AlCa.autoCond import autoCond

from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep

process = cms.Process("GeometryWriter", Run3_dd4hep)

from Configuration.ProcessModifiers.dd4hep_cff import dd4hep

process.load('CondCore.CondDB.CondDB_cfi')
process.load('Configuration.StandardSequences.GeometryDB_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.GlobalTag.globaltag = autoCond['updgrade2021']

process.source = cms.Source("EmptyIOVSource",
lastValue = cms.uint64(1),
timetype = cms.string('runnumber'),
firstValue = cms.uint64(1),
interval = cms.uint64(1)
)

process.GeometryTester = cms.EDAnalyzer("GeometryTester",
XMLTest = cms.untracked.bool(True),
TrackerTest = cms.untracked.bool(True),
EcalTest = cms.untracked.bool(True),
HcalTest = cms.untracked.bool(True),
HGCalTest = cms.untracked.bool(False),
CaloTowerTest = cms.untracked.bool(True),
CastorTest = cms.untracked.bool(False),
ZDCTest = cms.untracked.bool(True),
CSCTest = cms.untracked.bool(True),
DTTest = cms.untracked.bool(True),
RPCTest = cms.untracked.bool(True),
geomLabel = cms.untracked.string("Extended"),
roundValues = cms.untracked.bool(False)
)

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.p1 = cms.Path(process.GeometryTester)
5 changes: 3 additions & 2 deletions CondTools/Geometry/test/geometrytest_local.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,13 @@
HcalTest = cms.untracked.bool(True),
HGCalTest = cms.untracked.bool(False),
CaloTowerTest = cms.untracked.bool(True),
CastorTest = cms.untracked.bool(True),
CastorTest = cms.untracked.bool(False),
ZDCTest = cms.untracked.bool(True),
CSCTest = cms.untracked.bool(True),
DTTest = cms.untracked.bool(True),
RPCTest = cms.untracked.bool(True),
geomLabel = cms.untracked.string("")
geomLabel = cms.untracked.string(""),
roundValues = cms.untracked.bool(False)
)

process.maxEvents = cms.untracked.PSet(
Expand Down
5 changes: 4 additions & 1 deletion DetectorDescription/DDCMS/plugins/test/DDTestDumpGeometry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ void DDTestDumpGeometry::analyze(const Event&, const EventSetup& iEventSetup) {
TString path;
while ((node = next())) {
next.GetPath(path);
LogVerbatim("Geometry") << path << ": " << node->GetVolume()->GetName();
path.ReplaceAll("xml-memory-buffer:", ""); // Remove artifact of DB reading
TString nodeName(node->GetVolume()->GetName());
nodeName.ReplaceAll("xml-memory-buffer:", ""); // Remove artifact of DB reading
LogVerbatim("DumpGeometry") << path << ": " << nodeName;
}
}

Expand Down
5 changes: 5 additions & 0 deletions DetectorDescription/DDCMS/src/DDDetector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include <DD4hep/Detector.h>
#include <DD4hep/DetectorTools.h>
#include <DD4hep/Printout.h>
#include <DD4hep/Volumes.h>
#include <XML/DocumentHandler.h>
#include <XML/XMLElements.h>
Expand All @@ -24,6 +25,10 @@ namespace cms {
makePayload = true;
tagStr = "";
}
// Set DD4hep message level to ERROR. The default is INFO,
// but those messages are not necessary for general use.
dd4hep::setPrintLevel(dd4hep::ERROR);

m_description = &dd4hep::Detector::getInstance(tagStr);
m_description->addExtension<cms::DDVectorsMap>(&m_vectors);
//only validate if using XML
Expand Down
6 changes: 3 additions & 3 deletions DetectorDescription/DDCMS/test/python/testTGeoIterator.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
),
cout = cms.untracked.PSet(
enable = cms.untracked.bool(True),
enableStatistics = cms.untracked.bool(True),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('WARNING')
),
Expand All @@ -25,7 +25,7 @@
ERROR = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
Geometry = cms.untracked.PSet(
DumpGeometry = cms.untracked.PSet(
limit = cms.untracked.int32(-1)
),
INFO = cms.untracked.PSet(
Expand All @@ -34,7 +34,7 @@
WARNING = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
enableStatistics = cms.untracked.bool(True),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('INFO')
)
Expand Down
63 changes: 63 additions & 0 deletions DetectorDescription/DDCMS/test/python/testTGeoIteratorDB.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep

process = cms.Process("DDCMSDetectorTest", Run3_dd4hep)

process.source = cms.Source("EmptySource")
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.MessageLogger = cms.Service("MessageLogger",
cerr = cms.untracked.PSet(
enable = cms.untracked.bool(False)
),
cout = cms.untracked.PSet(
enable = cms.untracked.bool(True),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('WARNING')
),
files = cms.untracked.PSet(
navGeometry = cms.untracked.PSet(
DEBUG = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
ERROR = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
DumpGeometry = cms.untracked.PSet(
limit = cms.untracked.int32(-1)
),
INFO = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
WARNING = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('INFO')
)
)
)

process.load("Configuration.StandardSequences.GeometryDB_cff")
process.load('CondCore.CondDB.CondDB_cfi')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.autoCond import autoCond
process.GlobalTag.globaltag = autoCond['upgrade2021']

process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
rootDDName = cms.string('cms:OCMS'),
label = cms.string('Extended'),
fromDB = cms.bool(True),
appendToDataLabel = cms.string('CMS')
)

process.test = cms.EDAnalyzer("DDTestDumpGeometry",
DDDetector = cms.ESInputTag('','CMS')
)

process.p = cms.Path(process.test)
84 changes: 84 additions & 0 deletions DetectorDescription/DDCMS/test/python/testTGeoIteratorLocalDB.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep

process = cms.Process("DDCMSDetectorTest", Run3_dd4hep)

process.source = cms.Source("EmptySource")
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.MessageLogger = cms.Service("MessageLogger",
cerr = cms.untracked.PSet(
enable = cms.untracked.bool(False)
),
cout = cms.untracked.PSet(
enable = cms.untracked.bool(True),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('WARNING')
),
files = cms.untracked.PSet(
navGeometry = cms.untracked.PSet(
DEBUG = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
ERROR = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
DumpGeometry = cms.untracked.PSet(
limit = cms.untracked.int32(-1)
),
INFO = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
WARNING = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
enableStatistics = cms.untracked.bool(False),
noLineBreaks = cms.untracked.bool(True),
threshold = cms.untracked.string('INFO')
)
)
)

process.load("Configuration.StandardSequences.GeometryDB_cff")
process.load('CondCore.CondDB.CondDB_cfi')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.autoCond import autoCond
process.GlobalTag.globaltag = autoCond['upgrade2021']

process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
rootDDName = cms.string('cms:OCMS'),
label = cms.string('Extended'),
fromDB = cms.bool(True),
appendToDataLabel = cms.string('CMS')
)

process.CondDB.timetype = cms.untracked.string('runnumber')
process.CondDB.connect = cms.string('sqlite_file:myfile.db')
process.PoolDBESSourceGeometry = cms.ESSource("PoolDBESSource",
process.CondDB,
toGet = cms.VPSet(cms.PSet(record = cms.string('GeometryFileRcd'),tag = cms.string('XMLFILE_Geometry_TagXX_Extended2021_mc')),
cms.PSet(record = cms.string('IdealGeometryRecord'),tag = cms.string('TKRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PEcalBarrelRcd'), tag = cms.string('EBRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PEcalEndcapRcd'), tag = cms.string('EERECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PEcalPreshowerRcd'),tag = cms.string('EPRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PHcalRcd'), tag = cms.string('HCALRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PCaloTowerRcd'), tag = cms.string('CTRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PZdcRcd'), tag = cms.string('ZDCRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('PCastorRcd'), tag = cms.string('CASTORRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('CSCRecoGeometryRcd'),tag = cms.string('CSCRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('CSCRecoDigiParametersRcd'),tag = cms.string('CSCRECODIGI_Geometry_TagXX')),
cms.PSet(record = cms.string('DTRecoGeometryRcd'),tag = cms.string('DTRECO_Geometry_TagXX')),
cms.PSet(record = cms.string('RPCRecoGeometryRcd'),tag = cms.string('RPCRECO_Geometry_TagXX'))
)
)

process.es_prefer_geometry = cms.ESPrefer( "PoolDBESSource", "PoolDBESSourceGeometry" )
process.test = cms.EDAnalyzer("DDTestDumpGeometry",
DDDetector = cms.ESInputTag('','CMS')
)

process.p = cms.Path(process.test)
40 changes: 40 additions & 0 deletions Geometry/CSCGeometry/test/testCSCGeometryDD4hep_cfg.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Configuration file to run CSCGeometryAnalyzer

import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep

process = cms.Process("CSCGeometryAnalyzer", Run3_dd4hep)


# Endcap Muon geometry
# ====================
process.load('Configuration.Geometry.GeometryDD4hepExtended2021Reco_cff')

# Fake alignment is/should be ideal geometry
# ==========================================
process.load('Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi')
process.preferFakeAlign = cms.ESPrefer('FakeAlignmentSource')

# flags for modelling of CSC layer & strip geometry
# =================================================
process.load('Geometry.CSCGeometry.cscGeometry_cfi')

process.source = cms.Source('EmptySource')

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.load('FWCore.MessageLogger.MessageLogger_cfi')
process.MessageLogger.debugModules.append('CSCGeometryESModule')
process.MessageLogger.cout = cms.untracked.PSet(
threshold = cms.untracked.string('DEBUG'),
default = cms.untracked.PSet( limit = cms.untracked.int32(0) ),
CSCGeometry = cms.untracked.PSet( limit = cms.untracked.int32(-1) ),
CSCGeometryBuilder = cms.untracked.PSet( limit = cms.untracked.int32(-1) )
)

process.producer = cms.EDAnalyzer('CSCGeometryAnalyzer')

process.p1 = cms.Path(process.producer)
37 changes: 37 additions & 0 deletions Geometry/CSCGeometry/test/testCSCGeometryFromDBDD4hep_cfg.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Configuration file to run stubs/CSCGeometryAnalyser

import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep

process = cms.Process("GeometryTest", Run3_dd4hep)

process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
process.load('CondCore.CondDB.CondDB_cfi')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.autoCond import autoCond
process.GlobalTag.globaltag = autoCond['upgrade2021']

process.load("Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi")
process.preferFakeAlign = cms.ESPrefer("FakeAlignmentSource")

process.source = cms.Source("EmptySource")

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.load("FWCore.MessageLogger.MessageLogger_cfi")
process.MessageLogger.debugModules.append('CSCGeometryESModule')
process.MessageLogger.cout = cms.untracked.PSet(
threshold = cms.untracked.string('DEBUG'),
default = cms.untracked.PSet( limit = cms.untracked.int32(0) ),
CSCGeometry = cms.untracked.PSet( limit = cms.untracked.int32(-1) ),
CSCGeometryBuilder = cms.untracked.PSet( limit = cms.untracked.int32(-1) )
)

process.producer = cms.EDAnalyzer("CSCGeometryAnalyzer")

process.p1 = cms.Path(process.producer)
process.CSCGeometryESModule.debugV = True

Loading

0 comments on commit f67cd12

Please sign in to comment.