5 #include "RooGlobalFunc.h"
6 #include "RooRealVar.h"
7 #include "RooDataSet.h"
8 #include "RooBreitWigner.h"
9 #include "RooDataHist.h"
10 #include "RooFitResult.h"
25 verbose_ = parameters_.getParameter<
bool>(
"verbose");
28 cout <<
">>> Constructor (PhotonDataCertification) <<<" << endl;
35 using namespace RooFit;
37 std::cout <<
">>> endJob (PhotonDataCertification) <<<" << std::endl;
41 reportSummary_ = ibooker.
bookFloat(
"reportSummary");
42 reportSummaryMap_ = ibooker.
book2D(
"reportSummaryMap",
"reportSummaryMap", 3, 0, 3, 1, 0, 1);
44 TH2F* reportSummaryMapTH2 = reportSummaryMap_->
getTH2F();
45 reportSummaryMapTH2->GetXaxis()->SetBinLabel(1,
"EB");
46 reportSummaryMapTH2->GetXaxis()->SetBinLabel(2,
"EE");
47 reportSummaryMapTH2->GetXaxis()->SetBinLabel(3,
"Total");
48 reportSummaryMapTH2->GetYaxis()->SetBinLabel(1,
"InvMassTest");
50 float EBResult = invMassZtest(
51 "Egamma/stdPhotonAnalyzer/InvMass/h_02_invMassIsoPhotonsEBarrel",
"invMassIsolatedPhotonsEB", igetter);
53 float EEResult = invMassZtest(
54 "Egamma/stdPhotonAnalyzer/InvMass/h_03_invMassIsoPhotonsEEndcap",
"invMassIsolatedPhotonsEE", igetter);
56 float AllResult = invMassZtest(
57 "Egamma/stdPhotonAnalyzer/InvMass/h_01_invMassAllIsolatedPhotons",
"invMassAllIsolatedPhotons", igetter);
60 std::cout <<
"EBResult: " << EBResult << std::endl;
61 std::cout <<
"EEResult: " << EEResult << std::endl;
62 std::cout <<
"AllResult: " << AllResult << std::endl;
65 reportSummaryMapTH2->SetBinContent(1, 1, EBResult);
66 reportSummaryMapTH2->SetBinContent(2, 1, EEResult);
67 reportSummaryMapTH2->SetBinContent(3, 1, AllResult);
68 reportSummary_->Fill(AllResult);
75 TestElem = igetter.
get(path);
76 if (TestElem ==
nullptr)
78 TH1F* TestHist = TestElem->
getTH1F();
79 if (TestHist ==
nullptr)
82 RooRealVar
mass(
"mass",
"Mass_{2#gamma}", 0, 200,
"GeV");
83 RooRealVar mRes(
"M_{Z}",
"Z Mass", ZMass, 70, 110);
84 RooRealVar gamma(
"#Gamma",
"#Gamma", ZWidth, 0, 10.0);
85 RooBreitWigner BreitWigner(
"BreitWigner",
"Breit-Wigner", mass, mRes, gamma);
86 RooDataHist
test(name, name, mass, TestHist);
88 BreitWigner.fitTo(test,
RooFit::Range(80, 100), RooFit::PrintLevel(-1000));
90 if (
std::abs(mRes.getValV() - ZMass) < ZWidth) {
92 }
else if (
std::abs(mRes.getValV() - ZMass) < gamma.getValV()) {
virtual TH2F * getTH2F() const
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
virtual void setCurrentFolder(std::string const &fullpath)
static PFTauRenderPlugin instance
PixelRecoRange< float > Range
PhotonDataCertification(const edm::ParameterSet &pset)
virtual TH1F * getTH1F() const
float invMassZtest(std::string path, TString name, DQMStore::IGetter &)
virtual MonitorElement * get(std::string const &fullpath) const
Abs< T >::type abs(const T &t)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
~PhotonDataCertification() override
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override