CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PATElectronProducer.h
Go to the documentation of this file.
1 //
2 // $Id: PATElectronProducer.h,v 1.23 2010/04/20 16:09:29 srappocc Exp $
3 //
4 
5 #ifndef PhysicsTools_PatAlgos_PATElectronProducer_h
6 #define PhysicsTools_PatAlgos_PATElectronProducer_h
7 
27 
29 
33 
35 
38 
40 
41 #include <string>
42 
43 
44 namespace pat {
45 
46 
47  class TrackerIsolationPt;
48  class CaloIsolationEnergy;
49  class LeptonLRCalc;
50 
51 
53 
54  public:
55 
56  explicit PATElectronProducer(const edm::ParameterSet & iConfig);
58 
59  virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
60 
61  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
62 
63  private:
64 
65  // configurables
73  std::vector<edm::InputTag> genMatchSrc_;
74 
79 
83  bool usePV_;
85 
86  typedef std::vector<edm::Handle<edm::Association<reco::GenParticleCollection> > > GenAssociations;
88  typedef std::vector< edm::Handle< edm::ValueMap<IsoDeposit> > > IsoDepositMaps;
89  typedef std::vector< edm::Handle< edm::ValueMap<double> > > IsolationValueMaps;
90 
91 
93  void fillElectron( Electron& aElectron,
94  const ElectronBaseRef& electronRef,
95  const reco::CandidateBaseRef& baseRef,
96  const GenAssociations& genMatches,
97  const IsoDepositMaps& deposits,
98  const IsolationValueMaps& isolationValues) const;
99 
100  void fillElectron2( Electron& anElectron,
101  const reco::CandidatePtr& candPtrForIsolation,
102  const reco::CandidatePtr& candPtrForGenMatch,
103  const reco::CandidatePtr& candPtrForLoader,
104  const GenAssociations& genMatches,
105  const IsoDepositMaps& deposits,
106  const IsolationValueMaps& isolationValues ) const;
107 
108  typedef std::pair<pat::IsolationKeys,edm::InputTag> IsolationLabel;
109  typedef std::vector<IsolationLabel> IsolationLabels;
110 
113  void readIsolationLabels( const edm::ParameterSet & iConfig,
114  const char* psetName,
116 
118  typedef std::pair<std::string, edm::InputTag> NameTag;
119  std::vector<NameTag> elecIDSrcs_;
120 
121  // tools
123 
125  pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_; // better here than recreate at each event
128 
131 
134 
137 
138 
139  };
140 
141 
142 }
143 
144 #endif
Assists in assimilating all pat::UserData into pat objects.
void fillElectron(Electron &aElectron, const ElectronBaseRef &electronRef, const reco::CandidateBaseRef &baseRef, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const IsolationValueMaps &isolationValues) const
common electron filling, for both the standard and PF2PAT case
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
edm::RefToBase< reco::GsfElectron > ElectronBaseRef
std::vector< edm::InputTag > genMatchSrc_
std::pair< pat::IsolationKeys, edm::InputTag > IsolationLabel
GreaterByPt< Electron > pTComparator_
pat::helper::MultiIsolator isolator_
std::vector< edm::Handle< edm::Association< reco::GenParticleCollection > > > GenAssociations
int iEvent
Definition: GenABIO.cc:243
Produces pat::Electron&#39;s.
PATElectronProducer(const edm::ParameterSet &iConfig)
std::vector< edm::Handle< edm::ValueMap< double > > > IsolationValueMaps
bool embedHighLevelSelection_
embed high level selection variables?
std::pair< std::string, edm::InputTag > NameTag
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
tuple labels
Definition: L1TDQM_cfg.py:62
void fillElectron2(Electron &anElectron, const reco::CandidatePtr &candPtrForIsolation, const reco::CandidatePtr &candPtrForGenMatch, const reco::CandidatePtr &candPtrForLoader, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const IsolationValueMaps &isolationValues) const
pat::helper::EfficiencyLoader efficiencyLoader_
pat::PATUserDataHelper< pat::Electron > userDataHelper_
bool useParticleFlow_
pflow specific
Analysis-level electron class.
Definition: Electron.h:46
std::vector< std::pair< pat::IsolationKeys, float > > IsolationValuePairs
Definition: MultiIsolator.h:16
std::vector< IsolationLabel > IsolationLabels
IsolationLabels isolationValueLabels_
pat::helper::KinResolutionsLoader resolutionLoader_
void readIsolationLabels(const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels)
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
std::vector< NameTag > elecIDSrcs_
std::vector< edm::Handle< edm::ValueMap< IsoDeposit > > > IsoDepositMaps