// Read beta-alfa counter data from an ascii file and create a root file with a Tree. // Author: Eric Vazquez gROOT->Reset(); void readascii(const char * infile, const char * outfile){ Int_t channel; Float_t runtime; Float_t pulsetime; Float_t beta; Float_t alpha; Float_t tail; Int_t flag; Char_t p1[8]; Char_t p2[6]; Int_t nlines = 0; FILE *fp = fopen(infile,"r"); TFile *hfile = 0; hfile = TFile::Open(outfile,"RECREATE"); TTree *tree = new TTree("T","Alpha-Beta counter variables"); tree->Branch("channel",&channel,"channel/I"); tree->Branch("runtime",&runtime,"runtime/F"); tree->Branch("pulsetime",&pulsetime,"pulsetime/F"); tree->Branch("beta",&beta,"beta/F"); tree->Branch("alpha",&alpha,"alpha/F"); tree->Branch("tail",&tail,"tail/F"); tree->Branch("flag",&flag,"flag/I"); tree->Branch("p1",p1,"p1/C"); tree->Branch("p2",p2,"p2/C"); char line[100]; while (fgets(&line,100,fp)) { sscanf(&line[0],"%d %f %f %f %f %f %d %s %s",&channel,&runtime,&pulsetime,&beta,&alpha,&tail,&flag,p1,p2); tree->Fill(); nlines++; } tree->Print(); tree->Write(); printf(" found %d points \n",nlines); fclose(fp); delete hfile; }