/************************************** * * root script for using the BinReader.h * * ***************************************/ #include "BinReader.h" #define NChannel 16 TH1I * hBoard; TH1I * hChannel; TH1I * he[NChannel]; BinReader * reader = new BinReader("DataR_run_pulser_3.BIN"); void test(){ reader->ScanNumberOfBlock(); printf("################## Number of data Block : %llu \n", reader->GetNumberOfBlock()); hBoard = new TH1I ("hBoard", "BoardID", 100, 0, 10); hChannel = new TH1I ("hChannel", "Channel", NChannel, 0, NChannel); for( int i = 0 ; i < NChannel ; i++){ he[i] = new TH1I(Form("he%0d", i), Form("he%0d", i), 500, 0, 10000); } for( int i = 0; i < reader->GetNumberOfBlock(); i++){ reader->ReadBlock(); hBoard->Fill( reader->data.BoardID ); unsigned short ch = reader->data.Channel; hChannel->Fill( ch); he[ch]->Fill( reader->data.Energy); if( i < 10 ) reader->data.Print(); if( i % 5000000 == 0 ) { printf("------- %d \n", i); reader->data.Print(); } } gStyle->SetOptStat("neiou"); TCanvas * haha = new TCanvas("haha", "haha", 4*400, 5*400); haha->Divide(4,5); haha->cd(1); hBoard->Draw(); haha->cd(2); hChannel->Draw(); for( int i = 0; i < 16; i++){ haha->cd(i+5); he[i]->Draw(); } }