Limitation: Can't instantiate precompiled template vector&lt

Hello

I am trying to use MakeClass with Root version 4.04/02f on SLC3. When I try to use it, I get the following:

Limitation: Can’t instantiate precompiled template vector FILE:/afs/cern.ch/user/a/ashibata/scratch0/athena/11.0.5/PhysicsAnalysis/TopPhys/TopView/TopView-00-11-08/root/././cpplib/Reco.h LINE:70

I do have vector though when I tried the same thing on version 5.14/04 (mac osx), there was no problem. I still need to work with version 4.04 (slc3) and I’d like to know if there’s a workaround.

Thank you for your help in advance
Cheers
Akira

Yes there is a work-around.

#include

in your script and/or on the ROOT command line.

Cheers,
Philippe.

Hi

Thank you, that seems to work. I wonder why it didn’t give the same error in the latest version of root though…

Now I get another error:
Warning: conversion from 64bit to 32bit integer FILE:TopViewAnalysis.C LINE:41

Which doesn’t seem to prevent the job from running but is there a way to turn this off? I’m guessing this is maybe because MakeClass is generating class with Long64_t, but can I make it not to use 64 type?

Cheers
Akira

[quote]I wonder why it didn’t give the same error in the latest version of root though[/quote]Because we ‘fixed’ the problem by always loading the vector header file in the initialization of ROOT. We intend of extending this by using the autoloader for all the cintdlls.

[quote]Warning: conversion from 64bit to 32bit integer FILE:TopViewAnalysis.C LINE:41[/quote]Between the 2 versions you are using we extended the support length of the TTree, hence moving from Int_t to Long64_t some of the value. You need to fix your selector/MakeClass to replace the Int_t with Long64_t.

Cheers,
Philippe