#include "thdm.h" #include #include #include #include #include #include #include using namespace std; void xsvsm(double cba, int type, int tb=10, bool noVBF = true) { thdm t; TGraph2D* width = new TGraph2D(100); width->SetTitle("; m_{A} [ GeV ] ;tan#beta;#sigma * BR [ pb ] "); width->SetDirectory(0); int ipt(0); double epsilon(0.00001); while (t.next()) { //std::cout << t.mH << std::endl; if (t.type == type && // mH == mA == mCh fabs(t.mA-t.mH) < epsilon && fabs(t.mH-t.mCh) < epsilon && // mass t.mA < 700 + epsilon && // cba/tanb t.cosba() > cba-epsilon && t.cosba() < cba+epsilon && t.tanb < tb+epsilon && t.tanb > 0.5-epsilon // theory constraints status // && t.status == 0 ){ // double tbtest = (type==1 ? 6. : 2.); // if (t.cosba() > cba-epsilon && t.cosba() < cba+epsilon && t.tanb > tbtest-epsilon && t.tanb < tbtest+epsilon && (int(t.mA) % 100) == 0) // std::cout << "AZh" << " " // << t.type << " " << t.mA << " " // << t.cosba() << " " << t.tanb << " " // << (t.xsec_A_gg + (noVBF ? 0 : t.xsec_A_VBF)) * t.br_A_Zh // << std::endl; //std::cout << t.mA << " " << t.cosba() << " " << t.tanb << " " << t.br_H_ZZ << std::endl; width->SetPoint(ipt++, t.mH,t.tanb,(t.xsec_A_gg + (noVBF ? 0 : t.xsec_A_VBF)) * t.br_A_Zh); } } std::cout << "Plotting ..." << std::endl; t.label->AddText(Form("#sigma * BR(Zh) #bf{#it{ATLAS}} Internal, SusHi+2HDMC, Type %d, cos(#beta-#alpha)=%.1f",type,cba)); TString fn = Form("xsectbr_Zh_mH_vs_tanb_type%d_cba_%.1f_tanb_%d",type, cba, tb); TCanvas* canvas = new TCanvas("","",800,600); gPad->SetRightMargin(0.15); gStyle->SetPaintTextFormat(".1f"); //gStyle->SetPalette(4,0); width->SetMarkerSize(0.7); width->Draw("COLZ"); width->Draw("TEXT SAME"); //gPad->SetLogy(true); gPad->RedrawAxis(); t.label->Draw(); canvas->SaveAs("plots/"+fn+".eps"); canvas->Print("plots/"+fn+".png"); delete canvas; } void xs(int m, int type, int tb=10, bool noVBF = true) { thdm t; TGraph2D* width = new TGraph2D(100); width->SetTitle("; cos(#beta-#alpha);tan#beta;#sigma * BR [ fb ] "); width->SetDirectory(0); int ipt(0); double epsilon(0.00001); while (t.next()) { //std::cout << t.mH << std::endl; if (t.type == type && // mH == mA == mCh fabs(t.mA-t.mH) < epsilon && fabs(t.mH-t.mCh) < epsilon && // mass fabs(t.mA-m) < epsilon && // cba/tanb fabs(t.cosba()) < 0.99+epsilon && t.tanb < tb+epsilon && t.tanb > 0.5-epsilon // theory constraints status // && t.status == 0 ){ // double tbtest = (type==1 ? 6. : 2.); // if (t.cosba() > cba-epsilon && t.cosba() < cba+epsilon && t.tanb > tbtest-epsilon && t.tanb < tbtest+epsilon && (int(t.mA) % 100) == 0) // std::cout << "AZh" << " " // << t.type << " " << t.mA << " " // << t.cosba() << " " << t.tanb << " " // << (t.xsec_A_gg + (noVBF ? 0 : t.xsec_A_VBF)) * t.br_A_Zh // << std::endl; //std::cout << t.mA << " " << t.cosba() << " " << t.tanb << " " << t.br_H_ZZ << std::endl; width->SetPoint(ipt++, t.cosba(),t.tanb,(t.xsec_A_gg + (noVBF ? 0 : t.xsec_A_VBF)) * t.br_A_Zh * 0.033 * 2 * t.br_h_bb * 1000); } } std::cout << "Plotting ..." << std::endl; t.label->AddText(Form("#sigma * BR(Zh -> llbb) #bf{#it{ATLAS}} Internal, SusHi+2HDMC, Type %d, m_{H}=%d",type,m)); TString fn = Form("xsectbr_Zh_cosba_vs_tanb_type%d_%d_tanb_%d",type, m, tb); TCanvas* canvas = new TCanvas("","",800,600); gPad->SetRightMargin(0.15); gStyle->SetPaintTextFormat(".0f"); //gStyle->SetPalette(4,0); width->SetMarkerSize(0.7); width->Draw("COLZ"); width->Draw("TEXT SAME"); gPad->SetLogy(true); gPad->RedrawAxis(); t.label->Draw(); canvas->SaveAs("plots/"+fn+".eps"); canvas->Print("plots/"+fn+".png"); delete canvas; } int main() { //xsvsm(0.1, 1, 10); //xsvsm(-0.1, 1, 10); //xsvsm(0.1, 2, 10); //xsvsm(-0.1, 2, 10); xs(300, 1, 20); xs(300, 2, 20); // xs(300, 3, 20); // xs(300, 4, 20); // xs(500, 1, 20); // xs(500, 2, 20); // xs(500, 3, 20); // xs(500, 4, 20); }