CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
PhotonValidatorMiniAOD Class Reference

#include <PhotonValidatorMiniAOD.h>

Inheritance diagram for PhotonValidatorMiniAOD:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

class  sortPhotons
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &r, edm::EventSetup const &theEventSetup) override
 
void endRun (edm::Run const &r, edm::EventSetup const &es) override
 
 PhotonValidatorMiniAOD (const edm::ParameterSet &)
 
 ~PhotonValidatorMiniAOD () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () 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
 
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)
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

std::string fName_
 
edm::EDGetTokenT< reco::GenParticleCollectiongenpartToken_
 
MonitorElementh_chHadIso_ [3]
 
MonitorElementh_ecalRecHitSumEtConeDR04_ [3][3]
 
MonitorElementh_full5x5_r9_ [3][3]
 
MonitorElementh_full5x5_sigmaIetaIeta_ [3][3]
 
MonitorElementh_hcalTowerBcSumEtConeDR04_ [3][3]
 
MonitorElementh_hcalTowerSumEtConeDR04_ [3][3]
 
MonitorElementh_hOverE_ [3][3]
 
MonitorElementh_isoTrkSolidConeDR04_ [3][3]
 
MonitorElementh_newhOverE_ [3][3]
 
MonitorElementh_nHadIso_ [3]
 
MonitorElementh_nTrkSolidConeDR04_ [3][3]
 
MonitorElementh_phoE_ [2][3]
 
MonitorElementh_phoERes_ [3][3]
 
MonitorElementh_phoEt_ [2][3]
 
MonitorElementh_phoIso_ [3]
 
MonitorElementh_phoSigmaEoE_ [3][3]
 
MonitorElementh_r1_ [3][3]
 
MonitorElementh_r2_ [3][3]
 
MonitorElementh_r9_ [3][3]
 
MonitorElementh_scEta_ [2]
 
MonitorElementh_scPhi_ [2]
 
MonitorElementh_sigmaIetaIeta_ [3][3]
 
std::string outputFileName_
 
edm::ParameterSet parameters_
 
edm::EDGetTokenT< edm::View< pat::Photon > > photonToken_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from edm::one::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
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

$Id: PhotonValidatorMiniAOD

Author
Nancy Marinelli, U. of Notre Dame, US

Definition at line 49 of file PhotonValidatorMiniAOD.h.

Constructor & Destructor Documentation

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

Definition at line 34 of file PhotonValidatorMiniAOD.cc.

References parameters_.

34  :
35  outputFileName_( iConfig.getParameter<std::string>( "outputFileName" ) ),
36  photonToken_( consumes<edm::View<pat::Photon> >( iConfig.getUntrackedParameter<edm::InputTag> ( "PhotonTag", edm::InputTag( "slimmedPhotons" ) ) ) ),
37  genpartToken_( consumes<reco::GenParticleCollection>( iConfig.getUntrackedParameter<edm::InputTag> ( "genpartTag", edm::InputTag( "prunedGenParticles" ) ) ) )
38 
39 {
40  parameters_ = iConfig;
41 
42 }
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::GenParticleCollection > genpartToken_
T getUntrackedParameter(std::string const &, T const &) const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
edm::EDGetTokenT< edm::View< pat::Photon > > photonToken_
PhotonValidatorMiniAOD::~PhotonValidatorMiniAOD ( )
override

Definition at line 45 of file PhotonValidatorMiniAOD.cc.

45 {}

Member Function Documentation

void PhotonValidatorMiniAOD::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 187 of file PhotonValidatorMiniAOD.cc.

References pat::Photon::chargedHadronIso(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::Photon::ecalRecHitSumEtConeDR04(), reco::LeafCandidate::energy(), reco::LeafCandidate::eta(), MonitorElement::Fill(), HcalObjRepresent::Fill(), reco::Photon::full5x5_r9(), reco::Photon::full5x5_sigmaIetaIeta(), GenHFHadronMatcher_cfi::genParticles, genpartToken_, edm::Event::getByToken(), reco::Photon::getCandidateP4type(), reco::Photon::getCorrectedEnergyError(), h_chHadIso_, h_ecalRecHitSumEtConeDR04_, h_full5x5_r9_, h_full5x5_sigmaIetaIeta_, h_hcalTowerBcSumEtConeDR04_, h_hcalTowerSumEtConeDR04_, h_hOverE_, h_isoTrkSolidConeDR04_, h_newhOverE_, h_nHadIso_, h_nTrkSolidConeDR04_, h_phoE_, h_phoERes_, h_phoEt_, h_phoIso_, h_phoSigmaEoE_, h_r1_, h_r2_, h_r9_, h_scEta_, h_scPhi_, h_sigmaIetaIeta_, reco::Photon::hadronicOverEm(), reco::Photon::hadTowOverEm(), reco::Photon::hcalTowerSumEtBcConeDR04(), reco::Photon::hcalTowerSumEtConeDR04(), electronIdCutBased_cfi::hOverE, electrons_cff::matched, pat::Photon::neutralHadronIso(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::phi(), pat::Photon::photonIso(), nano_cff::photons, photonToken_, pi, funct::pow(), diffTwoXMLs::r1, reco::Photon::r1x5(), diffTwoXMLs::r2, reco::Photon::r2x5(), reco::Photon::r9(), electrons_cff::r9, electrons_cff::sieie, reco::Photon::sigmaIetaIeta(), mathSSE::sqrt(), pat::Photon::superCluster(), and reco::Photon::trkSumPtSolidConeDR04().

188 {
189 
190  // ********************************************************************************
191  using namespace edm;
192 
193  // access edm objects
194  Handle<View<pat::Photon> > photonsHandle;
195  iEvent.getByToken( photonToken_, photonsHandle );
196  const auto &photons = *photonsHandle;
197  //
199  iEvent.getByToken( genpartToken_, genParticles );
200 
201 
202 
203  for ( reco::GenParticleCollection::const_iterator mcIter=genParticles->begin() ; mcIter!=genParticles->end() ; mcIter++ ) {
204  if ( !(mcIter->pdgId() == 22 ) ) continue;
205  if ( mcIter->mother() != nullptr && !(mcIter->mother()->pdgId()==25) ) continue;
206  if ( fabs(mcIter->eta()) > 2.5 ) continue;
207  // if ( mcIter->pt() < 5) continue;
208  // if ( fabs(mcIter->eta()) > 1.4442 && fabs(mcIter->eta()) < 1.566) continue;
209 
210 
211  float mcPhi= mcIter->phi();
212  float mcEta= mcIter->eta();
213  //mcEta = etaTransformation(mcEta, (*mcPho).primaryVertex().z() );
214  float mcEnergy=mcIter->energy();
215 
216 
217 
218 
219  double dR = 9999999.;
220  float minDr=10000.;
221  int iMatch=-1;
222  bool matched=false;
223  for( size_t ipho = 0; ipho < photons.size(); ipho++ ) {
224  Ptr<pat::Photon> pho = photons.ptrAt( ipho );
225 
226 
227  double dphi = pho->phi()-mcPhi;
228  if (std::fabs(dphi)>CLHEP::pi)
229  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
230  double deta = pho->superCluster()->position().eta()-mcEta;
231 
232  dR = sqrt(pow((deta),2) + pow(dphi,2));
233  if ( dR<0.1 && dR< minDr ) {
234  minDr=dR;
235  iMatch=ipho;
236  }
237  }
238 
239 
240  if ( iMatch >-1) matched=true;
241  if ( ! matched) continue;
242 
243  Ptr<pat::Photon> matchingPho = photons.ptrAt( iMatch );
244 
245  bool phoIsInBarrel=false;
246  bool phoIsInEndcap=false;
247 
248  float phoEta = matchingPho->superCluster()->position().eta();
249  if ( fabs(phoEta) < 1.479) {
250  phoIsInBarrel=true;
251  } else {
252  phoIsInEndcap=true;
253  }
254 
255 
256 
257  float photonE = matchingPho->energy();
258  float sigmaEoE = matchingPho->getCorrectedEnergyError(matchingPho->getCandidateP4type())/matchingPho->energy();
259  float photonEt= matchingPho->energy()/cosh( matchingPho->eta()) ;
260  // float photonERegr1 = matchingPho->getCorrectedEnergy(reco::Photon::regression1);
261  //float photonERegr2 = matchingPho->getCorrectedEnergy(reco::Photon::regression2);
262  float r9 = matchingPho->r9();
263  float full5x5_r9 = matchingPho->full5x5_r9();
264  float r1 = matchingPho->r1x5();
265  float r2 = matchingPho->r2x5();
266  float sieie = matchingPho->sigmaIetaIeta();
267  float full5x5_sieie = matchingPho->full5x5_sigmaIetaIeta();
268  float hOverE = matchingPho->hadronicOverEm();
269  float newhOverE = matchingPho->hadTowOverEm();
270  float ecalIso = matchingPho->ecalRecHitSumEtConeDR04();
271  float hcalIso = matchingPho->hcalTowerSumEtConeDR04();
272  float newhcalIso = matchingPho->hcalTowerSumEtBcConeDR04();
273  float trkIso = matchingPho->trkSumPtSolidConeDR04();
274  float nIsoTrk = matchingPho->nTrkSolidConeDR04();
275  // PF related quantities
276  float chargedHadIso = matchingPho->chargedHadronIso();
277  float neutralHadIso = matchingPho->neutralHadronIso();
278  float photonIso = matchingPho->photonIso();
279  // float etOutsideMustache = matchingPho->etOutsideMustache();
280  // int nClusterOutsideMustache = matchingPho->nClusterOutsideMustache();
281  //float pfMVA = matchingPho->pfMVA();
282 
283 
284  h_scEta_[0]->Fill( matchingPho->superCluster()->eta() );
285  h_scPhi_[0]->Fill( matchingPho->superCluster()->phi() );
286 
287  h_phoE_[0][0]->Fill( photonE );
288  h_phoEt_[0][0]->Fill( photonEt);
289 
290  h_phoERes_[0][0]->Fill( photonE / mcEnergy );
291  h_phoSigmaEoE_[0][0] -> Fill (sigmaEoE);
292 
293 
294  h_r9_[0][0]->Fill( r9 );
295  h_full5x5_r9_[0][0]->Fill( full5x5_r9 );
296  h_r1_[0][0]->Fill( r1 );
297  h_r2_[0][0]->Fill( r2 );
298 
299  h_sigmaIetaIeta_[0][0]->Fill(sieie);
300  h_full5x5_sigmaIetaIeta_[0][0]->Fill(full5x5_sieie);
301  h_hOverE_[0][0]->Fill( hOverE );
302  h_newhOverE_[0][0]->Fill( newhOverE );
303 
304  h_ecalRecHitSumEtConeDR04_[0][0]->Fill( ecalIso );
305  h_hcalTowerSumEtConeDR04_[0][0]->Fill( hcalIso );
306  h_hcalTowerBcSumEtConeDR04_[0][0]->Fill( newhcalIso );
307  h_isoTrkSolidConeDR04_[0][0]->Fill( trkIso );
308  h_nTrkSolidConeDR04_[0][0]->Fill( nIsoTrk );
309 
310  //
311  h_chHadIso_[0]-> Fill (chargedHadIso);
312  h_nHadIso_[0]-> Fill (neutralHadIso);
313  h_phoIso_[0]-> Fill (photonIso);
314 
315 //
316  if ( phoIsInBarrel ) {
317  h_phoE_[0][1]->Fill( photonE );
318  h_phoEt_[0][1]->Fill( photonEt);
319  h_phoERes_[0][1]->Fill( photonE / mcEnergy );
320  h_phoSigmaEoE_[0][1] -> Fill (sigmaEoE);
321 
322  h_r9_[0][1]->Fill( r9 );
323  h_full5x5_r9_[0][1]->Fill( full5x5_r9 );
324  h_r1_[0][1]->Fill( r1 );
325  h_r2_[0][1]->Fill( r2 );
326  h_sigmaIetaIeta_[0][1]->Fill(sieie);
327  h_full5x5_sigmaIetaIeta_[0][1]->Fill(full5x5_sieie);
328  h_hOverE_[0][1]->Fill( hOverE );
329  h_newhOverE_[0][1]->Fill( newhOverE );
330  h_ecalRecHitSumEtConeDR04_[0][1]->Fill( ecalIso );
331  h_hcalTowerSumEtConeDR04_[0][1]->Fill( hcalIso );
332  h_hcalTowerBcSumEtConeDR04_[0][1]->Fill( newhcalIso );
333  h_isoTrkSolidConeDR04_[0][1]->Fill( trkIso );
334  h_nTrkSolidConeDR04_[0][1]->Fill( nIsoTrk );
335  h_chHadIso_[1]-> Fill (chargedHadIso);
336  h_nHadIso_[1]-> Fill (neutralHadIso);
337  h_phoIso_[1]-> Fill (photonIso);
338 
339  }
340  if ( phoIsInEndcap ) {
341 
342 
343  h_phoE_[0][2]->Fill( photonE );
344  h_phoEt_[0][2]->Fill( photonEt);
345 
346  h_phoERes_[0][2]->Fill( photonE / mcEnergy);
347  h_phoSigmaEoE_[0][2] -> Fill (sigmaEoE);
348  h_r9_[0][2]->Fill( r9 );
349  h_full5x5_r9_[0][2]->Fill( full5x5_r9 );
350  h_r1_[0][2]->Fill( r1 );
351  h_r2_[0][2]->Fill( r2 );
352  h_sigmaIetaIeta_[0][2]->Fill(sieie);
353  h_full5x5_sigmaIetaIeta_[0][2]->Fill(full5x5_sieie);
354  h_hOverE_[0][2]->Fill( hOverE );
355  h_newhOverE_[0][2]->Fill( newhOverE );
356  h_ecalRecHitSumEtConeDR04_[0][2]->Fill( ecalIso );
357  h_hcalTowerSumEtConeDR04_[0][2]->Fill( hcalIso );
358  h_hcalTowerBcSumEtConeDR04_[0][2]->Fill( newhcalIso );
359  h_isoTrkSolidConeDR04_[0][2]->Fill( trkIso );
360  h_nTrkSolidConeDR04_[0][2]->Fill( nIsoTrk );
361  h_chHadIso_[2]-> Fill (chargedHadIso);
362  h_nHadIso_[2]-> Fill (neutralHadIso);
363  h_phoIso_[2]-> Fill (photonIso);
364 
365  }
366 
367 
368  } // end loop over gen photons
369 
370 
371 }
edm::EDGetTokenT< reco::GenParticleCollection > genpartToken_
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
double eta() const final
momentum pseudorapidity
float neutralHadronIso() const
Definition: Photon.h:135
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
MonitorElement * h_full5x5_sigmaIetaIeta_[3][3]
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
MonitorElement * h_r1_[3][3]
MonitorElement * h_full5x5_r9_[3][3]
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
MonitorElement * h_phoSigmaEoE_[3][3]
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
MonitorElement * h_nHadIso_[3]
MonitorElement * h_ecalRecHitSumEtConeDR04_[3][3]
void Fill(long long x)
const Double_t pi
float full5x5_r9() const
Definition: Photon.h:246
MonitorElement * h_sigmaIetaIeta_[3][3]
float chargedHadronIso() const
Definition: Photon.h:132
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:243
MonitorElement * h_chHadIso_[3]
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
MonitorElement * h_newhOverE_[3][3]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:418
MonitorElement * h_isoTrkSolidConeDR04_[3][3]
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * h_phoIso_[3]
float sigmaIetaIeta() const
Definition: Photon.h:231
double energy() const final
energy
MonitorElement * h_nTrkSolidConeDR04_[3][3]
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy ...
Definition: Photon.h:215
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:206
float r1x5() const
Definition: Photon.h:232
float getCorrectedEnergyError(P4type type) const
MonitorElement * h_hOverE_[3][3]
MonitorElement * h_scPhi_[2]
P4type getCandidateP4type() const
Definition: Photon.h:312
MonitorElement * h_phoERes_[3][3]
MonitorElement * h_phoE_[2][3]
MonitorElement * h_r9_[3][3]
int nTrkSolidConeDR04() const
Definition: Photon.h:428
edm::EDGetTokenT< edm::View< pat::Photon > > photonToken_
float r2x5() const
Definition: Photon.h:233
float photonIso() const
Definition: Photon.h:138
MonitorElement * h_phoEt_[2][3]
HLT enums.
float r9() const
Definition: Photon.h:234
MonitorElement * h_hcalTowerSumEtConeDR04_[3][3]
MonitorElement * h_r2_[3][3]
double phi() const final
momentum azimuthal angle
MonitorElement * h_scEta_[2]
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void PhotonValidatorMiniAOD::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 48 of file PhotonValidatorMiniAOD.cc.

References DQMStore::IBooker::book1D(), photonPostprocessing_cfi::eBin, photonPostprocessing_cfi::eMax, photonPostprocessing_cfi::eMin, conversionPostprocessing_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, conversionPostprocessing_cfi::etBin, conversionPostprocessing_cfi::etMax, btagDijet_cfi::etMin, edm::ParameterSet::getParameter(), h_chHadIso_, h_ecalRecHitSumEtConeDR04_, h_full5x5_r9_, h_full5x5_sigmaIetaIeta_, h_hcalTowerBcSumEtConeDR04_, h_hcalTowerSumEtConeDR04_, h_hOverE_, h_isoTrkSolidConeDR04_, h_newhOverE_, h_nHadIso_, h_nTrkSolidConeDR04_, h_phoE_, h_phoERes_, h_phoEt_, h_phoIso_, h_phoSigmaEoE_, h_r1_, h_r2_, h_r9_, h_scEta_, h_scPhi_, h_sigmaIetaIeta_, parameters_, conversionPostprocessing_cfi::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, photonValidator_cfi::r9Bin, photonValidator_cfi::r9Max, photonValidator_cfi::r9Min, photonValidator_cfi::resBin, photonValidator_cfi::resMax, photonValidator_cfi::resMin, DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

48  {
49 
50 
51  double eMin = parameters_.getParameter<double>("eMin");
52  double eMax = parameters_.getParameter<double>("eMax");
53  int eBin = parameters_.getParameter<int>("eBin");
54 
55 
56  double etMin = parameters_.getParameter<double>("etMin");
57  double etMax = parameters_.getParameter<double>("etMax");
58  int etBin = parameters_.getParameter<int>("etBin");
59 
60  double resMin = parameters_.getParameter<double>("resMin");
61  double resMax = parameters_.getParameter<double>("resMax");
62  int resBin = parameters_.getParameter<int>("resBin");
63 
64  double etaMin = parameters_.getParameter<double>("etaMin");
65  double etaMax = parameters_.getParameter<double>("etaMax");
66  int etaBin = parameters_.getParameter<int>("etaBin");
67 
68  double phiMin = parameters_.getParameter<double>("phiMin");
69  double phiMax = parameters_.getParameter<double>("phiMax");
70  int phiBin = parameters_.getParameter<int>("phiBin");
71 
72 
73  double r9Min = parameters_.getParameter<double>("r9Min");
74  double r9Max = parameters_.getParameter<double>("r9Max");
75  int r9Bin = parameters_.getParameter<int>("r9Bin");
76 
77 
78  iBooker.setCurrentFolder("EgammaV/PhotonValidatorMiniAOD/Photons");
79 
80  h_scEta_[0] = iBooker.book1D("scEta_miniAOD"," SC Eta ",etaBin,etaMin, etaMax);
81  h_scPhi_[0] = iBooker.book1D("scPhi_miniAOD"," SC Phi ",phiBin,phiMin,phiMax);
82 
83  std::string histname = " ";
84 
85  histname = "phoE";
86  h_phoE_[0][0]=iBooker.book1D(histname+"All_miniAOD"," Photon Energy: All ecal ", eBin,eMin, eMax);
87  h_phoE_[0][1]=iBooker.book1D(histname+"Barrel_miniAOD"," Photon Energy: barrel ",eBin,eMin, eMax);
88  h_phoE_[0][2]=iBooker.book1D(histname+"Endcap_miniAOD"," Photon Energy: Endcap ",eBin,eMin, eMax);
89 
90  histname = "phoEt";
91  h_phoEt_[0][0] = iBooker.book1D(histname+"All_miniAOD"," Photon Transverse Energy: All ecal ", etBin,etMin, etMax);
92  h_phoEt_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," Photon Transverse Energy: Barrel ",etBin,etMin, etMax);
93  h_phoEt_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," Photon Transverse Energy: Endcap ",etBin,etMin, etMax);
94 
95 
96  histname = "eRes";
97  h_phoERes_[0][0] = iBooker.book1D(histname+"All_miniAOD"," Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin,resMin, resMax);
98  h_phoERes_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","Photon E/E_{true}: Barrel; E/E_{true} (GeV)",resBin,resMin, resMax);
99  h_phoERes_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," Photon E/E_{true}: Endcap; E/E_{true} (GeV)",resBin,resMin, resMax);
100 
101  histname = "sigmaEoE";
102  h_phoSigmaEoE_[0][0] = iBooker.book1D(histname+"All_miniAOD","#sigma_{E}/E: All ecal; #sigma_{E}/E", 100,0., 0.08);
103  h_phoSigmaEoE_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","#sigma_{E}/E: Barrel; #sigma_{E}/E",100,0., 0.08);
104  h_phoSigmaEoE_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","#sigma_{E}/E: Endcap, #sigma_{E}/E",100,0., 0.08);
105 
106 
107  histname = "r9";
108  h_r9_[0][0] = iBooker.book1D(histname+"All_miniAOD", " r9: All Ecal",r9Bin,r9Min, r9Max) ;
109  h_r9_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," r9: Barrel ",r9Bin,r9Min, r9Max) ;
110  h_r9_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," r9: Endcap ",r9Bin,r9Min, r9Max) ;
111  histname = "full5x5_r9";
112  h_full5x5_r9_[0][0] = iBooker.book1D(histname+"All_miniAOD", " r9: All Ecal",r9Bin,r9Min, r9Max) ;
113  h_full5x5_r9_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," r9: Barrel ",r9Bin,r9Min, r9Max) ;
114  h_full5x5_r9_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," r9: Endcap ",r9Bin,r9Min, r9Max) ;
115  histname = "r1";
116  h_r1_[0][0] = iBooker.book1D(histname+"All_miniAOD", " e1x5/e5x5: All Ecal",r9Bin,r9Min, r9Max) ;
117  h_r1_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," e1x5/e5x5: Barrel ",r9Bin,r9Min, r9Max) ;
118  h_r1_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," e1x5/e5x5: Endcap ",r9Bin,r9Min, r9Max) ;
119  histname = "r2";
120  h_r2_[0][0] = iBooker.book1D(histname+"All_miniAOD", " e2x5/e5x5: All Ecal",r9Bin,r9Min, r9Max) ;
121  h_r2_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," e2x5/e5x5: Barrel ",r9Bin,r9Min, r9Max) ;
122  h_r2_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," e2x5/e5x5: Endcap ",r9Bin,r9Min, r9Max) ;
123  histname = "hOverE";
124  h_hOverE_[0][0] = iBooker.book1D(histname+"All_miniAOD", "H/E: All Ecal",100,0., 0.2) ;
125  h_hOverE_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","H/E: Barrel ", 100,0., 0.2) ;
126  h_hOverE_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","H/E: Endcap ", 100,0., 0.2) ;
127  //
128  histname = "newhOverE";
129  h_newhOverE_[0][0] = iBooker.book1D(histname+"All_miniAOD", "new H/E: All Ecal",100,0., 0.2) ;
130  h_newhOverE_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","new H/E: Barrel ", 100,0., 0.2) ;
131  h_newhOverE_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","new H/E: Endcap ", 100,0., 0.2) ;
132  //
133  histname = "sigmaIetaIeta";
134  h_sigmaIetaIeta_[0][0] = iBooker.book1D(histname+"All_miniAOD", "sigmaIetaIeta: All Ecal",100,0., 0.1) ;
135  h_sigmaIetaIeta_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","sigmaIetaIeta: Barrel ", 100,0., 0.05) ;
136  h_sigmaIetaIeta_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","sigmaIetaIeta: Endcap ", 100,0., 0.1) ;
137  histname = "full5x5_sigmaIetaIeta";
138  h_full5x5_sigmaIetaIeta_[0][0] = iBooker.book1D(histname+"All_miniAOD", "Full5x5 sigmaIetaIeta: All Ecal",100,0., 0.1) ;
139  h_full5x5_sigmaIetaIeta_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","Full5x5 sigmaIetaIeta: Barrel ", 100,0., 0.05) ;
140  h_full5x5_sigmaIetaIeta_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","Full5x5 sigmaIetaIeta: Endcap ", 100,0., 0.1) ;
141  //
142  histname = "ecalRecHitSumEtConeDR04";
143  h_ecalRecHitSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "ecalRecHitSumEtDR04: All Ecal",etBin,etMin,20.);
144  h_ecalRecHitSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","ecalRecHitSumEtDR04: Barrel ", etBin,etMin,20.);
145  h_ecalRecHitSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","ecalRecHitSumEtDR04: Endcap ", etBin,etMin,20.);
146  histname = "hcalTowerSumEtConeDR04";
147  h_hcalTowerSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "hcalTowerSumEtConeDR04: All Ecal",etBin,etMin,20.);
148  h_hcalTowerSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","hcalTowerSumEtConeDR04: Barrel ", etBin,etMin,20.);
149  h_hcalTowerSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","hcalTowerSumEtConeDR04: Endcap ", etBin,etMin,20.);
150  //
151  histname = "hcalTowerBcSumEtConeDR04";
152  h_hcalTowerBcSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "hcalTowerBcSumEtConeDR04: All Ecal",etBin,etMin,20.);
153  h_hcalTowerBcSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","hcalTowerBcSumEtConeDR04: Barrel ", etBin,etMin,20.);
154  h_hcalTowerBcSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","hcalTowerBcSumEtConeDR04: Endcap ", etBin,etMin,20.);
155  histname = "isoTrkSolidConeDR04";
156  h_isoTrkSolidConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "isoTrkSolidConeDR04: All Ecal",etBin,etMin,etMax*0.1);
157  h_isoTrkSolidConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","isoTrkSolidConeDR04: Barrel ", etBin,etMin,etMax*0.1);
158  h_isoTrkSolidConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","isoTrkSolidConeDR04: Endcap ", etBin,etMin,etMax*0.1);
159  histname = "nTrkSolidConeDR04";
160  h_nTrkSolidConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "nTrkSolidConeDR04: All Ecal",20,0., 20) ;
161  h_nTrkSolidConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","nTrkSolidConeDR04: Barrel ", 20,0., 20) ;
162  h_nTrkSolidConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","nTrkSolidConeDR04: Endcap ", 20,0., 20) ;
163 
164 
165  // Infos from Particle Flow - isolation and ID
166  histname = "chargedHadIso";
167  h_chHadIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF chargedHadIso: All Ecal",etBin,etMin,20.);
168  h_chHadIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF chargedHadIso: Barrel",etBin,etMin,20.);
169  h_chHadIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF chargedHadIso: Endcap",etBin,etMin,20.);
170  histname = "neutralHadIso";
171  h_nHadIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF neutralHadIso: All Ecal",etBin,etMin,20.);
172  h_nHadIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF neutralHadIso: Barrel",etBin,etMin,20.);
173  h_nHadIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF neutralHadIso: Endcap",etBin,etMin,20.);
174  histname = "photonIso";
175  h_phoIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF photonIso: All Ecal",etBin,etMin,20.);
176  h_phoIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF photonIso: Barrel",etBin,etMin,20.);
177  h_phoIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF photonIso: Endcap",etBin,etMin,20.);
178 
179 
180 
181 }
T getParameter(std::string const &) const
MonitorElement * h_full5x5_sigmaIetaIeta_[3][3]
MonitorElement * h_r1_[3][3]
MonitorElement * h_full5x5_r9_[3][3]
MonitorElement * h_phoSigmaEoE_[3][3]
MonitorElement * h_nHadIso_[3]
MonitorElement * h_ecalRecHitSumEtConeDR04_[3][3]
MonitorElement * h_sigmaIetaIeta_[3][3]
MonitorElement * h_chHadIso_[3]
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
MonitorElement * h_newhOverE_[3][3]
MonitorElement * h_isoTrkSolidConeDR04_[3][3]
MonitorElement * h_phoIso_[3]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * h_nTrkSolidConeDR04_[3][3]
MonitorElement * h_hOverE_[3][3]
MonitorElement * h_scPhi_[2]
MonitorElement * h_phoERes_[3][3]
MonitorElement * h_phoE_[2][3]
MonitorElement * h_r9_[3][3]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * h_phoEt_[2][3]
MonitorElement * h_hcalTowerSumEtConeDR04_[3][3]
MonitorElement * h_r2_[3][3]
MonitorElement * h_scEta_[2]
void PhotonValidatorMiniAOD::dqmBeginRun ( edm::Run const &  r,
edm::EventSetup const &  theEventSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 374 of file PhotonValidatorMiniAOD.cc.

374 {}
void PhotonValidatorMiniAOD::endRun ( edm::Run const &  r,
edm::EventSetup const &  es 
)
override

Definition at line 183 of file PhotonValidatorMiniAOD.cc.

183 {}

Member Data Documentation

std::string PhotonValidatorMiniAOD::fName_
private

Definition at line 72 of file PhotonValidatorMiniAOD.h.

edm::EDGetTokenT<reco::GenParticleCollection> PhotonValidatorMiniAOD::genpartToken_
private

Definition at line 69 of file PhotonValidatorMiniAOD.h.

Referenced by analyze().

MonitorElement* PhotonValidatorMiniAOD::h_chHadIso_[3]
private

Definition at line 102 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_ecalRecHitSumEtConeDR04_[3][3]
private

Definition at line 89 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_full5x5_r9_[3][3]
private

Definition at line 82 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_full5x5_sigmaIetaIeta_[3][3]
private

Definition at line 84 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_hcalTowerBcSumEtConeDR04_[3][3]
private

Definition at line 91 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_hcalTowerSumEtConeDR04_[3][3]
private

Definition at line 90 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_hOverE_[3][3]
private

Definition at line 87 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_isoTrkSolidConeDR04_[3][3]
private

Definition at line 92 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_newhOverE_[3][3]
private

Definition at line 88 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_nHadIso_[3]
private

Definition at line 103 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_nTrkSolidConeDR04_[3][3]
private

Definition at line 93 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_phoE_[2][3]
private

Definition at line 95 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_phoERes_[3][3]
private

Definition at line 97 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_phoEt_[2][3]
private

Definition at line 96 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_phoIso_[3]
private

Definition at line 104 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_phoSigmaEoE_[3][3]
private

Definition at line 98 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_r1_[3][3]
private

Definition at line 85 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_r2_[3][3]
private

Definition at line 86 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_r9_[3][3]
private

Definition at line 81 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_scEta_[2]
private

Definition at line 78 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_scPhi_[2]
private

Definition at line 79 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* PhotonValidatorMiniAOD::h_sigmaIetaIeta_[3][3]
private

Definition at line 83 of file PhotonValidatorMiniAOD.h.

Referenced by analyze(), and bookHistograms().

std::string PhotonValidatorMiniAOD::outputFileName_
private

Definition at line 67 of file PhotonValidatorMiniAOD.h.

edm::ParameterSet PhotonValidatorMiniAOD::parameters_
private
edm::EDGetTokenT<edm::View<pat::Photon> > PhotonValidatorMiniAOD::photonToken_
private

Definition at line 68 of file PhotonValidatorMiniAOD.h.

Referenced by analyze().

int PhotonValidatorMiniAOD::verbosity_
private

Definition at line 76 of file PhotonValidatorMiniAOD.h.