-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[RFC] Add RefToBase member `holder_' in Reflex dicts. #59
Conversation
RefToBase is a templated class with a private memeber holder_ of reftobase::BaseHolder<value_type>* type. The following type is not part of any dictionary, thus holder_ is not saved. Example error generated by ROOT: Error in <TStreamerInfo::Build:>: edm::RefToBase<reco::Electron>: edm::reftobase::BaseHolder<reco::Electron>* has no streamer or dictionary, data member holder_ will not be saved Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@Dr15Jones, @wmtan can you look into this and confirm it's ok? |
holder_ must be stored since it holds all the information we need to retrieve the data. BaseHolder is an abstract base class but its concrete implementations ultimately hold an edm::Ref which must be stored. So it looks like we need to generate the missing dictionaries. |
@Dr15Jones, thanks. I will update the branch. |
@davidlt any news about this one? |
The following categories have been rejected by eulisse (a.k.a. @ktf on GitHub): Analysis @cms-git-visualization, @cms-git-analysis, @cms-git-core |
The following categories have been signed by mikeh (a.k.a. @mdhildreth on GitHub): Full Simulation @cms-git-simulation, @cms-git-fastsim, @cms-git-operations, @cms-git-geometry |
1 similar comment
The following categories have been signed by mikeh (a.k.a. @mdhildreth on GitHub): Full Simulation @cms-git-simulation, @cms-git-fastsim, @cms-git-operations, @cms-git-geometry |
The following categories have been rejected by mikeh (a.k.a. @mdhildreth on GitHub): Full Simulation @cms-git-simulation, @cms-git-fastsim, @cms-git-operations, @cms-git-geometry |
The following is needed for edm::RefToBase<*>, to store holder_ data member. From Dr15Jones: holder_ must be stored since it holds all the information we need to retrieve the data. BaseHolder is an abstract base class but its concrete implementations ultimately hold an edm::Ref which must be stored Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@Dr15Jones , the type ( |
@Dr15Jones can you look into this? |
The following categories have been rejected by @slava77: Reconstruction @cms-git-reconstruction |
oops, how do I undo the rejection? On 7/23/13 11:14 AM, cmsbuild wrote:
Vyacheslav (Slava) Krutelyov |
Click on sign and it will move it from the rejected state to the approved state. |
On 7/23/13 11:29 AM, Giulio Eulisse wrote:
Vyacheslav (Slava) Krutelyov |
This change looks fine to me. I double checked that classes which inherited from HolderBase have dictionaries declared and they do |
@Dr15Jones it's nice to hear this is ok for the CORE. |
I think I rejected by mistake while trying out something for Volker. @vadler, can you check and approve? |
@vadler can you please look and approve? |
@vadler ??? |
I'm catching up with GIT stuff after vacation. This one will be done tomorrow morning. |
The following categories have been signed by @vadler: Analysis @cms-git-analysis |
1 similar comment
The following categories have been signed by @vadler: Analysis @cms-git-analysis |
The following categories have been signed by mikeh (a.k.a. @mdhildreth on GitHub): Full Simulation @cms-git-simulation, @cms-git-fastsim, @cms-git-operations, @cms-git-geometry |
@nclopezo can you test it, please? |
Hi, I tested these changes in CMSSW_7_0_X_2013-08-09-0200. All tests passed. You can see the logs in: |
[RFC] Add RefToBase member `holder_' in Reflex dicts.
As discussed in ORP, and given we are at the beginning pre3, I simply approve it. |
official validation update
It filters the tags using the release queue
I have no time to check it now but as I could be offline in the next days I merge it
Welcome to the `development` branch.
For MC, turn on again mc matching for photons
…microGMT_paramsESProducer MicroGMT parameters and LUTs in CondDB
Thanks, Andrea. I will now have a look at your other PR
…nalysis clean up JetAnalysis configs
Geometry in EventSetup (pre9 backport)
Migration from Sequences to Tasks
Recompute miniIso on the fly for 80X miniAODs
…umbering Fixes
update code to cope with old and new geometry and old and new releases
Quality filter
* Fixing the disp tracking bug Changed a couple of asserts into if statements * fixing warning Fixed the following warning: /cms/threejet-2/abhijith/hware_temp/approx_cal/CMSSW_11_2_0_pre6/src/L1Trigger/TrackFindingTracklet/src/MatchCalculator.cc:482:7: warning: 'imatch' may be used uninitialized in this function [-Wmaybe-uninitialized] * add use approx switch to Tracklet Calculator Displaced
* Fixing the disp tracking bug Changed a couple of asserts into if statements * fixing warning Fixed the following warning: /cms/threejet-2/abhijith/hware_temp/approx_cal/CMSSW_11_2_0_pre6/src/L1Trigger/TrackFindingTracklet/src/MatchCalculator.cc:482:7: warning: 'imatch' may be used uninitialized in this function [-Wmaybe-uninitialized] * add use approx switch to Tracklet Calculator Displaced
* Fixing the disp tracking bug Changed a couple of asserts into if statements * fixing warning Fixed the following warning: /cms/threejet-2/abhijith/hware_temp/approx_cal/CMSSW_11_2_0_pre6/src/L1Trigger/TrackFindingTracklet/src/MatchCalculator.cc:482:7: warning: 'imatch' may be used uninitialized in this function [-Wmaybe-uninitialized] * add use approx switch to Tracklet Calculator Displaced
Update E/gamma emulators and regionizer to support realistic layer1 endcap setup
* Updating the closeby gun with randomShoot option
Some first support for lepton trigger plots in the validation tools
…O-13_2_0_pre3_dqmfeat Use Si Cell information in HGCalDigisClient
RefToBase is a templated class with a private memeber
holder_
ofreftobase::BaseHolder<value_type>*
type. The following type is not part of any dictionary, thusholder_
is not serialized.There are two options:
holder_
transient, which would match the current behavior (not saving it), I assume.reftobase::BaseHolder<value_type>*
to makeholder_
serializable by ROOT.Example error generated by ROOT:
The following should resolve errors for 9 dictionaries:
edm::RefToBase<reco::WMuNuCandidatePtr>
edm::RefToBase<reco::WMuNuCandidate>
edm::RefToBase<reco::PhotonCore>
edm::RefToBase<reco::Photon>
edm::RefToBase<reco::Muon>
edm::RefToBase<reco::GsfElectronCore>
edm::RefToBase<reco::GsfElectron>
edm::RefToBase<reco::Electron>
edm::RefToBase<PSimHit>
You can test using
edmClassStorageSize
, e.g.:Signed-off-by: David Abdurachmanov David.Abdurachmanov@cern.ch