CMS 3D CMS Logo

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

#include <NoPileUpPFMEtDataProducer.h>

Inheritance diagram for NoPileUpPFMEtDataProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 NoPileUpPFMEtDataProducer (const edm::ParameterSet &)
 
 ~NoPileUpPFMEtDataProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void produce (edm::Event &, const edm::EventSetup &)
 

Private Attributes

double dZcut_
 
std::string jetEnOffsetCorrLabel_
 
PileupJetIdentifier::Id jetIdSelection_
 
PFJetIDSelectionFunctorlooseJetIdAlgo_
 
int maxWarnings_
 
double minJetPt_
 
double minJetPtForMEtCov_
 
std::string moduleLabel_
 
int numWarnings_
 
PFMEtSignInterfaceBasepfMEtSignInterface_
 
edm::EDGetTokenT< reco::VertexCollectionsrcHardScatterVertex_
 
edm::EDGetTokenT< edm::ValueMap< int > > srcJetIds_
 
edm::EDGetTokenT< reco::PFJetCollectionsrcJets_
 
edm::EDGetTokenT< reco::PFJetCollectionsrcJetsForMEtCov_
 
edm::EDGetTokenT< reco::PFCandidateCollectionsrcPFCandidates_
 
edm::EDGetTokenT< edm::View< reco::PFCandidate > > srcPFCandidatesView_
 
edm::EDGetTokenT< PFCandToVertexAssMapsrcPFCandToVertexAssociations_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, 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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Produce input objects used to compute MVA/No-PU MET

Authors
Phil Harris, CERN Christian Veelken, LLR

Definition at line 41 of file NoPileUpPFMEtDataProducer.h.

Constructor & Destructor Documentation

NoPileUpPFMEtDataProducer::NoPileUpPFMEtDataProducer ( const edm::ParameterSet cfg)

Definition at line 16 of file NoPileUpPFMEtDataProducer.cc.

References edm::ParameterSet::addParameter(), dZcut_, Exception, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), jetEnOffsetCorrLabel_, jetIdSelection_, PileupJetIdentifier::kLoose, PileupJetIdentifier::kMedium, PileupJetIdentifier::kTight, looseJetIdAlgo_, maxWarnings_, minJetPt_, minJetPtForMEtCov_, numWarnings_, pfMEtSignInterface_, srcHardScatterVertex_, srcJetIds_, srcJets_, srcJetsForMEtCov_, srcPFCandidates_, srcPFCandidatesView_, srcPFCandToVertexAssociations_, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity_.

17  : moduleLabel_(cfg.getParameter<std::string>("@module_label")),
18  looseJetIdAlgo_(nullptr),
19  pfMEtSignInterface_(nullptr)
20 {
21  srcJets_ = consumes<reco::PFJetCollection>(cfg.getParameter<edm::InputTag>("srcJets"));
22  srcJetIds_ = consumes<edm::ValueMap<int> >(cfg.getParameter<edm::InputTag>("srcJetIds"));
23  minJetPt_ = cfg.getParameter<double>("minJetPt");
24  std::string jetIdSelection_string = cfg.getParameter<std::string>("jetIdSelection");
25  if ( jetIdSelection_string == "loose" ) jetIdSelection_ = PileupJetIdentifier::kLoose;
26  else if ( jetIdSelection_string == "medium" ) jetIdSelection_ = PileupJetIdentifier::kMedium;
27  else if ( jetIdSelection_string == "tight" ) jetIdSelection_ = PileupJetIdentifier::kTight;
28  else throw cms::Exception("NoPileUpPFMEtDataProducer")
29  << "Invalid Configuration Parameter 'jetIdSelection' = " << jetIdSelection_string << " !!\n";
30  jetEnOffsetCorrLabel_ = cfg.getParameter<std::string>("jetEnOffsetCorrLabel");
31 
32  srcPFCandidates_ = consumes<reco::PFCandidateCollection>(cfg.getParameter<edm::InputTag>("srcPFCandidates"));
33  srcPFCandidatesView_ = consumes<edm::View<reco::PFCandidate> >(cfg.getParameter<edm::InputTag>("srcPFCandidates"));
34  srcPFCandToVertexAssociations_ = consumes<PFCandToVertexAssMap>(cfg.getParameter<edm::InputTag>("srcPFCandToVertexAssociations"));
35  srcJetsForMEtCov_ = mayConsume<reco::PFJetCollection>(cfg.getParameter<edm::InputTag>("srcJetsForMEtCov"));
36  minJetPtForMEtCov_ = cfg.getParameter<double>("minJetPtForMEtCov");
37  srcHardScatterVertex_ = consumes<reco::VertexCollection>(cfg.getParameter<edm::InputTag>("srcHardScatterVertex"));
38  dZcut_ = cfg.getParameter<double>("dZcut");
39 
40  edm::ParameterSet cfgPFJetIdAlgo;
41  cfgPFJetIdAlgo.addParameter<std::string>("version", "FIRSTDATA");
42  cfgPFJetIdAlgo.addParameter<std::string>("quality", "LOOSE");
43  looseJetIdAlgo_ = new PFJetIDSelectionFunctor(cfgPFJetIdAlgo);
44 
46 
47  maxWarnings_ = ( cfg.exists("maxWarnings") ) ?
48  cfg.getParameter<int>("maxWarnings") : 1;
49  numWarnings_ = 0;
50 
51  verbosity_ = ( cfg.exists("verbosity") ) ?
52  cfg.getParameter<int>("verbosity") : 0;
53 
54  produces<reco::PUSubMETCandInfoCollection>("jetInfos");
55  produces<reco::PUSubMETCandInfoCollection>("pfCandInfos");
56 }
T getParameter(std::string const &) const
edm::EDGetTokenT< PFCandToVertexAssMap > srcPFCandToVertexAssociations_
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< reco::PFJetCollection > srcJetsForMEtCov_
edm::EDGetTokenT< reco::VertexCollection > srcHardScatterVertex_
edm::EDGetTokenT< edm::View< reco::PFCandidate > > srcPFCandidatesView_
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidates_
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:144
edm::EDGetTokenT< reco::PFJetCollection > srcJets_
PFJetIDSelectionFunctor * looseJetIdAlgo_
PFMEtSignInterfaceBase * pfMEtSignInterface_
PF Jet selector for pat::Jets.
edm::EDGetTokenT< edm::ValueMap< int > > srcJetIds_
PileupJetIdentifier::Id jetIdSelection_
NoPileUpPFMEtDataProducer::~NoPileUpPFMEtDataProducer ( )

Member Function Documentation

void NoPileUpPFMEtDataProducer::produce ( edm::Event evt,
const edm::EventSetup es 
)
private

Definition at line 125 of file NoPileUpPFMEtDataProducer.cc.

References PFMEtSignInterfaceBase::compResolution(), funct::cos(), DEFINE_FWK_MODULE, dZcut_, reco::LeafCandidate::energy(), Exception, flag_isWithinFakeJet, flag_isWithinJetForMEtCov, flag_isWithinSelectedJet, edm::Ptr< T >::get(), metsig::SigInputObj::get_energy(), metsig::SigInputObj::get_phi(), metsig::SigInputObj::get_sigma_e(), metsig::SigInputObj::get_sigma_tan(), metsig::SigInputObj::get_type(), edm::Event::getByToken(), JetCorrector::getJetCorrector(), training_settings::idx, edm::EDGetTokenT< T >::isUninitialized(), noPuUtils::isVertexAssociated_fast(), reco::PUSubMETCandInfo::isWithinJet(), metsig::jet, jetEnOffsetCorrLabel_, jetIdSelection_, fwrapper::jets, reco::PUSubMETCandInfo::kChHS, noPuUtils::kChHSAssoc, reco::PUSubMETCandInfo::kChPU, edm::Ptr< T >::key(), reco::PUSubMETCandInfo::kHS, reco::PUSubMETCandInfo::kNeutral, reco::PUSubMETCandInfo::kPU, LogDebug, maxWarnings_, minJetPt_, minJetPtForMEtCov_, moduleLabel_, eostools::move(), numWarnings_, PileupJetIdentifier::passJetId(), slimmedMuons_cfi::pfCandidates, pfMEtSignInterface_, edm::Event::put(), noPuUtils::reversePFCandToVertexAssociation(), metsig::SigInputObj::set(), reco::PUSubMETCandInfo::setCharge(), reco::PUSubMETCandInfo::setChargedEnFrac(), reco::PUSubMETCandInfo::setIsWithinJet(), reco::PUSubMETCandInfo::setMEtSignObj(), reco::PUSubMETCandInfo::setOffsetEnCorr(), reco::PUSubMETCandInfo::setP4(), reco::LeafCandidate::setP4(), reco::PUSubMETCandInfo::setPassesLooseJetId(), reco::PUSubMETCandInfo::setType(), funct::sin(), srcHardScatterVertex_, srcJetIds_, srcJets_, srcJetsForMEtCov_, srcPFCandidates_, srcPFCandidatesView_, and srcPFCandToVertexAssociations_.

126 {
127  LogDebug ("produce")
128  << "<NoPileUpPFMEtDataProducer::produce>:\n"
129  << " moduleLabel = " << moduleLabel_ << std::endl;
130 
131  // get jets
133  evt.getByToken(srcJets_, jets);
134 
135  typedef edm::ValueMap<int> jetIdMap;
136  edm::Handle<jetIdMap> jetIds;
137  evt.getByToken(srcJetIds_, jetIds);
138 
139  // get jets for computing contributions to PFMEt significance matrix
141  if ( ! srcJetsForMEtCov_.isUninitialized() ) evt.getByToken(srcJetsForMEtCov_, jetsForMEtCov);
142 
143  // get PFCandidates
145  evt.getByToken(srcPFCandidatesView_, pfCandidates);
146 
147  std::vector<int> pfCandidateFlags(pfCandidates->size());
148  std::vector<const reco::PFJet*> pfCandidateToJetAssociations(pfCandidates->size());
149 
151  evt.getByToken(srcPFCandidates_, pfCandidateHandle);
152 
153  // get PFCandidate-to-vertex associations and "the" hard-scatter vertex
154  edm::Handle<PFCandToVertexAssMap> pfCandToVertexAssociations;
155  evt.getByToken(srcPFCandToVertexAssociations_, pfCandToVertexAssociations);
156 
157  noPuUtils::reversedPFCandToVertexAssMap pfCandToVertexAssociations_reversed = noPuUtils::reversePFCandToVertexAssociation(*pfCandToVertexAssociations);
158 
159  edm::Handle<reco::VertexCollection> hardScatterVertex;
160  evt.getByToken(srcHardScatterVertex_, hardScatterVertex);
161 
162  auto jetInfos = std::make_unique<reco::PUSubMETCandInfoCollection>();
163  auto pfCandInfos = std::make_unique<reco::PUSubMETCandInfoCollection>();
164 
165  const JetCorrector* jetEnOffsetCorrector = nullptr;
166  if ( jetEnOffsetCorrLabel_ != "" ) {
167  jetEnOffsetCorrector = JetCorrector::getJetCorrector(jetEnOffsetCorrLabel_, es);
168  if ( !jetEnOffsetCorrector )
169  throw cms::Exception("NoPileUpPFMEtDataProducer::produce")
170  << "Failed to access Jet corrections for = " << jetEnOffsetCorrLabel_ << " !!\n";
171  }
172 
173  size_t numJets = jets->size();
174  for ( size_t iJet = 0; iJet < numJets; ++iJet ) {
175  reco::PFJetRef jet(jets, iJet);
176  if ( !(jet->pt() > minJetPt_) ) continue;
177 
178  bool passesLooseJetId = (*looseJetIdAlgo_)(*jet);
179  if ( !passesLooseJetId ) {
180  setPFCandidateFlag(*jet, *pfCandidates, pfCandidateFlags, flag_isWithinFakeJet, numWarnings_, maxWarnings_);
181  }
182  setPFCandidateFlag(*jet, *pfCandidates, pfCandidateFlags, flag_isWithinSelectedJet, numWarnings_, maxWarnings_);
183 
184  reco::PUSubMETCandInfo jetInfo;
185  jetInfo.setP4( jet->p4() );
186  int jetId = (*jetIds)[jet];
187  bool jetIdSelection_passed = PileupJetIdentifier::passJetId(jetId, jetIdSelection_);
188  jetInfo.setType( ( jetIdSelection_passed ) ?
190  jetInfo.setPassesLooseJetId( passesLooseJetId );
191  double jetEnergy_uncorrected =
192  jet->chargedHadronEnergy()
193  + jet->neutralHadronEnergy()
194  + jet->photonEnergy()
195  + jet->electronEnergy()
196  + jet->muonEnergy()
197  + jet->HFHadronEnergy()
198  + jet->HFEMEnergy();
199  double jetPx_uncorrected = cos(jet->phi())*sin(jet->theta())*jetEnergy_uncorrected;
200  double jetPy_uncorrected = sin(jet->phi())*sin(jet->theta())*jetEnergy_uncorrected;
201  double jetPz_uncorrected = cos(jet->theta())*jetEnergy_uncorrected;
202  reco::Candidate::LorentzVector rawJetP4(jetPx_uncorrected, jetPy_uncorrected, jetPz_uncorrected, jetEnergy_uncorrected);
203  reco::PFJet rawJet(*jet);
204  rawJet.setP4(rawJetP4);
205  double jetNeutralEnFrac = ( jetEnergy_uncorrected > 0. ) ?
206  (jet->neutralEmEnergy() + jet->neutralHadronEnergy())/jetEnergy_uncorrected : -1.;
207  jetInfo.setChargedEnFrac( (1-jetNeutralEnFrac) );
208  jetInfo.setOffsetEnCorr( ( jetEnOffsetCorrector ) ?
209  rawJet.energy()*(1. - jetEnOffsetCorrector->correction(rawJet, evt, es)) : 0.);
210  jetInfo.setMEtSignObj( pfMEtSignInterface_->compResolution(&(*jet)) );
211 
212  jetInfos->push_back(jetInfo);
213  }
214  LogDebug ("produce") << "#jetInfos = " << jetInfos->size() << std::endl;
215 
216  for ( reco::PFJetCollection::const_iterator jet = jets->begin();
217  jet != jets->end(); ++jet ) {
218  if ( jet->pt() > minJetPtForMEtCov_ ) {
219  setPFCandidateFlag(*jet, *pfCandidates, pfCandidateFlags, flag_isWithinJetForMEtCov, numWarnings_, maxWarnings_, &pfCandidateToJetAssociations);
220  }
221  }
222 
223  size_t numPFCandidates = pfCandidates->size();
224  for ( size_t iPFCandidate = 0; iPFCandidate < numPFCandidates; ++iPFCandidate ) {
225  reco::PFCandidatePtr pfCandidatePtr = pfCandidates->ptrAt(iPFCandidate);
226 
227  int idx = pfCandidatePtr.key();
228  reco::PUSubMETCandInfo pfCandInfo;
229  pfCandInfo.setP4( pfCandidatePtr->p4() );
230  pfCandInfo.setCharge( pfCandidatePtr->charge() );
231  pfCandInfo.setType( -1 );
232  // CV: need to call isVertexAssociated_fast instead of isVertexAssociated function
233  // (makes run-time of MVAPFMEtDataProducer::produce decrease from ~1s per event to ~0.35s per event)
234  //int vtxAssociationType = isVertexAssociated(*pfCandidatePtr, *pfCandToVertexAssociations, *hardScatterVertex, dZcut_);
235  reco::PFCandidateRef pfCandidateRef( pfCandidateHandle, iPFCandidate);
236  int vtxAssociationType = noPuUtils::isVertexAssociated_fast(pfCandidateRef, pfCandToVertexAssociations_reversed, *hardScatterVertex, dZcut_, numWarnings_, maxWarnings_);
237  bool isHardScatterVertex_associated = (vtxAssociationType == noPuUtils::kChHSAssoc);
238  if ( pfCandidatePtr->charge() == 0 ) pfCandInfo.setType( reco::PUSubMETCandInfo::kNeutral );
239  else if ( isHardScatterVertex_associated ) pfCandInfo.setType( reco::PUSubMETCandInfo::kChHS );
240  else pfCandInfo.setType( reco::PUSubMETCandInfo::kChPU );
241  pfCandInfo.setIsWithinJet( (pfCandidateFlags[idx] & flag_isWithinSelectedJet) );
242  if ( pfCandInfo.isWithinJet() ) pfCandInfo.setPassesLooseJetId( (pfCandidateFlags[idx] & flag_isWithinFakeJet) );
243  else pfCandInfo.setPassesLooseJetId( true );
244 
245  // CV: for PFCandidates that are within PFJets (of Pt between 'minJetPtForMEtCov' and 'minJetPt'),
246  // take contribution to PFMEt significance matrix from associated PFJet.
247  // (energy uncertainty scaled by ratio of PFCandidate/PFJet energy)
248  const reco::PFJet* jet_matched = pfCandidateToJetAssociations[idx];
249  if ( jet_matched ) {
250  metsig::SigInputObj pfCandResolution = pfMEtSignInterface_->compResolution(pfCandidatePtr.get());
251  metsig::SigInputObj jetResolution = pfMEtSignInterface_->compResolution(jet_matched);
252 
253  metsig::SigInputObj metSign;
254  metSign.set(pfCandResolution.get_type(),
255  pfCandResolution.get_energy(),
256  pfCandResolution.get_phi(),
257  jetResolution.get_sigma_e()*(pfCandidatePtr->energy()/jet_matched->energy()),
258  jetResolution.get_sigma_tan());
259  pfCandInfo.setMEtSignObj( metSign );
260  } else {
261  pfCandInfo.setMEtSignObj( pfMEtSignInterface_->compResolution(pfCandidatePtr.get()) );
262  }
263 
264  pfCandInfos->push_back(pfCandInfo);
265  }
266 
267  LogDebug ("produce") << "#pfCandInfos = " << pfCandInfos->size() << std::endl;
268 
269  evt.put(std::move(jetInfos),"jetInfos");
270  evt.put(std::move(pfCandInfos),"pfCandInfos");
271 }
#define LogDebug(id)
double get_sigma_tan() const
Definition: SigInputObj.h:46
edm::EDGetTokenT< PFCandToVertexAssMap > srcPFCandToVertexAssociations_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:122
const int flag_isWithinSelectedJet
key_type key() const
Definition: Ptr.h:186
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
double get_phi() const
Definition: SigInputObj.h:44
T const * get() const
Returns C++ pointer to the item.
Definition: Ptr.h:160
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void setP4(const reco::Candidate::LorentzVector p4)
Definition: PUSubMETData.h:50
edm::EDGetTokenT< reco::PFJetCollection > srcJetsForMEtCov_
const int flag_isWithinFakeJet
noPuUtils::reversedPFCandToVertexAssMap reversePFCandToVertexAssociation(const PFCandToVertexAssMap &)
edm::EDGetTokenT< reco::VertexCollection > srcHardScatterVertex_
Jets made from PFObjects.
Definition: PFJet.h:21
void set(const std::string &m_type, const double &m_energy, const double &m_phi, const double &m_sigma_e, const double &m_sigma_tan)
Definition: SigInputObj.h:48
edm::EDGetTokenT< edm::View< reco::PFCandidate > > srcPFCandidatesView_
static bool passJetId(int flag, Id level)
const int flag_isWithinJetForMEtCov
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidates_
bool isWithinJet() const
Definition: PUSubMETData.h:41
vector< PseudoJet > jets
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
virtual double energy() const final
energy
void setIsWithinJet(bool isWJ)
Definition: PUSubMETData.h:57
edm::EDGetTokenT< reco::PFJetCollection > srcJets_
PFMEtSignInterfaceBase * pfMEtSignInterface_
void setPassesLooseJetId(float jetId)
Definition: PUSubMETData.h:58
void setCharge(int charge)
Definition: PUSubMETData.h:54
edm::EDGetTokenT< edm::ValueMap< int > > srcJetIds_
void setChargedEnFrac(float chEnF)
Definition: PUSubMETData.h:61
double get_energy() const
Definition: SigInputObj.h:43
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing ...
Definition: JetCorrector.cc:50
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
void setType(int type)
Definition: PUSubMETData.h:53
int isVertexAssociated_fast(const reco::PFCandidateRef &, const noPuUtils::reversedPFCandToVertexAssMap &, const reco::VertexCollection &, double, int &, int)
PileupJetIdentifier::Id jetIdSelection_
bool isUninitialized() const
Definition: EDGetToken.h:73
std::string get_type() const
Definition: SigInputObj.h:42
metsig::SigInputObj compResolution(const T *particle) const
void setMEtSignObj(metsig::SigInputObj msig)
Definition: PUSubMETData.h:63
void setOffsetEnCorr(float offset)
Definition: PUSubMETData.h:59
double get_sigma_e() const
Definition: SigInputObj.h:45
def move(src, dest)
Definition: eostools.py:510

Member Data Documentation

double NoPileUpPFMEtDataProducer::dZcut_
private

Definition at line 66 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

std::string NoPileUpPFMEtDataProducer::jetEnOffsetCorrLabel_
private

Definition at line 58 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

PileupJetIdentifier::Id NoPileUpPFMEtDataProducer::jetIdSelection_
private

Definition at line 57 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

PFJetIDSelectionFunctor* NoPileUpPFMEtDataProducer::looseJetIdAlgo_
private
int NoPileUpPFMEtDataProducer::maxWarnings_
private

Definition at line 72 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

double NoPileUpPFMEtDataProducer::minJetPt_
private

Definition at line 56 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

double NoPileUpPFMEtDataProducer::minJetPtForMEtCov_
private

Definition at line 64 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

std::string NoPileUpPFMEtDataProducer::moduleLabel_
private
int NoPileUpPFMEtDataProducer::numWarnings_
private

Definition at line 73 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

PFMEtSignInterfaceBase* NoPileUpPFMEtDataProducer::pfMEtSignInterface_
private
edm::EDGetTokenT<reco::VertexCollection> NoPileUpPFMEtDataProducer::srcHardScatterVertex_
private

Definition at line 65 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<edm::ValueMap<int> > NoPileUpPFMEtDataProducer::srcJetIds_
private

Definition at line 55 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<reco::PFJetCollection> NoPileUpPFMEtDataProducer::srcJets_
private

Definition at line 54 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<reco::PFJetCollection> NoPileUpPFMEtDataProducer::srcJetsForMEtCov_
private

Definition at line 63 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<reco::PFCandidateCollection> NoPileUpPFMEtDataProducer::srcPFCandidates_
private

Definition at line 60 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<edm::View<reco::PFCandidate> > NoPileUpPFMEtDataProducer::srcPFCandidatesView_
private

Definition at line 61 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

edm::EDGetTokenT<PFCandToVertexAssMap> NoPileUpPFMEtDataProducer::srcPFCandToVertexAssociations_
private

Definition at line 62 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer(), and produce().

int NoPileUpPFMEtDataProducer::verbosity_
private

Definition at line 75 of file NoPileUpPFMEtDataProducer.h.

Referenced by NoPileUpPFMEtDataProducer().