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

Migration to DD4Hep for RPC db Loader #32102

Merged
merged 6 commits into from
Dec 9, 2020

Conversation

slomeo
Copy link
Contributor

@slomeo slomeo commented Nov 11, 2020

PR description:

This PR (only for RPC) followed what I did for CSC in #32001 .

PR validation:

  1. validation by "cmsRun CondTools/Geometry/test/rpcgeometrywriter.py" (with DD4hep flag set False or True):

Begin processing the 1st record. Run 1, Event 1, LumiSection 1 on stream 0 at 11-Nov-2020 13:26:09.163 CET

MessageLogger Summary

Severity # Occurrences Total Occurrences


dropped waiting message count 0

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. validation by printouts for both DD & DD4Hep build methods within the RPCGeometryParsFromDD Class in order to compare some DetId parameters (for example the 637566989 detid):

//DD
1, RPCGeometryParsFromDD, detid: 637566989 name: MB1RPC_IGasLeft number of Strips: 90
2, RPCGeometryParsFromDD, dpar.size() == 3, width: 103 length: 58.45 thickness: 0.2
4, RPCGeometryParsFromDD, tran.x(): 413.675 tran.y(): 37.6 tran.z(): -470.45
5, RPCGeometryParsFromDD, x.X(), x.Y(), x.Z(), y.X(), y.Y(), y.Z(), z.X(), z.Y(), z.Z():
5, RPCGeometryParsFromDD 3.06162e-16, -1, 3.12322e-16, -4.78895e-16, -8.5632e-16, 1, -1, 6.40079e-16, 1.15045e-17

//DD4Hep
1, RPCGeometryParsFromDD, detid: 637566989 name: MB1RPC_IGasLeft number of Strips: 90
2, RPCGeometryParsFromDD, dd4hep::Box, width: 103 length: 58.45 thickness: 0.2
4, RPCGeometryParsFromDD, tran.x(): 413.675 tran.y(): 37.6 tran.z(): -470.45
5, RPCGeometryParsFromDD, x.X(), x.Y(), x.Z(), y.X(), y.Y(), y.Z(), z.X(), z.Y(), z.Z():
5, RPCGeometryParsFromDD 2.13888e-16, -1, 2.00422e-16, -9.9934e-17, -4.99491e-16, 1, -1, 3.02876e-16, -1.22527e-16

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. validation by "runTheMatrix.py -l 25202.1" (because I edited the RPCGeometryParsFromDD class and not only the DB Class):

25202.1_TTbar_13+TTbar_13+DIGIUP15APVSimu_PU25+RECOUP15_PU25+HARVESTUP15_PU25 Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED - time date Wed Nov 11 13:59:46 2020-date Wed Nov 11 13:32:32 2020; exit: 0 0 0 0
1 1 1 1 tests passed, 0 0 0 0 failed

if this PR is a backport please specify the original PR and why you need to backport that PR:

nothing special

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32102/19755

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @slomeo (Sergio Lo Meo) for master.

It involves the following packages:

CondTools/Geometry
Geometry/RPCGeometryBuilder

@civanch, @Dr15Jones, @makortel, @cvuosalo, @ianna, @mdhildreth, @cmsbuild, @ggovi can you please review it and eventually sign? Thanks.
@mmusich, @fabiocos this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@slomeo
Copy link
Contributor Author

slomeo commented Nov 11, 2020

@cvuosalo : please take a look at https://cmssdt.cern.ch/lxr/search?%21v=CMSSW_11_2_X_2020-11-10-2300&_filestring=&_string=RPCRecoIdealDBLoader

Do I have to edit all these .py files adding

process.RPCGeometryWriter = cms.EDAnalyzer("RPCRecoIdealDBLoader",
fromDD4Hep = cms.untracked.bool(False))

instead of

process.RPCGeometryWriter = cms.EDAnalyzer("RPCRecoIdealDBLoader") ?

@civanch
Copy link
Contributor

civanch commented Nov 11, 2020

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 11, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: 776c017
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a5256/10655/summary.html
CMSSW: CMSSW_11_2_X_2020-11-10-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a5256/10655/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2529296
  • DQMHistoTests: Total failures: 9
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2529265
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 34 files compared)
  • Checked 148 log files, 22 edm output root files, 35 DQM output files

#include <DetectorDescription/DDCMS/interface/DDFilteredView.h>
#include <DetectorDescription/DDCMS/interface/DDCompactView.h>
#include "DetectorDescription/DDCMS/interface/DDSpecParRegistry.h"
#include "DataFormats/Math/interface/CMSUnits.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is CMSUnits.h included? I don't see anything from it used in this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cvuosalo : I deleted this #include

@@ -4,6 +4,8 @@
process.load('CondCore.CondDB.CondDB_cfi')
process.load('Configuration.StandardSequences.GeometryExtended_cff')
process.load('Geometry.MuonNumbering.muonNumberingInitialization_cfi')
process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")
process.load('Configuration.StandardSequences.DD4hep_GeometrySim_cff')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it is right to include this DD4hep geometry. This file needs to work with both old DD and DD4hep.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cvuosalo : I added the same line for PR #32001 (for CSC). Without it an error appears:

----- Begin Fatal Exception 12-Nov-2020 09:04:49 CET-----------------------
An exception of category 'NoProxyException' occurred while
[0] Processing global begin Run run: 1
[1] Calling method for module RPCRecoIdealDBLoader/'RPCGeometryWriter'
Exception Message:
No data of type "DDCompactView" with label "" in record "IdealGeometryRecord"
Please add an ESSource or ESProducer to your job which can deliver this data.
----- End Fatal Exception -------------------------------------------------
%MSG-i DDCompactViewImpl: 12-Nov-2020 09:04:49 CET EndJob
DDD transient representation has been destructed.
%MSG

}

const std::vector<double> vtra = {tran.x(), tran.y(), tran.z()};
const std::vector<double> vtra = {geant_units::operators::convertMmToCm(tran.x()),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is worrisome. The old DD code should not need to be changed. Why would the units convention change now for old DD?

Copy link
Contributor Author

@slomeo slomeo Nov 12, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cvuosalo : the same code is present in the RPCGeometryBuilder Class. Without it in the Log file I found:

RPCGeometryParsFromDD, tran.x(): 4136.75 tran.y(): 376 tran.z(): -4704.5 // for DD
RPCGeometryParsFromDD, tran.x(): 413.675 tran.y(): 37.6 tran.z(): -470.45 // for DD4Hep

so I think that geant4_units are necessary

@makortel
Copy link
Contributor

makortel commented Dec 3, 2020

I find that myLog.log and myfile.db are "fine" but I see this message:

Fatal system signal has occurred during exit
Aborted

We have an open issue on that error #32045 (basically something goes badly wrong during the exit of cmsRun). Do you see any other error messages? Could you try to run with gdb and provide the stack trace of the crash point? Or give a recipe to reproduce?

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 3, 2020

@cmsbuild please test

@slomeo
Copy link
Contributor Author

slomeo commented Dec 3, 2020

We have an open issue on that error #32045 (basically something goes badly wrong during the exit of cmsRun). Do you >see any other error messages? Could you try to run with gdb and provide the stack trace of the crash point? Or give a >recipe to reproduce?

@makortel , this the recipe:

  1. In a new IB, after a "cmsenv", please perform "git cms-rebase-topic slomeo:MigrationToDD4hepForRPCdbLoader"
  2. scram b -j 10
  3. cmsRun CondTools/Geometry/test/rpcgeometrywriter.py (and you can see the error for DDD Geometry)
  4. edit "CondTools/Geometry/test/rpcgeometrywriter.py" setting "True" instead "False"
  5. rm myfile.db
  6. cmsRun CondTools/Geometry/test/rpcgeometrywriter.py (and you can see the error for DD4HEP Geometry)

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2020

+1
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a5256/11313/summary.html
CMSSW: CMSSW_11_3_X_2020-12-02-2300
SCRAM_ARCH: slc7_amd64_gcc900

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2020

Comparison results are now available
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a5256/11313/summary.html
CMSSW: CMSSW_11_3_X_2020-12-02-2300
SCRAM_ARCH: slc7_amd64_gcc900

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2529593
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2529564
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 34 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 148 log files, 37 edm output root files, 35 DQM output files

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 3, 2020

+1

@makortel
Copy link
Contributor

makortel commented Dec 3, 2020

@slomeo Thanks, I was able reproduce and got a stack trace in gdb (with -g -O0)

Thread 1 "cmsRun" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) where
#0  0x0000000000000000 in ?? ()
#1  0x00007fffed12b7f1 in coral::MessageStream::doOutput() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_CoralBase.so
#2  0x00007fffd6c5a4a7 in coral::ConnectionService::ConnectionPool::~ConnectionPool() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_ConnectionService.so
#3  0x00007fffd6c5a6e9 in coral::ConnectionService::ConnectionPool::~ConnectionPool() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_ConnectionService.so
#4  0x00007fffd6c61c51 in coral::ConnectionService::ConnectionService::~ConnectionService() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_ConnectionService.so
#5  0x00007fffd6c61ce9 in coral::ConnectionService::ConnectionService::~ConnectionService() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_ConnectionService.so
#6  0x00007fffed159643 in coral::Context::~Context() ()
   from /cvmfs/cms-ib.cern.ch/week1/slc7_amd64_gcc900/cms/cmssw-patch/CMSSW_11_3_X_2020-12-03-1100/external/slc7_amd64_gcc900/lib/liblcg_CoralKernel.so
#7  0x00007ffff503fce9 in __run_exit_handlers () from /lib64/libc.so.6
#8  0x00007ffff503fd37 in exit () from /lib64/libc.so.6
#9  0x00007ffff502855c in __libc_start_main () from /lib64/libc.so.6
#10 0x000000000040f7f8 in _start ()

(certainly out of scope of this PR)

@slomeo
Copy link
Contributor Author

slomeo commented Dec 4, 2020

@cvuosalo : while I'm waiting for this PR will be approved and merged I'll update the Ideal Reco DB migration for CSC in order to check if "mm" is the default unit.

@slomeo
Copy link
Contributor Author

slomeo commented Dec 7, 2020

Hi all, do you agree to approve this PR? or do I have to wait till #32045 will be merged?

@silviodonato
Copy link
Contributor

@ggovi could you have a look?

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 7, 2020

@slomeo I don't think there is any need to wait for #32045. It is unrelated.

@ggovi
Copy link
Contributor

ggovi commented Dec 9, 2020

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 9, 2020

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@silviodonato
Copy link
Contributor

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants