No interpreter for TVirtualStreamerInfo

ROOT Version: 6.22.06
Platform: Virtual Ubuntu20.04
Compiler: Not Provided


I’m trying to run a customized Pythia example main91 with addition of TFile and TH1D. Program is made with no errors and runs fine until following error occurs:

Error in <TClass::LoadClassInfo>: no interpreter information for class TVirtualStreamerInfo is available even though it has a TClass initialization routine.
corrupted double-linked list
Aborted (core dumped)

I’m using Ubuntu in VirtualBox on Win10. All prerequisites installed.

1 Like

Hello @Henga,

Welcome to the ROOT forum. In order for us to help you, could you please provide more information on your environment and the source code of your example?

Cheers,
J.

Sure. Here is the code I’m trying to run.

#include "Pythia8/Pythia.h"
#include "Pythia8/HeavyIons.h"
#include "TFile.h"
#include "TH1.h"

using namespace Pythia8;

int main() {

  TFile* outfile = new TFile("outfile.root","RECREATE");
  TH1D * wounded = new TH1D("n_wounded","n_wounded", 270, -0.5, 270.5);
  TH1D * sumch = new TH1D("sum_of_charge","sum_of_charge", 1000, 0, 1000);
  Pythia pythia;

  pythia.readString("Beams:idA = 1000290630");
  pythia.readString("Beams:idB = 1000791970");
  pythia.readString("Beams:eA = 99.9");
  pythia.readString("Beams:eB = 100");  
  pythia.readString("Beams:frameType = 2");

  pythia.readString("HeavyIon:SigFitErr = "
                    "0.02,0.02,0.1,0.05,0.05,0.0,0.1,0.0");
  pythia.readString("HeavyIon:SigFitDefPar = "
                    "10.12,1.91,0.33,0.0,0.0,0.0,0.0,0.0");
  pythia.readString("HeavyIon:SigFitNGen = 0");
  
  pythia.init();
  double sumw = 0.0;
  // Loop over events.
  int nEvents = 100;
  for ( int iEvent = 0; iEvent < nEvents; ++iEvent ) {
    if ( !pythia.next() ) continue;
    double sumcharge = 0.0;
    for (int i = 0; i < pythia.event.size(); ++i) {
      Particle & p = pythia.event[i];
      if ( p.isFinal() ) {
        double eta = p.eta();
        if (abs(eta) < 3.1 && abs(eta) < 4.0 ){
          sumcharge +=(p.charge());
        }
      }
    }

    double weight = pythia.info.weight();
    sumw += weight;
    int nw = pythia.info.hiInfo->nAbsTarg() +
             pythia.info.hiInfo->nDiffTarg() +
             pythia.info.hiInfo->nAbsProj() +
             pythia.info.hiInfo->nDiffProj();
             
    wounded->Fill(nw, weight);
    sumch->Fill(sumcharge, weight);
  }

  wounded->Write();
  sumch->Write();
   
  return 0;
}

As for environment, what information would be useful and relevant here?

Right before “return 0;”, try to add:
delete outfile; // automatically deletes all "owned" histograms, too

3 Likes

It worked, thank you.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.