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
Geant4 sensitive detectors clean-up 6 #23480
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-23480/5028 |
A new Pull Request was created by @civanch (Vladimir Ivantchenko) for master. It involves the following packages: SimG4CMS/Calo @cmsbuild, @civanch, @mdhildreth can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
-1 Tested at: 559a846 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build
I found an error when building: tmp/slc6_amd64_gcc630/src/SimG4CMS/Muon/src/SimG4CMSMuon/MuonGEMFrameRotation.cc.o:(.data.rel.ro._ZTI20MuonGEMFrameRotation[_ZTI20MuonGEMFrameRotation]+0x10): undefined reference to `typeinfo for MuonFrameRotation' tmp/slc6_amd64_gcc630/src/SimG4CMS/Muon/src/SimG4CMSMuon/MuonSensitiveDetector.cc.o: In function `MuonSensitiveDetector::MuonSensitiveDetector(std::__cxx11::basic_string, std::allocator > const&, DDCompactView const&, SensitiveDetectorCatalog const&, edm::ParameterSet const&, SimTrackManager const*)': MuonSensitiveDetector.cc:(.text+0x29cd): undefined reference to `vtable for MuonFrameRotation' tmp/slc6_amd64_gcc630/src/SimG4CMS/Muon/src/SimG4CMSMuon/MuonEndcapFrameRotation.cc.o:(.data.rel.ro._ZTI23MuonEndcapFrameRotation[_ZTI23MuonEndcapFrameRotation]+0x10): undefined reference to `typeinfo for MuonFrameRotation' tmp/slc6_amd64_gcc630/src/SimG4CMS/Muon/src/SimG4CMSMuon/MuonME0FrameRotation.cc.o:(.data.rel.ro._ZTI20MuonME0FrameRotation[_ZTI20MuonME0FrameRotation]+0x10): undefined reference to `typeinfo for MuonFrameRotation' collect2: error: ld returned 1 exit status >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_2_X_2018-06-04-2300/src/SimG4CMS/ShowerLibraryProducer/plugins/module.cc gmake: *** [tmp/slc6_amd64_gcc630/src/SimG4CMS/Muon/src/SimG4CMSMuon/libSimG4CMSMuon.so] Error 1 Leaving library rule at SimG4CMS/Muon >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_2_X_2018-06-04-2300/src/SimG4CMS/ShowerLibraryProducer/plugins/HcalForwardLibWriter.cc >> Building big object file tmp/slc6_amd64_gcc630/src/SimG4CMS/Forward/plugins/SimG4CMSForwardPlugins/bigobj/SimG4CMSForwardPlugins.obj |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-23480/5087 |
Pull request #23480 was updated. @cmsbuild, @civanch, @mdhildreth can you please check and sign again. |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
@fabiocos , this PR now provides identical results versus baseline. Can you , please, check and merge it. It includes bug-fix of circular dependence of SIM packages, the effect of which are unclear to me. |
} | ||
} | ||
return false; | ||
return true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@civanch for my understanding, what is implied by this change of logic? What was the triggered action, if any, by a "false" value returned?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no difference to me - the returned bool does not used anywhere. I put "true" in order not make impression to newcomer, that a choice should be done between "true" and "false".
class SimTrackManager; | ||
|
||
class MuonSensitiveDetector : | ||
public SensitiveTkDetector, | ||
public Observer<const BeginOfEvent*>, | ||
public Observer<const EndOfEvent*> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@civanch there is no action in the EndOfEvent, this is the reason to remove this line, am I correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, if methods will not be empty, they may be returned back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fabiocos , one of the goals of this clean-up is to take out methods/code which doing nothing but is copy/paste from one SD class to another.
|
||
#include "FWCore/MessageLogger/interface/MessageLogger.h" | ||
|
||
#include <iostream> | ||
|
||
//#define DebugLog |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@civanch I understand that you keep the revision of the verbosity that we discussed for a further PR, am I correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this code it turned out that a significant part of computation is done only for debugging. It much less work is to include #ifdef, LogDebug itself cannot serving for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fabiocos , in this PR I tried improving verbosity using Verbatim stream and LogDebug where possible but in two places seems the best solution is to add #ifdef
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@civanch I was referring to the standardisation to EDM_ML_DEBUG...
+1 |
This PR includes clean-ups for muon Geant4 sensitive detectors and additional modifications in the base class, tracker and calo sensitive detectors:
Correctness of this PR means no change of the results.