144 |
|
TH2F *efficiencymap = new TH2F((prefix+"efficiencymap").c_str(),"",(mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
145 |
|
TH2F *Neventsmap = new TH2F((prefix+"Neventsmap").c_str(),"", (mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
146 |
|
TH2F *ipointmap = new TH2F((prefix+"ipointmap").c_str(),"", (mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
147 |
+ |
TH2F *syspdfmap = new TH2F((prefix+"syspdfmap"+any2string(jzbSel)).c_str(),"",(mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
148 |
+ |
TH2F *systotmap = new TH2F((prefix+"systotmap"+any2string(jzbSel)).c_str(),"",(mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
149 |
+ |
TH2F *sysstatmap = new TH2F((prefix+"sysstatmap"+any2string(jzbSel)).c_str(),"",(mgluend-mglustart)/mglustep+1,mglustart-0.5*mglustep,mgluend+0.5*mglustep,(mLSPend-mLSPstart)/mLSPstep+1,mLSPstart-0.5*mLSPstep,mLSPend+0.5*mLSPstep); |
150 |
+ |
|
151 |
+ |
|
152 |
+ |
|
153 |
+ |
|
154 |
|
float rightmargin=gStyle->GetPadRightMargin(); |
155 |
|
gStyle->SetPadRightMargin(0.15); |
156 |
|
|
195 |
|
float sys_jes = systematics[0][5]; // Jet Energy Scale |
196 |
|
float sys_jsu = systematics[0][6]; // JZB scale uncertainty |
197 |
|
float sys_res = systematics[0][7]; // resolution |
198 |
+ |
float sys_pdf = 0; |
199 |
+ |
if(systematics[0].size()>9) sys_pdf = systematics[0][9]; // PDF |
200 |
|
efficiencymap->Fill(mglu,mlsp,mceff); |
201 |
|
efficiencymap->SetBinError(efficiencymap->FindBin(mglu,mlsp),mcefferr);//blublu |
202 |
|
|
207 |
|
if(!systematicsonly&&!efficiencyonly) { |
208 |
|
dout << "Calculating limit now for "<<massgluname<<"="<<mglu<<" , "<<massLSPname<<"="<<mlsp <<endl; |
209 |
|
vector<float> sigmas; |
210 |
< |
string plotfilename=(string)(TString((scansample.collection)[0].samplename)+TString(massgluname)+TString(any2string(mglu))+TString("__")+TString(massLSPname)+TString(any2string(mlsp)))+TString(".png"); |
210 |
> |
string plotfilename=(string)(TString((scansample.collection)[0].samplename)+TString(massgluname)+TString(any2string(mglu))+TString("__")+TString(massLSPname)+TString(any2string(mlsp))+TString(".png")); |
211 |
|
do_limit_wrapper(mceff,toterr,ibin,mcjzb,sigmas,plotfilename); |
212 |
|
cout << "back in " << __FUNCTION__ << endl; |
213 |
|
if(sigmas[0]>-0.5) { // negative sigmas are the error signature of do_limit_wrapper, so we want to exclude them. |
215 |
|
sysjesmap->Fill(mglu,mlsp,sys_jes); |
216 |
|
sysjsumap->Fill(mglu,mlsp,sys_jsu); |
217 |
|
sysresmap->Fill(mglu,mlsp,sys_res); |
218 |
+ |
syspdfmap->Fill(mglu,mlsp,sys_pdf); |
219 |
+ |
systotmap->Fill(mglu,mlsp,toterr/mceff);//total relative (!) error |
220 |
+ |
sysstatmap->Fill(mglu,mlsp,mcefferr);//total relative (!) error |
221 |
|
efficiencymap->Fill(mglu,mlsp,result); |
222 |
|
dout << "A limit has been added at " << sigmas[0] << " for m_{glu}="<<mglu << " and m_{lsp}="<<mlsp<<endl; |
223 |
|
} //end of if sigma is positive |
227 |
|
sysjesmap->Fill(mglu,mlsp,sys_jes); |
228 |
|
sysjsumap->Fill(mglu,mlsp,sys_jsu); |
229 |
|
sysresmap->Fill(mglu,mlsp,sys_res); |
230 |
+ |
syspdfmap->Fill(mglu,mlsp,sys_pdf); |
231 |
+ |
systotmap->Fill(mglu,mlsp,toterr/mceff);//total relative (!) error |
232 |
+ |
sysstatmap->Fill(mglu,mlsp,mcefferr);//total relative (!) error |
233 |
|
efficiencymap->Fill(mglu,mlsp,result); |
234 |
|
} |
235 |
|
}//efficiency is valid |
240 |
|
prepare_scan_axis(sysjesmap,ismSUGRA); |
241 |
|
prepare_scan_axis(sysjsumap,ismSUGRA); |
242 |
|
prepare_scan_axis(sysresmap,ismSUGRA); |
243 |
+ |
prepare_scan_axis(syspdfmap,ismSUGRA); |
244 |
+ |
prepare_scan_axis(systotmap,ismSUGRA); |
245 |
+ |
prepare_scan_axis(sysstatmap,ismSUGRA); |
246 |
|
|
247 |
|
if(!systematicsonly&&!efficiencyonly) { |
248 |
|
limcanvas->cd(); |
261 |
|
sysjesmap->Write(); |
262 |
|
sysjsumap->Write(); |
263 |
|
efficiencymap->Write(); |
264 |
+ |
syspdfmap->Write(); |
265 |
+ |
systotmap->Write(); |
266 |
+ |
sysstatmap->Write(); |
267 |
|
Neventsmap->Write(); |
268 |
|
ipointmap->Write(); |
269 |
|
outputfile->Close(); |
304 |
|
efficiencymap->Write(); |
305 |
|
Neventsmap->Write(); |
306 |
|
ipointmap->Write(); |
307 |
+ |
syspdfmap->Write(); |
308 |
+ |
systotmap->Write(); |
309 |
+ |
sysstatmap->Write(); |
310 |
|
outputfile->Close(); |
311 |
|
} |
312 |
|
}//end of systematics only |