Hello, I have a class with all the ClassDef, ClassImp, …
class egammaMVACalibNew : public TObject
{
public:
enum ShiftType {NOSHIFT=0, PEAKTOTRUE, MEANTOTRUE, MEDIANTOTRUE, MEAN10TOTRUE, MEAN20TOTRUE, MEDIAN10TOTRUE, MEDIAN20TOTRUE, NSHIFTCORRECTIONS};
struct ReaderID {
int particleType;
int bin; //etaBin; int energyBin;
bool operator< (const ReaderID &other) const {
if (this->particleType != other.particleType)
return (this->particleType < other.particleType);
return (this->bin < other.bin);
}
};
...
};
when executing (and after the dictionary generation) I get:
In file included from /tmp/rootcint_35znDH.h:3,
from /tmp/diC40i_cint.cxx:1:
/cnfs/homes_fs/home/turra/HSG1/run_cutflow/AutoDict_pair_egammaMVACalibNew__ReaderID_egammaMVACalibNew__ShiftType_.cxx:2:12: error: empty filename in #include
Error: external preprocessing failed. :0:
!!!Removing /cnfs/homes_fs/home/turra/HSG1/run_cutflow/AutoDict_pair_egammaMVACalibNew__ReaderID_egammaMVACalibNew__ShiftType__cxx_ACLiC_dict.cxx /cnfs/homes_
fs/home/turra/HSG1/run_cutflow/AutoDict_pair_egammaMVACalibNew__ReaderID_egammaMVACalibNew__ShiftType__cxx_ACLiC_dict.h !!!
Error: /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/root/5.34.07-x86_64-slc5-gcc4.3/bin/rootcint: error loading headers...
Error in <ACLiC>: Dictionary generation failed!
AutoDict_pair_egammaMVACalibNew__ReaderID_egammaMVACalibNew__ShiftType_.cxx:2:12: error: empty filename in #include
in fact if I look at AutoDict_pair_egammaMVACalibNew__ReaderID_egammaMVACalibNew__ShiftType_.cxx:
#include "vector"
#include ""
#ifdef __CINT__
#pragma link C++ nestedclasses;
#pragma link C++ nestedtypedefs;
#pragma link C++ class pair<egammaMVACalibNew::ReaderID,egammaMVACalibNew::ShiftType>+;
#pragma link C++ class pair<egammaMVACalibNew::ReaderID,egammaMVACalibNew::ShiftType>::*+;
#endif
there is an empy include. My linkdef is:
#ifdef __CINT__
#include "egammaMVACalib/egammaMVACalib.h"
#include "egammaMVACalib/egammaMVACalibFudge.h"
#include "egammaMVACalib/egammaMVACalibMulti.h"
#include "egammaMVACalib/egammaMVACalibNew.h"
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link C++ nestedclass;
#pragma link C++ nestedtypedef;
#pragma link C++ class egammaMVACalib+;
#pragma link C++ class egammaMVACalibFudge+;
#pragma link C++ class egammaMVACalibMulti+;
#pragma link C++ class egammaMVACalibNew+;
#pragma link C++ class egammaMVACalibNew::ReaderID+;
#pragma link C++ enum egammaMVACalibNew::ParticleType+;
#pragma link C++ enum egammaMVACalibNew::CalibrationType+;
#endif