Dear Rooters,
I am trying to fill branches from a D3PD. To do this, I am using the extractor class, for which I have two derived classes (one for filling track variables and another for filling global variables). To correctly fill the branches for each derived class type, I must declare the TTree member of the parent class static.
However, doing this causes my parent class to crash during compilation. It compiles fine when I take out “static”, but this will result in the branches of my derived classes being incorrectly filled. The output is shown below
root [0] gROOT->ProcessLine(".L BranchBase.C+g")
Info in <TUnixSystem::ACLiC>: creating shared library /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase_C.so
In file included from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.C:3,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.h:34,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.cxx:17:
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.h:5349: warning: unused parameter 'tree'
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.h:5350: warning: unused parameter 'tree'
In file included from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.h:34,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.cxx:17:
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.C:203: warning: unused parameter 'entry'
dlopen error: /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase_C.so: undefined symbol: _ZN10BranchBase6fChainE
Load Error: Failed to load Dynamic link library /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase_C.so
In file included from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.C:3,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.h:34,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.cxx:17:
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.h:5349: warning: unused parameter 'tree'
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.h:5350: warning: unused parameter 'tree'
In file included from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.h:34,
from /afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.cxx:17:
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/./BranchBase.C:203: warning: unused parameter 'entry'
/usr/lib/../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.o: In function `BranchBase::Show(long long)':
BranchBase_C_ACLiC_dict.cxx:(.text+0xa891): undefined reference to `BranchBase::fChain'
BranchBase_C_ACLiC_dict.cxx:(.text+0xa89d): undefined reference to `BranchBase::fChain'
BranchBase_C_ACLiC_dict.cxx:(.text+0xa8ae): undefined reference to `BranchBase::fChain'
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.o: In function `BranchBase::GetEntry(long long)':
BranchBase_C_ACLiC_dict.cxx:(.text+0xa911): undefined reference to `BranchBase::fChain'
BranchBase_C_ACLiC_dict.cxx:(.text+0xa926): undefined reference to `BranchBase::fChain'
/afs/cern.ch/user/t/tbalestr/public/17.2.2.2/HIDP3DAnalysis2011/MuonDPDSkimming/BranchBase_C_ACLiC_dict.o:BranchBase_C_ACLiC_dict.cxx:(.text+0xa937): more undefined references to `BranchBase::fChain' follow
collect2: ld returned 1 exit status
(Long_t)0