CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
IsoValueMapProducer< T > Class Template Reference

#include <PhysicsTools/NanoAOD/plugins/IsoValueMapProducer.cc>

Inheritance diagram for IsoValueMapProducer< T >:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 IsoValueMapProducer (const edm::ParameterSet &iConfig)
 
 ~IsoValueMapProducer () override
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) 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)
 

Static Public Member Functions

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

Private Member Functions

void doMiniIso (edm::Event &) const
 
template<>
void doMiniIso (edm::Event &iEvent) const
 
void doPFIsoEle (edm::Event &) const
 
template<>
void doPFIsoEle (edm::Event &iEvent) const
 
void doPFIsoPho (edm::Event &) const
 
template<>
void doPFIsoPho (edm::Event &iEvent) const
 
template<>
float getEtaForEA (const pat::Electron *el) const
 
template<>
float getEtaForEA (const pat::Photon *ph) const
 
float getEtaForEA (const T *) const
 
void produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override
 

Private Attributes

std::unique_ptr< EffectiveAreasea_miniiso_
 
std::unique_ptr< EffectiveAreasea_pfiso_
 
std::unique_ptr< EffectiveAreasea_pfiso_chg_
 
std::unique_ptr< EffectiveAreasea_pfiso_neu_
 
std::unique_ptr< EffectiveAreasea_pfiso_pho_
 
bool relative_
 
edm::EDGetTokenT< double > rho_miniiso_
 
edm::EDGetTokenT< double > rho_pfiso_
 
edm::EDGetTokenT< edm::View< T > > src_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- 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

template<typename T>
class IsoValueMapProducer< T >

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 44 of file IsoValueMapProducer.cc.

Constructor & Destructor Documentation

◆ IsoValueMapProducer()

template<typename T >
IsoValueMapProducer< T >::IsoValueMapProducer ( const edm::ParameterSet iConfig)
inlineexplicit

Definition at line 46 of file IsoValueMapProducer.cc.

48  relative_(iConfig.getParameter<bool>("relative")) {
49  if ((typeid(T) == typeid(pat::Muon)) || (typeid(T) == typeid(pat::Electron)) ||
50  typeid(T) == typeid(pat::IsolatedTrack)) {
51  produces<edm::ValueMap<float>>("miniIsoChg");
52  produces<edm::ValueMap<float>>("miniIsoAll");
53  ea_miniiso_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_MiniIso")).fullPath()));
54  rho_miniiso_ = consumes<double>(iConfig.getParameter<edm::InputTag>("rho_MiniIso"));
55  }
56  if ((typeid(T) == typeid(pat::Electron))) {
57  produces<edm::ValueMap<float>>("PFIsoChg");
58  produces<edm::ValueMap<float>>("PFIsoAll");
59  produces<edm::ValueMap<float>>("PFIsoAll04");
60  ea_pfiso_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_PFIso")).fullPath()));
61  rho_pfiso_ = consumes<double>(iConfig.getParameter<edm::InputTag>("rho_PFIso"));
62  } else if ((typeid(T) == typeid(pat::Photon))) {
63  produces<edm::ValueMap<float>>("PFIsoChg");
64  produces<edm::ValueMap<float>>("PFIsoAll");
65  ea_pfiso_chg_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_PFIso_Chg")).fullPath()));
66  ea_pfiso_neu_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_PFIso_Neu")).fullPath()));
67  ea_pfiso_pho_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_PFIso_Pho")).fullPath()));
68  rho_pfiso_ = consumes<double>(iConfig.getParameter<edm::InputTag>("rho_PFIso"));
69  }
70  }

References IsoValueMapProducer< T >::ea_miniiso_, IsoValueMapProducer< T >::ea_pfiso_, IsoValueMapProducer< T >::ea_pfiso_chg_, IsoValueMapProducer< T >::ea_pfiso_neu_, IsoValueMapProducer< T >::ea_pfiso_pho_, edm::ParameterSet::getParameter(), IsoValueMapProducer< T >::rho_miniiso_, and IsoValueMapProducer< T >::rho_pfiso_.

◆ ~IsoValueMapProducer()

template<typename T >
IsoValueMapProducer< T >::~IsoValueMapProducer ( )
inlineoverride

Definition at line 71 of file IsoValueMapProducer.cc.

71 {}

Member Function Documentation

◆ doMiniIso() [1/2]

template<typename T >
void IsoValueMapProducer< T >::doMiniIso ( edm::Event iEvent) const
private

Definition at line 131 of file IsoValueMapProducer.cc.

131  {
133  iEvent.getByToken(src_, src);
135  iEvent.getByToken(rho_miniiso_, rho);
136 
137  unsigned int nInput = src->size();
138 
139  std::vector<float> miniIsoChg, miniIsoAll;
140  miniIsoChg.reserve(nInput);
141  miniIsoAll.reserve(nInput);
142 
143  for (const auto& obj : *src) {
144  auto iso = obj.miniPFIsolation();
145  auto chg = iso.chargedHadronIso();
146  auto neu = iso.neutralHadronIso();
147  auto pho = iso.photonIso();
148  auto ea = ea_miniiso_->getEffectiveArea(fabs(getEtaForEA(&obj)));
149  float R = 10.0 / std::min(std::max(obj.pt(), 50.0), 200.0);
150  ea *= std::pow(R / 0.3, 2);
151  float scale = relative_ ? 1.0 / obj.pt() : 1;
152  miniIsoChg.push_back(scale * chg);
153  miniIsoAll.push_back(scale * (chg + std::max(0.0, neu + pho - (*rho) * ea)));
154  }
155 
156  std::unique_ptr<edm::ValueMap<float>> miniIsoChgV(new edm::ValueMap<float>());
157  edm::ValueMap<float>::Filler fillerChg(*miniIsoChgV);
158  fillerChg.insert(src, miniIsoChg.begin(), miniIsoChg.end());
159  fillerChg.fill();
160  std::unique_ptr<edm::ValueMap<float>> miniIsoAllV(new edm::ValueMap<float>());
161  edm::ValueMap<float>::Filler fillerAll(*miniIsoAllV);
162  fillerAll.insert(src, miniIsoAll.begin(), miniIsoAll.end());
163  fillerAll.fill();
164 
165  iEvent.put(std::move(miniIsoChgV), "miniIsoChg");
166  iEvent.put(std::move(miniIsoAllV), "miniIsoAll");
167 }

References chg, edm::helper::Filler< Map >::fill(), iEvent, edm::helper::Filler< Map >::insert(), SiStripPI::max, min(), electrons_cff::miniIsoAll, electrons_cff::miniIsoChg, eostools::move(), getGTfromDQMFile::obj, funct::pow(), dttmaxenums::R, ZElectronSkim_cff::rho, Scenarios_cff::scale, and TrackRefitter_38T_cff::src.

◆ doMiniIso() [2/2]

template<>
void IsoValueMapProducer< pat::Photon >::doMiniIso ( edm::Event iEvent) const
private

Definition at line 170 of file IsoValueMapProducer.cc.

170 {}

◆ doPFIsoEle() [1/2]

template<typename T >
void IsoValueMapProducer< T >::doPFIsoEle ( edm::Event iEvent) const
private

Definition at line 173 of file IsoValueMapProducer.cc.

173 {}

◆ doPFIsoEle() [2/2]

template<>
void IsoValueMapProducer< pat::Electron >::doPFIsoEle ( edm::Event iEvent) const
private

Definition at line 176 of file IsoValueMapProducer.cc.

176  {
178  iEvent.getByToken(src_, src);
180  iEvent.getByToken(rho_pfiso_, rho);
181 
182  unsigned int nInput = src->size();
183 
184  std::vector<float> PFIsoChg, PFIsoAll, PFIsoAll04;
185  PFIsoChg.reserve(nInput);
186  PFIsoAll.reserve(nInput);
187  PFIsoAll04.reserve(nInput);
188 
189  for (const auto& obj : *src) {
190  auto iso = obj.pfIsolationVariables();
191  auto chg = iso.sumChargedHadronPt;
192  auto neu = iso.sumNeutralHadronEt;
193  auto pho = iso.sumPhotonEt;
194  auto ea = ea_pfiso_->getEffectiveArea(fabs(getEtaForEA(&obj)));
195  float scale = relative_ ? 1.0 / obj.pt() : 1;
196  PFIsoChg.push_back(scale * chg);
197  PFIsoAll.push_back(scale * (chg + std::max(0.0, neu + pho - (*rho) * ea)));
198  PFIsoAll04.push_back(scale * (obj.chargedHadronIso() +
199  std::max(0.0, obj.neutralHadronIso() + obj.photonIso() - (*rho) * ea * 16. / 9.)));
200  }
201 
202  std::unique_ptr<edm::ValueMap<float>> PFIsoChgV(new edm::ValueMap<float>());
203  edm::ValueMap<float>::Filler fillerChg(*PFIsoChgV);
204  fillerChg.insert(src, PFIsoChg.begin(), PFIsoChg.end());
205  fillerChg.fill();
206  std::unique_ptr<edm::ValueMap<float>> PFIsoAllV(new edm::ValueMap<float>());
207  edm::ValueMap<float>::Filler fillerAll(*PFIsoAllV);
208  fillerAll.insert(src, PFIsoAll.begin(), PFIsoAll.end());
209  fillerAll.fill();
210  std::unique_ptr<edm::ValueMap<float>> PFIsoAll04V(new edm::ValueMap<float>());
211  edm::ValueMap<float>::Filler fillerAll04(*PFIsoAll04V);
212  fillerAll04.insert(src, PFIsoAll04.begin(), PFIsoAll04.end());
213  fillerAll04.fill();
214 
215  iEvent.put(std::move(PFIsoChgV), "PFIsoChg");
216  iEvent.put(std::move(PFIsoAllV), "PFIsoAll");
217  iEvent.put(std::move(PFIsoAll04V), "PFIsoAll04");
218 }

References chg, edm::helper::Filler< Map >::fill(), iEvent, edm::helper::Filler< Map >::insert(), SiStripPI::max, eostools::move(), getGTfromDQMFile::obj, electrons_cff::PFIsoAll, electrons_cff::PFIsoAll04, electrons_cff::PFIsoChg, ZElectronSkim_cff::rho, Scenarios_cff::scale, and TrackRefitter_38T_cff::src.

◆ doPFIsoPho() [1/2]

template<typename T >
void IsoValueMapProducer< T >::doPFIsoPho ( edm::Event iEvent) const
private

Definition at line 221 of file IsoValueMapProducer.cc.

221 {}

◆ doPFIsoPho() [2/2]

template<>
void IsoValueMapProducer< pat::Photon >::doPFIsoPho ( edm::Event iEvent) const
private

Definition at line 224 of file IsoValueMapProducer.cc.

224  {
226  iEvent.getByToken(src_, src);
228  iEvent.getByToken(rho_pfiso_, rho);
229 
230  unsigned int nInput = src->size();
231 
232  std::vector<float> PFIsoChg, PFIsoAll;
233  PFIsoChg.reserve(nInput);
234  PFIsoAll.reserve(nInput);
235 
236  for (const auto& obj : *src) {
237  auto chg = obj.chargedHadronIso();
238  auto neu = obj.neutralHadronIso();
239  auto pho = obj.photonIso();
240  auto ea_chg = ea_pfiso_chg_->getEffectiveArea(fabs(getEtaForEA(&obj)));
241  auto ea_neu = ea_pfiso_neu_->getEffectiveArea(fabs(getEtaForEA(&obj)));
242  auto ea_pho = ea_pfiso_pho_->getEffectiveArea(fabs(getEtaForEA(&obj)));
243  float scale = relative_ ? 1.0 / obj.pt() : 1;
244  PFIsoChg.push_back(scale * std::max(0.0, chg - (*rho) * ea_chg));
245  PFIsoAll.push_back(PFIsoChg.back() +
246  scale * (std::max(0.0, neu - (*rho) * ea_neu) + std::max(0.0, pho - (*rho) * ea_pho)));
247  }
248 
249  std::unique_ptr<edm::ValueMap<float>> PFIsoChgV(new edm::ValueMap<float>());
250  edm::ValueMap<float>::Filler fillerChg(*PFIsoChgV);
251  fillerChg.insert(src, PFIsoChg.begin(), PFIsoChg.end());
252  fillerChg.fill();
253  std::unique_ptr<edm::ValueMap<float>> PFIsoAllV(new edm::ValueMap<float>());
254  edm::ValueMap<float>::Filler fillerAll(*PFIsoAllV);
255  fillerAll.insert(src, PFIsoAll.begin(), PFIsoAll.end());
256  fillerAll.fill();
257 
258  iEvent.put(std::move(PFIsoChgV), "PFIsoChg");
259  iEvent.put(std::move(PFIsoAllV), "PFIsoAll");
260 }

References chg, edm::helper::Filler< Map >::fill(), iEvent, edm::helper::Filler< Map >::insert(), SiStripPI::max, eostools::move(), getGTfromDQMFile::obj, electrons_cff::PFIsoAll, electrons_cff::PFIsoChg, ZElectronSkim_cff::rho, Scenarios_cff::scale, and TrackRefitter_38T_cff::src.

◆ fillDescriptions()

template<typename T >
void IsoValueMapProducer< T >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 264 of file IsoValueMapProducer.cc.

264  {
266  desc.add<edm::InputTag>("src")->setComment("input physics object collection");
267  desc.add<bool>("relative")->setComment("compute relative isolation instead of absolute one");
268  if ((typeid(T) == typeid(pat::Muon)) || (typeid(T) == typeid(pat::Electron)) ||
269  typeid(T) == typeid(pat::IsolatedTrack)) {
270  desc.add<edm::FileInPath>("EAFile_MiniIso")
271  ->setComment("txt file containing effective areas to be used for mini-isolation pileup subtraction");
272  desc.add<edm::InputTag>("rho_MiniIso")
273  ->setComment("rho to be used for effective-area based mini-isolation pileup subtraction");
274  }
275  if ((typeid(T) == typeid(pat::Electron))) {
276  desc.add<edm::FileInPath>("EAFile_PFIso")
277  ->setComment(
278  "txt file containing effective areas to be used for PF-isolation pileup subtraction for electrons");
279  desc.add<edm::InputTag>("rho_PFIso")
280  ->setComment("rho to be used for effective-area based PF-isolation pileup subtraction for electrons");
281  }
282  if ((typeid(T) == typeid(pat::Photon))) {
283  desc.add<edm::InputTag>("mapIsoChg")->setComment("input charged PF isolation calculated in VID for photons");
284  desc.add<edm::InputTag>("mapIsoNeu")->setComment("input neutral PF isolation calculated in VID for photons");
285  desc.add<edm::InputTag>("mapIsoPho")->setComment("input photon PF isolation calculated in VID for photons");
286  desc.add<edm::FileInPath>("EAFile_PFIso_Chg")
287  ->setComment(
288  "txt file containing effective areas to be used for charged PF-isolation pileup subtraction for photons");
289  desc.add<edm::FileInPath>("EAFile_PFIso_Neu")
290  ->setComment(
291  "txt file containing effective areas to be used for neutral PF-isolation pileup subtraction for photons");
292  desc.add<edm::FileInPath>("EAFile_PFIso_Pho")
293  ->setComment(
294  "txt file containing effective areas to be used for photon PF-isolation pileup subtraction for photons");
295  desc.add<edm::InputTag>("rho_PFIso")
296  ->setComment("rho to be used for effective-area based PF-isolation pileup subtraction for photons");
297  }
299  if (typeid(T) == typeid(pat::Muon))
300  modname += "Muon";
301  else if (typeid(T) == typeid(pat::Electron))
302  modname += "Ele";
303  else if (typeid(T) == typeid(pat::Photon))
304  modname += "Pho";
305  else if (typeid(T) == typeid(pat::IsolatedTrack))
306  modname += "IsoTrack";
307  modname += "IsoValueMapProducer";
308  descriptions.add(modname, desc);
309 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), timingPdfMaker::modname, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ getEtaForEA() [1/3]

template<>
float IsoValueMapProducer< pat::Electron >::getEtaForEA ( const pat::Electron el) const
private

Definition at line 108 of file IsoValueMapProducer.cc.

108  {
109  return el->superCluster()->eta();
110 }

References pat::Electron::superCluster().

◆ getEtaForEA() [2/3]

template<>
float IsoValueMapProducer< pat::Photon >::getEtaForEA ( const pat::Photon ph) const
private

Definition at line 112 of file IsoValueMapProducer.cc.

112  {
113  return ph->superCluster()->eta();
114 }

References pat::Photon::superCluster().

◆ getEtaForEA() [3/3]

template<typename T >
float IsoValueMapProducer< T >::getEtaForEA ( const T obj) const
private

Definition at line 104 of file IsoValueMapProducer.cc.

104  {
105  return obj->eta();
106 }

References getGTfromDQMFile::obj.

◆ produce()

template<typename T >
void IsoValueMapProducer< T >::produce ( edm::StreamID  streamID,
edm::Event iEvent,
const edm::EventSetup iSetup 
) const
overrideprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 117 of file IsoValueMapProducer.cc.

117  {
118  if ((typeid(T) == typeid(pat::Muon)) || (typeid(T) == typeid(pat::Electron)) ||
119  typeid(T) == typeid(pat::IsolatedTrack)) {
120  doMiniIso(iEvent);
121  };
122  if ((typeid(T) == typeid(pat::Electron))) {
124  }
125  if ((typeid(T) == typeid(pat::Photon))) {
127  }
128 }

References iEvent.

Member Data Documentation

◆ ea_miniiso_

template<typename T >
std::unique_ptr<EffectiveAreas> IsoValueMapProducer< T >::ea_miniiso_
private

◆ ea_pfiso_

template<typename T >
std::unique_ptr<EffectiveAreas> IsoValueMapProducer< T >::ea_pfiso_
private

◆ ea_pfiso_chg_

template<typename T >
std::unique_ptr<EffectiveAreas> IsoValueMapProducer< T >::ea_pfiso_chg_
private

◆ ea_pfiso_neu_

template<typename T >
std::unique_ptr<EffectiveAreas> IsoValueMapProducer< T >::ea_pfiso_neu_
private

◆ ea_pfiso_pho_

template<typename T >
std::unique_ptr<EffectiveAreas> IsoValueMapProducer< T >::ea_pfiso_pho_
private

◆ relative_

template<typename T >
bool IsoValueMapProducer< T >::relative_
private

Definition at line 81 of file IsoValueMapProducer.cc.

◆ rho_miniiso_

template<typename T >
edm::EDGetTokenT<double> IsoValueMapProducer< T >::rho_miniiso_
private

◆ rho_pfiso_

template<typename T >
edm::EDGetTokenT<double> IsoValueMapProducer< T >::rho_pfiso_
private

◆ src_

template<typename T >
edm::EDGetTokenT<edm::View<T> > IsoValueMapProducer< T >::src_
private

Definition at line 80 of file IsoValueMapProducer.cc.

IsoValueMapProducer::ea_miniiso_
std::unique_ptr< EffectiveAreas > ea_miniiso_
Definition: IsoValueMapProducer.cc:84
electrons_cff.PFIsoChg
PFIsoChg
Definition: electrons_cff.py:200
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
min
T min(T a, T b)
Definition: MathUtil.h:58
pat::Photon
Analysis-level Photon class.
Definition: Photon.h:46
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
IsoValueMapProducer::getEtaForEA
float getEtaForEA(const T *) const
Definition: IsoValueMapProducer.cc:104
pat::Muon
Analysis-level muon class.
Definition: Muon.h:51
edm::Handle
Definition: AssociativeIterator.h:50
chg
const float chg[109]
Definition: CoreSimTrack.cc:5
edm::FileInPath
Definition: FileInPath.h:64
EffectiveAreas
Definition: EffectiveAreas.h:8
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
IsoValueMapProducer::ea_pfiso_
std::unique_ptr< EffectiveAreas > ea_pfiso_
Definition: IsoValueMapProducer.cc:85
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
DDAxes::rho
electrons_cff.PFIsoAll
PFIsoAll
Definition: electrons_cff.py:201
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
IsoValueMapProducer::ea_pfiso_pho_
std::unique_ptr< EffectiveAreas > ea_pfiso_pho_
Definition: IsoValueMapProducer.cc:88
IsoValueMapProducer::doMiniIso
void doMiniIso(edm::Event &) const
Definition: IsoValueMapProducer.cc:131
edm::View
Definition: CaloClusterFwd.h:14
IsoValueMapProducer::ea_pfiso_chg_
std::unique_ptr< EffectiveAreas > ea_pfiso_chg_
Definition: IsoValueMapProducer.cc:86
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
IsoValueMapProducer::relative_
bool relative_
Definition: IsoValueMapProducer.cc:81
electrons_cff.PFIsoAll04
PFIsoAll04
Definition: electrons_cff.py:202
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
IsoValueMapProducer::ea_pfiso_neu_
std::unique_ptr< EffectiveAreas > ea_pfiso_neu_
Definition: IsoValueMapProducer.cc:87
iEvent
int iEvent
Definition: GenABIO.cc:224
electrons_cff.miniIsoAll
miniIsoAll
Definition: electrons_cff.py:199
pat::IsolatedTrack
Definition: IsolatedTrack.h:21
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
IsoValueMapProducer::src_
edm::EDGetTokenT< edm::View< T > > src_
Definition: IsoValueMapProducer.cc:80
electrons_cff.miniIsoChg
miniIsoChg
Definition: electrons_cff.py:198
eostools.move
def move(src, dest)
Definition: eostools.py:511
pat::Electron::superCluster
reco::SuperClusterRef superCluster() const override
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
T
long double T
Definition: Basic3DVectorLD.h:48
edm::ValueMap< float >
IsoValueMapProducer::rho_miniiso_
edm::EDGetTokenT< double > rho_miniiso_
Definition: IsoValueMapProducer.cc:82
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
edm::helper::Filler
Definition: ValueMap.h:22
pat::Electron
Analysis-level electron class.
Definition: Electron.h:51
IsoValueMapProducer::doPFIsoEle
void doPFIsoEle(edm::Event &) const
Definition: IsoValueMapProducer.cc:173
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:126
IsoValueMapProducer::rho_pfiso_
edm::EDGetTokenT< double > rho_pfiso_
Definition: IsoValueMapProducer.cc:83
IsoValueMapProducer::doPFIsoPho
void doPFIsoPho(edm::Event &) const
Definition: IsoValueMapProducer.cc:221
dttmaxenums::R
Definition: DTTMax.h:29
timingPdfMaker.modname
modname
Definition: timingPdfMaker.py:218
edm::InputTag
Definition: InputTag.h:15
pat::Photon::superCluster
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster