CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
L1JetRecoTreeProducer Class Reference

#include <L1Trigger/L1TNtuples/src/L1JetRecoTreeProducer.cc>

Inheritance diagram for L1JetRecoTreeProducer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1JetRecoTreeProducer (const edm::ParameterSet &)
 
 ~L1JetRecoTreeProducer () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

L1Analysis::L1AnalysisRecoJetDataFormatjet_data
 
L1Analysis::L1AnalysisRecoMetDataFormatmet_data
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob (void) override
 
bool caloJetID (const reco::CaloJet &jet)
 
void doCaloJetCorr (edm::Handle< reco::CaloJetCollection > caloJets, edm::Handle< reco::JetCorrector > caloJetCorr)
 
void doCaloJets (edm::Handle< reco::CaloJetCollection > caloJets)
 
void doCaloMet (edm::Handle< reco::CaloMETCollection > caloMet)
 
void doCaloMetBE (edm::Handle< reco::CaloMETCollection > caloMetBE)
 
void doPFJetCorr (edm::Handle< reco::PFJetCollection > pfJets, edm::Handle< reco::JetCorrector > pfJetCorr)
 
void doPFJets (edm::Handle< reco::PFJetCollection > pfJets)
 
void doPFMet (edm::Handle< reco::PFMETCollection > pfMet)
 
void doPFMetNoMu (edm::Handle< reco::PFMETCollection > pfMet, edm::Handle< reco::MuonCollection >)
 
void endJob () override
 
bool pfJetID (const reco::PFJet &jet)
 

Private Attributes

edm::EDGetTokenT< reco::JetCorrectorcaloJECToken_
 
bool caloJetCorrMissing_
 
bool caloJetIDMissing_
 
edm::EDGetTokenT< edm::ValueMap< reco::JetID > > caloJetIDToken_
 
bool caloJetsMissing_
 
edm::EDGetTokenT< reco::CaloJetCollectioncaloJetToken_
 
bool caloMetBEMissing_
 
edm::EDGetTokenT< reco::CaloMETCollectioncaloMetBEToken_
 
bool caloMetMissing_
 
edm::EDGetTokenT< reco::CaloMETCollectioncaloMetToken_
 
edm::Service< TFileServicefs_
 
double jetetaMax_
 
double jetptThreshold_
 
unsigned int maxCl_
 
unsigned int maxJet_
 
unsigned int maxTrk_
 
unsigned int maxVtx_
 
bool muonsMissing_
 
edm::EDGetTokenT< reco::MuonCollectionmuonToken_
 
edm::EDGetTokenT< reco::JetCorrectorpfJECToken_
 
bool pfJetCorrMissing_
 
bool pfJetsMissing_
 
edm::EDGetTokenT< reco::PFJetCollectionpfJetToken_
 
bool pfMetMissing_
 
edm::EDGetTokenT< reco::PFMETCollectionpfMetToken_
 
TTree * tree_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: Produces tree containing reco quantities

Definition at line 58 of file L1JetRecoTreeProducer.cc.

Constructor & Destructor Documentation

◆ L1JetRecoTreeProducer()

L1JetRecoTreeProducer::L1JetRecoTreeProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 125 of file L1JetRecoTreeProducer.cc.

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 }

References caloJECToken_, caloJetIDToken_, caloJetToken_, caloMetBEToken_, caloMetToken_, fs_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), jet_data, jetetaMax_, jetptThreshold_, TFileService::make(), maxJet_, met_data, muonToken_, pfJECToken_, pfJetToken_, pfMetToken_, and tree_.

◆ ~L1JetRecoTreeProducer()

L1JetRecoTreeProducer::~L1JetRecoTreeProducer ( )
override

Definition at line 167 of file L1JetRecoTreeProducer.cc.

167  {
168  // do anything here that needs to be done at desctruction time
169  // (e.g. close files, deallocate resources etc.)
170 }

Member Function Documentation

◆ analyze()

void L1JetRecoTreeProducer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 177 of file L1JetRecoTreeProducer.cc.

177  {
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 }

References caloJECToken_, caloJetCorrMissing_, caloJetIDMissing_, caloJetIDToken_, isolatedTracks_cfi::caloJets, caloJetsMissing_, caloJetToken_, heavyionUCCDQM_cfi::caloMet, CaloMET_cfi::caloMetBE, caloMetBEMissing_, caloMetBEToken_, caloMetMissing_, caloMetToken_, doCaloJetCorr(), doCaloJets(), doCaloMet(), doCaloMetBE(), doPFJetCorr(), doPFJets(), doPFMet(), doPFMetNoMu(), iEvent, edm::HandleBase::isValid(), jet_data, met_data, PDWG_BPHSkim_cff::muons, muonsMissing_, muonToken_, L1Analysis::L1AnalysisRecoJetDataFormat::nCaloJets, L1Analysis::L1AnalysisRecoJetDataFormat::nJets, pfJECToken_, pfJetCorrMissing_, pfJetBenchmark_cfi::pfJets, pfJetsMissing_, pfJetToken_, RecoPFMET_cff::pfMet, pfMetMissing_, pfMetToken_, L1Analysis::L1AnalysisRecoMetDataFormat::Reset(), L1Analysis::L1AnalysisRecoJetDataFormat::Reset(), and tree_.

◆ beginJob()

void L1JetRecoTreeProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 524 of file L1JetRecoTreeProducer.cc.

524 {}

◆ caloJetID()

bool L1JetRecoTreeProducer::caloJetID ( const reco::CaloJet jet)
private

Definition at line 517 of file L1JetRecoTreeProducer.cc.

517  {
518  bool tmp = true;
519 
520  return tmp;
521 }

References createJobs::tmp.

Referenced by doCaloJetCorr(), and doCaloJets().

◆ doCaloJetCorr()

void L1JetRecoTreeProducer::doCaloJetCorr ( edm::Handle< reco::CaloJetCollection caloJets,
edm::Handle< reco::JetCorrector caloJetCorr 
)
private

Definition at line 404 of file L1JetRecoTreeProducer.cc.

405  {
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 }

References L1Analysis::L1AnalysisRecoJetDataFormat::caloCorrFactor, L1Analysis::L1AnalysisRecoJetDataFormat::caloEtCorr, L1Analysis::L1AnalysisRecoMetDataFormat::caloHt, caloJetID(), caloJetIDMissing_, isolatedTracks_cfi::caloJets, reco::JetCorrector::correction(), jet_data, jetetaMax_, jetptThreshold_, maxJet_, met_data, and edm::Handle< T >::product().

Referenced by analyze().

◆ doCaloJets()

void L1JetRecoTreeProducer::doCaloJets ( edm::Handle< reco::CaloJetCollection caloJets)
private

Definition at line 306 of file L1JetRecoTreeProducer.cc.

306  {
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 }

References L1Analysis::L1AnalysisRecoJetDataFormat::caloE, L1Analysis::L1AnalysisRecoJetDataFormat::caloEt, L1Analysis::L1AnalysisRecoJetDataFormat::caloEta, caloJetID(), caloJetIDMissing_, isolatedTracks_cfi::caloJets, L1Analysis::L1AnalysisRecoJetDataFormat::caloPhi, L1Analysis::L1AnalysisRecoJetDataFormat::eEmEB, L1Analysis::L1AnalysisRecoJetDataFormat::eEmEE, L1Analysis::L1AnalysisRecoJetDataFormat::eEMF, L1Analysis::L1AnalysisRecoJetDataFormat::eEmHF, L1Analysis::L1AnalysisRecoJetDataFormat::eHadHB, L1Analysis::L1AnalysisRecoJetDataFormat::eHadHE, L1Analysis::L1AnalysisRecoJetDataFormat::eHadHF, L1Analysis::L1AnalysisRecoJetDataFormat::eHadHO, L1Analysis::L1AnalysisRecoJetDataFormat::eMaxEcalTow, L1Analysis::L1AnalysisRecoJetDataFormat::eMaxHcalTow, jet_data, maxJet_, L1Analysis::L1AnalysisRecoJetDataFormat::n60, L1Analysis::L1AnalysisRecoJetDataFormat::nCaloJets, and L1Analysis::L1AnalysisRecoJetDataFormat::towerArea.

Referenced by analyze().

◆ doCaloMet()

void L1JetRecoTreeProducer::doCaloMet ( edm::Handle< reco::CaloMETCollection caloMet)
private

◆ doCaloMetBE()

void L1JetRecoTreeProducer::doCaloMetBE ( edm::Handle< reco::CaloMETCollection caloMetBE)
private

◆ doPFJetCorr()

void L1JetRecoTreeProducer::doPFJetCorr ( edm::Handle< reco::PFJetCollection pfJets,
edm::Handle< reco::JetCorrector pfJetCorr 
)
private

Definition at line 369 of file L1JetRecoTreeProducer.cc.

370  {
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 }

References reco::JetCorrector::correction(), L1Analysis::L1AnalysisRecoJetDataFormat::corrFactor, L1Analysis::L1AnalysisRecoJetDataFormat::etCorr, L1Analysis::L1AnalysisRecoMetDataFormat::Ht, jet_data, jetetaMax_, jetptThreshold_, maxJet_, met_data, L1Analysis::L1AnalysisRecoMetDataFormat::mHt, L1Analysis::L1AnalysisRecoMetDataFormat::mHtPhi, pfJetID(), pfJetBenchmark_cfi::pfJets, and edm::Handle< T >::product().

Referenced by analyze().

◆ doPFJets()

void L1JetRecoTreeProducer::doPFJets ( edm::Handle< reco::PFJetCollection pfJets)
private

Definition at line 334 of file L1JetRecoTreeProducer.cc.

334  {
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 }

References L1Analysis::L1AnalysisRecoJetDataFormat::cemef, L1Analysis::L1AnalysisRecoJetDataFormat::chef, L1Analysis::L1AnalysisRecoJetDataFormat::chMult, L1Analysis::L1AnalysisRecoJetDataFormat::cmef, L1Analysis::L1AnalysisRecoJetDataFormat::cMult, L1Analysis::L1AnalysisRecoJetDataFormat::e, L1Analysis::L1AnalysisRecoJetDataFormat::eef, L1Analysis::L1AnalysisRecoJetDataFormat::elMult, L1Analysis::L1AnalysisRecoJetDataFormat::et, L1Analysis::L1AnalysisRecoJetDataFormat::eta, L1Analysis::L1AnalysisRecoJetDataFormat::hfemef, L1Analysis::L1AnalysisRecoJetDataFormat::hfemMult, L1Analysis::L1AnalysisRecoJetDataFormat::hfhef, L1Analysis::L1AnalysisRecoJetDataFormat::hfhMult, jet_data, maxJet_, L1Analysis::L1AnalysisRecoJetDataFormat::mef, L1Analysis::L1AnalysisRecoJetDataFormat::muMult, L1Analysis::L1AnalysisRecoJetDataFormat::nemef, L1Analysis::L1AnalysisRecoJetDataFormat::nhef, L1Analysis::L1AnalysisRecoJetDataFormat::nhMult, L1Analysis::L1AnalysisRecoJetDataFormat::nJets, L1Analysis::L1AnalysisRecoJetDataFormat::nMult, L1Analysis::L1AnalysisRecoJetDataFormat::pef, pfJetID(), pfJetBenchmark_cfi::pfJets, L1Analysis::L1AnalysisRecoJetDataFormat::phi, and L1Analysis::L1AnalysisRecoJetDataFormat::phMult.

Referenced by analyze().

◆ doPFMet()

void L1JetRecoTreeProducer::doPFMet ( edm::Handle< reco::PFMETCollection pfMet)
private

◆ doPFMetNoMu()

void L1JetRecoTreeProducer::doPFMetNoMu ( edm::Handle< reco::PFMETCollection pfMet,
edm::Handle< reco::MuonCollection muons 
)
private

Definition at line 440 of file L1JetRecoTreeProducer.cc.

441  {
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 }

References reco::LeafCandidate::et(), met_data, PDWG_BPHSkim_cff::muons, RecoPFMET_cff::pfMet, L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMu, L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPhi, L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPx, L1Analysis::L1AnalysisRecoMetDataFormat::pfMetNoMuPy, reco::LeafCandidate::phi(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and reco::LeafCandidate::setP4().

Referenced by analyze().

◆ endJob()

void L1JetRecoTreeProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 527 of file L1JetRecoTreeProducer.cc.

527 {}

◆ pfJetID()

bool L1JetRecoTreeProducer::pfJetID ( const reco::PFJet jet)
private

Definition at line 489 of file L1JetRecoTreeProducer.cc.

489  {
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 }

References metsig::jet, and createJobs::tmp.

Referenced by doPFJetCorr(), and doPFJets().

Member Data Documentation

◆ caloJECToken_

edm::EDGetTokenT<reco::JetCorrector> L1JetRecoTreeProducer::caloJECToken_
private

Definition at line 97 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ caloJetCorrMissing_

bool L1JetRecoTreeProducer::caloJetCorrMissing_
private

Definition at line 115 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ caloJetIDMissing_

bool L1JetRecoTreeProducer::caloJetIDMissing_
private

Definition at line 117 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), doCaloJetCorr(), and doCaloJets().

◆ caloJetIDToken_

edm::EDGetTokenT<edm::ValueMap<reco::JetID> > L1JetRecoTreeProducer::caloJetIDToken_
private

Definition at line 95 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ caloJetsMissing_

bool L1JetRecoTreeProducer::caloJetsMissing_
private

Definition at line 116 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ caloJetToken_

edm::EDGetTokenT<reco::CaloJetCollection> L1JetRecoTreeProducer::caloJetToken_
private

Definition at line 94 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ caloMetBEMissing_

bool L1JetRecoTreeProducer::caloMetBEMissing_
private

Definition at line 120 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ caloMetBEToken_

edm::EDGetTokenT<reco::CaloMETCollection> L1JetRecoTreeProducer::caloMetBEToken_
private

Definition at line 101 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ caloMetMissing_

bool L1JetRecoTreeProducer::caloMetMissing_
private

Definition at line 119 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ caloMetToken_

edm::EDGetTokenT<reco::CaloMETCollection> L1JetRecoTreeProducer::caloMetToken_
private

Definition at line 100 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ fs_

edm::Service<TFileService> L1JetRecoTreeProducer::fs_
private

Definition at line 87 of file L1JetRecoTreeProducer.cc.

Referenced by L1JetRecoTreeProducer().

◆ jet_data

L1Analysis::L1AnalysisRecoJetDataFormat* L1JetRecoTreeProducer::jet_data

◆ jetetaMax_

double L1JetRecoTreeProducer::jetetaMax_
private

Definition at line 108 of file L1JetRecoTreeProducer.cc.

Referenced by doCaloJetCorr(), doPFJetCorr(), and L1JetRecoTreeProducer().

◆ jetptThreshold_

double L1JetRecoTreeProducer::jetptThreshold_
private

Definition at line 107 of file L1JetRecoTreeProducer.cc.

Referenced by doCaloJetCorr(), doPFJetCorr(), and L1JetRecoTreeProducer().

◆ maxCl_

unsigned int L1JetRecoTreeProducer::maxCl_
private

Definition at line 109 of file L1JetRecoTreeProducer.cc.

◆ maxJet_

unsigned int L1JetRecoTreeProducer::maxJet_
private

◆ maxTrk_

unsigned int L1JetRecoTreeProducer::maxTrk_
private

Definition at line 112 of file L1JetRecoTreeProducer.cc.

◆ maxVtx_

unsigned int L1JetRecoTreeProducer::maxVtx_
private

Definition at line 111 of file L1JetRecoTreeProducer.cc.

◆ met_data

L1Analysis::L1AnalysisRecoMetDataFormat* L1JetRecoTreeProducer::met_data

◆ muonsMissing_

bool L1JetRecoTreeProducer::muonsMissing_
private

Definition at line 122 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ muonToken_

edm::EDGetTokenT<reco::MuonCollection> L1JetRecoTreeProducer::muonToken_
private

Definition at line 103 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ pfJECToken_

edm::EDGetTokenT<reco::JetCorrector> L1JetRecoTreeProducer::pfJECToken_
private

Definition at line 96 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ pfJetCorrMissing_

bool L1JetRecoTreeProducer::pfJetCorrMissing_
private

Definition at line 114 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ pfJetsMissing_

bool L1JetRecoTreeProducer::pfJetsMissing_
private

Definition at line 106 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ pfJetToken_

edm::EDGetTokenT<reco::PFJetCollection> L1JetRecoTreeProducer::pfJetToken_
private

Definition at line 93 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ pfMetMissing_

bool L1JetRecoTreeProducer::pfMetMissing_
private

Definition at line 118 of file L1JetRecoTreeProducer.cc.

Referenced by analyze().

◆ pfMetToken_

edm::EDGetTokenT<reco::PFMETCollection> L1JetRecoTreeProducer::pfMetToken_
private

Definition at line 99 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

◆ tree_

TTree* L1JetRecoTreeProducer::tree_
private

Definition at line 90 of file L1JetRecoTreeProducer.cc.

Referenced by analyze(), and L1JetRecoTreeProducer().

PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
reco::PFMETCollection
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
Definition: PFMETCollection.h:20
L1Analysis::L1AnalysisRecoMetDataFormat
Definition: L1AnalysisRecoMetDataFormat.h:14
L1JetRecoTreeProducer::doCaloJets
void doCaloJets(edm::Handle< reco::CaloJetCollection > caloJets)
Definition: L1JetRecoTreeProducer.cc:306
L1JetRecoTreeProducer::jet_data
L1Analysis::L1AnalysisRecoJetDataFormat * jet_data
Definition: L1JetRecoTreeProducer.cc:82
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
L1Analysis::L1AnalysisRecoJetDataFormat::eMaxEcalTow
std::vector< float > eMaxEcalTow
Definition: L1AnalysisRecoJetDataFormat.h:103
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
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
reco::MET::sumEt
double sumEt() const
Definition: MET.h:56
L1Analysis::L1AnalysisRecoMetDataFormat::sumEt
float sumEt
Definition: L1AnalysisRecoMetDataFormat.h:60
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:47
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
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 >
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
L1Analysis::L1AnalysisRecoJetDataFormat::nhMult
std::vector< short > nhMult
Definition: L1AnalysisRecoJetDataFormat.h:122
reco::CaloMET
Definition: CaloMET.h:21
L1JetRecoTreeProducer::caloMetBEMissing_
bool caloMetBEMissing_
Definition: L1JetRecoTreeProducer.cc:120
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
L1Analysis::L1AnalysisRecoJetDataFormat::caloEt
std::vector< float > caloEt
Definition: L1AnalysisRecoJetDataFormat.h:89
L1Analysis::L1AnalysisRecoJetDataFormat::caloPhi
std::vector< float > caloPhi
Definition: L1AnalysisRecoJetDataFormat.h:93
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
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
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
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
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
edm::LogWarning
Definition: MessageLogger.h:141
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
L1Analysis::L1AnalysisRecoJetDataFormat::towerArea
std::vector< float > towerArea
Definition: L1AnalysisRecoJetDataFormat.h:105
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
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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
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
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
L1Analysis::L1AnalysisRecoJetDataFormat::e
std::vector< float > e
Definition: L1AnalysisRecoJetDataFormat.h:80
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
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
reco::LeafCandidate::px
double px() const final
x coordinate of momentum vector
Definition: LeafCandidate.h:140
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
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