Thanks for the reply. Got it working. Just to confirm, my loader script for generating the dictionary is this:
// File loader.C #include #include #include “TH1.h” #ifdefMAKECINT #pragma link C++ class std::mapstd::string,TH1*+; #endif
and I invoke this as .L loader.C+ for generating the shared object. I get several warnings (do not understand if these are harmless):
Info in TUnixSystem::ACLiC: creating shared library /media/DEVDATTA2/Analysis/EWK/Multiboson/Systematics/TemplateMethod/SignalShape/./loader_C.so
In file included from /media/DEVDATTA2/Analysis/EWK/Multiboson/Systematics/TemplateMethod/SignalShape/./fileBXwew2.cxx:18:
/usr/include/root/TCollectionProxyInfo.h: In member function ‘T& ROOT::TCollectionProxyInfo::Environ::iter() [with T = std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits, std::allocator >, TH1*> >]’:
/usr/include/root/TCollectionProxyInfo.h:140: instantiated from ‘static void* ROOT::TCollectionProxyInfo::Type::first(void*) [with T = std::map<std::basic_string<char, std::char_traits, std::allocator >, TH1*, std::less<std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits, std::allocator >, TH1*> > >]’
/usr/include/root/TCollectionProxyInfo.h:352: instantiated from ‘static ROOT::TCollectionProxyInfo* ROOT::TCollectionProxyInfo::Generate(const T&) [with T = ROOT::TCollectionProxyInfo::MapInsert<std::map<std::basic_string<char, std::char_traits, std::allocator >, TH1*, std::less<std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits, std::allocator >, TH1*> > > >]’
/media/DEVDATTA2/Analysis/EWK/Multiboson/Systematics/TemplateMethod/SignalShape/./fileBXwew2.cxx:63: instantiated from here
/usr/include/root/TCollectionProxyInfo.h:66: warning: dereferencing type-punned pointer will break strict-aliasing rules