예제 #1
0
    return lumi

if __name__ == "__main__":

    style1=GetStyleHtt()
    style1.cd()

    x_att1, y_att1 = np.loadtxt('att.txt', unpack=True)
    x_att=array("d",x_att1)
    y_att=array("d",y_att1)
    gatt = ROOT.TGraph(len(x_att), x_att,y_att)

    x_amm, y_amm = np.loadtxt('amm.txt', unpack=True)
    for i in range(0,len(x_amm)):
        BRmm=gamma_mu(1,float(x_amm[i]),1)
        BRtt=gamma_tau(1,float(x_amm[i]),1)
        #y_amm[i]=y_amm[i]*BRtt/BRmm
        y_amm[i]=100*y_amm[i]
    gamm = ROOT.TGraph(len(x_amm), x_amm.flatten('C'),y_amm.flatten('C'))

    canvas = MakeCanvas("asdf","asdf",800,800)
    canvas.cd()
    canvas.SetLogy()
    gamm.Draw("AC")
    gamm.SetLineColor(ROOT.EColor.kAzure-1)
    gamm.SetLineStyle(7)
    gamm.GetXaxis().SetRangeUser(25,80);
    gamm.GetXaxis().SetLimits(25,80);
    gamm.SetMinimum(5.0);
    gamm.SetMaximum(200);
    gamm.GetXaxis().SetTitle("m_{a} (GeV)");
    mintanbeta=0.1
    maxtanbeta=5
    n=100
    step=(maxtanbeta-mintanbeta)/n
    BRmm=1
    BRtt=1
    BRbb=1
    a_ymmbb=[]
    a_x=[]
    a_ymmtt=[]
    for i in range(0,100):
       tanbeta=mintanbeta+step*i
       width=get_total_width(args.model,float(args.ma),tanbeta)
       BRmm=gamma_mu(tanbeta,float(args.ma),args.model)/width
       BRtt=gamma_tau(tanbeta,args.ma,args.model)/width
       BRbb=gamma_quarks(tanbeta,args.ma,args.model,6)/width
       a_ymmbb.append(limit_mmbb1*0.00017/(2*BRbb*BRmm))
       a_ymmtt.append(limit_mmtt1/(BRtt*BRtt))
       #print limit_mmbb1,limit_mmtt1
       #print BRbb,BRmm,BRtt
       #print limit_mmbb1*0.00017/(2*BRbb*BRmm),limit_mmtt1/(BRtt*BRtt)
       a_x.append(tanbeta)

    x = array("d", a_x)
    ymmbb = array("d", a_ymmbb)
    ymmtt = array("d", a_ymmtt)

    gmmtt = ROOT.TGraph(len(x),x,ymmtt)
    gmmbb = ROOT.TGraph(len(x),x,ymmbb)
예제 #3
0
    parser = argparse.ArgumentParser()
    parser.add_argument('--model', type=int, default='1', help="Which type of 2HDM?")
    parser.add_argument('--tanbeta', type=float, default='1', help="Which tan beta?")

    args = parser.parse_args()

    style1=GetStyleHtt()
    style1.cd()

    #### h->aa->mmtt ####
    x_mmtt1, y_mmtt1 = np.loadtxt('mmtt.txt', unpack=True)
    x_mmtt=array("d",x_mmtt1)
    y_mmtt=array("d",y_mmtt1)
    for i in range(0,len(x_mmtt)):
        width=get_total_width(args.model,float(x_mmtt[i]),args.tanbeta)
        BRtt=gamma_tau(args.tanbeta,float(x_mmtt[i]),args.model)/width
        y_mmtt[i]=y_mmtt[i]/(BRtt*BRtt)
    gmmtt = ROOT.TGraph(len(x_mmtt), x_mmtt,y_mmtt)

    #### h->aa->mmbb ####
    x_mmbb, y_mmbb = np.loadtxt('mmbb.txt', unpack=True)
    for i in range(0,len(x_mmbb)):
        width=get_total_width(args.model,float(x_mmbb[i]),args.tanbeta)
        BRmm=gamma_mu(args.tanbeta,float(x_mmbb[i]),args.model)/width
        BRbb=gamma_quarks(args.tanbeta,float(x_mmbb[i]),args.model,6)/width
	y_mmbb[i]=y_mmbb[i]*0.00017
        y_mmbb[i]=y_mmbb[i]/(2*BRmm*BRbb)
    gmmbb = ROOT.TGraph(len(x_mmbb), x_mmbb.flatten('C'),y_mmbb.flatten('C'))

    #### h->aa->tttt (HIG-14-019) ####
    x_tttt1, y_tttt1 = np.loadtxt('tttt1.txt', unpack=True)
 BRmm=1
 BRtt=1
 BRbb=1
 a_y1=[]
 a_y2=[]
 a_y3=[]
 a_y4=[]
 a_x=[]
 for i in range(0,100):
    tanbeta=mintanbeta+step*i
    width1=get_total_width(1,float(args.ma),tanbeta)
    width2=get_total_width(2,float(args.ma),tanbeta)
    width3=get_total_width(3,float(args.ma),tanbeta)
    width4=get_total_width(4,float(args.ma),tanbeta)
    BRmm1=gamma_mu(tanbeta,float(args.ma),1)/width1
    BRtt1=gamma_tau(tanbeta,args.ma,1)/width1
    BRbb1=gamma_quarks(tanbeta,args.ma,1,6)/width1
    BRmm2=gamma_mu(tanbeta,float(args.ma),2)/width2
    BRtt2=gamma_tau(tanbeta,args.ma,2)/width2
    BRbb2=gamma_quarks(tanbeta,args.ma,2,6)/width2
    BRmm3=gamma_mu(tanbeta,float(args.ma),3)/width3
    BRtt3=gamma_tau(tanbeta,args.ma,3)/width3
    BRbb3=gamma_quarks(tanbeta,args.ma,3,6)/width3
    BRmm4=gamma_mu(tanbeta,float(args.ma),4)/width4
    BRtt4=gamma_tau(tanbeta,args.ma,4)/width4
    BRbb4=gamma_quarks(tanbeta,args.ma,4,6)/width4
    if args.channel=="mmtt":
       a_y1.append(2*BRtt1*BRmm1)
       a_y2.append(2*BRtt2*BRmm2)
       a_y3.append(2*BRtt3*BRmm3)
       a_y4.append(2*BRtt4*BRmm4)
    maxbeta=5
    if (args.model==4):
       minbeta=0.28
       maxbeta=0.9

    x_mmtt1, y_mmtt1 = np.loadtxt('mmtt.txt', unpack=True)
    x_mmtt=array("d",x_mmtt1)
    y_mmtt=array("d",y_mmtt1)
    hist=ROOT.TH2F("hist","hist",len(x_mmtt)-1,x_mmtt[0],x_mmtt[len(x_mmtt)-1],binbeta,minbeta,maxbeta)
    for b in range(0,binbeta+1):
	tanbeta=0.001+minbeta+1.0*b*(maxbeta-minbeta)/(binbeta)
        for i in range(0,len(x_mmtt)):
	   #for b in range(0,binbeta):
	   #tanbeta=minbeta+1.0*b*(maxbeta-minbeta)/binbeta
           width=get_total_width(args.model,float(x_mmtt[i]),tanbeta)
           BRtt=gamma_tau(tanbeta,float(x_mmtt[i]),args.model)/width
	   y=y_mmtt[i]/(BRtt*BRtt)
	   print x_mmtt[i],tanbeta,y
           hist.Fill(x_mmtt[i],1.0*tanbeta,y)
    #hist.SetContour(500)

    canvas = MakeCanvas("asdf","asdf",800,800)
    canvas.SetRightMargin(0.2)
    canvas.SetLeftMargin(0.15)
    canvas.cd()
    canvas.SetLogz()
    hist.GetXaxis().SetTitle("m_{a} (GeV)")
    hist.GetYaxis().SetTitle("tan#beta")
    hist.GetZaxis().SetTitle("#frac{#sigma(h)}{#sigma_{SM}} #times B(h#rightarrowaa)")
    if (args.model==3):
       hist.GetZaxis().SetRangeUser(0.04,1.6)