CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor > Class Template Reference

#include <SmearedPFCandidateProducerForPFNoPUMEt.h>

Inheritance diagram for SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 SmearedPFCandidateProducerForPFNoPUMEtT (const edm::ParameterSet &)
 
 ~SmearedPFCandidateProducerForPFNoPUMEtT ()
 
- 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
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Types

typedef std::vector< TJetCollection
 

Private Member Functions

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

Private Attributes

SmearedJetProducer_namespace::GenJetMatcherT
< T
genJetMatcher_
 
TFile * inputFile_
 
double jetCorrEtaMax_
 
Textractor jetCorrExtractor_
 
edm::InputTag jetCorrLabel_
 
edm::EDGetTokenT
< reco::JetCorrector
jetCorrToken_
 
SmearedJetProducer_namespace::JetResolutionExtractorT
< T
jetResolutionExtractor_
 
TH2 * lut_
 
TRandom3 rnd_
 
double shiftBy_
 
double sigmaMaxGenJetMatch_
 
double skipCorrJetPtThreshold_
 
bool skipJetSel_
 
StringCutObjectSelector< T > * skipJetSelection_
 
double skipRawJetPtThreshold_
 
double smearBy_
 
edm::EDGetTokenT< JetCollectionsrcJets_
 
edm::EDGetTokenT
< reco::PFCandidateCollection
srcPFCandidates_
 
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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- 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::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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

template<typename T, typename Textractor>
class SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >

Definition at line 45 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

Member Typedef Documentation

template<typename T , typename Textractor >
typedef std::vector<T> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::JetCollection
private

Definition at line 47 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

Constructor & Destructor Documentation

template<typename T , typename Textractor >
SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::SmearedPFCandidateProducerForPFNoPUMEtT ( const edm::ParameterSet cfg)
explicit

Definition at line 24 of file SmearedPFCandidateProducerForPFNoPUMEt.cc.

References defJetPtThr, etaMaxBound, edm::hlt::Exception, edm::ParameterSet::exists(), edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::inputFile_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrEtaMax_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrLabel_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrToken_, edm::FileInPath::location(), SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::lut_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::shiftBy_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::sigmaMaxGenJetMatch_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipCorrJetPtThreshold_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipJetSel_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipJetSelection_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipRawJetPtThreshold_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::smearBy_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::srcJets_, SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::srcPFCandidates_, AlCaHLTBitMon_QueryRunRegistry::string, edm::FileInPath::Unknown, and SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::verbosity_.

27  jetCorrLabel_(""),
28  skipJetSelection_(nullptr)
29 {
30 
31  srcPFCandidates_ = consumes<reco::PFCandidateCollection>(cfg.getParameter<edm::InputTag>("srcPFCandidates") );
32  srcJets_ = consumes<JetCollection>(cfg.getParameter<edm::InputTag>("srcJets"));
33 
34  edm::FileInPath inputFileName = cfg.getParameter<edm::FileInPath>("inputFileName");
35  std::string lutName = cfg.getParameter<std::string>("lutName");
36  if ( inputFileName.location() == edm::FileInPath::Unknown )
37  throw cms::Exception("SmearedPFCandidateProducerForPFNoPUMEt")
38  << " Failed to find File = " << inputFileName << " !!\n";
39 
40  inputFile_ = new TFile(inputFileName.fullPath().data());
41  lut_ = dynamic_cast<TH2*>(inputFile_->Get(lutName.data()));
42  if ( !lut_ )
43  throw cms::Exception("SmearedPFCandidateProducerForPFNoPUMEt")
44  << " Failed to load LUT = " << lutName.data() << " from file = " << inputFileName.fullPath().data() << " !!\n";
45 
46  if ( cfg.exists("jetCorrLabel") ) {
47  jetCorrLabel_ = cfg.getParameter<edm::InputTag>("jetCorrLabel");
48  jetCorrToken_ = consumes<reco::JetCorrector>(jetCorrLabel_);
49  }
50 
51  jetCorrEtaMax_ = ( cfg.exists("jetCorrEtaMax") ) ?
52  cfg.getParameter<double>("jetCorrEtaMax") : etaMaxBound;
53 
54  sigmaMaxGenJetMatch_ = cfg.getParameter<double>("sigmaMaxGenJetMatch");
55 
56  smearBy_ = ( cfg.exists("smearBy") ) ? cfg.getParameter<double>("smearBy") : 1.0;
57  //std::cout << "smearBy = " << smearBy_ << std::endl;
58 
59  shiftBy_ = ( cfg.exists("shiftBy") ) ? cfg.getParameter<double>("shiftBy") : 0.;
60  //std::cout << "shiftBy = " << shiftBy_ << std::endl;
61 
62  skipJetSel_ = cfg.exists("skipJetSelection");
63  if ( skipJetSel_ ) {
64  std::string skipJetSelection_string = cfg.getParameter<std::string>("skipJetSelection");
65  skipJetSelection_ = new StringCutObjectSelector<T>(skipJetSelection_string);
66  }
67 
68 
69  skipRawJetPtThreshold_ = ( cfg.exists("skipRawJetPtThreshold") ) ?
70  cfg.getParameter<double>("skipRawJetPtThreshold") : defJetPtThr;
71  skipCorrJetPtThreshold_ = ( cfg.exists("skipCorrJetPtThreshold") ) ?
72  cfg.getParameter<double>("skipCorrJetPtThreshold") : defJetPtThr;
73 
74  verbosity_ = ( cfg.exists("verbosity") ) ?
75  cfg.getParameter<int>("verbosity") : 0;
76 
77  produces<reco::PFCandidateCollection>();
78 }
T getParameter(std::string const &) const
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidates_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
LocationCode location() const
Where was the file found?
Definition: FileInPath.cc:159
SmearedJetProducer_namespace::GenJetMatcherT< T > genJetMatcher_
SmearedJetProducer_namespace::JetResolutionExtractorT< T > jetResolutionExtractor_
std::string fullPath() const
Definition: FileInPath.cc:165
template<typename T , typename Textractor >
SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::~SmearedPFCandidateProducerForPFNoPUMEtT ( )

Member Function Documentation

template<typename T , typename Textractor >
void SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::produce ( edm::Event evt,
const edm::EventSetup es 
)
privatevirtual

Implements edm::stream::EDProducerBase.

Definition at line 90 of file SmearedPFCandidateProducerForPFNoPUMEt.cc.

References funct::abs(), reco::deltaR2(), dR2Match, reco::LeafCandidate::energy(), edm::Event::getByToken(), metsig::jet, fwrapper::jets, edm::Handle< T >::product(), edm::Event::put(), reco::LeafCandidate::setP4(), mathSSE::sqrt(), x, and detailsBasic3DVector::y.

91 {
92  edm::Handle<reco::PFCandidateCollection> originalPFCandidates;
93  evt.getByToken(srcPFCandidates_, originalPFCandidates);
94 
96  evt.getByToken(srcJets_, jets);
97 
98  std::auto_ptr<reco::PFCandidateCollection> smearedPFCandidates(new reco::PFCandidateCollection);
99 
100  for ( reco::PFCandidateCollection::const_iterator originalPFCandidate = originalPFCandidates->begin();
101  originalPFCandidate != originalPFCandidates->end(); ++originalPFCandidate ) {
102 
103  const T* jet_matched = nullptr;
104  for ( typename JetCollection::const_iterator jet = jets->begin();
105  jet != jets->end(); ++jet ) {
106  std::vector<reco::PFCandidatePtr> jetConstituents = jet->getPFConstituents();
107  for ( std::vector<reco::PFCandidatePtr>::const_iterator jetConstituent = jet->getPFConstituents().begin();
108  jetConstituent != jet->getPFConstituents().end() && jet_matched==nullptr; ++jetConstituent ) {
109  if ( deltaR2(originalPFCandidate->p4(), (*jetConstituent)->p4()) < dR2Match ) jet_matched = &(*jet);
110  }
111  }
112 
113  if ( jet_matched==nullptr ) continue;
114 
115  const static SmearedJetProducer_namespace::RawJetExtractorT<T> rawJetExtractor;
116  reco::Candidate::LorentzVector rawJetP4 = rawJetExtractor(*jet_matched);
117  // if ( verbosity_ ) {
118  // std::cout << "rawJet: Pt = " << rawJetP4.pt() << ", eta = " << rawJetP4.eta() << ", phi = " << rawJetP4.phi() << std::endl;
119  // }
120 
121  reco::Candidate::LorentzVector corrJetP4 = jet_matched->p4();
122  if ( !jetCorrLabel_.label().empty() ) {
124  evt.getByToken(jetCorrToken_, jetCorr);
125  corrJetP4 = jetCorrExtractor_(*jet_matched, jetCorr.product(), jetCorrEtaMax_, &rawJetP4);
126  }
127  // if ( verbosity_ ) {
128  // std::cout << "corrJet: Pt = " << corrJetP4.pt() << ", eta = " << corrJetP4.eta() << ", phi = " << corrJetP4.phi() << std::endl;
129  // }
130 
131  double smearFactor = 1.;
132  double x = std::abs(corrJetP4.eta());
133  double y = corrJetP4.pt();
134  if ( x > lut_->GetXaxis()->GetXmin() && x < lut_->GetXaxis()->GetXmax() &&
135  y > lut_->GetYaxis()->GetXmin() && y < lut_->GetYaxis()->GetXmax() ) {
136  int binIndex = lut_->FindBin(x, y);
137 
138  if ( smearBy_ > 0. ) smearFactor += smearBy_*(lut_->GetBinContent(binIndex) - 1.);
139  double smearFactorErr = lut_->GetBinError(binIndex);
140  //if ( verbosity_ ) std::cout << "smearFactor = " << smearFactor << " +/- " << smearFactorErr << std::endl;
141 
142  if ( shiftBy_ != 0. ) {
143  smearFactor += (shiftBy_*smearFactorErr);
144  //if ( verbosity_ ) std::cout << "smearFactor(shifted) = " << smearFactor << std::endl;
145  }
146  }
147 
148  double smearedJetEn = jet_matched->energy();
149 
150  T rawJet(*jet_matched);
151  rawJet.setP4(rawJetP4);
152  double jetResolution = jetResolutionExtractor_(rawJet);
153  double sigmaEn = jetResolution;
154 
155  const reco::GenJet* genJet = genJetMatcher_(*jet_matched, &evt);
156  bool isGenMatched = false;
157  if ( genJet!=nullptr ) {
158  // if ( verbosity_ ) {
159  // std::cout << "genJet: Pt = " << genJet->pt() << ", eta = " << genJet->eta() << ", phi = " << genJet->phi() << std::endl;
160  // }
161  double dEn = corrJetP4.E() - genJet->energy();
162  if ( std::abs(dEn) < (sigmaMaxGenJetMatch_*sigmaEn) ) {
163 //--- case 1: reconstructed jet matched to generator level jet,
164 // smear difference between reconstructed and "true" jet energy
165 
166  // if ( verbosity_ ) {
167  // std::cout << " successfully matched to genJet" << std::endl;
168  // std::cout << "corrJetEn = " << corrJetP4.E() << ", genJetEn = " << genJet->energy() << " --> dEn = " << dEn << std::endl;
169  // }
170 
171  //smearedJetEn = jet_matched->energy()*(1. + (smearFactor - 1.)*dEn/std::max(rawJetP4.E(), corrJetP4.E()));
172  smearedJetEn = jet_matched->energy() + (smearFactor - 1.)*dEn;
173  isGenMatched = true;
174  }
175  }
176  if ( !isGenMatched ) {
177 //--- case 2: reconstructed jet **not** matched to generator level jet,
178 // smear jet energy using MC resolution functions implemented in PFMEt significance algorithm (CMS AN-10/400)
179 
180  // if ( verbosity_ ) {
181  // std::cout << " not matched to genJet" << std::endl;
182  // std::cout << "corrJetEn = " << corrJetP4.E() << ", sigmaEn = " << sigmaEn << std::endl;
183  // }
184 
185  if ( smearFactor > 1. ) {
186  // CV: MC resolution already accounted for in reconstructed jet,
187  // add additional Gaussian smearing of width = sqrt(smearFactor^2 - 1)
188  // to account for Data/MC **difference** in jet resolutions.
189  // Take maximum(rawJetEn, corrJetEn) to avoid pathological cases
190  // (e.g. corrJetEn << rawJetEn, due to L1Fastjet corrections)
191 
192  double addSigmaEn = jetResolution*sqrt(smearFactor*smearFactor - 1.);
193  //smearedJetEn = jet_matched->energy()*(1. + rnd_.Gaus(0., addSigmaEn)/std::max(rawJetP4.E(), corrJetP4.E()));
194  smearedJetEn = jet_matched->energy() + rnd_.Gaus(0., addSigmaEn);
195  }
196  }
197 
198  // CV: keep minimum jet energy, in order not to loose direction information
199  const double minJetEn = 1.e-2;
200  if ( smearedJetEn < minJetEn ) smearedJetEn = minJetEn;
201 
202  // CV: skip smearing in case either "raw" or "corrected" jet energy is very low
203  // or jet passes selection configurable via python
204  // (allows for protection against "pathological cases",
205  // cf. PhysicsTools/PatUtils/python/tools/metUncertaintyTools.py)
206  reco::Candidate::LorentzVector smearedJetP4 = jet_matched->p4();
207  if ( !((skipJetSelection_ && (*skipJetSelection_)(*jet_matched)) ||
208  rawJetP4.pt() < skipRawJetPtThreshold_ ||
209  corrJetP4.pt() < skipCorrJetPtThreshold_ ) ) {
210  // if ( verbosity_ ) {
211  // std::cout << " multiplying jetP4 by factor = " << (smearedJetEn/jet_matched->energy()) << " --> smearedJetEn = " << smearedJetEn << std::endl;
212  // }
213  smearedJetP4 *= (smearedJetEn/jet_matched->energy());
214  }
215 
216  // if ( verbosity_ ) {
217  // std::cout << "smearedJet: Pt = " << smearedJetP4.pt() << ", eta = " << smearedJetP4.eta() << ", phi = " << smearedJetP4.phi() << std::endl;
218  // std::cout << " dPt = " << (smearedJetP4.pt() - jet_matched->pt())
219  // << " (dPx = " << (smearedJetP4.px() - jet_matched->px()) << ", dPy = " << (smearedJetP4.py() - jet_matched->py()) << ")" << std::endl;
220  // }
221 
222  double scaleFactor = ( jet_matched->p4().energy() > 0. ) ?
223  (smearedJetP4.energy()/jet_matched->p4().energy()) : 1.0;
224 
225  double smearedPx = scaleFactor*originalPFCandidate->px();
226  double smearedPy = scaleFactor*originalPFCandidate->py();
227  double smearedPz = scaleFactor*originalPFCandidate->pz();
228  double mass = originalPFCandidate->mass();
229  double smearedEn = sqrt(smearedPx*smearedPx + smearedPy*smearedPy + smearedPz*smearedPz + mass*mass);
230  reco::Candidate::LorentzVector smearedPFCandidateP4(smearedPx, smearedPy, smearedPz, smearedEn);
231 
232  reco::PFCandidate smearedPFCandidate(*originalPFCandidate);
233  smearedPFCandidate.setP4(smearedPFCandidateP4);
234 
235  smearedPFCandidates->push_back(smearedPFCandidate);
236  }
237 
238  evt.put(smearedPFCandidates);
239 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:449
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidates_
virtual double energy() const
energy
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:113
T sqrt(T t)
Definition: SSEVec.h:48
vector< PseudoJet > jets
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
Jets made from MC generator particles.
Definition: GenJet.h:24
double deltaR2(const T1 &t1, const T2 &t2)
Definition: deltaR.h:36
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
T const * product() const
Definition: Handle.h:81
SmearedJetProducer_namespace::GenJetMatcherT< T > genJetMatcher_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
std::string const & label() const
Definition: InputTag.h:42
SmearedJetProducer_namespace::JetResolutionExtractorT< T > jetResolutionExtractor_
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:39
Definition: DDAxes.h:10
long double T

Member Data Documentation

template<typename T , typename Textractor >
SmearedJetProducer_namespace::GenJetMatcherT<T> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::genJetMatcher_
private

Definition at line 58 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

template<typename T , typename Textractor >
TFile* SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::inputFile_
private
template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrEtaMax_
private
template<typename T , typename Textractor >
Textractor SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrExtractor_
private

Definition at line 79 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

template<typename T , typename Textractor >
edm::InputTag SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrLabel_
private
template<typename T , typename Textractor >
edm::EDGetTokenT<reco::JetCorrector> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetCorrToken_
private
template<typename T , typename Textractor >
SmearedJetProducer_namespace::JetResolutionExtractorT<T> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::jetResolutionExtractor_
private

Definition at line 69 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

template<typename T , typename Textractor >
TH2* SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::lut_
private
template<typename T , typename Textractor >
TRandom3 SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::rnd_
private

Definition at line 70 of file SmearedPFCandidateProducerForPFNoPUMEt.h.

template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::shiftBy_
private
template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::sigmaMaxGenJetMatch_
private
template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipCorrJetPtThreshold_
private
template<typename T , typename Textractor >
bool SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipJetSel_
private
template<typename T , typename Textractor >
StringCutObjectSelector<T>* SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipJetSelection_
private
template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::skipRawJetPtThreshold_
private
template<typename T , typename Textractor >
double SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::smearBy_
private
template<typename T , typename Textractor >
edm::EDGetTokenT<JetCollection> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::srcJets_
private
template<typename T , typename Textractor >
edm::EDGetTokenT<reco::PFCandidateCollection> SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::srcPFCandidates_
private
template<typename T , typename Textractor >
int SmearedPFCandidateProducerForPFNoPUMEtT< T, Textractor >::verbosity_
private