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 theDbe->setCurrentFolder(
"Physics/QcdHighPt");
56 "dijet_mass",
"dijet resonance invariant mass, barrel region", 100, 0,
59 theDbe->book1D(
"njets",
"jet multiplicity", 10, 0, 10);
63 theDbe->book1D(
"njets30",
"jet multiplicity, pt > 30 GeV", 10, 0, 10);
67 "inclusive_jet_pt",
"inclusive jet Pt spectrum", 100, 0, 1000);
69 "inclusive_jet_pt_barrel",
"inclusive jet Pt, eta < 1.3", 100, 0, 1000);
71 theDbe->book1D(
"inclusive_jet_pt_forward",
72 "inclusive jet Pt, 3.0 < eta < 5.0", 100, 0, 1000);
74 theDbe->book1D(
"inclusive_jet_pt_endcap",
75 "inclusive jet Pt, 1.3 < eta < 3.0", 100, 0, 1000);
79 theDbe->book1D(
"leading_jet_pt",
"leading jet Pt", 100, 0, 1000);
81 "leading_jet_pt_barrel",
"leading jet Pt, eta < 1.3", 100, 0, 1000);
83 theDbe->book1D(
"leading_jet_pt_forward",
84 "leading jet Pt, 3.0 < eta < 5.0", 100, 0, 1000);
86 "leading_jet_pt_endcap",
"leading jet Pt, 1.3 < eta < 3.0", 100, 0, 1000);
91 "movers_met",
"MET over Sum ET for basic MET collection", 50, 0, 1);
93 "moverl_met",
"MET over leading jet Pt for basic MET collection", 50, 0,
97 "movers_metho",
"MET over Sum ET for MET HO collection", 50, 0, 1);
99 theDbe->book1D(
"moverl_metho",
100 "MET over leading jet Pt for MET HO collection", 50, 0, 2);
103 "movers_metnohf",
"MET over Sum ET for MET no HF collection", 50, 0, 1);
105 "moverl_metnohf",
"MET over leading jet Pt for MET no HF collection", 50,
109 theDbe->book1D(
"movers_metnohfho",
110 "MET over Sum ET for MET no HF HO collection", 50, 0, 1);
112 "moverl_metnohfho",
"MET over leading jet Pt for MET no HF HO collection",
117 theDbe->book1D(
"inclusive_jet_EMF",
"inclusive jet EMF", 50, -1, 1);
119 theDbe->book1D(
"leading_jet_EMF",
"leading jet EMF", 50, -1, 1);
121 theDbe->book1D(
"second_jet_EMF",
"second jet EMF", 50, -1, 1);
123 theDbe->book1D(
"third_jet_EMF",
"third jet EMF", 50, -1, 1);
132 CaloMETCollection::const_iterator met_iter;
133 for (met_iter = metcollection.begin(); met_iter != metcollection.end();
135 float mex = met_iter->momentum().x();
136 float mey = met_iter->momentum().y();
137 float met =
sqrt(mex * mex + mey * mey);
138 float sumet = met_iter->sumEt();
139 metovers = (met / sumet);
148 CaloMETCollection::const_iterator met_iter;
149 for (met_iter = metcollection.begin(); met_iter != metcollection.end();
151 float mex = met_iter->momentum().x();
152 float mey = met_iter->momentum().y();
153 float met =
sqrt(mex * mex + mey * mey);
154 metoverl = (met / ljpt);
165 CaloJetCollection::const_iterator jet_iter;
187 float leading_jetpt = 0;
188 float leading_jeteta = 0;
198 const float etabins[83] = {
199 -5.191, -4.889, -4.716, -4.538, -4.363, -4.191, -4.013, -3.839, -3.664,
200 -3.489, -3.314, -3.139, -2.964, -2.853, -2.650, -2.500, -2.322, -2.172,
201 -2.043, -1.930, -1.830, -1.740, -1.653, -1.566, -1.479, -1.392, -1.305,
202 -1.218, -1.131, -1.044, -.957, -.879, -.783, -.696, -.609, -.522,
203 -.435, -.348, -.261, -.174, -.087, 0, .087, .174, .261,
204 .348, .435, .522, .609, .696, .783, .879, .957, 1.044,
205 1.131, 1.218, 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,
206 1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853, 2.964, 3.139,
207 3.314, 3.489, 3.664, 3.839, 4.013, 4.191, 4.363, 4.538, 4.889,
210 for (jet_iter = jets.begin(); jet_iter != jets.end(); ++jet_iter) {
214 float jet_pt = jet_iter->
pt();
215 float jet_eta = jet_iter->eta();
216 float jet_phi = jet_iter->phi();
220 MEcontainer_[
"inclusive_jet_EMF"]->Fill(jet_iter->emEnergyFraction());
226 if (jet_eta <= 1.3) {
228 if (nbarreljets == 0) {
229 leadingbarreljet = jets[(njets - 1)];
231 }
else if (nbarreljets == 1) {
232 secondbarreljet = jets[(njets - 1)];
239 else if (jet_eta <= 3.0 && jet_eta > 1.3) {
241 }
else if (jet_eta <= 5.0 && jet_eta > 3.0) {
246 if ((jet_pt) > 30) njets30++;
249 if (jet_pt > leading_jetpt) {
250 leading_jetpt = jet_pt;
251 leading_jeteta = jet_eta;
255 for (
int eit = 0; eit < 81; eit++) {
256 for (
int pit = 0; pit < 72; pit++) {
257 float low_eta = etabins[eit];
258 float high_eta = etabins[eit + 1];
259 float low_phi = (-
M_PI) + pit * (
M_PI / 36);
260 float high_phi = low_phi + (
M_PI / 36);
261 if (jet_eta > low_eta && jet_eta < high_eta && jet_phi > low_phi &&
262 jet_phi < high_phi) {
274 if (leading_jeteta <= 1.3) {
275 MEcontainer_[
"leading_jet_pt_barrel"]->Fill(leading_jetpt);
276 }
else if (leading_jeteta <= 3.0 && leading_jeteta > 1.3) {
277 MEcontainer_[
"leading_jet_pt_endcap"]->Fill(leading_jetpt);
278 }
else if (leading_jeteta <= 5.0 && leading_jeteta > 3.0) {
279 MEcontainer_[
"leading_jet_pt_forward"]->Fill(leading_jetpt);
298 if (jets.size() >= 1) {
299 MEcontainer_[
"leading_jet_EMF"]->Fill(jets[0].emEnergyFraction());
300 if (jets.size() >= 2) {
301 MEcontainer_[
"second_jet_EMF"]->Fill(jets[1].emEnergyFraction());
302 if (jets.size() >= 3) {
303 MEcontainer_[
"third_jet_EMF"]->Fill(jets[2].emEnergyFraction());
310 if (nbarreljets == 2) {
311 if (leadingbarreljet.
energy() > 0 && secondbarreljet.
energy() > 0) {
313 leadingbarreljet.
p4() + secondbarreljet.
p4();
314 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 &)
Get the analysis.
Jets made from CaloTowers.
virtual float pt() const
transverse momentum
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::CaloMETCollection > metToken2_
std::map< std::string, MonitorElement * > MEcontainer_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
virtual double energy() const
energy
void beginJob()
Inizialize parameters for histo binning.
edm::EDGetTokenT< reco::CaloMETCollection > metToken4_
edm::EDGetTokenT< reco::CaloMETCollection > metToken3_
float movers(const reco::CaloMETCollection &metcollection)
QcdHighPtDQM(const edm::ParameterSet &)
Constructor.
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
edm::EDGetTokenT< reco::CaloJetCollection > jetToken_
virtual ~QcdHighPtDQM()
Destructor.
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects