for mu in in_muons: if mu.bitword != 0: if mu.qualityBits == 2: _log.debug(print_in_word(mu.bitword)) _log.debug(hex(mu.bitword)) out_muons = output_parser.get_output_muons() intermediate_muons = output_parser.get_intermediate_muons() ranks = output_parser.get_ranks() #### here the number of nonzero ranks is counted rank_num_of_non_zeros = 0 for i in xrange(len(ranks)): if ranks[i]!=0: rank_num_of_non_zeros = rank_num_of_non_zeros+1 #### _log.info("in_muons : {nz} / {all}".format(nz=non_zero(in_muons), all=len(in_muons))) _log.info("num of final non-zero Output-Muons: {nz} / {all}".format(nz=non_zero(out_muons), all=len(out_muons)))#,"), corresponds to ", len(out_muons)/8," Events") _log.info("num of intermediate non-zero Output-Muons: {nz} / {all}".format(nz=non_zero(intermediate_muons), all=len(intermediate_muons)))#, "), corresponds to ", len(intermediate_muons)/24," Events" ) _log.info("n_ranks {nz} / {all}".format(nz=rank_num_of_non_zeros, all=len(ranks))) cntr = 0 while cntr < len(out_muons)+1: event = cntr/8 if non_zero(out_muons[cntr:cntr+8]) == 0: for mu in in_muons[event*108:(event+1)*108]: if mu.bitword != 0: _log.debug("input-link, frame: {l}, {fr}".format(l=mu.link, fr=mu.frame)) #print "imd: ", non_zero(intermediate_muons[event*24:(event+1)*24]) else: # do some sorting analysis _log.debug("-"*10+"sorting analysis BX"+str(event)+"-"*10) _log.debug("-- final muons: --")
for mu in in_muons: if mu.bitword != 0: if mu.qualityBits == 2: _log.debug(print_in_word(mu.bitword)) _log.debug(hex(mu.bitword)) out_muons = output_parser.get_output_muons() intermediate_muons = output_parser.get_intermediate_muons() ranks = output_parser.get_ranks() #### here the number of nonzero ranks is counted rank_num_of_non_zeros = 0 for i in xrange(len(ranks)): if ranks[i] != 0: rank_num_of_non_zeros = rank_num_of_non_zeros + 1 #### _log.info("in_muons : {nz} / {all}".format(nz=non_zero(in_muons), all=len(in_muons))) _log.info("num of final non-zero Output-Muons: {nz} / {all}".format( nz=non_zero(out_muons), all=len(out_muons)) ) #,"), corresponds to ", len(out_muons)/8," Events") _log.info( "num of intermediate non-zero Output-Muons: {nz} / {all}".format( nz=non_zero(intermediate_muons), all=len(intermediate_muons)) ) #, "), corresponds to ", len(intermediate_muons)/24," Events" ) _log.info("n_ranks {nz} / {all}".format(nz=rank_num_of_non_zeros, all=len(ranks))) cntr = 0 while cntr < len(out_muons) + 1: event = cntr / 8 if non_zero(out_muons[cntr:cntr + 8]) == 0:
ranks = output_parser.get_ranks() rank_num_of_non_zeros = 0 for i in xrange(len(ranks)): if ranks[i]!=0: rank_num_of_non_zeros = rank_num_of_non_zeros+1 if pattern in phys_patterns: del emu_imd_list[len(intermediate_muons):] hist_rnk = create_and_fill_rank_hist(ranks, pattern) plot_modifier(hist_rnk, "rank", "N", ROOT.kBlack) hist_rnk.Draw() canvas.Print("{f}/figures/hw_rank.pdf".format(f=fnames['base'])) print "{fn}_in_muons :".format(fn=pattern), non_zero(in_muons), "/", len(in_muons) print "{fn}_num of final non-zero Output-Muons: ".format(fn=pattern), non_zero(out_muons), "/", len(out_muons)#,"), corresponds to ", len(out_muons)/8," Events" if not options.nodebug: print "{fn}_num of intermediate non-zero Output-Muons: ".format(fn=pattern), non_zero(intermediate_muons), "/" , len(intermediate_muons)#, "), corresponds to ", len(intermediate_muons)/24," Events" print "{fn}_n_ranks".format(fn=pattern), rank_num_of_non_zeros, "/", len(ranks) hists_input = create_and_fill_muon_hists(hist_parameters, in_muons, pattern+"in") hists_output = create_and_fill_muon_hists(hist_parameters, out_muons, pattern+"out") if gt_muons: hists_gt = create_and_fill_muon_hists(hist_parameters, gt_muons, pattern+"gt") if not options.nodebug: hists_imd = create_and_fill_muon_hists(hist_parameters, intermediate_muons, pattern+"imd") hists_emu_imd = create_and_fill_muon_hists(hist_parameters, emu_imd_list, pattern+"emuimd")
if options.gtdumps != "": _log.info("{info:>90}".format(info="GT PARSING")) nbx = 158 if pattern == "FakeMuons": nbx = 91 gt_fname = os.path.join( options.gtdumps, "spy1-test-out_{patt}.dat".format(patt=pattern)) if os.path.isfile(gt_fname): gt_muons = get_gt_muons(gt_fname, options.gtoffset, nbx, vhdl_dict) else: _log.debug("Could not find GT pattern") print "{fn}_in_muons :".format( fn=pattern), non_zero(in_muons), "/", len(in_muons) print "{fn}_num of final non-zero Output-Muons: ".format( fn=pattern), non_zero(out_muons), "/", len( out_muons) #,"), corresponds to ", len(out_muons)/8," Events" if not options.nodebug: print "{fn}_num of intermediate non-zero Output-Muons: ".format( fn=pattern ), non_zero(intermediate_muons), "/", len( intermediate_muons ) #, "), corresponds to ", len(intermediate_muons)/24," Events" print "{fn}_n_ranks".format( fn=pattern), rank_num_of_non_zeros, "/", len(ranks) h2_emu_vs_gmt = ROOT.TH2D("{f}_comparison1".format(f=pattern), "", 64, 0, 64, 8, 1, 9) mucnt = -1