46 cout <<
"DijetMass: Maximum bin edge for Pt Hists = " << PtHistMax << endl;
53 m_file =
new TFile(histogramFile.c_str(),
"RECREATE");
58 ptAKunc = TH1F(
"ptAKunc",
"p_{T} of leading Jets (AK)", 50, 0.0, PtHistMax);
59 etaAKunc = TH1F(
"etaAKunc",
"#eta of leading Jets (AK)", 23, -1.0, 1.0);
60 phiAKunc = TH1F(
"phiAKunc",
"#phi of leading Jets (AK)", 72, -
M_PI,
M_PI);
61 m2jAKunc = TH1F(
"m2jAKunc",
"Dijet Mass of leading Jets (AK)", 100, 0.0, 2 * PtHistMax);
64 ptAKcor = TH1F(
"ptAKcor",
"p_{T} of leading Corrected Jets (AK)", 50, 0.0, PtHistMax);
65 etaAKcor = TH1F(
"etaAKcor",
"#eta of leading Corrected Jets (AK)", 23, -1.0, 1.0);
66 phiAKcor = TH1F(
"phiAKcor",
"#phi of leading Corrected Jets (AK)", 72, -
M_PI,
M_PI);
67 m2jAKcor = TH1F(
"m2jAKcor",
"Dijet Mass of leading Corrected Jets (AK)", 100, 0.0, 2 * PtHistMax);
70 ptICunc = TH1F(
"ptICunc",
"p_{T} of leading Jets (IC)", 50, 0.0, PtHistMax);
71 etaICunc = TH1F(
"etaICunc",
"#eta of leading Jets (IC)", 23, -1.0, 1.0);
72 phiICunc = TH1F(
"phiICunc",
"#phi of leading Jets (IC)", 72, -
M_PI,
M_PI);
73 m2jICunc = TH1F(
"m2jICunc",
"Dijet Mass of leading Jets (IC)", 100, 0.0, 2 * PtHistMax);
76 ptICcor = TH1F(
"ptICcor",
"p_{T} of leading Corrected Jets (IC)", 50, 0.0, PtHistMax);
77 etaICcor = TH1F(
"etaICcor",
"#eta of leading Corrected Jets (IC)", 23, -1.0, 1.0);
78 phiICcor = TH1F(
"phiICcor",
"#phi of leading Corrected Jets (IC)", 72, -
M_PI,
M_PI);
79 m2jICcor = TH1F(
"m2jICcor",
"Dijet Mass of leading Corrected Jets (IC)", 100, 0.0, 2 * PtHistMax);
82 ptKTunc = TH1F(
"ptKTunc",
"p_{T} of leading Jets (KT)", 50, 0.0, PtHistMax);
83 etaKTunc = TH1F(
"etaKTunc",
"#eta of leading Jets (KT)", 23, -1.0, 1.0);
84 phiKTunc = TH1F(
"phiKTunc",
"#phi of leading Jets (KT)", 72, -
M_PI,
M_PI);
85 m2jKTunc = TH1F(
"m2jKTunc",
"Dijet Mass of leading Jets (KT)", 100, 0.0, 2 * PtHistMax);
88 ptKTcor = TH1F(
"ptKTcor",
"p_{T} of leading Corrected Jets (KT)", 50, 0.0, PtHistMax);
89 etaKTcor = TH1F(
"etaKTcor",
"#eta of leading Corrected Jets (KT)", 23, -1.0, 1.0);
90 phiKTcor = TH1F(
"phiKTcor",
"#phi of leading Corrected Jets (KT)", 72, -
M_PI,
M_PI);
91 m2jKTcor = TH1F(
"m2jKTcor",
"Dijet Mass of leading Corrected Jets (KT)", 100, 0.0, 2 * PtHistMax);
94 ptSCunc = TH1F(
"ptSCunc",
"p_{T} of leading Jets (SC)", 50, 0.0, PtHistMax);
95 etaSCunc = TH1F(
"etaSCunc",
"#eta of leading Jets (SC)", 23, -1.0, 1.0);
96 phiSCunc = TH1F(
"phiSCunc",
"#phi of leading Jets (SC)", 72, -
M_PI,
M_PI);
97 m2jSCunc = TH1F(
"m2jSCunc",
"Dijet Mass of leading Jets (SC)", 100, 0.0, 2 * PtHistMax);
100 ptSCcor = TH1F(
"ptSCcor",
"p_{T} of leading Corrected Jets (SC)", 50, 0.0, PtHistMax);
101 etaSCcor = TH1F(
"etaSCcor",
"#eta of leading Corrected Jets (SC)", 23, -1.0, 1.0);
102 phiSCcor = TH1F(
"phiSCcor",
"#phi of leading Corrected Jets (SC)", 72, -
M_PI,
M_PI);
103 m2jSCcor = TH1F(
"m2jSCcor",
"Dijet Mass of leading Corrected Jets (SC)", 100, 0.0, 2 * PtHistMax);
114 typename JetCollection::const_iterator i_jet;
119 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
120 p4jet[jetInd] = i_jet->p4();
124 m2jAKunc.Fill((p4jet[0] + p4jet[1]).
mass());
125 ptAKunc.Fill(p4jet[0].Pt());
126 ptAKunc.Fill(p4jet[1].Pt());
127 etaAKunc.Fill(p4jet[0].
eta());
128 etaAKunc.Fill(p4jet[1].
eta());
129 phiAKunc.Fill(p4jet[0].phi());
130 phiAKunc.Fill(p4jet[1].phi());
136 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
137 p4jet[jetInd] = i_jet->p4();
141 m2jAKcor.Fill((p4jet[0] + p4jet[1]).
mass());
142 ptAKcor.Fill(p4jet[0].Pt());
143 ptAKcor.Fill(p4jet[1].Pt());
144 etaAKcor.Fill(p4jet[0].
eta());
145 etaAKcor.Fill(p4jet[1].
eta());
146 phiAKcor.Fill(p4jet[0].phi());
147 phiAKcor.Fill(p4jet[1].phi());
153 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
154 p4jet[jetInd] = i_jet->p4();
158 m2jICunc.Fill((p4jet[0] + p4jet[1]).
mass());
159 ptICunc.Fill(p4jet[0].Pt());
160 ptICunc.Fill(p4jet[1].Pt());
161 etaICunc.Fill(p4jet[0].
eta());
162 etaICunc.Fill(p4jet[1].
eta());
163 phiICunc.Fill(p4jet[0].phi());
164 phiICunc.Fill(p4jet[1].phi());
170 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
171 p4jet[jetInd] = i_jet->p4();
175 m2jICcor.Fill((p4jet[0] + p4jet[1]).
mass());
176 ptICcor.Fill(p4jet[0].Pt());
177 ptICcor.Fill(p4jet[1].Pt());
178 etaICcor.Fill(p4jet[0].
eta());
179 etaICcor.Fill(p4jet[1].
eta());
180 phiICcor.Fill(p4jet[0].phi());
181 phiICcor.Fill(p4jet[1].phi());
187 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
188 p4jet[jetInd] = i_jet->p4();
192 m2jKTunc.Fill((p4jet[0] + p4jet[1]).
mass());
193 ptKTunc.Fill(p4jet[0].Pt());
194 ptKTunc.Fill(p4jet[1].Pt());
195 etaKTunc.Fill(p4jet[0].
eta());
196 etaKTunc.Fill(p4jet[1].
eta());
197 phiKTunc.Fill(p4jet[0].phi());
198 phiKTunc.Fill(p4jet[1].phi());
204 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
205 p4jet[jetInd] = i_jet->p4();
209 m2jKTcor.Fill((p4jet[0] + p4jet[1]).
mass());
210 ptKTcor.Fill(p4jet[0].Pt());
211 ptKTcor.Fill(p4jet[1].Pt());
212 etaKTcor.Fill(p4jet[0].
eta());
213 etaKTcor.Fill(p4jet[1].
eta());
214 phiKTcor.Fill(p4jet[0].phi());
215 phiKTcor.Fill(p4jet[1].phi());
221 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
222 p4jet[jetInd] = i_jet->p4();
226 m2jSCunc.Fill((p4jet[0] + p4jet[1]).
mass());
227 ptSCunc.Fill(p4jet[0].Pt());
228 ptSCunc.Fill(p4jet[1].Pt());
229 etaSCunc.Fill(p4jet[0].
eta());
230 etaSCunc.Fill(p4jet[1].
eta());
231 phiSCunc.Fill(p4jet[0].phi());
232 phiSCunc.Fill(p4jet[1].phi());
238 for (i_jet = Jets->begin(); i_jet != Jets->end() && jetInd < 2; ++i_jet) {
239 p4jet[jetInd] = i_jet->p4();
243 m2jSCcor.Fill((p4jet[0] + p4jet[1]).
mass());
244 ptSCcor.Fill(p4jet[0].Pt());
245 ptSCcor.Fill(p4jet[1].Pt());
246 etaSCcor.Fill(p4jet[0].
eta());
247 etaSCcor.Fill(p4jet[1].
eta());
248 phiSCcor.Fill(p4jet[0].phi());
249 phiSCcor.Fill(p4jet[1].phi());
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_FWK_MODULE(type)
DijetMass< GenJet > DijetMassGenJets
void analyze(const edm::Event &, const edm::EventSetup &) override
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
DijetMass< PFJet > DijetMassPFJets
Abs< T >::type abs(const T &t)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
DijetMass(const edm::ParameterSet &)
T getParameter(std::string const &) const
DijetMass< CaloJet > DijetMassCaloJets