#define RunSignalPoint_cxx #include #include "TCanvas.h" #include "SimPipeline.cpp" using namespace std; void RunSignalPoint() { /************************************************* First, process backgrounds *************************************************/ //ttbar Sample* ttbar0j = new Sample("", "ttbar0j", 393200, 1, 1, 100, 600, 100, 1100, 5, 5); ttbar0j->Process("ttbar0j.lhco"); Sample* ttbar1j = new Sample("", "ttbar1j", 37000, 1, 1, 100, 600, 100, 1100, 5, 5); ttbar1j->Process("ttbar1j.lhco"); Sample* ttbar2j = new Sample("", "ttbar2j", 74000, 1, 1, 100, 600, 100, 1100, 5, 5); ttbar2j->Process("ttbar2j.lhco"); //W Sample* Wp1j = new Sample("", "Wp1j", 51930, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wp1j->Process("W+1j.lhco"); Sample* Wp2j = new Sample("", "Wp2j", 63070, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wp2j->Process("W+2j.lhco"); Sample* Wp3j = new Sample("", "Wp3j", 125200, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wp3j->Process("W+3j.lhco"); Sample* Wm1j = new Sample("", "Wm1j", 26910, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wm1j->Process("W-1j.lhco"); Sample* Wm2j = new Sample("", "Wm2j", 32860, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wm2j->Process("W-2j.lhco"); Sample* Wm3j = new Sample("", "Wm3j", 60300, 1.15, 1, 100, 600, 100, 1100, 5, 5); Wm3j->Process("W-3j.lhco"); //Z Sample* Z1j = new Sample("", "Z1j", 28780, 1.27, 1, 100, 600, 100, 1100, 5, 5); Z1j->Process("Z1j.lhco"); Sample* Z2j = new Sample("", "Z2j", 34410, 1.27, 1, 100, 600, 100, 1100, 5, 5); Z2j->Process("Z2j.lhco"); Sample* Z3j = new Sample("", "Z3j", 61030, 1.27, 1, 100, 600, 100, 1100, 5, 5); Z3j->Process("Z3j.lhco"); //Now combine backgrounds into the pipeline SimPipeline* p = new SimPipeline; p->AddBackground(ttbar0j); //Add all backgrounds to the pipeline p->AddBackground(ttbar1j); p->AddBackground(ttbar2j); p->AddBackground(Wp1j); p->AddBackground(Wp2j); p->AddBackground(Wp3j); p->AddBackground(Wm1j); p->AddBackground(Wm2j); p->AddBackground(Wm3j); p->AddBackground(Z1j); p->AddBackground(Z2j); p->AddBackground(Z3j); p->ComputeSignalLimits(); //Compute signal limits from all backgrounds cout<<"BACKGROUND TABLES"<total_background[0]).Print(); (p->total_background[1]).Print(); (p->total_background[2]).Print(); (p->total_background[3]).Print(); cout<<"SIGNAL LIMITS"<signal_limits[0]).Print(); (p->signal_limits[1]).Print(); (p->signal_limits[2]).Print(); (p->signal_limits[3]).Print(); /************************************************* Second, process all signal files at signal point *************************************************/ Sample* s_a_0j = new Sample("s_a_0j", "signal", 419, 1, 1, 100, 600, 100, 1100, 5, 5); s_a_0j->Process("g1100b600_apgs.lhco"); Sample* s_b_0j = new Sample("s_b_0j", "signal", 410, 1, 1, 100, 600, 100, 1100, 5, 5); s_b_0j->Process("g1100b600_bpgs.lhco"); Sample* s_c_0j = new Sample("s_c_0j", "signal", 411, 1, 1, 100, 600, 100, 1100, 5, 5); s_c_0j->Process("g1100b600_cpgs.lhco"); Sample* s_d_0j = new Sample("s_d_0j", "signal", 418, 1, 1, 100, 600, 100, 1100, 5, 5); s_d_0j->Process("g1100b600_dpgs.lhco"); Sample* s_e_0j = new Sample("s_e_0j", "signal", 421, 1, 1, 100, 600, 100, 1100, 5, 5); s_e_0j->Process("g1100b600_epgs.lhco"); Sample* s_a_1j = new Sample("s_a_1j", "signal", 333, 1, 1, 100, 600, 100, 1100, 5, 5); s_a_1j->Process("g1100b600_japgs.lhco"); Sample* s_b_1j = new Sample("s_b_1j", "signal", 333, 1, 1, 100, 600, 100, 1100, 5, 5); s_b_1j->Process("g1100b600_jbpgs.lhco"); Sample* s_c_1j = new Sample("s_c_1j", "signal", 339, 1, 1, 100, 600, 100, 1100, 5, 5); s_c_1j->Process("g1100b600_jcpgs.lhco"); Sample* s_d_1j = new Sample("s_d_1j", "signal", 336, 1, 1, 100, 600, 100, 1100, 5, 5); s_d_1j->Process("g1100b600_jdpgs.lhco"); Sample* s_e_1j = new Sample("s_e_1j", "signal", 339, 1, 1, 100, 600, 100, 1100, 5, 5); s_e_1j->Process("g1100b600_jepgs.lhco"); Sample* s_a_2j = new Sample("s_a_2j", "signal", 338, 1, 1, 100, 600, 100, 1100, 5, 5); s_a_2j->Process("g1100b600_jjapgs.lhco"); Sample* s_b_2j = new Sample("s_b_2j", "signal", 335, 1, 1, 100, 600, 100, 1100, 5, 5); s_b_2j->Process("g1100b600_jjbpgs.lhco"); Sample* s_c_2j = new Sample("s_c_2j", "signal", 338, 1, 1, 100, 600, 100, 1100, 5, 5); s_c_2j->Process("g1100b600_jjcpgs.lhco"); Sample* s_d_2j = new Sample("s_d_2j", "signal", 343, 1, 1, 100, 600, 100, 1100, 5, 5); s_d_2j->Process("g1100b600_jjdpgs.lhco"); Sample* s_e_2j = new Sample("s_e_2j", "signal", 339, 1, 1, 100, 600, 100, 1100, 5, 5); s_e_2j->Process("g1100b600_jjepgs.lhco"); //Now we combine the signals Sample* total_signal = new Sample("", "signal", 1, 1, 1, 100, 600, 100, 1100, 5, 5); for (Int_t j = 0; j < 4; j++) { total_signal->table[j] += (s_a_0j->table[j]); total_signal->table[j] += (s_b_0j->table[j]); total_signal->table[j] += (s_c_0j->table[j]); total_signal->table[j] += (s_d_0j->table[j]); total_signal->table[j] += (s_e_0j->table[j]); total_signal->table[j] += (s_a_1j->table[j]); total_signal->table[j] += (s_b_1j->table[j]); total_signal->table[j] += (s_c_1j->table[j]); total_signal->table[j] += (s_d_1j->table[j]); total_signal->table[j] += (s_e_1j->table[j]); total_signal->table[j] += (s_a_2j->table[j]); total_signal->table[j] += (s_b_2j->table[j]); total_signal->table[j] += (s_c_2j->table[j]); total_signal->table[j] += (s_d_2j->table[j]); total_signal->table[j] += (s_e_2j->table[j]); } cout<<"SIGNAL TABLES"<table[0].Print(); total_signal->table[1].Print(); total_signal->table[2].Print(); total_signal->table[3].Print(); p->AddSignal(total_signal); p->GetSignalExclusions(); }