CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
EGEnergyAnalyzer Class Reference

#include <GBRWrap/EGEnergyAnalyzer/src/EGEnergyAnalyzer.cc>

Inheritance diagram for EGEnergyAnalyzer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 EGEnergyAnalyzer (const edm::ParameterSet &)
 
 ~EGEnergyAnalyzer ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

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

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
virtual void beginJob () override
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &) override
 
virtual void endJob () override
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
virtual void endRun (edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

EGEnergyCorrector cordb
 
EGEnergyCorrector corfile
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- 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

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 48 of file EGEnergyAnalyzer.cc.

Constructor & Destructor Documentation

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

Definition at line 83 of file EGEnergyAnalyzer.cc.

85 {
86  //now do what ever initialization is needed
87 
88 }
EGEnergyAnalyzer::~EGEnergyAnalyzer ( )

Definition at line 91 of file EGEnergyAnalyzer.cc.

92 {
93 
94  // do anything here that needs to be done at desctruction time
95  // (e.g. close files, deallocate resources etc.)
96 
97 }

Member Function Documentation

void EGEnergyAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 106 of file EGEnergyAnalyzer.cc.

References cordb, corfile, EGEnergyCorrector::CorrectedEnergyWithError(), edm::Event::getByLabel(), EGEnergyCorrector::Initialize(), and EGEnergyCorrector::IsInitialized().

107 {
108  using namespace edm;
109 
110  if (!corfile.IsInitialized()) {
111  corfile.Initialize(iSetup,"/afs/cern.ch/user/b/bendavid/cmspublic/gbrv3ph.root");
112  //corfile.Initialize(iSetup,"wgbrph",true);
113  }
114 
115  if (!cordb.IsInitialized()) {
116  //cordb.Initialize(iSetup,"/afs/cern.ch/user/b/bendavid/cmspublic/regweights/gbrph.root");
117  cordb.Initialize(iSetup,"wgbrph",true);
118  }
119 
120  // get photon collection
121  Handle<reco::PhotonCollection> hPhotonProduct;
122  iEvent.getByLabel("photons",hPhotonProduct);
123 
124  EcalClusterLazyTools lazyTools(iEvent, iSetup, edm::InputTag("reducedEcalRecHitsEB"),
125  edm::InputTag("reducedEcalRecHitsEE"));
126 
127  Handle<reco::VertexCollection> hVertexProduct;
128  iEvent.getByLabel("offlinePrimaryVerticesWithBS", hVertexProduct);
129 
130  for (reco::PhotonCollection::const_iterator it = hPhotonProduct->begin(); it!=hPhotonProduct->end(); ++it) {
131  std::pair<double,double> corsfile = corfile.CorrectedEnergyWithError(*it, *hVertexProduct, lazyTools, iSetup);
132  std::pair<double,double> corsdb = cordb.CorrectedEnergyWithError(*it, *hVertexProduct, lazyTools, iSetup);
133 
134 
135  printf("file: default = %5f, correction = %5f, uncertainty = %5f\n", it->energy(),corsfile.first,corsfile.second);
136  printf("db: default = %5f, correction = %5f, uncertainty = %5f\n", it->energy(),corsdb.first,corsdb.second);
137 
138  }
139 
140 
141 
142 
143 }
void Initialize(const edm::EventSetup &iSetup, std::string regweights, bool weightsFromDB=false)
EGEnergyCorrector corfile
EGEnergyCorrector cordb
std::pair< double, double > CorrectedEnergyWithError(const reco::Photon &p, const reco::VertexCollection &vtxcol, EcalClusterLazyTools &clustertools, const edm::EventSetup &es)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:390
Bool_t IsInitialized() const
void EGEnergyAnalyzer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 148 of file EGEnergyAnalyzer.cc.

149 {
150 
151 
152 
153 }
void EGEnergyAnalyzer::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 175 of file EGEnergyAnalyzer.cc.

176 {
177 }
void EGEnergyAnalyzer::beginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 163 of file EGEnergyAnalyzer.cc.

164 {
165 }
void EGEnergyAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 157 of file EGEnergyAnalyzer.cc.

158 {
159 }
void EGEnergyAnalyzer::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 181 of file EGEnergyAnalyzer.cc.

182 {
183 }
void EGEnergyAnalyzer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 169 of file EGEnergyAnalyzer.cc.

170 {
171 }
void EGEnergyAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 187 of file EGEnergyAnalyzer.cc.

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

187  {
188  //The following says we do not know what parameters are allowed so do no validation
189  // Please change this to state exactly what you do use, even if it is no parameters
191  desc.setUnknown();
192  descriptions.addDefault(desc);
193 }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

EGEnergyCorrector EGEnergyAnalyzer::cordb
private

Definition at line 67 of file EGEnergyAnalyzer.cc.

Referenced by analyze().

EGEnergyCorrector EGEnergyAnalyzer::corfile
private

Definition at line 66 of file EGEnergyAnalyzer.cc.

Referenced by analyze().