34 iConfig.getUntrackedParameter<edm::
InputTag>(
"jetTag"))),
36 iConfig.getUntrackedParameter<edm::
InputTag>(
"metTag1"))),
38 iConfig.getUntrackedParameter<edm::
InputTag>(
"metTag2"))),
40 iConfig.getUntrackedParameter<edm::
InputTag>(
"metTag3"))),
42 iConfig.getUntrackedParameter<edm::
InputTag>(
"metTag4"))) {
53 "dijet_mass",
"dijet resonance invariant mass, barrel region", 100, 0,
56 iBooker.
book1D(
"njets",
"jet multiplicity", 10, 0, 10);
60 iBooker.
book1D(
"njets30",
"jet multiplicity, pt > 30 GeV", 10, 0, 10);
64 "inclusive_jet_pt",
"inclusive jet Pt spectrum", 100, 0, 1000);
66 "inclusive_jet_pt_barrel",
"inclusive jet Pt, eta < 1.3", 100, 0, 1000);
68 iBooker.
book1D(
"inclusive_jet_pt_forward",
69 "inclusive jet Pt, 3.0 < eta < 5.0", 100, 0, 1000);
71 iBooker.
book1D(
"inclusive_jet_pt_endcap",
72 "inclusive jet Pt, 1.3 < eta < 3.0", 100, 0, 1000);
76 iBooker.
book1D(
"leading_jet_pt",
"leading jet Pt", 100, 0, 1000);
78 "leading_jet_pt_barrel",
"leading jet Pt, eta < 1.3", 100, 0, 1000);
80 iBooker.
book1D(
"leading_jet_pt_forward",
81 "leading jet Pt, 3.0 < eta < 5.0", 100, 0, 1000);
83 "leading_jet_pt_endcap",
"leading jet Pt, 1.3 < eta < 3.0", 100, 0, 1000);
88 "movers_met",
"MET over Sum ET for basic MET collection", 50, 0, 1);
90 "moverl_met",
"MET over leading jet Pt for basic MET collection", 50, 0,
94 "movers_metho",
"MET over Sum ET for MET HO collection", 50, 0, 1);
96 iBooker.
book1D(
"moverl_metho",
97 "MET over leading jet Pt for MET HO collection", 50, 0, 2);
100 "movers_metnohf",
"MET over Sum ET for MET no HF collection", 50, 0, 1);
102 "moverl_metnohf",
"MET over leading jet Pt for MET no HF collection", 50,
106 iBooker.
book1D(
"movers_metnohfho",
107 "MET over Sum ET for MET no HF HO collection", 50, 0, 1);
109 "moverl_metnohfho",
"MET over leading jet Pt for MET no HF HO collection",
114 iBooker.
book1D(
"inclusive_jet_EMF",
"inclusive jet EMF", 50, -1, 1);
116 iBooker.
book1D(
"leading_jet_EMF",
"leading jet EMF", 50, -1, 1);
118 iBooker.
book1D(
"second_jet_EMF",
"second jet EMF", 50, -1, 1);
120 iBooker.
book1D(
"third_jet_EMF",
"third jet EMF", 50, -1, 1);
126 CaloMETCollection::const_iterator met_iter;
127 for (met_iter = metcollection.begin(); met_iter != metcollection.end();
129 float mex = met_iter->momentum().x();
130 float mey = met_iter->momentum().y();
131 float met =
sqrt(mex * mex + mey * mey);
132 float sumet = met_iter->sumEt();
133 metovers = (met / sumet);
142 CaloMETCollection::const_iterator met_iter;
143 for (met_iter = metcollection.begin(); met_iter != metcollection.end();
145 float mex = met_iter->momentum().x();
146 float mey = met_iter->momentum().y();
147 float met =
sqrt(mex * mex + mey * mey);
148 metoverl = (met / ljpt);
158 CaloJetCollection::const_iterator jet_iter;
180 float leading_jetpt = 0;
181 float leading_jeteta = 0;
191 const float etabins[83] = {
192 -5.191, -4.889, -4.716, -4.538, -4.363, -4.191, -4.013, -3.839, -3.664,
193 -3.489, -3.314, -3.139, -2.964, -2.853, -2.650, -2.500, -2.322, -2.172,
194 -2.043, -1.930, -1.830, -1.740, -1.653, -1.566, -1.479, -1.392, -1.305,
195 -1.218, -1.131, -1.044, -.957, -.879, -.783, -.696, -.609, -.522,
196 -.435, -.348, -.261, -.174, -.087, 0, .087, .174, .261,
197 .348, .435, .522, .609, .696, .783, .879, .957, 1.044,
198 1.131, 1.218, 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,
199 1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853, 2.964, 3.139,
200 3.314, 3.489, 3.664, 3.839, 4.013, 4.191, 4.363, 4.538, 4.889,
203 for (jet_iter = jets.begin(); jet_iter != jets.end(); ++jet_iter) {
207 float jet_pt = jet_iter->
pt();
208 float jet_eta = jet_iter->eta();
209 float jet_phi = jet_iter->phi();
213 MEcontainer_[
"inclusive_jet_EMF"]->Fill(jet_iter->emEnergyFraction());
219 if (jet_eta <= 1.3) {
221 if (nbarreljets == 0) {
222 leadingbarreljet = jets[(njets - 1)];
224 }
else if (nbarreljets == 1) {
225 secondbarreljet = jets[(njets - 1)];
232 else if (jet_eta <= 3.0 && jet_eta > 1.3) {
234 }
else if (jet_eta <= 5.0 && jet_eta > 3.0) {
239 if ((jet_pt) > 30) njets30++;
242 if (jet_pt > leading_jetpt) {
243 leading_jetpt = jet_pt;
244 leading_jeteta = jet_eta;
248 for (
int eit = 0; eit < 81; eit++) {
249 for (
int pit = 0; pit < 72; pit++) {
250 float low_eta = etabins[eit];
251 float high_eta = etabins[eit + 1];
252 float low_phi = (-
M_PI) + pit * (
M_PI / 36);
253 float high_phi = low_phi + (
M_PI / 36);
254 if (jet_eta > low_eta && jet_eta < high_eta && jet_phi > low_phi &&
255 jet_phi < high_phi) {
267 if (leading_jeteta <= 1.3) {
268 MEcontainer_[
"leading_jet_pt_barrel"]->Fill(leading_jetpt);
269 }
else if (leading_jeteta <= 3.0 && leading_jeteta > 1.3) {
270 MEcontainer_[
"leading_jet_pt_endcap"]->Fill(leading_jetpt);
271 }
else if (leading_jeteta <= 5.0 && leading_jeteta > 3.0) {
272 MEcontainer_[
"leading_jet_pt_forward"]->Fill(leading_jetpt);
291 if (jets.size() >= 1) {
292 MEcontainer_[
"leading_jet_EMF"]->Fill(jets[0].emEnergyFraction());
293 if (jets.size() >= 2) {
294 MEcontainer_[
"second_jet_EMF"]->Fill(jets[1].emEnergyFraction());
295 if (jets.size() >= 3) {
296 MEcontainer_[
"third_jet_EMF"]->Fill(jets[2].emEnergyFraction());
303 if (nbarreljets == 2) {
304 if (leadingbarreljet.
energy() > 0 && secondbarreljet.
energy() > 0) {
306 leadingbarreljet.
p4() + secondbarreljet.
p4();
307 float dijet_mass = DiJet.mass();
edm::EDGetTokenT< reco::CaloMETCollection > metToken1_
float moverl(const reco::CaloMETCollection &metcollection, float &ljpt)
void analyze(const edm::Event &, const edm::EventSetup &)
Jets made from CaloTowers.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::CaloMETCollection > metToken2_
virtual double pt() const
transverse momentum
std::map< std::string, MonitorElement * > MEcontainer_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
virtual double energy() const
energy
edm::EDGetTokenT< reco::CaloMETCollection > metToken4_
MonitorElement * book1D(Args &&...args)
edm::EDGetTokenT< reco::CaloMETCollection > metToken3_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
float movers(const reco::CaloMETCollection &metcollection)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
QcdHighPtDQM(const edm::ParameterSet &)
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
edm::EDGetTokenT< reco::CaloJetCollection > jetToken_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects