Dear ROOT experts,
I have a TTree with branch names such as:
trig_RoI_EF_e_Rec::TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID
(unfortunately this branch name is automatically generated and I cannot change the code that does that …)
When I run MakeClass for this TTree (with ROOT 5.26/00e), I get a class like the one that follows my message.
As you can see the “::” are substituted by “__” in some places, but not at the member variable declaration, where it is not allowed (in ANSI C++, at least).
So, when I try to compile this (with “.L BjetTree.C+”), I get thousands of errors …
It seems that the “::” is correctly substituted everywhere else, but the member variable declaration and at the first argument of SetBranchAddress call (where this is correct).
Is this a bug or am I missing something here?
Best regards,
Danilo
class BjetTree {
...
vector<vector<int> > *trig_RoI_EF_e_Rec::TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID;
...
TBranch *b_trig_RoI_EF_e_Rec__TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID; //!
...
void BjetTree::Init(TTree *tree)
{
...
trig_RoI_EF_e_Rec__TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID = 0;
...
fChain->SetBranchAddress("trig_RoI_EF_e_Rec::TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID", &trig_RoI_EF_e_Rec__TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID, &b_trig_RoI_EF_e_Rec__TrackParticleContainer_HLT_InDetTrigParticleCreation_Electron_EFID);
...
}
...