void usage(void) {
printf("\nUsage:");
- printf(" process_hld_root <hld multifile base name>\n");
+ printf(" process_hld_root <hld multifile base name> [<option>]\n");
+ printf(" \n");
+ printf(" Options:\n");
+ printf(" 0 - Analyze a normal run from 0-255 thresholds (default).\n");
+ printf(" 1 - Analyze 4 scans from 0-255, where each scan sets\n");
+ printf(" a different ADC block (A,B,C or D).\n");
printf("\n");
exit (0);
}
if(firstout)
{
- for(int i=0;i<1152*576;i++)
- {
- rowcurr = (int)(i/1152);
- if( rowcount[rowcurr] != 0 )
- {
- pixelprob[i] = 1.*pixelprob[i]/rowcount[rowcurr];
- }
- else
- {
- pixelprob[i] = 0;
- }
+ char cblock = 'A';
+ for(int i=0;i<1152*576;i++){
+ rowcurr = (int)(i/1152);
+ if (block == 0){
+ cblock = 'A';
+ if ( (i%1152) < 288)
+ if( rowcount[rowcurr] != 0 )
+ pixelprob[i] = 1.*pixelprob[i]/rowcount[rowcurr];
+ else
+ pixelprob[i] = 0;
+ }
+ else if (block == 1){
+ cblock = 'B';
+ if ( (i%1152) >= 288 || (i%1152) < 576)
+ if( rowcount[rowcurr] != 0 )
+ pixelprob[i] = 1.*pixelprob[i]/rowcount[rowcurr];
+ else
+ pixelprob[i] = 0;
+ }
+ else if (block == 2){
+ cblock = 'C';
+ if ( (i%1152) >= 576 || (i%1152) < 864)
+ if( rowcount[rowcurr] != 0 )
+ pixelprob[i] = 1.*pixelprob[i]/rowcount[rowcurr];
+ else
+ pixelprob[i] = 0;
+ }
+ else if (block == 3){
+ cblock = 'D';
+ if ( (i%1152) >= 864 || (i%1152) < 864)
+ if( rowcount[rowcurr] != 0 )
+ pixelprob[i] = 1.*pixelprob[i]/rowcount[rowcurr];
+ else
+ pixelprob[i] = 0;
+ }
}
scurveTree->Fill();
for(int i=0;i<576;i++) {rowcount[i]=0;}
}
else
- {
firstout = true;
- }
printf("%d ",thresh);
fflush(stdout);
int main(int argc, char *argv[]) {
char* filename;
+ int option = 0;
if (argc == 2){
filename = &argv[1][0];
printf("Using hld file %s\n",filename);
//printf("The output is defined as %s\n",output);
}
+ else if (argc == 3){
+ filename = &argv[1][0];
+ printf("Using hld file %s\n",filename);
+ option = atoi(&argv[2][0]);
+ if (option<0 || option >1){
+ usage();
+ exit(0);
+ }
+ printf("Using option %d\n",option);
+
+ }
else{
usage();
}
//----------------------------------
-
+ int block = 0;
for (num = 0; num < globbuf.gl_pathc; num++)
{
exit(0);
}
-
printf("\nThreshold: ");
part = -1;
printf("Finished!\n");
// theApp.Run(kTRUE);
// ------------------------------------------
- return 0;
+ return 1;
}