CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
ElectronIsolatorFromEffectiveArea Class Reference
Inheritance diagram for ElectronIsolatorFromEffectiveArea:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

Public Types

typedef edm::ValueMap< double > CandDoubleMap
 
typedef ElectronEffectiveArea EEA
 
- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
typedef WorkerT< EDFilterWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 

Public Member Functions

 ElectronIsolatorFromEffectiveArea (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Member Functions

virtual bool filter (edm::Event &, const edm::EventSetup &)
 

Static Private Member Functions

static std::map< std::string,
EEA::ElectronEffectiveAreaTarget
EEA_target ()
 
static std::map< std::string,
EEA::ElectronEffectiveAreaType
EEA_type ()
 

Private Attributes

const edm::InputTag gsfElectronTag
 
const
EEA::ElectronEffectiveAreaType 
modeEEA
 
const edm::InputTag pfElectronTag
 
const edm::InputTag rhoIsoTag
 
const
EEA::ElectronEffectiveAreaTarget 
targetEEA
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDFilter
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Definition at line 13 of file ElectronIsolatorFromEffectiveArea.cc.

Member Typedef Documentation

Definition at line 16 of file ElectronIsolatorFromEffectiveArea.cc.

Definition at line 17 of file ElectronIsolatorFromEffectiveArea.cc.

Constructor & Destructor Documentation

ElectronIsolatorFromEffectiveArea::ElectronIsolatorFromEffectiveArea ( const edm::ParameterSet config)
explicit

Definition at line 32 of file ElectronIsolatorFromEffectiveArea.cc.

33  : gsfElectronTag( config.getParameter<edm::InputTag>("gsfElectrons") )
34  , pfElectronTag( config.getParameter<edm::InputTag>("pfElectrons") )
35  , rhoIsoTag( config.getParameter<edm::InputTag>("rhoIso") )
36  , modeEEA( EEA_type()[ config.getParameter<std::string>("EffectiveAreaType") ] )
37  , targetEEA( EEA_target()[ config.getParameter<std::string>("EffectiveAreaTarget") ] )
38 { produces<CandDoubleMap>(); }
T getParameter(std::string const &) const
static std::map< std::string, EEA::ElectronEffectiveAreaTarget > EEA_target()
static std::map< std::string, EEA::ElectronEffectiveAreaType > EEA_type()
const EEA::ElectronEffectiveAreaType modeEEA
const EEA::ElectronEffectiveAreaTarget targetEEA

Member Function Documentation

std::map< std::string, ElectronEffectiveArea::ElectronEffectiveAreaTarget > ElectronIsolatorFromEffectiveArea::EEA_target ( )
staticprivate
std::map< std::string, ElectronEffectiveArea::ElectronEffectiveAreaType > ElectronIsolatorFromEffectiveArea::EEA_type ( )
staticprivate

Definition at line 76 of file ElectronIsolatorFromEffectiveArea.cc.

References ElectronEffectiveArea::kEleGammaAndNeutralHadronIso03, ElectronEffectiveArea::kEleGammaAndNeutralHadronIso04, and m.

77 {
78  std::map<std::string,EEA::ElectronEffectiveAreaType> m;
79  m["kEleGammaAndNeutralHadronIso03"] = EEA::kEleGammaAndNeutralHadronIso03;
80  m["kEleGammaAndNeutralHadronIso04"] = EEA::kEleGammaAndNeutralHadronIso04;
81  return m;
82 }
bool ElectronIsolatorFromEffectiveArea::filter ( edm::Event event,
const edm::EventSetup  
)
privatevirtual

Implements edm::EDFilter.

Definition at line 43 of file ElectronIsolatorFromEffectiveArea.cc.

References edm::helper::Filler< Map >::fill(), ElectronEffectiveArea::GetElectronEffectiveArea(), gsfElectrons_cfi::gsfElectrons, gsfElectronTag, edm::helper::Filler< Map >::insert(), edm::HandleBase::isValid(), modeEEA, pfElectrons_cff::pfElectrons, pfElectronTag, rho, rhoIsoTag, and targetEEA.

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

44 {
45  std::auto_ptr<CandDoubleMap> product(new CandDoubleMap());
46  CandDoubleMap::Filler filler(*product);
47 
48  edm::Handle<double> rho; event.getByLabel(rhoIsoTag, rho);
51  std::vector<double> gsfCorrectionsEA,pfCorrectionsEA;
52 
53  if(gsfElectrons.isValid()) {
54  for ( reco::GsfElectronCollection::const_iterator it = gsfElectrons->begin(); it != gsfElectrons->end(); ++it)
55  gsfCorrectionsEA.push_back( (*rho) * EEA::GetElectronEffectiveArea( modeEEA, it->superCluster()->eta(), targetEEA ) );
56  filler.insert(gsfElectrons, gsfCorrectionsEA.begin(), gsfCorrectionsEA.end() );
57  }
58 
59  if(pfElectrons.isValid()) {
60  for ( reco::PFCandidateCollection::const_iterator it = pfElectrons->begin(); it != pfElectrons->end(); ++it)
61  pfCorrectionsEA.push_back( (*rho) * EEA::GetElectronEffectiveArea( modeEEA, it->gsfElectronRef()->superCluster()->eta(), targetEEA ) );
62  filler.insert( pfElectrons, pfCorrectionsEA.begin(), pfCorrectionsEA.end() );
63  }
64 
65  filler.fill();
66  event.put(product);
67  return true;
68 }
Definition: DDAxes.h:10
static Double_t GetElectronEffectiveArea(ElectronEffectiveAreaType type, Double_t SCEta, ElectronEffectiveAreaTarget EffectiveAreaTarget=kEleEAData2011)
const EEA::ElectronEffectiveAreaType modeEEA
bool isValid() const
Definition: HandleBase.h:76
helper::Filler< ValueMap< T > > Filler
Definition: ValueMap.h:157
const EEA::ElectronEffectiveAreaTarget targetEEA

Member Data Documentation

const edm::InputTag ElectronIsolatorFromEffectiveArea::gsfElectronTag
private

Definition at line 22 of file ElectronIsolatorFromEffectiveArea.cc.

Referenced by filter().

const EEA::ElectronEffectiveAreaType ElectronIsolatorFromEffectiveArea::modeEEA
private

Definition at line 23 of file ElectronIsolatorFromEffectiveArea.cc.

Referenced by filter().

const edm::InputTag ElectronIsolatorFromEffectiveArea::pfElectronTag
private

Definition at line 22 of file ElectronIsolatorFromEffectiveArea.cc.

Referenced by filter().

const edm::InputTag ElectronIsolatorFromEffectiveArea::rhoIsoTag
private

Definition at line 22 of file ElectronIsolatorFromEffectiveArea.cc.

Referenced by filter().

const EEA::ElectronEffectiveAreaTarget ElectronIsolatorFromEffectiveArea::targetEEA
private

Definition at line 24 of file ElectronIsolatorFromEffectiveArea.cc.

Referenced by filter().