CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Private Member Functions | Private Attributes
EG9X105XObjectUpdateModifier Class Reference
Inheritance diagram for EG9X105XObjectUpdateModifier:
ModifyObjectValueBase

Classes

class  TokenHandlePair
 

Public Member Functions

 EG9X105XObjectUpdateModifier (const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
 
void modifyObject (reco::GsfElectron &ele) const final
 
void modifyObject (reco::Photon &pho) const final
 
void modifyObject (pat::Electron &ele) const final
 
void modifyObject (pat::Photon &pho) const final
 
void setEvent (const edm::Event &) final
 
void setEventContent (const edm::EventSetup &) final
 
 ~EG9X105XObjectUpdateModifier () override
 
- Public Member Functions inherited from ModifyObjectValueBase
virtual void modifyObject (reco::Muon &) const
 
virtual void modifyObject (reco::BaseTau &) const
 
virtual void modifyObject (reco::Jet &) const
 
virtual void modifyObject (pat::Muon &) const
 
virtual void modifyObject (pat::Tau &) const
 
virtual void modifyObject (pat::Jet &) const
 
 ModifyObjectValueBase (const edm::ParameterSet &conf)
 
const std::string & name () const
 
virtual ~ModifyObjectValueBase ()
 

Static Private Member Functions

template<typename ObjType >
static edm::Ptr< ObjType > getPtrForValueMap (const ObjType &obj, const edm::Handle< edm::View< ObjType > > &objsVMIsKeyedTo)
 

Private Attributes

bool allowGsfTrkMatchForConvs_
 
TokenHandlePair< reco::BeamSpotbeamspot_
 
TokenHandlePair< reco::ConversionCollectionconversions_
 
TokenHandlePair< EcalRecHitCollectionecalRecHitsEB_
 
TokenHandlePair< EcalRecHitCollectionecalRecHitsEE_
 
TokenHandlePair< edm::View< reco::GsfElectron > > eleCollVMsAreKeyedTo_
 
TokenHandlePair< edm::ValueMap< float > > eleTrkIso04_
 
TokenHandlePair< edm::ValueMap< float > > eleTrkIso_
 
TokenHandlePair< edm::ValueMap< float > > phoChargedHadIso_
 
TokenHandlePair< edm::ValueMap< float > > phoChargedHadPFPVIso_
 
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxConeVetoIso_
 
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxIso_
 
TokenHandlePair< edm::View< reco::Photon > > phoCollVMsAreKeyedTo_
 
TokenHandlePair< edm::ValueMap< float > > phoNeutralHadIso_
 
TokenHandlePair< edm::ValueMap< float > > phoPhotonIso_
 
bool updateChargedHadPFPVIso_
 

Detailed Description

Definition at line 23 of file EG9X105XObjectUpdateModifier.cc.

Constructor & Destructor Documentation

EG9X105XObjectUpdateModifier::EG9X105XObjectUpdateModifier ( const edm::ParameterSet conf,
edm::ConsumesCollector cc 
)

Definition at line 86 of file EG9X105XObjectUpdateModifier.cc.

87  : ModifyObjectValueBase(conf),
88  eleCollVMsAreKeyedTo_(conf, "eleCollVMsAreKeyedTo", cc),
89  phoCollVMsAreKeyedTo_(conf, "phoCollVMsAreKeyedTo", cc),
90  conversions_(conf, "conversions", cc),
91  beamspot_(conf, "beamspot", cc),
92  ecalRecHitsEB_(conf, "ecalRecHitsEB", cc),
93  ecalRecHitsEE_(conf, "ecalRecHitsEE", cc),
94  eleTrkIso_(conf, "eleTrkIso", cc),
95  eleTrkIso04_(conf, "eleTrkIso04", cc),
96  phoPhotonIso_(conf, "phoPhotonIso", cc),
97  phoNeutralHadIso_(conf, "phoNeutralHadIso", cc),
98  phoChargedHadIso_(conf, "phoChargedHadIso", cc),
99  phoChargedHadWorstVtxIso_(conf, "phoChargedHadWorstVtxIso", cc),
100  phoChargedHadWorstVtxConeVetoIso_(conf, "phoChargedHadWorstVtxConeVetoIso", cc),
101  phoChargedHadPFPVIso_(conf, "phoChargedHadPFPVIso", cc),
102  allowGsfTrkMatchForConvs_(conf.getParameter<bool>("allowGsfTrackForConvs")),
103  updateChargedHadPFPVIso_(conf.getParameter<bool>("updateChargedHadPFPVIso")) {}
T getParameter(std::string const &) const
TokenHandlePair< edm::ValueMap< float > > eleTrkIso04_
TokenHandlePair< edm::ValueMap< float > > phoPhotonIso_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxIso_
TokenHandlePair< edm::View< reco::Photon > > phoCollVMsAreKeyedTo_
TokenHandlePair< reco::BeamSpot > beamspot_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEE_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEB_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxConeVetoIso_
TokenHandlePair< edm::ValueMap< float > > eleTrkIso_
ModifyObjectValueBase(const edm::ParameterSet &conf)
TokenHandlePair< reco::ConversionCollection > conversions_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadPFPVIso_
TokenHandlePair< edm::View< reco::GsfElectron > > eleCollVMsAreKeyedTo_
TokenHandlePair< edm::ValueMap< float > > phoNeutralHadIso_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadIso_
EG9X105XObjectUpdateModifier::~EG9X105XObjectUpdateModifier ( )
inlineoverride

Definition at line 39 of file EG9X105XObjectUpdateModifier.cc.

References modifyObject(), setEvent(), and setEventContent().

39 {}

Member Function Documentation

template<typename ObjType >
edm::Ptr< ObjType > EG9X105XObjectUpdateModifier::getPtrForValueMap ( const ObjType &  obj,
const edm::Handle< edm::View< ObjType > > &  objsVMIsKeyedTo 
)
staticprivate

Definition at line 191 of file EG9X105XObjectUpdateModifier.cc.

References DEFINE_EDM_PLUGIN.

Referenced by modifyObject().

192  {
193  for (auto& objVMPtr : objsVMIsKeyedTo->ptrs()) {
194  if (obj.superCluster()->seed()->seed() == objVMPtr->superCluster()->seed()->seed())
195  return objVMPtr;
196  }
197  return edm::Ptr<ObjType>(objsVMIsKeyedTo.id()); //return null ptr if not found
198 }
ProductID id() const
Definition: HandleBase.cc:13
void EG9X105XObjectUpdateModifier::modifyObject ( reco::GsfElectron ele) const
finalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 125 of file EG9X105XObjectUpdateModifier.cc.

References allowGsfTrkMatchForConvs_, beamspot_, reco::GsfElectron::conversionRejectionVariables(), conversions_, reco::GsfElectron::core(), reco::GsfElectron::dr03IsolationVariables(), reco::GsfElectron::dr04IsolationVariables(), MillePedeFileConverter_cfg::e, eleCollVMsAreKeyedTo_, eleTrkIso04_, eleTrkIso_, reco::LeafCandidate::et(), reco::LeafCandidate::eta(), Exception, getPtrForValueMap(), ConversionTools::getVtxFitProb(), EG9X105XObjectUpdateModifier::TokenHandlePair< T >::handle(), edm::Ptr< T >::isNull(), ConversionTools::matchedConversion(), reco::BeamSpot::position(), reco::GsfElectron::setConversionRejectionVariables(), reco::GsfElectron::setDr03Isolation(), reco::GsfElectron::setDr04Isolation(), reco::GsfElectron::superCluster(), reco::GsfElectron::IsolationVariables::tkSumPtHEEP, and reco::GsfElectron::ConversionRejection::vtxFitProb.

Referenced by ~EG9X105XObjectUpdateModifier().

125  {
127  if (ptrForVM.isNull()) {
128  throw cms::Exception("LogicError")
129  << " in EG9X105ObjectUpdateModifier, line " << __LINE__ << " electron " << ele.et() << " " << ele.eta() << " "
130  << ele.superCluster()->seed()->seed().rawId()
131  << " failed to match to the electrons the key map was keyed to, check the map collection is correct";
132  }
137  } else {
138  //its rather important to use the core function here to get the org trk ref
140  ele.core()->ctfTrack(), *conversions_.handle(), beamspot_.handle()->position(), 2.0, 1e-6, 0));
141  }
142  ele.setConversionRejectionVariables(convRejVars);
143 
145  isolVars03.tkSumPtHEEP = (*eleTrkIso_.handle())[ptrForVM];
146  ele.setDr03Isolation(isolVars03);
148  isolVars04.tkSumPtHEEP = (*eleTrkIso04_.handle())[ptrForVM];
149  ele.setDr04Isolation(isolVars04);
150 }
void setDr04Isolation(const IsolationVariables &dr04)
Definition: GsfElectron.h:546
static reco::Conversion const * matchedConversion(const reco::GsfElectron &ele, const reco::ConversionCollection &convCol, const math::XYZPoint &beamspot, bool allowCkfMatch=true, float lxyMin=2.0, float probMin=1e-6, unsigned int nHitsBeforeVtxMax=0)
TokenHandlePair< edm::ValueMap< float > > eleTrkIso04_
double eta() const final
momentum pseudorapidity
TokenHandlePair< reco::BeamSpot > beamspot_
void setConversionRejectionVariables(const ConversionRejection &convRej)
Definition: GsfElectron.h:587
void setDr03Isolation(const IsolationVariables &dr03)
Definition: GsfElectron.h:545
const IsolationVariables & dr04IsolationVariables() const
Definition: GsfElectron.h:542
static edm::Ptr< ObjType > getPtrForValueMap(const ObjType &obj, const edm::Handle< edm::View< ObjType > > &objsVMIsKeyedTo)
TokenHandlePair< edm::ValueMap< float > > eleTrkIso_
static float getVtxFitProb(const reco::Conversion *conv)
double et() const final
transverse energy
bool isNull() const
Checks for null.
Definition: Ptr.h:142
TokenHandlePair< reco::ConversionCollection > conversions_
virtual GsfElectronCoreRef core() const
Definition: GsfElectron.cc:8
const IsolationVariables & dr03IsolationVariables() const
Definition: GsfElectron.h:530
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:155
const Point & position() const
position
Definition: BeamSpot.h:59
const ConversionRejection & conversionRejectionVariables() const
Definition: GsfElectron.h:586
TokenHandlePair< edm::View< reco::GsfElectron > > eleCollVMsAreKeyedTo_
void EG9X105XObjectUpdateModifier::modifyObject ( reco::Photon pho) const
finalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 152 of file EG9X105XObjectUpdateModifier.cc.

References Cluster2ndMoments::alpha, reco::Photon::PflowIsolationVariables::chargedHadronIso, reco::Photon::PflowIsolationVariables::chargedHadronPFPVIso, reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxGeomVetoIso, reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxIso, EcalClusterToolsT< noZS >::cluster2ndMoments(), EcalBarrel, ecalRecHitsEB_, ecalRecHitsEE_, reco::LeafCandidate::et(), reco::LeafCandidate::eta(), Exception, reco::Photon::full5x5_setShowerShapeVariables(), reco::Photon::full5x5_showerShapeVariables(), reco::Photon::getPflowIsolationVariables(), getPtrForValueMap(), EG9X105XObjectUpdateModifier::TokenHandlePair< T >::handle(), edm::Ptr< T >::isNull(), reco::Photon::PflowIsolationVariables::neutralHadronIso, phoChargedHadIso_, phoChargedHadPFPVIso_, phoChargedHadWorstVtxConeVetoIso_, phoChargedHadWorstVtxIso_, phoCollVMsAreKeyedTo_, phoNeutralHadIso_, phoPhotonIso_, reco::Photon::PflowIsolationVariables::photonIso, FastTrackerRecHitMaskProducer_cfi::recHits, reco::Photon::setPflowIsolationVariables(), reco::Photon::setShowerShapeVariables(), reco::Photon::showerShapeVariables(), Cluster2ndMoments::sMaj, reco::Photon::ShowerShape::smAlpha, Cluster2ndMoments::sMin, reco::Photon::ShowerShape::smMajor, reco::Photon::ShowerShape::smMinor, reco::Photon::superCluster(), and updateChargedHadPFPVIso_.

152  {
154  if (ptrForVM.isNull()) {
155  throw cms::Exception("LogicError")
156  << " in EG9X105ObjectUpdateModifier, line " << __LINE__ << " photon " << pho.et() << " " << pho.eta() << " "
157  << pho.superCluster()->seed()->seed().rawId()
158  << " failed to match to the photons the key map was keyed to, check the map collection is correct";
159  }
160 
162  pfIso.photonIso = (*phoPhotonIso_.handle())[ptrForVM];
163  pfIso.neutralHadronIso = (*phoNeutralHadIso_.handle())[ptrForVM];
164  pfIso.chargedHadronIso = (*phoChargedHadIso_.handle())[ptrForVM];
168  pfIso.chargedHadronPFPVIso = (*phoChargedHadPFPVIso_.handle())[ptrForVM];
169  }
170  pho.setPflowIsolationVariables(pfIso);
171 
174 
175  const reco::CaloClusterPtr seedClus = pho.superCluster()->seed();
176  const bool isEB = seedClus->seed().subdetId() == EcalBarrel;
177  const auto& recHits = isEB ? *ecalRecHitsEB_.handle() : *ecalRecHitsEE_.handle();
178  Cluster2ndMoments clus2ndMomFrac = EcalClusterTools::cluster2ndMoments(*seedClus, recHits);
180  fracSS.smMajor = clus2ndMomFrac.sMaj;
181  fracSS.smMinor = clus2ndMomFrac.sMin;
182  fracSS.smAlpha = clus2ndMomFrac.alpha;
183  fullSS.smMajor = clus2ndMomFull.sMaj;
184  fullSS.smMinor = clus2ndMomFull.sMin;
185  fullSS.smAlpha = clus2ndMomFull.alpha;
186  pho.setShowerShapeVariables(fracSS);
188 }
void setPflowIsolationVariables(const PflowIsolationVariables &pfisol)
Set Particle Flow Isolation variables.
Definition: Photon.h:497
TokenHandlePair< edm::ValueMap< float > > phoPhotonIso_
double eta() const final
momentum pseudorapidity
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxIso_
TokenHandlePair< edm::View< reco::Photon > > phoCollVMsAreKeyedTo_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEE_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEB_
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxConeVetoIso_
static edm::Ptr< ObjType > getPtrForValueMap(const ObjType &obj, const edm::Handle< edm::View< ObjType > > &objsVMIsKeyedTo)
double et() const final
transverse energy
bool isNull() const
Checks for null.
Definition: Ptr.h:142
void setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:204
static Cluster2ndMoments cluster2ndMoments(const reco::BasicCluster &basicCluster, const EcalRecHitCollection &recHits, double phiCorrectionFactor=0.8, double w0=4.7, bool useLogWeights=true)
void full5x5_setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:205
const ShowerShape & full5x5_showerShapeVariables() const
Definition: Photon.h:202
TokenHandlePair< edm::ValueMap< float > > phoChargedHadPFPVIso_
const PflowIsolationVariables & getPflowIsolationVariables() const
Get Particle Flow Isolation variables block.
Definition: Photon.h:494
const ShowerShape & showerShapeVariables() const
Definition: Photon.h:201
TokenHandlePair< edm::ValueMap< float > > phoNeutralHadIso_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadIso_
void EG9X105XObjectUpdateModifier::modifyObject ( pat::Electron ele) const
inlinefinalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 47 of file EG9X105XObjectUpdateModifier.cc.

References modifyObject().

Referenced by modifyObject().

47 { return modifyObject(static_cast<reco::GsfElectron&>(ele)); }
void modifyObject(reco::GsfElectron &ele) const final
void EG9X105XObjectUpdateModifier::modifyObject ( pat::Photon pho) const
inlinefinalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 48 of file EG9X105XObjectUpdateModifier.cc.

References getPtrForValueMap(), modifyObject(), and getGTfromDQMFile::obj.

Referenced by modifyObject().

48 { return modifyObject(static_cast<reco::Photon&>(pho)); }
void modifyObject(reco::GsfElectron &ele) const final
void EG9X105XObjectUpdateModifier::setEvent ( const edm::Event iEvent)
finalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 105 of file EG9X105XObjectUpdateModifier.cc.

References beamspot_, conversions_, ecalRecHitsEB_, ecalRecHitsEE_, eleCollVMsAreKeyedTo_, eleTrkIso04_, eleTrkIso_, phoChargedHadIso_, phoChargedHadPFPVIso_, phoChargedHadWorstVtxConeVetoIso_, phoChargedHadWorstVtxIso_, phoCollVMsAreKeyedTo_, phoNeutralHadIso_, phoPhotonIso_, EG9X105XObjectUpdateModifier::TokenHandlePair< T >::setHandle(), and updateChargedHadPFPVIso_.

Referenced by ~EG9X105XObjectUpdateModifier().

105  {
108  conversions_.setHandle(iEvent);
109  beamspot_.setHandle(iEvent);
110  ecalRecHitsEB_.setHandle(iEvent);
111  ecalRecHitsEE_.setHandle(iEvent);
112  eleTrkIso_.setHandle(iEvent);
113  eleTrkIso04_.setHandle(iEvent);
114  phoPhotonIso_.setHandle(iEvent);
121 }
TokenHandlePair< edm::ValueMap< float > > eleTrkIso04_
TokenHandlePair< edm::ValueMap< float > > phoPhotonIso_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxIso_
TokenHandlePair< edm::View< reco::Photon > > phoCollVMsAreKeyedTo_
TokenHandlePair< reco::BeamSpot > beamspot_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEE_
TokenHandlePair< EcalRecHitCollection > ecalRecHitsEB_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadWorstVtxConeVetoIso_
TokenHandlePair< edm::ValueMap< float > > eleTrkIso_
TokenHandlePair< reco::ConversionCollection > conversions_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadPFPVIso_
TokenHandlePair< edm::View< reco::GsfElectron > > eleCollVMsAreKeyedTo_
TokenHandlePair< edm::ValueMap< float > > phoNeutralHadIso_
TokenHandlePair< edm::ValueMap< float > > phoChargedHadIso_
void EG9X105XObjectUpdateModifier::setEventContent ( const edm::EventSetup iSetup)
finalvirtual

Reimplemented from ModifyObjectValueBase.

Definition at line 123 of file EG9X105XObjectUpdateModifier.cc.

Referenced by ~EG9X105XObjectUpdateModifier().

123 {}

Member Data Documentation

bool EG9X105XObjectUpdateModifier::allowGsfTrkMatchForConvs_
private

Definition at line 77 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject().

TokenHandlePair<reco::BeamSpot> EG9X105XObjectUpdateModifier::beamspot_
private

Definition at line 59 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<reco::ConversionCollection> EG9X105XObjectUpdateModifier::conversions_
private

Definition at line 58 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<EcalRecHitCollection> EG9X105XObjectUpdateModifier::ecalRecHitsEB_
private

Definition at line 60 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<EcalRecHitCollection> EG9X105XObjectUpdateModifier::ecalRecHitsEE_
private

Definition at line 61 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::View<reco::GsfElectron> > EG9X105XObjectUpdateModifier::eleCollVMsAreKeyedTo_
private

Definition at line 55 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::eleTrkIso04_
private

Definition at line 64 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::eleTrkIso_
private

Definition at line 63 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoChargedHadIso_
private

Definition at line 67 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoChargedHadPFPVIso_
private

Definition at line 70 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoChargedHadWorstVtxConeVetoIso_
private

Definition at line 69 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoChargedHadWorstVtxIso_
private

Definition at line 68 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::View<reco::Photon> > EG9X105XObjectUpdateModifier::phoCollVMsAreKeyedTo_
private

Definition at line 56 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoNeutralHadIso_
private

Definition at line 66 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

TokenHandlePair<edm::ValueMap<float> > EG9X105XObjectUpdateModifier::phoPhotonIso_
private

Definition at line 65 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().

bool EG9X105XObjectUpdateModifier::updateChargedHadPFPVIso_
private

Definition at line 83 of file EG9X105XObjectUpdateModifier.cc.

Referenced by modifyObject(), and setEvent().