void CheckBLDet(char * ridffile="test.ridf") { gSystem->Load("libanacore.so"); bool deton[12][numdet]; for(int i=0; i<12; i++) for(int j=0; j<numdet; j++) deton[i][j] = false; TArtEventStore *estore = new TArtEventStore(); TArtRawEventObject *rawevent = new TArtRawEventObject(); TFile *fout = new TFile("dataid.root","RECREATE"); TNtuple *ntp = new TNtuple("ntp","ntp","sys:cat:det:dtype:val"); estore->Initialize(rawevent); estore->Open(ridffile); // estore->LoadMapConfig("conf/mapper.conf"); int neve = 0; while(estore->GetNextEvent() && neve<100) { int eve_number=rawevent->GetEventNumber(); long long int t_stamp=rawevent->GetTimeStamp(); cout <<"event:"<<neve <<" ev#:"<<eve_number <<" timestamp:" <<t_stamp <<endl; for(int i=0; i<rawevent->GetNumSeg(); i++) { TArtRawSegmentObject *seg = rawevent->GetSegment(i); int device = seg->GetDevice(); int fp = seg->GetFP(); int detector = seg->GetDetector(); int module = seg->GetModule(); if(fp<12&&detector<numdet) { deton[fp][detector] = true; cout << " seg:"<< i <<" dev:"<< device << " fp:"<<fp<< " det:"<<detector<< " " << detname[detector] << " mod:"<<module << " #data=" << seg->GetNumData() << endl; } else { cout << " seg:"<< i <<" dev:"<< device << " fp:"<<fp<< " det:"<<detector<< " mod:"<<module << " #data=" << seg->GetNumData() << endl; } } rawevent->Clear(); neve ++; } fout->Write(); fout->Close(); for(int i=0; i<12; i++) { cout << "fpl " << i << ": "; for(int j=0; j<numdet; j++)if(deton[i][j]) cout << detname[j] << " "; cout << endl; } }