42 |
|
can->Divide(2,2); |
43 |
|
can->cd(1); |
44 |
|
|
45 |
– |
write_warning(__FUNCTION__,"JZB distribution at gen level seems to be screwed up"); |
46 |
– |
|
45 |
|
//we only want Z->ee and Z->mm for this (not Z->tautau) |
46 |
|
|
47 |
|
TCut em("!EventZToTaus"); |
48 |
|
|
49 |
|
//no FSR recovery |
50 |
< |
TH1F *negmll_noFSR = PhotonSamples.Draw("negmll_noFSR", "genFSRmll", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzb<0.1") && em, mc,PlottingSetup::luminosity); |
50 |
> |
TH1F *negmll_noFSR = PhotonSamples.Draw("negmll_noFSR", "genFSRmll", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzb<-0.1") && em, mc,PlottingSetup::luminosity); |
51 |
|
TH1F *posmll_noFSR = PhotonSamples.Draw("posmll_noFSR", "genFSRmll", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzb>0.1") && em, mc,PlottingSetup::luminosity); |
52 |
|
|
53 |
|
|
54 |
|
//with FSR recovery |
55 |
< |
TH1F *negmll_FSR = PhotonSamples.Draw("negmll_FSR", "genFSRmllg", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzbG<0.1") && em, mc,PlottingSetup::luminosity); |
55 |
> |
TH1F *negmll_FSR = PhotonSamples.Draw("negmll_FSR", "genFSRmllg", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzbG<-0.1") && em, mc,PlottingSetup::luminosity); |
56 |
|
TH1F *posmll_FSR = PhotonSamples.Draw("posmll_FSR", "genFSRmllg", 36, 20, 200, "m_{ll}^{gen}", "events",BaseCut && TCut("genFSRjzbG>0.1") && em, mc,PlottingSetup::luminosity); |
57 |
|
|
58 |
|
cout << "Integrals: " << endl; |
61 |
|
cout << " with FSR: JZB<0 : " << negmll_FSR->Integral() << endl; |
62 |
|
cout << " with FSR: JZB>0 : " << posmll_FSR->Integral() << endl; |
63 |
|
|
66 |
– |
negmll_FSR->Scale(1.0/negmll_FSR->Integral()); |
67 |
– |
posmll_FSR->Scale(1.0/posmll_FSR->Integral()); |
68 |
– |
|
69 |
– |
negmll_noFSR->Scale(1.0/negmll_noFSR->Integral()); |
70 |
– |
posmll_noFSR->Scale(1.0/posmll_noFSR->Integral()); |
71 |
– |
|
72 |
– |
|
64 |
|
can->cd(1)->SetLogy(1); |
65 |
|
can->cd(2)->SetLogy(1); |
66 |
|
// can->cd(3)->SetLogy(1); |
112 |
|
FSR->Draw(); |
113 |
|
|
114 |
|
|
115 |
< |
CompleteSave(can,"PhotonStudies/Recophotons/ComparePredObsZmass"); |
115 |
> |
CompleteSave(can,"PhotonStudies/Recophotons/ComparePredObsZmass_GEN"); |
116 |
|
|
117 |
|
|
118 |
|
cout << __FUNCTION__ << " : Still need to delete objects" << endl; |
119 |
+ |
delete FSR; |
120 |
+ |
delete ratioNoFSR; |
121 |
+ |
delete ratioFSR; |
122 |
+ |
delete negmll_noFSR; |
123 |
+ |
delete negmll_FSR; |
124 |
+ |
delete posmll_noFSR; |
125 |
+ |
delete posmll_FSR; |
126 |
|
delete can; |
127 |
|
} |
128 |
|
|
152 |
|
leg->Draw("same,histo"); |
153 |
|
DrawMCPrelim(); |
154 |
|
|
155 |
< |
CompleteSave(can,"PhotonStudies/Recophotons/DeltaR_Comparison_Matched_Unmatched_FSR"); |
155 |
> |
CompleteSave(can,"PhotonStudies/Recophotons/DeltaR_Comparison_Matched_Unmatched_FSR__Normalized"); |
156 |
|
|
157 |
+ |
MatchedFSR->Draw("histo"); |
158 |
+ |
MatchednoFSR->Draw("same,histo"); |
159 |
+ |
UnMatched->Draw("same,histo"); |
160 |
+ |
leg->SetHeader("DY MC:"); |
161 |
+ |
leg->Draw("same,histo"); |
162 |
+ |
DrawMCPrelim(); |
163 |
+ |
CompleteSave(can,"PhotonStudies/Recophotons/DeltaR_Comparison_Matched_Unmatched_FSR"); |
164 |
|
delete can; |
165 |
|
|
166 |
|
|
304 |
|
CompleteSave(can,"PhotonStudies/Recophotons/CompareZmassToFinalStateLeptons"); |
305 |
|
|
306 |
|
|
307 |
< |
TH1F *RecoLL2 = PhotonSamples.Draw("RecoLL2","mll-genFSRmllg", 50,-100,100,"m_{ll}-m_{Z}^{gen} [GeV]", "events","mll>20&&genFSRmllg>20", mc,PlottingSetup::luminosity); |
308 |
< |
TH1F *FSRRll2 = PhotonSamples.Draw("FSRRll2","mllg-genFSRmllg", 50,-100,100,"m_{ll}-m_{Z}^{gen} [GeV]", "events","mllg>20&&genFSRmllg>20",mc,PlottingSetup::luminosity); |
307 |
> |
TH1F *RecoLL2 = PhotonSamples.Draw("RecoLL2","mll-genFSRmllg", 40,-100,100,"m_{ll}-m_{Z}^{gen} [GeV]", "events","mll>20&&genFSRmllg>20", mc,PlottingSetup::luminosity); |
308 |
> |
TH1F *FSRRll2 = PhotonSamples.Draw("FSRRll2","mllg-genFSRmllg", 40,-100,100,"m_{ll}-m_{Z}^{gen} [GeV]", "events","mllg>20&&genFSRmllg>20",mc,PlottingSetup::luminosity); |
309 |
|
|
310 |
|
RecoLL2->SetLineColor(TColor::GetColor("#FF4000"));//red |
311 |
|
FSRRll2->SetLineColor(TColor::GetColor("#194fff"));//blue |
314 |
|
phony->SetLineColor(kWhite); |
315 |
|
|
316 |
|
stringstream summary; |
317 |
< |
summary << "Before: Mean @ " << std::setprecision(3) << RecoLL2->GetMean() << ", RMS: " << std::setprecision(3) << RecoLL2->GetRMS(); |
318 |
< |
stringstream summary2; |
314 |
< |
summary2 << "After: Mean @ " << std::setprecision(3) << FSRRll2->GetMean() << ", RMS: " << std::setprecision(3) << FSRRll2->GetRMS() << ""; |
317 |
> |
summary << "#splitline{#splitline{Before: Mean : " << std::setprecision(3) << RecoLL2->GetMean() << "}{ RMS : " << std::setprecision(3) << RecoLL2->GetRMS() << "}"; |
318 |
> |
summary << "}{#splitline{After: Mean : " << std::setprecision(3) << FSRRll2->GetMean() << "}{ RMS : " << std::setprecision(3) << FSRRll2->GetRMS() << "}}"; |
319 |
|
|
320 |
|
TLegend *leg2 = new TLegend(0.6,0.7,0.89,0.89); |
321 |
|
leg2->SetFillColor(kWhite); |
322 |
< |
leg2->AddEntry(FullZ,"gen Z mass","l"); |
323 |
< |
leg2->AddEntry(RecoLL,"m_{ll}-m{Z}^{gen}: no FSRR","l"); |
324 |
< |
leg2->AddEntry(FSRRll,"m_{ll}-m{Z}^{gen}: FSRR","l"); |
321 |
< |
leg2->AddEntry(phony, summary.str().c_str(),"l"); |
322 |
< |
leg2->AddEntry(phony, summary2.str().c_str(),"l"); |
322 |
> |
//leg2->AddEntry(FullZ,"gen Z mass","l"); |
323 |
> |
leg2->AddEntry(RecoLL,"m_{ll}-m_{Z}^{gen}: no FSR recov","l"); |
324 |
> |
leg2->AddEntry(FSRRll,"m_{ll}-m_{Z}^{gen}: with FSR recov","l"); |
325 |
|
|
326 |
|
RecoLL2->DrawNormalized("histo"); |
327 |
|
FSRRll2->DrawNormalized("same,histo"); |
329 |
|
leg2->Draw("same,histo"); |
330 |
|
DrawMCPrelim(); |
331 |
|
|
332 |
+ |
TText *text = write_title(summary.str().c_str()); |
333 |
+ |
text->SetX(0.4); |
334 |
+ |
text->SetY(0.8); |
335 |
+ |
text->SetTextAlign(31); |
336 |
+ |
text->SetTextSize(0.025); |
337 |
+ |
text->Draw(); |
338 |
+ |
|
339 |
|
cout << "Mean (before recovery) : " << RecoLL2->GetMean() << " , RMS: " << RecoLL2->GetRMS() << endl; |
340 |
|
cout << "Mean (after recovery) : " << FSRRll2->GetMean() << " , RMS: " << FSRRll2->GetRMS() << endl; |
341 |
|
|
358 |
|
essentialcut=TCut(""); |
359 |
|
|
360 |
|
JZBvsmllClosure(); |
361 |
< |
/* CompareZmassToFinalStateLeptons(); |
362 |
< |
FSRPhotonVsUnmatchedVsMatchedPhoton(); |
361 |
> |
CompareZmassToFinalStateLeptons(); |
362 |
> |
FSRPhotonVsUnmatchedVsMatchedPhoton();/* |
363 |
|
FSRPhotonVsUnmatchedVsMatchedPhoton2D(); |
364 |
|
NumberOfPhotonsPerEvent(); |
365 |
|
CharacterizingFSRPhotons(); |
683 |
|
|
684 |
|
// GenPhotons::GenLevelStudies(); |
685 |
|
RecoPhotons::RecoLevelStudies(); |
686 |
+ |
write_info(__FUNCTION__,"Please change JZBAnalysis photon dR cuts to 0.1 and 0.3 instead of 0.1 and 0.5 - there's too much crap coming in between .3 and .5"); |
687 |
|
} |