Open pcanal opened 3 years ago
A new Issue was created by @pcanal Philippe Canal.
@Dr15Jones, @dpiparo, @silviodonato, @smuzaffar, @makortel, @qliphy can you please review it and eventually sign/assign? Thanks.
cms-bot commands are listed here
assign core
New categories assigned: core
@Dr15Jones,@smuzaffar,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks
"edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,std::vector<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >,edm::Ref"...
Dictionary for this class is declared in https://github.com/cms-sw/cmssw/blob/07a27e5287a583bb5fd83e34f568a4f206536bec/DataFormats/JetReco/src/classes_def_3.xml#L49-L51
As part of the handling of that classname,
TClassEdit
is asking the interpreter more information about"edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track>",
For this I did not see any explicit dictionary declaration, but it is part of declarations of many others, e.g. here https://github.com/cms-sw/cmssw/blob/07a27e5287a583bb5fd83e34f568a4f206536bec/DataFormats/TrackReco/src/classes_def.xml#L354-L358
But (at least in that file) not for edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track>
.
Checking the use of FindUsingAdvance
in more general, I see only one case where a dictionary for its instantiation is declared
https://github.com/cms-sw/cmssw/blob/07a27e5287a583bb5fd83e34f568a4f206536bec/DataFormats/CaloTowers/src/classes_def.xml#L23
Philippe, are essentially saying that we should declare a dictionary for all instantiations of edm::refhelper::FindUsingAdvance
explicitly?
First, we should double check doing so is enough to avoid the AutoParsing :)
In https://github.com/cms-sw/cmssw/issues/31123 we see https://github.com/cms-sw/cmssw/issues/31123#issuecomment-778318184 which in particular has the lines:
where asking for the
TClass
for"edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,std::vector<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >,edm::Ref"...
(name truncated) is unexpectedly leading to a call to AutoParse headers.As part of the handling of that classname,
TClassEdit
is asking the interpreter more information about"edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track>",
Is the dictionary for one of those 2 classes missing or is there an issue in the ROOT handling of those classes?