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);
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_
Jets made from CaloTowers.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::CaloMETCollection > metToken2_
double pt() const final
transverse momentum
std::map< std::string, MonitorElement * > MEcontainer_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::EDGetTokenT< reco::CaloMETCollection > metToken4_
double energy() const final
energy
edm::EDGetTokenT< reco::CaloMETCollection > metToken3_
const LorentzVector & p4() const final
four-momentum Lorentz vector
float movers(const reco::CaloMETCollection &metcollection)
edm::EDGetTokenT< reco::CaloJetCollection > jetToken_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects