CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
PuppiPhoton Class Reference

#include <PuppiPhoton.h>

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

Public Types

typedef edm::View< reco::CandidateCandidateView
 
typedef math::XYZTLorentzVector LorentzVector
 
typedef std::vector< LorentzVectorLorentzVectorCollection
 
typedef std::vector< reco::PFCandidatePFOutputCollection
 
typedef edm::View< reco::PFCandidatePFView
 
- 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
 

Public Member Functions

 PuppiPhoton (const edm::ParameterSet &)
 
 ~PuppiPhoton ()
 
- 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 & itemsToGetFromEvent () 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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

bool matchPFCandidate (const reco::Candidate *iPF, const reco::Candidate *iPho)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 

Private Attributes

std::unique_ptr< PFOutputCollectioncorrCandidates_
 
std::vector< double > dRMatch_
 
double eta_
 
std::vector< int32_t > pdgIds_
 
double pt_
 
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > reco2pf_
 
bool runOnMiniAOD_
 
edm::EDGetTokenT< CandidateViewtokenPFCandidates_
 
edm::EDGetTokenT< CandidateViewtokenPhotonCandidates_
 
edm::EDGetTokenT< edm::ValueMap< bool > > tokenPhotonId_
 
edm::EDGetTokenT< CandidateViewtokenPuppiCandidates_
 
edm::EDGetTokenT< edm::ValueMap< float > > tokenWeights_
 
bool usePFRef_
 
bool usePhotonId_
 
bool useValueMap_
 
double weight_
 

Additional Inherited Members

- 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

Definition at line 18 of file PuppiPhoton.h.

Member Typedef Documentation

Definition at line 27 of file PuppiPhoton.h.

Definition at line 25 of file PuppiPhoton.h.

Definition at line 26 of file PuppiPhoton.h.

Definition at line 28 of file PuppiPhoton.h.

Definition at line 29 of file PuppiPhoton.h.

Constructor & Destructor Documentation

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

Definition at line 30 of file PuppiPhoton.cc.

References dRMatch_, eta_, edm::ParameterSet::getParameter(), pdgIds_, pt_, reco2pf_, runOnMiniAOD_, tokenPFCandidates_, tokenPhotonCandidates_, tokenPhotonId_, tokenPuppiCandidates_, tokenWeights_, usePFRef_, usePhotonId_, useValueMap_, and weight_.

30  {
31  tokenPFCandidates_ = consumes<CandidateView>(iConfig.getParameter<edm::InputTag>("candName"));
32  tokenPuppiCandidates_ = consumes<CandidateView>(iConfig.getParameter<edm::InputTag>("puppiCandName"));
33  tokenPhotonCandidates_ = consumes<CandidateView>(iConfig.getParameter<edm::InputTag>("photonName"));
34  usePhotonId_ = (iConfig.getParameter<edm::InputTag>("photonId")).label().size() != 0;
35  if(usePhotonId_)
36  tokenPhotonId_ = consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("photonId"));
37  runOnMiniAOD_ = iConfig.getParameter<bool>("runOnMiniAOD");
38  if(!runOnMiniAOD_)
39  reco2pf_ = consumes<edm::ValueMap<std::vector<reco::PFCandidateRef> > >(iConfig.getParameter<edm::InputTag>("recoToPFMap"));
40  useValueMap_ = iConfig.getParameter<bool>("useValueMap");
41  if(useValueMap_)
42  tokenWeights_ = consumes<edm::ValueMap<float> >(iConfig.getParameter<edm::InputTag>("weightsName"));
43 
44  pt_ = iConfig.getParameter<double>("pt");
45  eta_ = iConfig.getParameter<double>("eta");
46  dRMatch_ = iConfig.getParameter<std::vector<double> > ("dRMatch");
47  pdgIds_ = iConfig.getParameter<std::vector<int32_t> >("pdgids");
48  usePFRef_ = iConfig.getParameter<bool>("useRefs");
49  weight_ = iConfig.getParameter<double>("weight");
50  produces<PFOutputCollection>();
51  produces< edm::ValueMap<reco::CandidatePtr> >();
52 }
std::vector< int32_t > pdgIds_
Definition: PuppiPhoton.h:46
double pt_
Definition: PuppiPhoton.h:40
T getParameter(std::string const &) const
edm::EDGetTokenT< CandidateView > tokenPhotonCandidates_
Definition: PuppiPhoton.h:36
bool runOnMiniAOD_
Definition: PuppiPhoton.h:43
edm::EDGetTokenT< CandidateView > tokenPuppiCandidates_
Definition: PuppiPhoton.h:35
bool usePFRef_
Definition: PuppiPhoton.h:42
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > reco2pf_
Definition: PuppiPhoton.h:37
bool usePhotonId_
Definition: PuppiPhoton.h:44
double weight_
Definition: PuppiPhoton.h:48
double eta_
Definition: PuppiPhoton.h:41
edm::EDGetTokenT< edm::ValueMap< float > > tokenWeights_
Definition: PuppiPhoton.h:38
std::vector< double > dRMatch_
Definition: PuppiPhoton.h:45
edm::EDGetTokenT< edm::ValueMap< bool > > tokenPhotonId_
Definition: PuppiPhoton.h:39
edm::EDGetTokenT< CandidateView > tokenPFCandidates_
Definition: PuppiPhoton.h:34
bool useValueMap_
Definition: PuppiPhoton.h:49
PuppiPhoton::~PuppiPhoton ( )

Definition at line 54 of file PuppiPhoton.cc.

54 {}

Member Function Documentation

void PuppiPhoton::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 196 of file PuppiPhoton.cc.

References edm::ConfigurationDescriptions::addDefault(), DEFINE_FWK_MODULE, and edm::ParameterSetDescription::setUnknown().

196  {
197  //The following says we do not know what parameters are allowed so do no validation
198  // Please change this to state exactly what you do use, even if it is no parameters
200  desc.setUnknown();
201  descriptions.addDefault(desc);
202 }
void addDefault(ParameterSetDescription const &psetDescription)
bool PuppiPhoton::matchPFCandidate ( const reco::Candidate iPF,
const reco::Candidate iPho 
)
private

Definition at line 188 of file PuppiPhoton.cc.

References funct::abs(), deltaR(), dRMatch_, reco::Candidate::eta(), reco::Candidate::pdgId(), pdgIds_, and reco::Candidate::phi().

Referenced by produce().

188  {
189  double lDR = deltaR(iPF->eta(),iPF->phi(),iPho->eta(),iPho->phi());
190  for(unsigned int i0 = 0; i0 < pdgIds_.size(); i0++) {
191  if(std::abs(iPF->pdgId()) == pdgIds_[i0] && lDR < dRMatch_[i0]) return true;
192  }
193  return false;
194 }
std::vector< int32_t > pdgIds_
Definition: PuppiPhoton.h:46
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
virtual double eta() const =0
momentum pseudorapidity
std::vector< double > dRMatch_
Definition: PuppiPhoton.h:45
virtual double phi() const =0
momentum azimuthal angle
void PuppiPhoton::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Definition at line 56 of file PuppiPhoton.cc.

References pat::Electron::associatedPackedPFCandidates(), pat::Photon::associatedPackedPFCandidates(), edm::View< T >::begin(), ALCARECOTkAlJpsiMuMu_cff::charge, corrCandidates_, edm::View< T >::end(), eta_, edm::helper::Filler< Map >::fill(), objects.autophobj::filler, edm::Event::getByToken(), hcalTTPDigis_cfi::id, edm::helper::Filler< Map >::insert(), matchPFCandidate(), eostools::move(), p4, cosmictrackingParticleSelector_cfi::pdgId, edm::Handle< T >::product(), EnergyCorrector::pt, pt_, edm::View< T >::ptrAt(), edm::Event::put(), reco2pf_, edm::View< T >::refAt(), runOnMiniAOD_, reco::LeafCandidate::setP4(), reco::PFCandidate::setSourceCandidatePtr(), edm::View< T >::size(), tokenPFCandidates_, tokenPhotonCandidates_, tokenPhotonId_, tokenPuppiCandidates_, tokenWeights_, reco::PFCandidate::translatePdgIdToType(), usePFRef_, usePhotonId_, useValueMap_, MuonErrorMatrixValues_cff::values, and weight_.

Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().

56  {
57 
58  edm::Handle<CandidateView> hPhoProduct;
59  iEvent.getByToken(tokenPhotonCandidates_,hPhoProduct);
60  const CandidateView *phoCol = hPhoProduct.product();
61 
63  if(usePhotonId_) iEvent.getByToken(tokenPhotonId_,photonId);
64  int iC = -1;
65  std::vector<const reco::Candidate*> phoCands;
66  std::vector<uint16_t> phoIndx;
67 
69  if(!runOnMiniAOD_) iEvent.getByToken(reco2pf_, reco2pf);
70 
71  // Get PFCandidate Collection
72  edm::Handle<CandidateView> hPFProduct;
73  iEvent.getByToken(tokenPFCandidates_,hPFProduct);
74  const CandidateView *pfCol = hPFProduct.product();
75 
76  edm::Handle<CandidateView> hPuppiProduct;
77  iEvent.getByToken(tokenPuppiCandidates_,hPuppiProduct);
78  const CandidateView *pupCol = hPuppiProduct.product();
79  for(CandidateView::const_iterator itPho = phoCol->begin(); itPho!=phoCol->end(); itPho++) {
80  iC++;
81  bool passObject = false;
82  if(itPho->isPhoton() && usePhotonId_) passObject = (*photonId) [phoCol->ptrAt(iC)];
83  if(itPho->pt() < pt_) continue;
84  if(!passObject && usePhotonId_) continue;
85  if(runOnMiniAOD_) {
86  const pat::Photon *pPho = dynamic_cast<const pat::Photon*>(&(*itPho));
87  if(pPho != 0) {
89  if(fabs(ref->eta()) < eta_ ) {
90  phoIndx.push_back(ref.key());
91  phoCands.push_back(&(*(pfCol->ptrAt(ref.key()))));
92  }
93  }
94  continue;
95  }
96  const pat::Electron *pElectron = dynamic_cast<const pat::Electron*>(&(*itPho));
97  if(pElectron != 0) {
99  if(fabs(ref->eta()) < eta_ ) {
100  phoIndx.push_back(ref.key());
101  phoCands.push_back(&(*(pfCol->ptrAt(ref.key()))));
102  }
103  }
104  } else {
105  for( const edm::Ref<std::vector<reco::PFCandidate> > & ref : (*reco2pf)[phoCol->ptrAt(iC)] ) {
106  if(fabs(ref->eta()) < eta_ ) {
107  phoIndx.push_back(ref.key());
108  phoCands.push_back(&(*(pfCol->ptrAt(ref.key()))));
109  }
110  }
111  }
112  }
113  //Get Weights
114  edm::Handle<edm::ValueMap<float> > pupWeights;
115  if(useValueMap_)
116  iEvent.getByToken(tokenWeights_,pupWeights);
117  std::unique_ptr<edm::ValueMap<LorentzVector> > p4PupOut(new edm::ValueMap<LorentzVector>());
118  LorentzVectorCollection puppiP4s;
119  std::vector<reco::CandidatePtr> values(hPFProduct->size());
120  int iPF = 0;
121  std::vector<float> lWeights;
122  static const reco::PFCandidate dummySinceTranslateIsNotStatic;
123  corrCandidates_.reset( new PFOutputCollection );
124  std::set<int> foundPhoIndex;
125  for(CandidateView::const_iterator itPF = pupCol->begin(); itPF!=pupCol->end(); itPF++) {
126  auto id = dummySinceTranslateIsNotStatic.translatePdgIdToType(itPF->pdgId());
127  const reco::PFCandidate *pPF = dynamic_cast<const reco::PFCandidate*>(&(*itPF));
128  reco::PFCandidate pCand( pPF ? *pPF : reco::PFCandidate(itPF->charge(), itPF->p4(), id) );
129  LorentzVector pVec = itPF->p4();
130  float pWeight = 1.;
131  if(useValueMap_) pWeight = (*pupWeights)[pupCol->ptrAt(iPF)];
132  if(!usePFRef_) {
133  int iPho = -1;
134  for(std::vector<const reco::Candidate*>::iterator itPho = phoCands.begin(); itPho!=phoCands.end(); itPho++) {
135  iPho++;
136  if((!matchPFCandidate(&(*itPF),*itPho))||(foundPhoIndex.count(iPho)!=0)) continue;
137  pWeight = weight_;
138  if(!useValueMap_ && itPF->pt() != 0) pWeight = pWeight*(phoCands[iPho]->pt()/itPF->pt());
139  if(!useValueMap_ && itPF->pt() == 0) pVec.SetPxPyPzE(phoCands[iPho]->px()*pWeight,phoCands[iPho]->py()*pWeight,phoCands[iPho]->pz()*pWeight,phoCands[iPho]->energy()*pWeight);
140  foundPhoIndex.insert(iPho);
141  }
142  } else {
143  int iPho = -1;
144  for(std::vector<uint16_t>::const_iterator itPho = phoIndx.begin(); itPho!=phoIndx.end(); itPho++) {
145  iPho++;
146  if(pupCol->refAt(iPF).key() != *itPho) continue;
147  pWeight = weight_;
148  if(!useValueMap_ && itPF->pt() != 0) pWeight = pWeight*(phoCands[iPho]->pt()/itPF->pt());
149  if(!useValueMap_ && itPF->pt() == 0) pVec.SetPxPyPzE(phoCands[iPho]->px()*pWeight,phoCands[iPho]->py()*pWeight,phoCands[iPho]->pz()*pWeight,phoCands[iPho]->energy()*pWeight);
150  foundPhoIndex.insert(iPho);
151  }
152  }
153  if(itPF->pt() != 0) pVec.SetPxPyPzE(itPF->px()*pWeight,itPF->py()*pWeight,itPF->pz()*pWeight,itPF->energy()*pWeight);
154 
155  lWeights.push_back(pWeight);
156  pCand.setP4(pVec);
157  puppiP4s.push_back( pVec );
158  pCand.setSourceCandidatePtr( itPF->sourceCandidatePtr(0) );
159  corrCandidates_->push_back(pCand);
160  iPF++;
161  }
162  //Add the missing pfcandidates
163  for(unsigned int iPho = 0; iPho < phoCands.size(); iPho++) {
164  if(foundPhoIndex.count(iPho)!=0) continue;
165  auto id = dummySinceTranslateIsNotStatic.translatePdgIdToType(phoCands[iPho]->pdgId());
166  reco::PFCandidate pCand(reco::PFCandidate(phoCands[iPho]->charge(), phoCands[iPho]->p4(),id) );
167  pCand.setSourceCandidatePtr( phoCands[iPho]->sourceCandidatePtr(0) );
168  LorentzVector pVec = phoCands[iPho]->p4();
169  pVec.SetPxPyPzE(phoCands[iPho]->px()*weight_,phoCands[iPho]->py()*weight_,phoCands[iPho]->pz()*weight_,phoCands[iPho]->energy()*weight_);
170  pCand.setP4(pVec);
171  lWeights.push_back(weight_);
172  puppiP4s.push_back( pVec );
173  corrCandidates_->push_back(pCand);
174  }
175  //Fill it into the event
177  for(unsigned int ic=0, nc = pupCol->size(); ic < nc; ++ic) {
178  reco::CandidatePtr pkref( oh, ic );
179  values[ic] = pkref;
180  }
181  std::unique_ptr<edm::ValueMap<reco::CandidatePtr> > pfMap_p(new edm::ValueMap<reco::CandidatePtr>());
183  filler.insert(hPFProduct, values.begin(), values.end());
184  filler.fill();
185  iEvent.put(std::move(pfMap_p));
186 }
double pt_
Definition: PuppiPhoton.h:40
Analysis-level Photon class.
Definition: Photon.h:47
edm::EDGetTokenT< CandidateView > tokenPhotonCandidates_
Definition: PuppiPhoton.h:36
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:122
bool runOnMiniAOD_
Definition: PuppiPhoton.h:43
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
std::vector< reco::PFCandidate > PFOutputCollection
Definition: PuppiPhoton.h:28
math::XYZTLorentzVector LorentzVector
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
size_type size() const
edm::View< reco::Candidate > CandidateView
Definition: PuppiPhoton.h:27
edm::EDGetTokenT< CandidateView > tokenPuppiCandidates_
Definition: PuppiPhoton.h:35
bool usePFRef_
Definition: PuppiPhoton.h:42
std::unique_ptr< PFOutputCollection > corrCandidates_
Definition: PuppiPhoton.h:47
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > reco2pf_
Definition: PuppiPhoton.h:37
double p4[4]
Definition: TauolaWrapper.h:92
bool matchPFCandidate(const reco::Candidate *iPF, const reco::Candidate *iPho)
Definition: PuppiPhoton.cc:188
bool usePhotonId_
Definition: PuppiPhoton.h:44
std::vector< LorentzVector > LorentzVectorCollection
double weight_
Definition: PuppiPhoton.h:48
double eta_
Definition: PuppiPhoton.h:41
T const * product() const
Definition: Handle.h:81
edm::EDGetTokenT< edm::ValueMap< float > > tokenWeights_
Definition: PuppiPhoton.h:38
Analysis-level electron class.
Definition: Electron.h:52
ParticleType translatePdgIdToType(int pdgid) const
Definition: PFCandidate.cc:229
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:39
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
edm::EDGetTokenT< edm::ValueMap< bool > > tokenPhotonId_
Definition: PuppiPhoton.h:39
edm::EDGetTokenT< CandidateView > tokenPFCandidates_
Definition: PuppiPhoton.h:34
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
def move(src, dest)
Definition: eostools.py:510
bool useValueMap_
Definition: PuppiPhoton.h:49

Member Data Documentation

std::unique_ptr< PFOutputCollection > PuppiPhoton::corrCandidates_
private

Definition at line 47 of file PuppiPhoton.h.

Referenced by produce().

std::vector<double> PuppiPhoton::dRMatch_
private

Definition at line 45 of file PuppiPhoton.h.

Referenced by matchPFCandidate(), and PuppiPhoton().

double PuppiPhoton::eta_
private

Definition at line 41 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

std::vector<int32_t> PuppiPhoton::pdgIds_
private

Definition at line 46 of file PuppiPhoton.h.

Referenced by matchPFCandidate(), and PuppiPhoton().

double PuppiPhoton::pt_
private

Definition at line 40 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< edm::ValueMap<std::vector<reco::PFCandidateRef> > > PuppiPhoton::reco2pf_
private

Definition at line 37 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

bool PuppiPhoton::runOnMiniAOD_
private

Definition at line 43 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< CandidateView > PuppiPhoton::tokenPFCandidates_
private

Definition at line 34 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< CandidateView > PuppiPhoton::tokenPhotonCandidates_
private

Definition at line 36 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< edm::ValueMap<bool> > PuppiPhoton::tokenPhotonId_
private

Definition at line 39 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< CandidateView > PuppiPhoton::tokenPuppiCandidates_
private

Definition at line 35 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

edm::EDGetTokenT< edm::ValueMap<float> > PuppiPhoton::tokenWeights_
private

Definition at line 38 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

bool PuppiPhoton::usePFRef_
private

Definition at line 42 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

bool PuppiPhoton::usePhotonId_
private

Definition at line 44 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

bool PuppiPhoton::useValueMap_
private

Definition at line 49 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().

double PuppiPhoton::weight_
private

Definition at line 48 of file PuppiPhoton.h.

Referenced by produce(), and PuppiPhoton().