It looks like a problem in your Alice classes. When I comment your calls
to these classes (see below) your script works correctly.
Rene Brun
void roberta() {
//int main(int argc, char **argv) {
//if (argc!=3) {
// printf("Usage: analyzerefScan.exe refDataDir runNr\n");
// return -1;
//}
//TString refDataDir = Form("%s",argv[1]);
//UInt_t runNr = atoi(argv[2]);
char name[50];
TObjArray *Hlist = new TObjArray(600); TH1I *h1[20][6][10];
//UInt_t step = 0;
TRandom3 r;
//AliITSOnlineSPDscan *scanObj[20];
for (UInt_t eq=0; eq<20; eq++) {
//TString fileName =
Form("%s/%d_SPD_ref_scan_eq_%d",refDataDir.Data(),runNr,eq);
//scanObj[eq] = new AliITSOnlineSPDscan(fileName.Data());
for (UInt_t hs=0; hs<6; hs++) {
for (UInt_t chip=0; chip<10; chip++) { sprintf(name, "eq %d hs %d chip %d", eq,hs,chip);h1[eq][hs][chip] = new TH1I(name,name,101,0,101); Hlist->Add(h1[eq][hs][chip]);
for (UInt_t row=0; row<26; row++) { //UInt_t nrHits = scanObj[eq]->GetHits(step,hs,chip,col,row); UInt_t nrHits = r.Uniform(1,100); h1[eq][hs][chip]->Fill(nrHits); }
}
}
//delete scanObj[eq];
}
TFile hfile("histos.root", "RECREATE");
Hlist->Write();
hfile.Close();
return 0;
}
Roberta Ferretti wrote:
> Hello! > > I have a problem: I am trying to create a Root file and 600 histograms, fill each histogram and write them to the file. > Here is the code I am using: > > int main(int argc, char **argv) { > if (argc!=3) { > printf("Usage: analyzerefScan.exe refDataDir runNr\n"); > return -1; > } > > TString refDataDir = Form("%s",argv[1]); > UInt_t runNr = atoi(argv[2]); > > char name[50]; > > TObjArray *Hlist = new TObjArray(600); > TH1I *h1[20][6][10]; > > > UInt_t step = 0; > > AliITSOnlineSPDscan *scanObj[20]; > for (UInt_t eq=0; eq<20; eq++) { > TString fileName = Form("%s/%d_SPD_ref_scan_eq_%d",refDataDir.Data(),runNr,eq); > scanObj[eq] = new AliITSOnlineSPDscan(fileName.Data()); > > for (UInt_t hs=0; hs<6; hs++) { > for (UInt_t chip=0; chip<10; chip++) { > sprintf(name, "eq %d hs %d chip %d", eq,hs,chip); > h1[eq][hs][chip] = new TH1I(name,name,101,0,101); > Hlist->Add(h1[eq][hs][chip]); > for (UInt_t col=0; col<32; col++) { > for (UInt_t row=0; row<26; row++) { > UInt_t nrHits = scanObj[eq]->GetHits(step,hs,chip,col,row); > h1[eq][hs][chip]->Fill(nrHits); > } > } > > } > } > > delete scanObj[eq]; > } > > TFile hfile("histos.root", "RECREATE"); > > Hlist->Write(); > hfile.Close(); > > return 0; > } > > > When I try to run it, the following message appeared: > > > *** Break *** segmentation violation > (no debugging symbols found) > Using host libthread_db library "/lib/tls/libthread_db.so.1". > Attaching to program: /proc/7998/exe, process 7998 > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > (no debugging symbols found)...done. > [Thread debugging using libthread_db enabled] > [New Thread -1278355776 (LWP 7998)] > 0x00aeb7a2 in _dl_sysinfo_int80 () > from /lib/ld-linux.so.2 > #1 0x0213df13 in __waitpid_nocancel () from /lib/tls/libc.so.6 > #2 0x020e77b9 in do_system () from /lib/tls/libc.so.6 > #3 0x01b7198d in system () from /lib/tls/libpthread.so.0 > #4 0x002e25b7 in TUnixSystem::Exec () > from /home/rferrett/root/v5-21-01-alice/lib/libCore.so > #5 0x002e8041 in TUnixSystem::StackTrace () > from /home/rferrett/root/v5-21-01-alice/lib/libCore.so > #6 0x002e4c86 in TUnixSystem::DispatchSignals () > from /home/rferrett/root/v5-21-01-alice/lib/libCore.so > #7 0x002e4d14 in SigHandler () > from /home/rferrett/root/v5-21-01-alice/lib/libCore.so > #8 0x002e3f59 in sighandler () > from /home/rferrett/root/v5-21-01-alice/lib/libCore.so > #9 <signal handler called> > #10 0xb3e14f0f in AliITSOnlineSPDscan::GetNSteps (this=0x0) > at ITS/AliITSOnlineSPDscanInfo.h:41 > #11 0xb3e14963 in AliITSOnlineSPDscan::GetHits (this=0x8a4c0a0, nsi=0, hs=0, > chipi=0, coli=0, rowi=0) at ITS/AliITSOnlineSPDscan.cxx:260 > #12 0x080496b3 in main () > > > Where is the problem? What I have to do? > > Thank you very much. > > RF > >Received on Mon Oct 13 2008 - 11:52:29 CEST
This archive was generated by hypermail 2.2.0 : Mon Oct 13 2008 - 17:50:02 CEST