Home | News | Documentation | Download

Failed to ".L testClass.C" freshly produced from "MakeClass"


#1

Hi,

Sorry for potentially asking a super stupid question as I am a newbie in ROOT.

I am trying to produce some plots of variables with cuts from a .root file (eg: muon_pt for all muon_pt > 20GeV etc…)

so I have written and ran the following:

{
gROOT->Reset();
TChain * chain = new TChain("","");
chain->Add(“ROOTFile.root/physics”);
chain->MakeClass(“testClass”);
}

then testClass.C and testClass.h were produced. I then added the line

#include “l.C”

where l.C has the content

[b]// File loader.C
#include
#ifdef MAKECINT
#pragma link C++ class vector+;
#pragma link C++ class vector+;
#pragma link C++ class vector+;
#pragma link C++ class vector+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector >+;
#endif

#ifdef CINT
#pragma link C++ class vector+;
#pragma link C++ class vector+;
#pragma link C++ class vector+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector+;
#pragma link C++ class vector<vector >+;
#endif[/b]

which helped to resolve some problems from some interestingly declared variables in the generated header file.

I then executed .L testClass.C and got the following:

In file included from /tmp/rootcint_A7iPcu.h:3,
from /tmp/EgcDIP_cint.cxx:1:
/home/jasontam/Work/ROOTFiles/AutoDict_vector_TVector3_.cxx:2:30: error: include/TVector3.h: No such file or directory
Error: external preprocessing failed. :0:
!!!Removing /home/jasontam/Work/ROOTFiles/AutoDict_vector_TVector3__cxx_ACLiC_dict.cxx /home/jasontam/Work/ROOTFiles/AutoDict_vector_TVector3__cxx_ACLiC_dict.h !!!
Error: /home/jasontam/root/bin/rootcint: error loading headers…
Error in : Dictionary generation failed!
AutoDict_vector_TVector3_.cxx:2:30: error: include/TVector3.h: No such file or directory
In file included from /tmp/rootcint_hjgBEE.h:3,
from /tmp/CdI2L0_cint.cxx:1:
/home/jasontam/Work/ROOTFiles/AutoDict_random_access_iterator_TVector3_long_.cxx:2:30: error: include/TVector3.h: No such file or directory
Error: external preprocessing failed. :0:
!!!Removing /home/jasontam/Work/ROOTFiles/AutoDict_random_access_iterator_TVector3_long__cxx_ACLiC_dict.cxx /home/jasontam/Work/ROOTFiles/AutoDict_random_access_iterator_TVector3_long__cxx_ACLiC_dict.h !!!
Error: /home/jasontam/root/bin/rootcint: error loading headers…
Error in : Dictionary generation failed!
AutoDict_random_access_iterator_TVector3_long_.cxx:2:30: error: include/TVector3.h: No such file or directory

and I have checked that TVector3.h is where it is suppose to be. I am suspecting the root application that I have installed is not complete, as this happened on 3 different machines (Linux Mint, Ubuntu and SL5), all with root installed from 5.28 complete source tree for all systems.

Any ideas?

Cheers
Jason


#2

Hi Jason,

I can reproduce the issue, I am debugging… I’ll let you know when it’s fixed.

Axel.


#3

Hi,

fixed in the trunk and in v5-28-00-patches - thanks for your report!

Cheers, Axel.