CMS 3D CMS Logo

L1JetRecoTreeProducer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: L1Trigger/L1TNtuples
4 // Class: L1JetRecoTreeProducer
5 //
13 // system include files
14 #include <memory>
15 
16 // framework
25 
26 // cond formats
30 
31 // data formats
41 
42 // ROOT output stuff
45 #include "TH1.h"
46 #include "TTree.h"
47 #include "TF1.h"
48 #include <TVector2.h>
49 
50 //local data formats
53 
54 //
55 // class declaration
56 //
57 
59 public:
61  ~L1JetRecoTreeProducer() override;
62 
63 private:
64  void beginJob(void) override;
65  void analyze(const edm::Event&, const edm::EventSetup&) override;
66  void endJob() override;
67 
74 
77 
78  bool pfJetID(const reco::PFJet& jet);
79  bool caloJetID(const reco::CaloJet& jet);
80 
81 public:
84 
85 private:
86  // output file
88 
89  // tree
90  TTree* tree_;
91 
92  // EDM input tags
98 
102 
104 
105  // debug stuff
108  double jetetaMax_;
109  unsigned int maxCl_;
110  unsigned int maxJet_;
111  unsigned int maxVtx_;
112  unsigned int maxTrk_;
113 
121 
123 };
124 
126  : pfJetsMissing_(false),
127  pfJetCorrMissing_(false),
128  caloJetCorrMissing_(false),
129  caloJetsMissing_(false),
130  caloJetIDMissing_(false),
131  pfMetMissing_(false),
132  caloMetMissing_(false),
133  caloMetBEMissing_(false),
134  muonsMissing_(false) {
135  caloJetToken_ =
136  consumes<reco::CaloJetCollection>(iConfig.getUntrackedParameter("caloJetToken", edm::InputTag("ak4CaloJets")));
137  pfJetToken_ =
138  consumes<reco::PFJetCollection>(iConfig.getUntrackedParameter("pfJetToken", edm::InputTag("ak4PFJetsCHS")));
140  consumes<edm::ValueMap<reco::JetID> >(iConfig.getUntrackedParameter("caloJetIDToken", edm::InputTag("ak4JetID")));
141  pfJECToken_ = consumes<reco::JetCorrector>(
142  iConfig.getUntrackedParameter<edm::InputTag>("pfJECToken", edm::InputTag("ak4PFCHSL1FastL2L3ResidualCorrector")));
143  caloJECToken_ = consumes<reco::JetCorrector>(iConfig.getUntrackedParameter<edm::InputTag>(
144  "caloJECToken", edm::InputTag("ak4CaloL1FastL2L3ResidualCorrector")));
145 
146  pfMetToken_ = consumes<reco::PFMETCollection>(iConfig.getUntrackedParameter("pfMetToken", edm::InputTag("pfMetT1")));
147  caloMetToken_ =
148  consumes<reco::CaloMETCollection>(iConfig.getUntrackedParameter("caloMetToken", edm::InputTag("caloMet")));
150  consumes<reco::CaloMETCollection>(iConfig.getUntrackedParameter("caloMetBEToken", edm::InputTag("caloMetBE")));
151 
152  muonToken_ = consumes<reco::MuonCollection>(iConfig.getUntrackedParameter("muonToken", edm::InputTag("muons")));
153 
154  jetptThreshold_ = iConfig.getParameter<double>("jetptThreshold");
155  jetetaMax_ = iConfig.getParameter<double>("jetetaMax");
156  maxJet_ = iConfig.getParameter<unsigned int>("maxJet");
157 
160 
161  // set up output
162  tree_ = fs_->make<TTree>("JetRecoTree", "JetRecoTree");
163  tree_->Branch("Jet", "L1Analysis::L1AnalysisRecoJetDataFormat", &jet_data, 32000, 3);
164  tree_->Branch("Sums", "L1Analysis::L1AnalysisRecoMetDataFormat", &met_data, 32000, 3);
165 }
166 
168  // do anything here that needs to be done at desctruction time
169  // (e.g. close files, deallocate resources etc.)
170 }
171 
172 //
173 // member functions
174 //
175 
176 // ------------ method called to for each event ------------
178  jet_data->Reset();
179  met_data->Reset();
180 
181  // get jets
183  iEvent.getByToken(pfJetToken_, pfJets);
184 
185  // get calo jets
187  iEvent.getByToken(caloJetToken_, caloJets);
188 
189  //get sums
191  iEvent.getByToken(pfMetToken_, pfMet);
192 
193  // get jet ID
195  iEvent.getByToken(caloJetIDToken_, jetsID);
196 
198  iEvent.getByToken(pfJECToken_, pfJetCorr);
199 
201  iEvent.getByToken(caloJECToken_, caloJetCorr);
202 
204  iEvent.getByToken(caloMetToken_, caloMet);
205 
207  iEvent.getByToken(caloMetBEToken_, caloMetBE);
208 
209  // get muons
211  iEvent.getByToken(muonToken_, muons);
212 
213  if (pfJets.isValid()) {
214  jet_data->nJets = 0;
215 
216  doPFJets(pfJets);
217 
218  } else {
219  if (!pfJetsMissing_) {
220  edm::LogWarning("MissingProduct") << "PFJets not found. Branch will not be filled" << std::endl;
221  }
222  pfJetsMissing_ = true;
223  }
224 
225  if (pfJetCorr.isValid()) {
226  doPFJetCorr(pfJets, pfJetCorr);
227 
228  } else {
229  if (!pfJetCorrMissing_) {
230  edm::LogWarning("MissingProduct") << "PF Jet Corrector not found. Branch will not be filled" << std::endl;
231  }
232  pfJetCorrMissing_ = true;
233  }
234 
235  if (caloJets.isValid()) {
236  jet_data->nCaloJets = 0;
237 
239 
240  } else {
241  if (!caloJetsMissing_) {
242  edm::LogWarning("MissingProduct") << "Calo Jets not found. Branch will not be filled" << std::endl;
243  }
244  caloJetsMissing_ = true;
245  }
246 
247  if (caloJetCorr.isValid()) {
248  doCaloJetCorr(caloJets, caloJetCorr);
249 
250  } else {
251  if (!caloJetCorrMissing_) {
252  edm::LogWarning("MissingProduct") << "Calo Jet Corrector not found. Branch will not be filled" << std::endl;
253  }
254  caloJetCorrMissing_ = true;
255  }
256 
257  if (!jetsID.isValid()) {
258  if (!caloJetIDMissing_) {
259  edm::LogWarning("MissingProduct") << "Calo Jet ID not found. Branch will not be filled" << std::endl;
260  }
261  caloJetIDMissing_ = true;
262  }
263 
264  if (pfMet.isValid()) {
265  doPFMet(pfMet);
266 
267  if (muons.isValid()) {
269 
270  } else {
271  if (!muonsMissing_) {
272  edm::LogWarning("MissingProduct") << "Muons not found. PFMetNoMu branch will not be filled" << std::endl;
273  }
274  muonsMissing_ = true;
275  }
276  } else {
277  if (!pfMetMissing_) {
278  edm::LogWarning("MissingProduct") << "PFMet not found. Branch will not be filled" << std::endl;
279  }
280  pfMetMissing_ = true;
281  }
282 
283  if (caloMet.isValid()) {
285 
286  } else {
287  if (!caloMetMissing_) {
288  edm::LogWarning("MissingProduct") << "CaloMet not found. Branch will not be filled" << std::endl;
289  }
290  caloMetMissing_ = true;
291  }
292 
293  if (caloMetBE.isValid()) {
295 
296  } else {
297  if (!caloMetBEMissing_) {
298  edm::LogWarning("MissingProduct") << "CaloMetBE not found. Branch will not be filled" << std::endl;
299  }
300  caloMetBEMissing_ = true;
301  }
302 
303  tree_->Fill();
304 }
305 
307  for (auto it = caloJets->begin(); it != caloJets->end() && jet_data->nCaloJets < maxJet_; ++it) {
308  if (!caloJetIDMissing_)
309  if (!caloJetID(*it))
310  continue;
311 
312  jet_data->caloEt.push_back(it->et());
313  jet_data->caloEta.push_back(it->eta());
314  jet_data->caloPhi.push_back(it->phi());
315  jet_data->caloE.push_back(it->energy());
316 
317  jet_data->eEMF.push_back(it->emEnergyFraction());
318  jet_data->eEmEB.push_back(it->emEnergyInEB());
319  jet_data->eEmEE.push_back(it->emEnergyInEE());
320  jet_data->eEmHF.push_back(it->emEnergyInHF());
321  jet_data->eHadHB.push_back(it->hadEnergyInHB());
322  jet_data->eHadHE.push_back(it->hadEnergyInHE());
323  jet_data->eHadHO.push_back(it->hadEnergyInHO());
324  jet_data->eHadHF.push_back(it->hadEnergyInHF());
325  jet_data->eMaxEcalTow.push_back(it->maxEInEmTowers());
326  jet_data->eMaxHcalTow.push_back(it->maxEInHadTowers());
327  jet_data->towerArea.push_back(it->towersArea());
328  jet_data->n60.push_back(it->n60());
329 
330  jet_data->nCaloJets++;
331  }
332 }
333 
335  for (auto it = pfJets->begin(); it != pfJets->end() && jet_data->nJets < maxJet_; ++it) {
336  if (!pfJetID(*it))
337  continue;
338 
339  jet_data->et.push_back(it->et());
340  jet_data->eta.push_back(it->eta());
341  jet_data->phi.push_back(it->phi());
342  jet_data->e.push_back(it->energy());
343 
344  jet_data->chef.push_back(it->chargedHadronEnergyFraction());
345  jet_data->nhef.push_back(it->neutralHadronEnergyFraction());
346  jet_data->pef.push_back(it->photonEnergyFraction());
347  jet_data->eef.push_back(it->electronEnergyFraction());
348  jet_data->mef.push_back(it->muonEnergyFraction());
349  jet_data->hfhef.push_back(it->HFHadronEnergyFraction());
350  jet_data->hfemef.push_back(it->HFEMEnergyFraction());
351  jet_data->chMult.push_back(it->chargedHadronMultiplicity());
352  jet_data->nhMult.push_back(it->neutralHadronMultiplicity());
353  jet_data->phMult.push_back(it->photonMultiplicity());
354  jet_data->elMult.push_back(it->electronMultiplicity());
355  jet_data->muMult.push_back(it->muonMultiplicity());
356  jet_data->hfhMult.push_back(it->HFHadronMultiplicity());
357  jet_data->hfemMult.push_back(it->HFEMMultiplicity());
358 
359  jet_data->cemef.push_back(it->chargedEmEnergyFraction());
360  jet_data->cmef.push_back(it->chargedMuEnergyFraction());
361  jet_data->nemef.push_back(it->neutralEmEnergyFraction());
362  jet_data->cMult.push_back(it->chargedMultiplicity());
363  jet_data->nMult.push_back(it->neutralMultiplicity());
364 
365  jet_data->nJets++;
366  }
367 }
368 
371  float corrFactor = 1.;
372  unsigned int nJets = 0;
373 
374  float mHx = 0;
375  float mHy = 0;
376 
377  met_data->Ht = 0;
378  met_data->mHt = -999.;
379  met_data->mHtPhi = -999.;
380 
381  for (auto it = pfJets->begin(); it != pfJets->end() && nJets < maxJet_; ++it) {
382  if (!pfJetID(*it))
383  continue;
384 
385  corrFactor = pfJetCorr.product()->correction(*it);
386 
387  jet_data->etCorr.push_back(it->et() * corrFactor);
388  jet_data->corrFactor.push_back(corrFactor);
389 
390  nJets++;
391 
392  if (it->pt() * corrFactor > jetptThreshold_ && fabs(it->eta()) < jetetaMax_) {
393  mHx += -1. * it->px() * corrFactor;
394  mHy += -1. * it->py() * corrFactor;
395  met_data->Ht += it->pt() * corrFactor;
396  }
397  }
398 
399  TVector2 tv2 = TVector2(mHx, mHy);
400  met_data->mHt = tv2.Mod();
401  met_data->mHtPhi = tv2.Phi();
402 }
403 
405  edm::Handle<reco::JetCorrector> caloJetCorr) {
406  float caloCorrFactor = 1.;
407  unsigned int nCaloJets = 0;
408 
409  met_data->caloHt = 0;
410 
411  for (auto it = caloJets->begin(); it != caloJets->end() && nCaloJets < maxJet_; ++it) {
412  if (!caloJetIDMissing_)
413  if (!caloJetID(*it))
414  continue;
415 
416  caloCorrFactor = caloJetCorr.product()->correction(*it);
417 
418  jet_data->caloEtCorr.push_back(it->et() * caloCorrFactor);
419  jet_data->caloCorrFactor.push_back(caloCorrFactor);
420 
421  nCaloJets++;
422 
423  if (it->pt() * caloCorrFactor > jetptThreshold_ && fabs(it->eta()) < jetetaMax_) {
424  met_data->caloHt += it->pt() * caloCorrFactor;
425  }
426  }
427 }
428 
430  const reco::PFMETCollection* metCol = pfMet.product();
431  const reco::PFMET theMet = metCol->front();
432 
433  met_data->met = theMet.et();
434  met_data->metPhi = theMet.phi();
435  met_data->sumEt = theMet.sumEt();
436  met_data->metPx = theMet.px();
437  met_data->metPy = theMet.py();
438 }
439 
442  const reco::PFMETCollection* metCol = pfMet.product();
443  const reco::PFMET theMet = metCol->front();
444  reco::PFMET thePFMetNoMu = metCol->front();
445 
446  double pfMetNoMuPx = theMet.px();
447  double pfMetNoMuPy = theMet.py();
448 
449  double muPx(0.), muPy(0.);
450 
451  for (auto it = muons->begin(); it != muons->end(); ++it) {
452  if (it->isPFMuon()) {
453  muPx += it->px();
454  muPy += it->py();
455  }
456  }
457 
458  pfMetNoMuPx += muPx;
459  pfMetNoMuPy += muPy;
460 
461  math::XYZTLorentzVector pfMetNoMuP4(pfMetNoMuPx, pfMetNoMuPy, 0, hypot(pfMetNoMuPx, pfMetNoMuPy));
462 
463  thePFMetNoMu.setP4(pfMetNoMuP4);
464 
465  met_data->pfMetNoMu = thePFMetNoMu.et();
466  met_data->pfMetNoMuPhi = thePFMetNoMu.phi();
467  met_data->pfMetNoMuPx = thePFMetNoMu.px();
468  met_data->pfMetNoMuPy = thePFMetNoMu.py();
469 }
470 
472  const reco::CaloMETCollection* metCol = caloMet.product();
473  const reco::CaloMET theMet = metCol->front();
474 
475  met_data->caloMet = theMet.et();
476  met_data->caloMetPhi = theMet.phi();
477  met_data->caloSumEt = theMet.sumEt();
478 }
479 
481  const reco::CaloMETCollection* metCol = caloMetBE.product();
482  const reco::CaloMET theMet = metCol->front();
483 
484  met_data->caloMetBE = theMet.et();
485  met_data->caloMetPhiBE = theMet.phi();
486  met_data->caloSumEtBE = theMet.sumEt();
487 }
488 
490  bool tmp = true;
491  if (fabs(jet.eta()) < 2.7) {
492  tmp &= jet.neutralHadronEnergyFraction() < 0.9;
493  tmp &= jet.neutralEmEnergyFraction() < 0.9;
494  tmp &= (jet.chargedMultiplicity() + jet.neutralMultiplicity()) > 1;
495  tmp &= jet.muonEnergyFraction() < 0.8;
496  tmp &= jet.chargedHadronEnergyFraction() > 0.0;
497  tmp &= jet.chargedMultiplicity() > 0;
498  tmp &= jet.chargedEmEnergyFraction() < 0.9;
499  }
500  if (fabs(jet.eta()) > 2.7 && fabs(jet.eta()) < 3.0) {
501  tmp &= jet.neutralEmEnergyFraction() > 0.01;
502  tmp &= jet.neutralHadronEnergyFraction() < 0.98;
503  tmp &= jet.neutralMultiplicity() > 2;
504  }
505  if (fabs(jet.eta()) > 3.0) {
506  tmp &= jet.neutralEmEnergyFraction() < 0.9;
507  tmp &= jet.neutralMultiplicity() > 10;
508  }
509 
510  // our custom selection
511  //tmp &= jet.muonMultiplicity() == 0;
512  //tmp &= jet.electronMultiplicity() == 0;
513 
514  return tmp;
515 }
516 
518  bool tmp = true;
519 
520  return tmp;
521 }
522 
523 // ------------ method called once each job just before starting event loop ------------
525 
526 // ------------ method called once each job just after ending the event loop ------------
528 
529 //define this as a plug-in
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
L1AnalysisRecoJetDataFormat.h
reco::PFMETCollection
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
Definition: PFMETCollection.h:20
CaloJetCollection.h
reco::CaloJet
Jets made from CaloTowers.
Definition: CaloJet.h:27
L1Analysis::L1AnalysisRecoMetDataFormat
Definition: L1AnalysisRecoMetDataFormat.h:14
L1JetRecoTreeProducer::doCaloJets
void doCaloJets(edm::Handle< reco::CaloJetCollection > caloJets)
Definition: L1JetRecoTreeProducer.cc:306
Muon.h
MessageLogger.h
funct::false
false
Definition: Factorize.h:29
L1JetRecoTreeProducer::~L1JetRecoTreeProducer
~L1JetRecoTreeProducer() override
Definition: L1JetRecoTreeProducer.cc:167
L1JetRecoTreeProducer::jet_data
L1Analysis::L1AnalysisRecoJetDataFormat * jet_data
Definition: L1JetRecoTreeProducer.cc:82
JetID.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
L1Analysis::L1AnalysisRecoJetDataFormat::eef
std::vector< float > eef
Definition: L1AnalysisRecoJetDataFormat.h:117
L1JetRecoTreeProducer::pfMetMissing_
bool pfMetMissing_
Definition: L1JetRecoTreeProducer.cc:118
L1JetRecoTreeProducer
Definition: L1JetRecoTreeProducer.cc:58
L1Analysis::L1AnalysisRecoJetDataFormat::eMaxEcalTow
std::vector< float > eMaxEcalTow
Definition: L1AnalysisRecoJetDataFormat.h:103
ESHandle.h
L1Analysis::L1AnalysisRecoMetDataFormat::mHtPhi
float mHtPhi
Definition: L1AnalysisRecoMetDataFormat.h:59
L1Analysis::L1AnalysisRecoMetDataFormat::metPhi
float metPhi
Definition: L1AnalysisRecoMetDataFormat.h:45
L1Analysis::L1AnalysisRecoMetDataFormat::Reset
void Reset()
Definition: L1AnalysisRecoMetDataFormat.h:18
L1JetRecoTreeProducer::doPFJets
void doPFJets(edm::Handle< reco::PFJetCollection > pfJets)
Definition: L1JetRecoTreeProducer.cc:334
L1Analysis::L1AnalysisRecoJetDataFormat::caloEtCorr
std::vector< float > caloEtCorr
Definition: L1AnalysisRecoJetDataFormat.h:90
L1JetRecoTreeProducer::caloJetsMissing_
bool caloJetsMissing_
Definition: L1JetRecoTreeProducer.cc:116
L1Analysis::L1AnalysisRecoJetDataFormat::eEmHF
std::vector< float > eEmHF
Definition: L1AnalysisRecoJetDataFormat.h:102
edm::EDGetTokenT< reco::PFJetCollection >
L1Analysis::L1AnalysisRecoJetDataFormat::caloE
std::vector< float > caloE
Definition: L1AnalysisRecoJetDataFormat.h:88
L1Analysis::L1AnalysisRecoJetDataFormat::elMult
std::vector< short > elMult
Definition: L1AnalysisRecoJetDataFormat.h:124
L1Analysis::L1AnalysisRecoJetDataFormat::chMult
std::vector< short > chMult
Definition: L1AnalysisRecoJetDataFormat.h:121
L1JetRecoTreeProducer::doPFMet
void doPFMet(edm::Handle< reco::PFMETCollection > pfMet)
Definition: L1JetRecoTreeProducer.cc:429
PFJetCollection.h
reco::MET::sumEt
double sumEt() const
Definition: MET.h:56
L1Analysis::L1AnalysisRecoMetDataFormat::sumEt
float sumEt
Definition: L1AnalysisRecoMetDataFormat.h:60
L1JetRecoTreeProducer::maxTrk_
unsigned int maxTrk_
Definition: L1JetRecoTreeProducer.cc:112
L1JetRecoTreeProducer::caloJetCorrMissing_
bool caloJetCorrMissing_
Definition: L1JetRecoTreeProducer.cc:115
L1Analysis::L1AnalysisRecoJetDataFormat::caloCorrFactor
std::vector< float > caloCorrFactor
Definition: L1AnalysisRecoJetDataFormat.h:91
L1Analysis::L1AnalysisRecoJetDataFormat::hfemMult
std::vector< short > hfemMult
Definition: L1AnalysisRecoJetDataFormat.h:127
L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMu
float pfMetNoMu
Definition: L1AnalysisRecoMetDataFormat.h:46
CaloMET_cfi.caloMetBE
caloMetBE
____________________________________________________________________________||
Definition: CaloMET_cfi.py:19
reco::JetCorrector::correction
double correction(const LorentzVector &fJet) const
get correction using Jet information only
Definition: JetCorrector.h:44
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
EDAnalyzer.h
PFMETCollection.h
L1Analysis::L1AnalysisRecoMetDataFormat::caloMetPhi
float caloMetPhi
Definition: L1AnalysisRecoMetDataFormat.h:51
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
L1JetRecoTreeProducer::fs_
edm::Service< TFileService > fs_
Definition: L1JetRecoTreeProducer.cc:87
edm::Handle< reco::PFJetCollection >
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
L1Analysis::L1AnalysisRecoJetDataFormat::mef
std::vector< float > mef
Definition: L1AnalysisRecoJetDataFormat.h:118
L1JetRecoTreeProducer::pfJetsMissing_
bool pfJetsMissing_
Definition: L1JetRecoTreeProducer.cc:106
L1Analysis::L1AnalysisRecoMetDataFormat::Ht
float Ht
Definition: L1AnalysisRecoMetDataFormat.h:57
edm::EDAnalyzer
Definition: EDAnalyzer.h:28
L1Analysis::L1AnalysisRecoJetDataFormat::nhMult
std::vector< short > nhMult
Definition: L1AnalysisRecoJetDataFormat.h:122
CaloMETCollection.h
reco::CaloMET
Definition: CaloMET.h:21
L1JetRecoTreeProducer::caloMetBEMissing_
bool caloMetBEMissing_
Definition: L1JetRecoTreeProducer.cc:120
MakerMacros.h
L1Analysis::L1AnalysisRecoJetDataFormat::eHadHF
std::vector< float > eHadHF
Definition: L1AnalysisRecoJetDataFormat.h:99
L1Analysis::L1AnalysisRecoMetDataFormat::caloMetPhiBE
float caloMetPhiBE
Definition: L1AnalysisRecoMetDataFormat.h:54
L1Analysis::L1AnalysisRecoJetDataFormat::chef
std::vector< float > chef
Definition: L1AnalysisRecoJetDataFormat.h:114
L1JetRecoTreeProducer::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1JetRecoTreeProducer.cc:177
L1Analysis::L1AnalysisRecoJetDataFormat::caloEt
std::vector< float > caloEt
Definition: L1AnalysisRecoJetDataFormat.h:89
L1Analysis::L1AnalysisRecoJetDataFormat::caloPhi
std::vector< float > caloPhi
Definition: L1AnalysisRecoJetDataFormat.h:93
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
L1Analysis::L1AnalysisRecoJetDataFormat::phi
std::vector< float > phi
Definition: L1AnalysisRecoJetDataFormat.h:85
L1Analysis::L1AnalysisRecoJetDataFormat::hfemef
std::vector< float > hfemef
Definition: L1AnalysisRecoJetDataFormat.h:120
L1JetRecoTreeProducer::muonsMissing_
bool muonsMissing_
Definition: L1JetRecoTreeProducer.cc:122
CaloMET.h
L1Analysis::L1AnalysisRecoJetDataFormat::hfhMult
std::vector< short > hfhMult
Definition: L1AnalysisRecoJetDataFormat.h:126
reco::LeafCandidate::py
double py() const final
y coordinate of momentum vector
Definition: LeafCandidate.h:142
L1JetRecoTreeProducer::endJob
void endJob() override
Definition: L1JetRecoTreeProducer.cc:527
Service.h
L1Analysis::L1AnalysisRecoJetDataFormat::nhef
std::vector< float > nhef
Definition: L1AnalysisRecoJetDataFormat.h:115
L1JetRecoTreeProducer::met_data
L1Analysis::L1AnalysisRecoMetDataFormat * met_data
Definition: L1JetRecoTreeProducer.cc:83
L1Analysis::L1AnalysisRecoJetDataFormat::et
std::vector< float > et
Definition: L1AnalysisRecoJetDataFormat.h:81
MuonFwd.h
L1JetRecoTreeProducer::jetptThreshold_
double jetptThreshold_
Definition: L1JetRecoTreeProducer.cc:107
L1JetRecoTreeProducer::caloJetIDToken_
edm::EDGetTokenT< edm::ValueMap< reco::JetID > > caloJetIDToken_
Definition: L1JetRecoTreeProducer.cc:95
L1JetRecoTreeProducer::caloJetID
bool caloJetID(const reco::CaloJet &jet)
Definition: L1JetRecoTreeProducer.cc:517
L1JetRecoTreeProducer::pfJetToken_
edm::EDGetTokenT< reco::PFJetCollection > pfJetToken_
Definition: L1JetRecoTreeProducer.cc:93
L1Analysis::L1AnalysisRecoJetDataFormat::muMult
std::vector< short > muMult
Definition: L1AnalysisRecoJetDataFormat.h:125
L1JetRecoTreeProducer::caloMetMissing_
bool caloMetMissing_
Definition: L1JetRecoTreeProducer.cc:119
isolatedTracks_cfi.caloJets
caloJets
Definition: isolatedTracks_cfi.py:33
JetCorrector.h
L1Analysis::L1AnalysisRecoMetDataFormat::caloSumEtBE
float caloSumEtBE
Definition: L1AnalysisRecoMetDataFormat.h:55
L1JetRecoTreeProducer::jetetaMax_
double jetetaMax_
Definition: L1JetRecoTreeProducer.cc:108
L1JetRecoTreeProducer::doCaloMet
void doCaloMet(edm::Handle< reco::CaloMETCollection > caloMet)
Definition: L1JetRecoTreeProducer.cc:471
L1JetRecoTreeProducer::caloJetIDMissing_
bool caloJetIDMissing_
Definition: L1JetRecoTreeProducer.cc:117
L1Analysis::L1AnalysisRecoMetDataFormat::caloSumEt
float caloSumEt
Definition: L1AnalysisRecoMetDataFormat.h:52
L1Analysis::L1AnalysisRecoJetDataFormat::eHadHO
std::vector< float > eHadHO
Definition: L1AnalysisRecoJetDataFormat.h:98
RecoPFMET_cff.pfMet
pfMet
Definition: RecoPFMET_cff.py:15
L1Analysis::L1AnalysisRecoJetDataFormat::eMaxHcalTow
std::vector< float > eMaxHcalTow
Definition: L1AnalysisRecoJetDataFormat.h:104
L1Analysis::L1AnalysisRecoJetDataFormat::pef
std::vector< float > pef
Definition: L1AnalysisRecoJetDataFormat.h:116
TFileService.h
L1Analysis::L1AnalysisRecoJetDataFormat
Definition: L1AnalysisRecoJetDataFormat.h:14
L1Analysis::L1AnalysisRecoJetDataFormat::eHadHE
std::vector< float > eHadHE
Definition: L1AnalysisRecoJetDataFormat.h:97
L1JetRecoTreeProducer::caloMetToken_
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken_
Definition: L1JetRecoTreeProducer.cc:100
L1Analysis::L1AnalysisRecoMetDataFormat::mHt
float mHt
Definition: L1AnalysisRecoMetDataFormat.h:58
L1JetRecoTreeProducer::caloJetToken_
edm::EDGetTokenT< reco::CaloJetCollection > caloJetToken_
Definition: L1JetRecoTreeProducer.cc:94
reco::PFMET
Definition: PFMET.h:18
L1JetRecoTreeProducer::maxJet_
unsigned int maxJet_
Definition: L1JetRecoTreeProducer.cc:110
L1Analysis::L1AnalysisRecoJetDataFormat::Reset
void Reset()
Definition: L1AnalysisRecoJetDataFormat.h:18
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
L1Analysis::L1AnalysisRecoJetDataFormat::towerArea
std::vector< float > towerArea
Definition: L1AnalysisRecoJetDataFormat.h:105
PFMET.h
L1JetRecoTreeProducer::maxCl_
unsigned int maxCl_
Definition: L1JetRecoTreeProducer.cc:109
edm::Service< TFileService >
L1Analysis::L1AnalysisRecoMetDataFormat::met
float met
Definition: L1AnalysisRecoMetDataFormat.h:42
L1Analysis::L1AnalysisRecoMetDataFormat::caloMet
float caloMet
Definition: L1AnalysisRecoMetDataFormat.h:50
iEvent
int iEvent
Definition: GenABIO.cc:224
heavyionUCCDQM_cfi.caloMet
caloMet
Definition: heavyionUCCDQM_cfi.py:6
L1Analysis::L1AnalysisRecoJetDataFormat::cmef
std::vector< float > cmef
Definition: L1AnalysisRecoJetDataFormat.h:130
L1JetRecoTreeProducer::caloMetBEToken_
edm::EDGetTokenT< reco::CaloMETCollection > caloMetBEToken_
Definition: L1JetRecoTreeProducer.cc:101
edm::EventSetup
Definition: EventSetup.h:57
L1AnalysisRecoMetDataFormat.h
L1Analysis::L1AnalysisRecoJetDataFormat::cMult
std::vector< int > cMult
Definition: L1AnalysisRecoJetDataFormat.h:132
L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPx
float pfMetNoMuPx
Definition: L1AnalysisRecoMetDataFormat.h:47
L1JetRecoTreeProducer::doPFMetNoMu
void doPFMetNoMu(edm::Handle< reco::PFMETCollection > pfMet, edm::Handle< reco::MuonCollection >)
Definition: L1JetRecoTreeProducer.cc:440
L1Analysis::L1AnalysisRecoJetDataFormat::eEMF
std::vector< float > eEMF
Definition: L1AnalysisRecoJetDataFormat.h:95
L1Analysis::L1AnalysisRecoJetDataFormat::nJets
unsigned short nJets
Definition: L1AnalysisRecoJetDataFormat.h:79
L1Analysis::L1AnalysisRecoJetDataFormat::eEmEB
std::vector< float > eEmEB
Definition: L1AnalysisRecoJetDataFormat.h:100
reco::LeafCandidate::et
double et() const final
transverse energy
Definition: LeafCandidate.h:127
reco::LeafCandidate::setP4
void setP4(const LorentzVector &p4) final
set 4-momentum
Definition: LeafCandidate.h:158
L1Analysis::L1AnalysisRecoJetDataFormat::phMult
std::vector< short > phMult
Definition: L1AnalysisRecoJetDataFormat.h:123
L1Analysis::L1AnalysisRecoJetDataFormat::nMult
std::vector< int > nMult
Definition: L1AnalysisRecoJetDataFormat.h:133
L1JetRecoTreeProducer::maxVtx_
unsigned int maxVtx_
Definition: L1JetRecoTreeProducer.cc:111
L1Analysis::L1AnalysisRecoJetDataFormat::hfhef
std::vector< float > hfhef
Definition: L1AnalysisRecoJetDataFormat.h:119
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
Frameworkfwd.h
L1Analysis::L1AnalysisRecoJetDataFormat::corrFactor
std::vector< float > corrFactor
Definition: L1AnalysisRecoJetDataFormat.h:83
L1Analysis::L1AnalysisRecoMetDataFormat::metPy
float metPy
Definition: L1AnalysisRecoMetDataFormat.h:44
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
metsig::jet
Definition: SignAlgoResolutions.h:47
L1Analysis::L1AnalysisRecoJetDataFormat::eEmEE
std::vector< float > eEmEE
Definition: L1AnalysisRecoJetDataFormat.h:101
L1Analysis::L1AnalysisRecoJetDataFormat::n60
std::vector< short > n60
Definition: L1AnalysisRecoJetDataFormat.h:107
L1JetRecoTreeProducer::beginJob
void beginJob(void) override
Definition: L1JetRecoTreeProducer.cc:524
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
EventSetup.h
L1Analysis::L1AnalysisRecoJetDataFormat::e
std::vector< float > e
Definition: L1AnalysisRecoJetDataFormat.h:80
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1JetRecoTreeProducer::L1JetRecoTreeProducer
L1JetRecoTreeProducer(const edm::ParameterSet &)
Definition: L1JetRecoTreeProducer.cc:125
L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPy
float pfMetNoMuPy
Definition: L1AnalysisRecoMetDataFormat.h:48
L1JetRecoTreeProducer::pfJetCorrMissing_
bool pfJetCorrMissing_
Definition: L1JetRecoTreeProducer.cc:114
L1Analysis::L1AnalysisRecoJetDataFormat::cemef
std::vector< float > cemef
Definition: L1AnalysisRecoJetDataFormat.h:129
L1Analysis::L1AnalysisRecoMetDataFormat::caloHt
float caloHt
Definition: L1AnalysisRecoMetDataFormat.h:56
L1JetRecoTreeProducer::doCaloJetCorr
void doCaloJetCorr(edm::Handle< reco::CaloJetCollection > caloJets, edm::Handle< reco::JetCorrector > caloJetCorr)
Definition: L1JetRecoTreeProducer.cc:404
L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPhi
float pfMetNoMuPhi
Definition: L1AnalysisRecoMetDataFormat.h:49
reco::CaloMETCollection
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
Definition: CaloMETCollection.h:20
ParameterSet.h
L1JetRecoTreeProducer::doPFJetCorr
void doPFJetCorr(edm::Handle< reco::PFJetCollection > pfJets, edm::Handle< reco::JetCorrector > pfJetCorr)
Definition: L1JetRecoTreeProducer.cc:369
L1JetRecoTreeProducer::muonToken_
edm::EDGetTokenT< reco::MuonCollection > muonToken_
Definition: L1JetRecoTreeProducer.cc:103
L1JetRecoTreeProducer::caloJECToken_
edm::EDGetTokenT< reco::JetCorrector > caloJECToken_
Definition: L1JetRecoTreeProducer.cc:97
L1Analysis::L1AnalysisRecoJetDataFormat::eHadHB
std::vector< float > eHadHB
Definition: L1AnalysisRecoJetDataFormat.h:96
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
L1JetRecoTreeProducer::tree_
TTree * tree_
Definition: L1JetRecoTreeProducer.cc:90
edm::Event
Definition: Event.h:73
reco::LeafCandidate::px
double px() const final
x coordinate of momentum vector
Definition: LeafCandidate.h:140
EcalChannelStatus.h
L1JetRecoTreeProducer::pfJetID
bool pfJetID(const reco::PFJet &jet)
Definition: L1JetRecoTreeProducer.cc:489
L1Analysis::L1AnalysisRecoMetDataFormat::caloMetBE
float caloMetBE
Definition: L1AnalysisRecoMetDataFormat.h:53
edm::InputTag
Definition: InputTag.h:15
L1Analysis::L1AnalysisRecoJetDataFormat::nCaloJets
unsigned short nCaloJets
Definition: L1AnalysisRecoJetDataFormat.h:87
L1Analysis::L1AnalysisRecoJetDataFormat::etCorr
std::vector< float > etCorr
Definition: L1AnalysisRecoJetDataFormat.h:82
pfJetBenchmark_cfi.pfJets
pfJets
Definition: pfJetBenchmark_cfi.py:4
L1Analysis::L1AnalysisRecoJetDataFormat::caloEta
std::vector< float > caloEta
Definition: L1AnalysisRecoJetDataFormat.h:92
EcalChannelStatusRcd.h
L1Analysis::L1AnalysisRecoJetDataFormat::eta
std::vector< float > eta
Definition: L1AnalysisRecoJetDataFormat.h:84
L1JetRecoTreeProducer::pfMetToken_
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken_
Definition: L1JetRecoTreeProducer.cc:99
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
L1JetRecoTreeProducer::pfJECToken_
edm::EDGetTokenT< reco::JetCorrector > pfJECToken_
Definition: L1JetRecoTreeProducer.cc:96
L1Analysis::L1AnalysisRecoMetDataFormat::metPx
float metPx
Definition: L1AnalysisRecoMetDataFormat.h:43
L1JetRecoTreeProducer::doCaloMetBE
void doCaloMetBE(edm::Handle< reco::CaloMETCollection > caloMetBE)
Definition: L1JetRecoTreeProducer.cc:480
L1Analysis::L1AnalysisRecoJetDataFormat::nemef
std::vector< float > nemef
Definition: L1AnalysisRecoJetDataFormat.h:131