33#include <sstream>
44#include <string>
55
6- void runscript (const char * fname , bool with_rootmap = false)
6+
7+ #include "DataVector.h"
8+
9+ void runscript (const std ::string & name , bool with_rootmap = false)
710{
811 if (with_rootmap ) {
912 int old = gInterpreter -> SetClassAutoloading (kFALSE );
@@ -13,16 +16,31 @@ void runscript(const char *fname, bool with_rootmap = false)
1316 gInterpreter -> SetClassAutoloading (old );
1417 }
1518
16- std ::ifstream f (fname );
17- if (!f ) {
18- std ::cout << "Not able to open " << fname << std ::endl ;
19- return ;
20- }
21-
22- std ::string line ;
23- while (std ::getline (f , line )) {
24- // std::cout << "Process: " << line << std::endl;
25- gROOT -> ProcessLine (line .c_str ());
19+ if (name == "case1" ) {
20+ gSystem -> Load ("libjet_dictrflx" );
21+ gSystem -> Load ("libbtag_dictrflx" );
22+ TClass ::GetClass ("SG::AuxTypeVectorFactory<std::vector<ElementLink<DataVector<xAOD::Jet_v1> > > >" );
23+ auto c = TClass ::GetClass ("DataVector<xAOD::Jet_v1>" )-> GetClassInfo ();
24+ printf ("Classinfo for DataVector<xAOD::Jet_v1> is %s\n" ,gInterpreter -> ClassInfo_IsValid (c ) ? "valid" : "invalid" );
25+ } else if (name == "case2" ) {
26+ gSystem -> Load ("libsjet_dictrflx" );
27+ gSystem -> Load ("libbtag_dictrflx" );
28+ TClass ::GetClass ("SG::AuxTypeVectorFactory<std::vector<ElementLink<SDataVector<xAOD::SJet_v1> > > >" );
29+ auto c = TClass ::GetClass ("SDataVector<xAOD::SJet_v1>" )-> GetClassInfo ();
30+ printf ("Classinfo for SDataVector<xAOD::SJet_v1> is %s\n" ,gInterpreter -> ClassInfo_IsValid (c ) ? "valid" : "invalid" );
31+ } else if (name == "case3" ) {
32+ gSystem -> Load ("libjet_dictrflx" );
33+ gSystem -> Load ("libbtag_dictrflx" );
34+ auto c = TClass ::GetClass ("DataVector<xAOD::Jet_v1>" );
35+ printf ("TClass for DataVector<xAOD::Jet_v1> is %s\n" ,c -> IsLoaded () ? "loaded" : "not loaded" );
36+ } else if (name == "case4" ) {
37+ gSystem -> Load ("libjet_dictrflx" );
38+ gSystem -> Load ("libbtag_dictrflx" );
39+ gROOT -> ProcessLine ("DataVector<xAOD::Jet_v1> obj;" );
40+ std ::string name ;
41+ TClassEdit ::GetNormalizedName (name ,"DataVector<xAOD::Jet_v1>" );
42+ // TClass::GetClass("DataVector<xAOD::Jet_v1>");
43+ printf ("Normalized name for DataVector<xAOD::Jet_v1> is : %s\n" ,name .c_str ());
2644 }
2745}
2846
0 commit comments