CMS 3D CMS Logo

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

#include <PhotonValidator.h>

Inheritance diagram for PhotonValidator:
DQMOneEDAnalyzer<> edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > 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 dqmEndRun (edm::Run const &r, edm::EventSetup const &es) override
 
 PhotonValidator (const edm::ParameterSet &)
 
 ~PhotonValidator () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer<>
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

float etaTransformation (float a, float b)
 
float phiNormalization (float &a)
 

Private Attributes

edm::EDGetTokenT< EcalRecHitCollectionbarrelEcalHits_
 
edm::InputTag bcBarrelCollection_
 
edm::InputTag bcEndcapCollection_
 
double bcEtLow_
 
edm::EDGetTokenT< edm::View< reco::Track > > conversionIOTrackPr_Token_
 
edm::InputTag conversionIOTrackProducer_
 
edm::EDGetTokenT< edm::View< reco::Track > > conversionOITrackPr_Token_
 
edm::InputTag conversionOITrackProducer_
 
double convTrackMinPtCut_
 
bool dCotCutOn_
 
double dCotCutValue_
 
double dCotHardCutValue_
 
double ecalEtSumCut_
 
double ecalIsolRadius_
 
edm::EDGetTokenT< EcalRecHitCollectionendcapEcalHits_
 
edm::EDGetTokenT< edm::SimTrackContainerfamos_simTk_Token_
 
edm::EDGetTokenT< edm::SimVertexContainerfamos_simVtx_Token_
 
bool fastSim_
 
std::string fName_
 
edm::EDGetTokenT< edm::SimTrackContainerg4_simTk_Token_
 
edm::EDGetTokenT< edm::SimVertexContainerg4_simVtx_Token_
 
edm::EDGetTokenT< reco::GenJetCollectiongenjets_Token_
 
edm::EDGetTokenT< reco::GenParticleCollectiongenpartToken_
 
MonitorElementh2_Chi2VsEta_ [3]
 
MonitorElementh2_Chi2VsR_ [3]
 
MonitorElementh2_convVtxdRVsEta_
 
MonitorElementh2_convVtxdRVsR_
 
MonitorElementh2_convVtxRrecVsTrue_
 
MonitorElementh2_DCotTracksVsEta_
 
MonitorElementh2_DCotTracksVsR_
 
MonitorElementh2_DPhiTracksAtEcalVsEta_
 
MonitorElementh2_DPhiTracksAtEcalVsR_
 
MonitorElementh2_DPhiTracksAtVtxVsEta_
 
MonitorElementh2_DPhiTracksAtVtxVsR_
 
MonitorElementh2_dzPVVsR_
 
MonitorElementh2_ecalRecHitSumEtConeDR04VsEt_ [3]
 
MonitorElementh2_ecalRecHitSumEtConeDR04VsEta_ [3]
 
MonitorElementh2_ecalRecHitSumEtConeDR04VsEtaBkg_
 
MonitorElementh2_ecalRecHitSumEtConeDR04VsEtBkg_ [3]
 
MonitorElementh2_EoverEtrueVsEoverP_ [3]
 
MonitorElementh2_EoverEtrueVsEta_ [3]
 
MonitorElementh2_EoverEtrueVsR_ [3]
 
MonitorElementh2_EoverPVsEta_ [3]
 
MonitorElementh2_EoverPVsR_ [3]
 
MonitorElementh2_eResVsEt_ [3][3]
 
MonitorElementh2_eResVsEta_ [3]
 
MonitorElementh2_eResVsR9_ [3]
 
MonitorElementh2_etaVsRreco_ [3]
 
MonitorElementh2_etaVsRsim_ [3]
 
MonitorElementh2_hcalTowerSumEtConeDR04VsEt_ [3]
 
MonitorElementh2_hcalTowerSumEtConeDR04VsEta_ [3]
 
MonitorElementh2_hcalTowerSumEtConeDR04VsEtaBkg_
 
MonitorElementh2_hcalTowerSumEtConeDR04VsEtBkg_ [3]
 
MonitorElementh2_hOverEVsEt_ [3]
 
MonitorElementh2_hOverEVsEta_ [3]
 
MonitorElementh2_hOverEVsEtaBkg_
 
MonitorElementh2_hOverEVsEtBkg_
 
MonitorElementh2_isoTrkSolidConeDR04VsEt_ [3]
 
MonitorElementh2_isoTrkSolidConeDR04VsEta_ [3]
 
MonitorElementh2_isoTrkSolidConeDR04VsEtaBkg_
 
MonitorElementh2_isoTrkSolidConeDR04VsEtBkg_ [3]
 
MonitorElementh2_nTrkSolidConeDR04VsEt_ [3]
 
MonitorElementh2_nTrkSolidConeDR04VsEta_ [3]
 
MonitorElementh2_nTrkSolidConeDR04VsEtaBkg_
 
MonitorElementh2_nTrkSolidConeDR04VsEtBkg_ [3]
 
MonitorElementh2_PoverPtrueVsEoverP_ [3]
 
MonitorElementh2_PoverPtrueVsEta_ [3]
 
MonitorElementh2_PtRecVsPtSim_ [3]
 
MonitorElementh2_PtRecVsPtSimMixProv_
 
MonitorElementh2_r1VsEt_ [3]
 
MonitorElementh2_r1VsEta_ [3]
 
MonitorElementh2_r1VsEtaBkg_
 
MonitorElementh2_r1VsEtBkg_
 
MonitorElementh2_r2VsEt_ [3]
 
MonitorElementh2_r2VsEta_ [3]
 
MonitorElementh2_r2VsEtaBkg_
 
MonitorElementh2_r2VsEtBkg_
 
MonitorElementh2_r9VsEt_ [3]
 
MonitorElementh2_r9VsEtaBkg_
 
MonitorElementh2_r9VsEtBkg_
 
MonitorElementh2_sceResVsR9_ [3]
 
MonitorElementh2_sigmaIetaIetaVsEt_ [3]
 
MonitorElementh2_sigmaIetaIetaVsEta_ [3]
 
MonitorElementh2_sigmaIetaIetaVsEtaBkg_
 
MonitorElementh2_sigmaIetaIetaVsEtBkg_ [3]
 
MonitorElementh2_TkPtPull_ [3]
 
MonitorElementh_AllSimConv_ [5]
 
MonitorElementh_chHadIso_ [3]
 
MonitorElementh_chHadIso_miniAOD_ [3]
 
MonitorElementh_convAlgo_
 
MonitorElementh_convERes_ [2][3]
 
MonitorElementh_convEta_ [3]
 
MonitorElementh_convEtaBkg_
 
MonitorElementh_convPhi_ [2]
 
MonitorElementh_convPhiBkg_
 
MonitorElementh_convPtRes_ [2][3]
 
MonitorElementh_convQuality_
 
MonitorElementh_convSLVtxRvsZ_ [3]
 
MonitorElementh_convVtxdEta_
 
MonitorElementh_convVtxdPhi_
 
MonitorElementh_convVtxdR_
 
MonitorElementh_convVtxdR_barrel_
 
MonitorElementh_convVtxdR_endcap_
 
MonitorElementh_convVtxdX_
 
MonitorElementh_convVtxdX_barrel_
 
MonitorElementh_convVtxdX_endcap_
 
MonitorElementh_convVtxdY_
 
MonitorElementh_convVtxdY_barrel_
 
MonitorElementh_convVtxdY_endcap_
 
MonitorElementh_convVtxdZ_
 
MonitorElementh_convVtxdZ_barrel_
 
MonitorElementh_convVtxdZ_endcap_
 
MonitorElementh_convVtxRvsZ_ [3]
 
MonitorElementh_convVtxRvsZ_zoom_ [2]
 
MonitorElementh_convVtxRvsZBkg_ [2]
 
MonitorElementh_convVtxYvsX_
 
MonitorElementh_convVtxYvsX_zoom_ [2]
 
MonitorElementh_convVtxYvsXBkg_
 
MonitorElementh_DCotTracks_ [2][3]
 
MonitorElementh_DCotTracksBkg_ [3]
 
MonitorElementh_DEtaTracksAtEcal_ [2][3]
 
MonitorElementh_distMinAppTracks_ [2][3]
 
MonitorElementh_DPhiTracksAtEcal_ [2][3]
 
MonitorElementh_DPhiTracksAtVtx_ [2][3]
 
MonitorElementh_DPhiTracksAtVtxBkg_ [3]
 
MonitorElementh_dRPhoPFcand_ChHad_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_ChHad_unCleaned_ [3]
 
MonitorElementh_dRPhoPFcand_NeuHad_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_NeuHad_unCleaned_ [3]
 
MonitorElementh_dRPhoPFcand_Pho_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_Pho_unCleaned_ [3]
 
MonitorElementh_dzPVFromTracks_ [5]
 
MonitorElementh_ecalRecHitSumEtConeDR04_ [3][3]
 
MonitorElementh_ecalRecHitSumEtConeDR04_miniAOD_ [3][3]
 
MonitorElementh_ecalRecHitSumEtConeDR04Bkg_ [3]
 
MonitorElementh_EoverP_SL_ [3]
 
MonitorElementh_EoverPTracks_ [2][3]
 
MonitorElementh_EoverPTracksBkg_ [3]
 
MonitorElementh_etOutsideMustache_ [3]
 
MonitorElementh_EtR9Less093_ [3][3]
 
MonitorElementh_full5x5_r9_miniAOD_ [3][3]
 
MonitorElementh_full5x5_sigmaIetaIeta_miniAOD_ [3][3]
 
MonitorElementh_gamgamMass_ [3][3]
 
MonitorElementh_gamgamMassRegr1_ [3][3]
 
MonitorElementh_gamgamMassRegr2_ [3][3]
 
MonitorElementh_hcalTowerBcSumEtConeDR04_ [3][3]
 
MonitorElementh_hcalTowerBcSumEtConeDR04_miniAOD_ [3][3]
 
MonitorElementh_hcalTowerSumEtConeDR04_ [3][3]
 
MonitorElementh_hcalTowerSumEtConeDR04_miniAOD_ [3][3]
 
MonitorElementh_hcalTowerSumEtConeDR04Bkg_ [3]
 
MonitorElementh_hOverE_ [3][3]
 
MonitorElementh_hOverE_miniAOD_ [3][3]
 
MonitorElementh_hOverEBkg_ [3]
 
MonitorElementh_invMass_ [2][3]
 
MonitorElementh_IOinnermostHitR_
 
MonitorElementh_isoTrkSolidConeDR04_ [3][3]
 
MonitorElementh_isoTrkSolidConeDR04_miniAOD_ [3][3]
 
MonitorElementh_isoTrkSolidConeDR04Bkg_ [3]
 
MonitorElementh_MatchedSimJet_ [3]
 
MonitorElementh_MatchedSimJetBadCh_ [3]
 
MonitorElementh_MatchedSimPho_ [3]
 Numerator for efficiencies. More...
 
MonitorElementh_MatchedSimPhoBadCh_ [3]
 
MonitorElementh_mvaOut_ [3]
 
MonitorElementh_mvaOutBkg_ [3]
 
MonitorElementh_nCluOutsideMustache_ [3]
 
MonitorElementh_nConv_ [2][3]
 info per conversion More...
 
MonitorElementh_newhOverE_ [3][3]
 
MonitorElementh_newhOverE_miniAOD_ [3][3]
 
MonitorElementh_nHadIso_ [3]
 
MonitorElementh_nHadIso_miniAOD_ [3]
 
MonitorElementh_nPho_
 
MonitorElementh_nRecoVtx_
 
MonitorElementh_nSimConv_ [2]
 
MonitorElementh_nSimPho_ [2]
 
MonitorElementh_nTrkSolidConeDR04_ [3][3]
 
MonitorElementh_nTrkSolidConeDR04_miniAOD_ [3][3]
 
MonitorElementh_nTrkSolidConeDR04Bkg_ [3]
 
MonitorElementh_OIinnermostHitR_
 
MonitorElementh_pfMva_ [3]
 
MonitorElementh_phoBkgDEta_
 
MonitorElementh_phoBkgDPhi_
 
MonitorElementh_phoBkgE_ [3]
 
MonitorElementh_phoBkgEt_ [3]
 
MonitorElementh_phoBkgEta_
 
MonitorElementh_phoBkgPhi_
 
MonitorElementh_phoDEta_ [2]
 
MonitorElementh_phoDPhi_ [2]
 
MonitorElementh_phoE_ [2][3]
 
MonitorElementh_phoE_miniAOD_ [2][3]
 
MonitorElementh_phoERes_ [3][3]
 
MonitorElementh_phoERes_miniAOD_ [3][3]
 
MonitorElementh_phoEResRegr1_ [3][3]
 
MonitorElementh_phoEResRegr2_ [3][3]
 
MonitorElementh_phoEt_ [2][3]
 
MonitorElementh_phoEt_miniAOD_ [2][3]
 
MonitorElementh_phoEta_ [2]
 
MonitorElementh_phoIso_ [3]
 
MonitorElementh_phoIso_miniAOD_ [3]
 
MonitorElementh_phoPhi_ [2]
 
MonitorElementh_phoPixSeedSize_ [2]
 
MonitorElementh_phoSigmaEoE_ [3][3]
 
MonitorElementh_phoSigmaEoE_miniAOD_ [3][3]
 
MonitorElementh_PoverETracks_ [2][3]
 
MonitorElementh_PoverETracksBkg_ [3]
 
MonitorElementh_psE_
 
MonitorElementh_r1_ [3][3]
 
MonitorElementh_r1_miniAOD_ [3][3]
 
MonitorElementh_r1Bkg_ [3]
 
MonitorElementh_r2_ [3][3]
 
MonitorElementh_r2_miniAOD_ [3][3]
 
MonitorElementh_r2Bkg_ [3]
 
MonitorElementh_r9_ [3][3]
 
MonitorElementh_r9_miniAOD_ [3][3]
 
MonitorElementh_r9Bkg_ [3]
 
MonitorElementh_r9VsNofTracks_ [2][3]
 
MonitorElementh_RecoConvTwoMTracks_ [5]
 
MonitorElementh_RecoConvTwoTracks_ [5]
 
MonitorElementh_scBkgE_ [3]
 
MonitorElementh_scBkgEt_ [3]
 
MonitorElementh_scBkgEta_
 
MonitorElementh_scBkgPhi_
 
MonitorElementh_scE_ [2][3]
 
MonitorElementh_scEt_ [2][3]
 
MonitorElementh_scEta_ [2]
 
MonitorElementh_scEta_miniAOD_ [2]
 Histos for comparison with miniAOD content. More...
 
MonitorElementh_scEtaPhi_ [2]
 
MonitorElementh_scEtaWidth_ [2]
 
MonitorElementh_scPhi_ [2]
 
MonitorElementh_scPhi_miniAOD_ [2]
 
MonitorElementh_scPhiWidth_ [2]
 
MonitorElementh_sigmaIetaIeta_ [3][3]
 
MonitorElementh_sigmaIetaIeta_miniAOD_ [3][3]
 
MonitorElementh_sigmaIetaIetaBkg_ [3]
 
MonitorElementh_SimConvEtaPix_ [2]
 
MonitorElementh_SimConvMTotal_ [5]
 
MonitorElementh_SimConvOneMTracks_ [5]
 
MonitorElementh_SimConvOneTracks_ [5]
 
MonitorElementh_SimConvTwoMTracks_ [5]
 
MonitorElementh_SimConvTwoMTracksAndVtxPGT0005_ [5]
 
MonitorElementh_SimConvTwoMTracksAndVtxPGT01_ [5]
 
MonitorElementh_SimConvTwoMTracksAndVtxPGT0_ [5]
 
MonitorElementh_SimConvTwoTracks_ [5]
 
MonitorElementh_simConvVtxRvsZ_ [4]
 
MonitorElementh_simConvVtxYvsX_
 
MonitorElementh_SimJet_ [3]
 
MonitorElementh_SimPho_ [3]
 Denominator for efficiencies. More...
 
MonitorElementh_SimPhoEtaSmallR9_
 
MonitorElementh_SimPhoMotherEt_ [2]
 
MonitorElementh_SimPhoMotherEta_ [2]
 
MonitorElementh_SimPhoMotherType_ [2]
 
MonitorElementh_simTkEta_
 
MonitorElementh_simTkPt_
 
MonitorElementh_SumPtOverPhoPt_ChHad_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_ChHad_unCleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_NeuHad_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_NeuHad_unCleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_Pho_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_Pho_unCleaned_ [3]
 
MonitorElementh_tkChi2_ [2]
 
MonitorElementh_tkChi2Bkg_
 
MonitorElementh_tkChi2Large_ [2]
 
MonitorElementh_tkChi2SL_ [2]
 
MonitorElementh_TkD0_ [3]
 
MonitorElementh_TkPtPull_ [3]
 
MonitorElementh_trkAlgo_
 
MonitorElementh_trkProv_ [2]
 
MonitorElementh_VisSimConv_ [6]
 
MonitorElementh_VisSimConvLarge_
 
MonitorElementh_vtxChi2_ [3]
 
MonitorElementh_vtxChi2Prob_ [3]
 
MonitorElementh_zPVFromTracks_ [5]
 
MonitorElementhBCEnergyOverTrackPout_ [3]
 
double hcalEtSumCut_
 
double hcalHitEtLow_
 
double hcalIsolExtRadius_
 
double hcalIsolInnRadius_
 
edm::EDGetTokenT< edm::HepMCProducthepMC_Token_
 
bool isRunCentrally_
 
double likelihoodCut_
 
double lip_
 
double mcConvEta_
 
double mcConvPhi_
 
double mcConvR_
 
double mcConvX_
 
double mcConvY_
 
double mcConvZ_
 
double mcEta_
 
double mcJetEta_
 
double mcJetPhi_
 
double mcPhi_
 global variable for the MC photon More...
 
double minPhoEtCut_
 
int nEntry_
 
int nEvt_
 
MonitorElementnHitsVsEta_ [2]
 
MonitorElementnHitsVsEtaBkg_
 
MonitorElementnHitsVsR_ [2]
 
int nInvalidPCA_
 
int nMatched_
 
int nRecConv_
 
int nRecConvAss_
 
int nRecConvAssWithEcal_
 
int nSimConv_ [2]
 
int nSimPho_ [2]
 
int numOfTracksInCone_
 
edm::EDGetTokenT< reco::VertexCollectionoffline_pvToken_
 
MonitorElementp_Chi2VsEta_ [3]
 
MonitorElementp_Chi2VsR_ [3]
 
MonitorElementp_convVtxdRVsEta_
 
MonitorElementp_convVtxdRVsR_
 
MonitorElementp_convVtxdXVsX_
 
MonitorElementp_convVtxdYVsY_
 
MonitorElementp_convVtxdZVsZ_
 
MonitorElementp_DCotTracksVsEta_
 
MonitorElementp_DCotTracksVsR_
 
MonitorElementp_DPhiTracksAtEcalVsEta_
 
MonitorElementp_DPhiTracksAtEcalVsR_
 
MonitorElementp_DPhiTracksAtVtxVsEta_
 
MonitorElementp_DPhiTracksAtVtxVsR_
 
MonitorElementp_dzPVVsEta_
 
MonitorElementp_dzPVVsR_
 
MonitorElementp_ecalRecHitSumEtConeDR04VsEt_ [3]
 
MonitorElementp_ecalRecHitSumEtConeDR04VsEta_ [3]
 
MonitorElementp_ecalRecHitSumEtConeDR04VsEtaBkg_
 
MonitorElementp_ecalRecHitSumEtConeDR04VsEtBkg_ [3]
 
MonitorElementp_EoverEtrueVsEta_ [3]
 
MonitorElementp_EoverEtrueVsR_ [3]
 
MonitorElementp_EoverPVsEta_ [3]
 
MonitorElementp_EoverPVsR_ [3]
 
MonitorElementp_eResVsEt_ [3][3]
 
MonitorElementp_eResVsEta_ [3]
 
MonitorElementp_eResVsNVtx_ [3][3]
 
MonitorElementp_eResVsR9_ [3]
 
MonitorElementp_eResVsR_
 
MonitorElementp_hcalTowerBcSumEtConeDR04VsEt_ [3]
 
MonitorElementp_hcalTowerBcSumEtConeDR04VsEta_ [3]
 
MonitorElementp_hcalTowerSumEtConeDR04VsEt_ [3]
 
MonitorElementp_hcalTowerSumEtConeDR04VsEta_ [3]
 
MonitorElementp_hcalTowerSumEtConeDR04VsEtaBkg_
 
MonitorElementp_hcalTowerSumEtConeDR04VsEtBkg_ [3]
 
MonitorElementp_hOverEVsEt_ [3]
 
MonitorElementp_hOverEVsEta_ [3]
 
MonitorElementp_hOverEVsEtaBkg_
 
MonitorElementp_hOverEVsEtBkg_
 
MonitorElementp_isoTrkSolidConeDR04VsEt_ [3]
 
MonitorElementp_isoTrkSolidConeDR04VsEta_ [3]
 
MonitorElementp_isoTrkSolidConeDR04VsEtaBkg_
 
MonitorElementp_isoTrkSolidConeDR04VsEtBkg_ [3]
 
MonitorElementp_newhOverEVsEt_ [3]
 
MonitorElementp_newhOverEVsEta_ [3]
 
MonitorElementp_nHitsVsEta_ [2]
 
MonitorElementp_nHitsVsEtaSL_ [2]
 
MonitorElementp_nHitsVsR_ [2]
 
MonitorElementp_nHitsVsRSL_ [2]
 
MonitorElementp_nTrkSolidConeDR04VsEt_ [3]
 
MonitorElementp_nTrkSolidConeDR04VsEta_ [3]
 
MonitorElementp_nTrkSolidConeDR04VsEtaBkg_
 
MonitorElementp_nTrkSolidConeDR04VsEtBkg_ [3]
 
MonitorElementp_PoverPtrueVsEta_ [3]
 
MonitorElementp_r1VsEt_ [3]
 
MonitorElementp_r1VsEta_ [3]
 
MonitorElementp_r1VsEtaBkg_
 
MonitorElementp_r1VsEtBkg_
 
MonitorElementp_r2VsEt_ [3]
 
MonitorElementp_r2VsEta_ [3]
 
MonitorElementp_r2VsEtaBkg_
 
MonitorElementp_r2VsEtBkg_
 
MonitorElementp_r9VsEt_ [3]
 
MonitorElementp_r9VsEta_ [3]
 
MonitorElementp_sceResVsR9_ [3]
 
MonitorElementp_sigmaEoEVsEt_ [3][3]
 
MonitorElementp_sigmaEoEVsEta_ [3]
 
MonitorElementp_sigmaEoEVsNVtx_ [3][3]
 
MonitorElementp_sigmaIetaIetaVsEt_ [3]
 
MonitorElementp_sigmaIetaIetaVsEta_ [3]
 
MonitorElementp_sigmaIetaIetaVsEtaBkg_
 
MonitorElementp_sigmaIetaIetaVsEtBkg_ [3]
 
MonitorElementp_TkPtPull_ [3]
 
edm::ParameterSet parameters_
 
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > particleBasedIso_token
 
edm::EDGetTokenT< reco::PFCandidateCollectionpfCandidates_
 
std::string photonCollection_
 
std::string photonCollectionProducer_
 
edm::EDGetTokenT< reco::PhotonCollectionphotonCollectionToken_
 
double recMaxPt_
 
double recMinPt_
 Global variables for reco Photon. More...
 
double simMaxPt_
 
double simMinPt_
 
TH1F * th1f_SimConvMTotal_ [5]
 
edm::ESHandle< CaloGeometrytheCaloGeom_
 
edm::ESHandle< CaloTopologytheCaloTopo_
 
edm::RefVector< TrackingParticleCollectiontheConvTP_
 
edm::ESHandle< MagneticFieldtheMF_
 
std::unique_ptr< PhotonMCTruthFinderthePhotonMCTruthFinder_
 
edm::EDGetTokenT< TrackingParticleCollectiontoken_tp_
 
double trkIsolExtRadius_
 
double trkIsolInnRadius_
 
double trkPtLow_
 
double trkPtSumCut_
 
std::string valueMapPhoPFCandIso_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer<>
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

$Id: PhotonValidator

Author
Nancy Marinelli, U. of Notre Dame, US

Definition at line 57 of file PhotonValidator.h.

Constructor & Destructor Documentation

◆ PhotonValidator()

PhotonValidator::PhotonValidator ( const edm::ParameterSet pset)
explicit

Definition at line 86 of file PhotonValidator.cc.

88 {
89  fName_ = pset.getParameter<std::string>("analyzerName");
90  verbosity_ = pset.getUntrackedParameter<int>("Verbosity");
91  parameters_ = pset;
92  fastSim_ = pset.getParameter<bool>("fastSim");
93  isRunCentrally_ = pset.getParameter<bool>("isRunCentrally");
94 
95  photonCollectionProducer_ = pset.getParameter<std::string>("phoProducer");
96  photonCollection_ = pset.getParameter<std::string>("photonCollection");
98  consumes<reco::PhotonCollection>(edm::InputTag(photonCollectionProducer_, photonCollection_));
99 
100  token_tp_ = consumes<TrackingParticleCollection>(pset.getParameter<edm::InputTag>("label_tp"));
101 
102  barrelEcalHits_ = consumes<EcalRecHitCollection>(pset.getParameter<edm::InputTag>("barrelEcalHits"));
103  endcapEcalHits_ = consumes<EcalRecHitCollection>(pset.getParameter<edm::InputTag>("endcapEcalHits"));
104 
105  conversionOITrackProducer_ = pset.getParameter<std::string>("conversionOITrackProducer");
106  conversionIOTrackProducer_ = pset.getParameter<std::string>("conversionIOTrackProducer");
107  conversionOITrackPr_Token_ = consumes<edm::View<reco::Track> >(edm::InputTag(conversionOITrackProducer_));
108  conversionIOTrackPr_Token_ = consumes<edm::View<reco::Track> >(edm::InputTag(conversionIOTrackProducer_));
109 
110  pfCandidates_ = consumes<reco::PFCandidateCollection>(pset.getParameter<edm::InputTag>("pfCandidates"));
111  valueMapPhoPFCandIso_ = pset.getParameter<std::string>("valueMapPhoToParticleBasedIso");
113  consumes<edm::ValueMap<std::vector<reco::PFCandidateRef> > >(pset.getUntrackedParameter<edm::InputTag>(
114  "particleBasedIso", edm::InputTag("particleBasedIsolation", valueMapPhoPFCandIso_)));
115 
116  minPhoEtCut_ = pset.getParameter<double>("minPhoEtCut");
117  convTrackMinPtCut_ = pset.getParameter<double>("convTrackMinPtCut");
118  likelihoodCut_ = pset.getParameter<double>("likelihoodCut");
119 
120  trkIsolExtRadius_ = pset.getParameter<double>("trkIsolExtR");
121  trkIsolInnRadius_ = pset.getParameter<double>("trkIsolInnR");
122  trkPtLow_ = pset.getParameter<double>("minTrackPtCut");
123  lip_ = pset.getParameter<double>("lipCut");
124  ecalIsolRadius_ = pset.getParameter<double>("ecalIsolR");
125  bcEtLow_ = pset.getParameter<double>("minBcEtCut");
126  hcalIsolExtRadius_ = pset.getParameter<double>("hcalIsolExtR");
127  hcalIsolInnRadius_ = pset.getParameter<double>("hcalIsolInnR");
128  hcalHitEtLow_ = pset.getParameter<double>("minHcalHitEtCut");
129 
130  numOfTracksInCone_ = pset.getParameter<int>("maxNumOfTracksInCone");
131  trkPtSumCut_ = pset.getParameter<double>("trkPtSumCut");
132  ecalEtSumCut_ = pset.getParameter<double>("ecalEtSumCut");
133  hcalEtSumCut_ = pset.getParameter<double>("hcalEtSumCut");
134  dCotCutOn_ = pset.getParameter<bool>("dCotCutOn");
135  dCotCutValue_ = pset.getParameter<double>("dCotCutValue");
136  dCotHardCutValue_ = pset.getParameter<double>("dCotHardCutValue");
137 
138  offline_pvToken_ = consumes<reco::VertexCollection>(
139  pset.getUntrackedParameter<edm::InputTag>("offlinePV", edm::InputTag("offlinePrimaryVertices")));
140  g4_simTk_Token_ = consumes<edm::SimTrackContainer>(edm::InputTag("g4SimHits"));
141  g4_simVtx_Token_ = consumes<edm::SimVertexContainer>(edm::InputTag("g4SimHits"));
142  famos_simTk_Token_ = consumes<edm::SimTrackContainer>(edm::InputTag("fastSimProducer"));
143  famos_simVtx_Token_ = consumes<edm::SimVertexContainer>(edm::InputTag("fastSimProducer"));
144  hepMC_Token_ = consumes<edm::HepMCProduct>(edm::InputTag("generatorSmeared"));
145  genjets_Token_ = consumes<reco::GenJetCollection>(edm::InputTag("ak4GenJets"));
146 
147  genpartToken_ = consumes<reco::GenParticleCollection>(edm::InputTag("genParticles"));
148 
149  consumes<reco::TrackToTrackingParticleAssociator>(edm::InputTag("trackAssociatorByHitsForPhotonValidation"));
150 
151  nEvt_ = 0;
152  nEntry_ = 0;
153  nRecConv_ = 0;
154  nRecConvAss_ = 0;
156  nInvalidPCA_ = 0;
157 }

References HLT_FULL_cff::InputTag, muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~PhotonValidator()

PhotonValidator::~PhotonValidator ( )
override

Definition at line 159 of file PhotonValidator.cc.

159 {}

Member Function Documentation

◆ analyze()

void PhotonValidator::analyze ( const edm::Event e,
const edm::EventSetup esup 
)
overridevirtual

uncleaned

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3173 of file PhotonValidator.cc.

3173  {
3174  thePhotonMCTruthFinder_->clear();
3175  using namespace edm;
3176  // const float etaPhiDistance=0.01;
3177  // Fiducial region
3178  // const float TRK_BARL =0.9;
3179  const float BARL = 1.4442; // DAQ TDR p.290
3180  // const float END_LO = 1.566; // unused
3181  const float END_HI = 2.5;
3182  // Electron mass
3183  //const Float_t mElec= 0.000511;
3184 
3186  e.getByLabel("trackAssociatorByHitsForPhotonValidation", theHitsAssociator);
3188 
3189  nEvt_++;
3190  LogInfo("PhotonValidator") << "PhotonValidator Analyzing event number: " << e.id() << " Global Counter " << nEvt_
3191  << "\n";
3192 
3193  // get the geometry from the event setup:
3195 
3197  e.getByToken(offline_pvToken_, vtxH);
3198  h_nRecoVtx_->Fill(float(vtxH->size()));
3199 
3200  // Transform Track into TransientTrack (needed by the Vertex fitter)
3202  esup.get<TransientTrackRecord>().get("TransientTrackBuilder", theTTB);
3203 
3205  Handle<reco::PhotonCollection> photonHandle;
3206  e.getByToken(photonCollectionToken_, photonHandle);
3207  const reco::PhotonCollection photonCollection = *(photonHandle.product());
3208  if (!photonHandle.isValid()) {
3209  edm::LogError("PhotonProducer") << "Error! Can't get the Photon collection " << std::endl;
3210  return;
3211  }
3212 
3213  // Get the PF refined cluster collection
3214  Handle<reco::PFCandidateCollection> pfCandidateHandle;
3215  e.getByToken(pfCandidates_, pfCandidateHandle);
3216  if (!pfCandidateHandle.isValid()) {
3217  edm::LogError("PhotonValidator") << "Error! Can't get the product pfCandidates " << std::endl;
3218  }
3219 
3220  edm::Handle<edm::ValueMap<std::vector<reco::PFCandidateRef> > > phoToParticleBasedIsoMapHandle;
3221  edm::ValueMap<std::vector<reco::PFCandidateRef> > phoToParticleBasedIsoMap;
3222  if (fName_ == "pfPhotonValidator") {
3223  e.getByToken(particleBasedIso_token, phoToParticleBasedIsoMapHandle);
3224  if (!phoToParticleBasedIsoMapHandle.isValid()) {
3225  edm::LogInfo("PhotonValidator") << "Error! Can't get the product: valueMap photons to particle based iso "
3226  << std::endl;
3227  }
3228  phoToParticleBasedIsoMap = *(phoToParticleBasedIsoMapHandle.product());
3229  }
3230 
3231  Handle<edm::View<reco::Track> > outInTrkHandle;
3232  Handle<edm::View<reco::Track> > inOutTrkHandle;
3233  if (!fastSim_) {
3235  e.getByToken(conversionOITrackPr_Token_, outInTrkHandle);
3237  e.getByToken(conversionIOTrackPr_Token_, inOutTrkHandle);
3238 
3239  // Loop over Out In Tracks
3240  int iTrk = 0;
3241  int nHits = 0;
3242  for (View<reco::Track>::const_iterator iTk = outInTrkHandle->begin(); iTk != outInTrkHandle->end(); iTk++) {
3243  h_OIinnermostHitR_->Fill(sqrt(iTk->innerPosition().Perp2()));
3244  for (trackingRecHit_iterator itHits = iTk->extra()->recHitsBegin(); itHits != iTk->extra()->recHitsEnd();
3245  ++itHits) {
3246  if ((*itHits)->isValid()) {
3247  nHits++;
3248  }
3249  }
3250 
3251  iTrk++;
3252  }
3253 
3254  // Loop over In Out Tracks Barrel
3255  iTrk = 0;
3256  for (View<reco::Track>::const_iterator iTk = inOutTrkHandle->begin(); iTk != inOutTrkHandle->end(); iTk++) {
3257  h_IOinnermostHitR_->Fill(sqrt(iTk->innerPosition().Perp2()));
3258  nHits = 0;
3259  for (trackingRecHit_iterator itHits = iTk->extra()->recHitsBegin(); itHits != iTk->extra()->recHitsEnd();
3260  ++itHits) {
3261  if ((*itHits)->isValid()) {
3262  nHits++;
3263  }
3264  }
3265  iTrk++;
3266  }
3267 
3268  } // if !fastSim
3269 
3271  //get simtrack info
3272  std::vector<SimTrack> theSimTracks;
3273  std::vector<SimVertex> theSimVertices;
3276 
3277  if (!fastSim_) {
3278  e.getByToken(g4_simTk_Token_, SimTk);
3279  e.getByToken(g4_simVtx_Token_, SimVtx);
3280  } else {
3281  e.getByToken(famos_simTk_Token_, SimTk);
3282  e.getByToken(famos_simVtx_Token_, SimVtx);
3283  }
3284 
3285  theSimTracks.insert(theSimTracks.end(), SimTk->begin(), SimTk->end());
3286  theSimVertices.insert(theSimVertices.end(), SimVtx->begin(), SimVtx->end());
3287  std::vector<PhotonMCTruth> mcPhotons = thePhotonMCTruthFinder_->find(theSimTracks, theSimVertices);
3288 
3290  e.getByToken(hepMC_Token_, hepMC);
3291  const HepMC::GenEvent* myGenEvent = hepMC->GetEvent();
3292 
3294  e.getByToken(genpartToken_, genParticles);
3295 
3296  // get generated jets
3297  Handle<reco::GenJetCollection> GenJetsHandle;
3298  e.getByToken(genjets_Token_, GenJetsHandle);
3299  reco::GenJetCollection genJetCollection = *(GenJetsHandle.product());
3300 
3301  // Get electron tracking truth
3302  bool useTP = parameters_.getParameter<bool>("useTP");
3304  edm::Handle<TrackingParticleCollection> ElectronTPHandle;
3305  if (useTP) {
3306  if (!fastSim_) {
3307  e.getByToken(token_tp_, ElectronTPHandle);
3308  trackingParticles = *(ElectronTPHandle.product());
3309  }
3310  }
3311 
3313  std::vector<reco::PhotonCollection::const_iterator> StoRMatchedConvertedPhotons;
3314  reco::SimToRecoCollection OISimToReco;
3315  reco::SimToRecoCollection IOSimToReco;
3316  // Reco to Sim
3317  reco::RecoToSimCollection OIRecoToSim;
3318  reco::RecoToSimCollection IORecoToSim;
3319 
3320  if (useTP) {
3321  if (!fastSim_) {
3322  // Sim to Reco
3323  OISimToReco = trackAssociator->associateSimToReco(outInTrkHandle, ElectronTPHandle);
3324  IOSimToReco = trackAssociator->associateSimToReco(inOutTrkHandle, ElectronTPHandle);
3325  // Reco to Sim
3326  OIRecoToSim = trackAssociator->associateRecoToSim(outInTrkHandle, ElectronTPHandle);
3327  IORecoToSim = trackAssociator->associateRecoToSim(inOutTrkHandle, ElectronTPHandle);
3328  }
3329  }
3330  //
3331  vector<reco::SimToRecoCollection*> StoRCollPtrs;
3332  StoRCollPtrs.push_back(&OISimToReco);
3333  StoRCollPtrs.push_back(&IOSimToReco);
3334  vector<reco::RecoToSimCollection*> RtoSCollPtrs;
3335  RtoSCollPtrs.push_back(&OIRecoToSim);
3336  RtoSCollPtrs.push_back(&IORecoToSim);
3337  //
3338  for (int i = 0; i < 2; i++)
3339  nSimPho_[i] = 0;
3340  for (int i = 0; i < 2; i++)
3341  nSimConv_[i] = 0;
3342 
3343  std::vector<reco::PhotonRef> myPhotons;
3344 
3345  for (unsigned int iPho = 0; iPho < photonHandle->size(); iPho++) {
3346  reco::PhotonRef phoRef(reco::PhotonRef(photonHandle, iPho));
3347  // for( reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end(); iPho++) {
3348  if (fabs(phoRef->eta()) > 2.5)
3349  continue;
3350  myPhotons.push_back(phoRef);
3351  }
3352 
3353  std::sort(myPhotons.begin(), myPhotons.end(), sortPhotons());
3354  // if ( ! isRunCentrally_ ) {
3355  if (myPhotons.size() >= 2) {
3356  if (myPhotons[0]->et() > 40 && myPhotons[1]->et() > 25) {
3357  math::XYZTLorentzVector p12 = myPhotons[0]->p4() + myPhotons[1]->p4();
3358  math::XYZTLorentzVector p12_regr1 =
3359  myPhotons[0]->p4(reco::Photon::regression1) + myPhotons[1]->p4(reco::Photon::regression1);
3360  math::XYZTLorentzVector p12_regr2 =
3361  myPhotons[0]->p4(reco::Photon::regression2) + myPhotons[1]->p4(reco::Photon::regression2);
3362  float gamgamMass2 = p12.Dot(p12);
3363  float gamgamMass2_regr1 = p12_regr1.Dot(p12_regr1);
3364  float gamgamMass2_regr2 = p12_regr2.Dot(p12_regr2);
3365 
3367  if (gamgamMass2 > 0) {
3368  // total
3369  h_gamgamMass_[0][0]->Fill(sqrt(gamgamMass2));
3370  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3371  h_gamgamMass_[0][1]->Fill(sqrt(gamgamMass2));
3372  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3373  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3374  h_gamgamMass_[0][2]->Fill(sqrt(gamgamMass2));
3375  // Golden photons
3376  if (myPhotons[0]->r9() > 0.94 && myPhotons[1]->r9() > 0.94) {
3377  h_gamgamMass_[1][0]->Fill(sqrt(gamgamMass2));
3378  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3379  h_gamgamMass_[1][1]->Fill(sqrt(gamgamMass2));
3380  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3381  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3382  h_gamgamMass_[1][2]->Fill(sqrt(gamgamMass2));
3383  }
3384  // both photons converted
3385  if (!myPhotons[0]->conversions().empty() && !myPhotons[1]->conversions().empty()) {
3386  if (myPhotons[0]->conversions()[0]->nTracks() == 2 && myPhotons[1]->conversions()[0]->nTracks() == 2) {
3387  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3388  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3389  float chi2Prob2 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3390  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3391  if (chi2Prob1 > 0.0005 && chi2Prob2 > 0.0005) {
3392  h_gamgamMass_[2][0]->Fill(sqrt(gamgamMass2));
3393  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3394  h_gamgamMass_[2][1]->Fill(sqrt(gamgamMass2));
3395  }
3396  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3397  (myPhotons[0]->isEB() && myPhotons[1]->isEE())) {
3398  h_gamgamMass_[2][2]->Fill(sqrt(gamgamMass2));
3399  }
3400  }
3401  }
3402  } else if (!myPhotons[0]->conversions().empty() && myPhotons[1]->conversions().empty() &&
3403  myPhotons[1]->r9() > 0.93) { // one photon converted
3404  if (myPhotons[0]->conversions()[0]->nTracks() == 2) {
3405  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3406  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3407  if (chi2Prob1 > 0.0005) {
3408  h_gamgamMass_[2][0]->Fill(sqrt(gamgamMass2));
3409  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3410  h_gamgamMass_[2][1]->Fill(sqrt(gamgamMass2));
3411  }
3412  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3413  h_gamgamMass_[2][2]->Fill(sqrt(gamgamMass2));
3414  }
3415  }
3416  }
3417  } else if (!myPhotons[1]->conversions().empty() && myPhotons[0]->conversions().empty() &&
3418  myPhotons[0]->r9() > 0.93) { // one photon converted
3419  if (myPhotons[1]->conversions()[0]->nTracks() == 2) {
3420  float chi2Prob1 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3421  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3422  if (chi2Prob1 > 0.0005) {
3423  h_gamgamMass_[2][0]->Fill(sqrt(gamgamMass2));
3424  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3425  h_gamgamMass_[2][1]->Fill(sqrt(gamgamMass2));
3426  }
3427  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3428  h_gamgamMass_[2][2]->Fill(sqrt(gamgamMass2));
3429  }
3430  }
3431  }
3432  }
3433  } // gamgamMass2 > 0
3434 
3436  if (gamgamMass2_regr1 > 0) {
3437  // total
3438  h_gamgamMassRegr1_[0][0]->Fill(sqrt(gamgamMass2_regr1));
3439  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3440  h_gamgamMassRegr1_[0][1]->Fill(sqrt(gamgamMass2_regr1));
3441  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3442  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3443  h_gamgamMassRegr1_[0][2]->Fill(sqrt(gamgamMass2_regr1));
3444  // Golden photons
3445  if (myPhotons[0]->r9() > 0.94 && myPhotons[1]->r9() > 0.94) {
3446  h_gamgamMassRegr1_[1][0]->Fill(sqrt(gamgamMass2_regr1));
3447  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3448  h_gamgamMassRegr1_[1][1]->Fill(sqrt(gamgamMass2_regr1));
3449  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3450  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3451  h_gamgamMassRegr1_[1][2]->Fill(sqrt(gamgamMass2_regr1));
3452  }
3453 
3454  // both photons converted
3455  if (!myPhotons[0]->conversions().empty() && !myPhotons[1]->conversions().empty()) {
3456  if (myPhotons[0]->conversions()[0]->nTracks() == 2 && myPhotons[1]->conversions()[0]->nTracks() == 2) {
3457  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3458  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3459  float chi2Prob2 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3460  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3461  if (chi2Prob1 > 0.0005 && chi2Prob2 > 0.0005) {
3462  h_gamgamMassRegr1_[2][0]->Fill(sqrt(gamgamMass2_regr1));
3463  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3464  h_gamgamMassRegr1_[2][1]->Fill(sqrt(gamgamMass2_regr1));
3465  }
3466  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3467  (myPhotons[0]->isEB() && myPhotons[1]->isEE())) {
3468  h_gamgamMassRegr1_[2][2]->Fill(sqrt(gamgamMass2_regr1));
3469  }
3470  }
3471  }
3472  } else if (!myPhotons[0]->conversions().empty() && myPhotons[1]->conversions().empty() &&
3473  myPhotons[1]->r9() > 0.93) { // one photon converted
3474  if (myPhotons[0]->conversions()[0]->nTracks() == 2) {
3475  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3476  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3477  if (chi2Prob1 > 0.0005) {
3478  h_gamgamMassRegr1_[2][0]->Fill(sqrt(gamgamMass2_regr1));
3479  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3480  h_gamgamMassRegr1_[2][1]->Fill(sqrt(gamgamMass2_regr1));
3481  }
3482  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3483  h_gamgamMassRegr1_[2][2]->Fill(sqrt(gamgamMass2_regr1));
3484  }
3485  }
3486  }
3487  } else if (!myPhotons[1]->conversions().empty() && myPhotons[0]->conversions().empty() &&
3488  myPhotons[0]->r9() > 0.93) { // one photon converted
3489  if (myPhotons[1]->conversions()[0]->nTracks() == 2) {
3490  float chi2Prob1 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3491  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3492  if (chi2Prob1 > 0.0005) {
3493  h_gamgamMassRegr1_[2][0]->Fill(sqrt(gamgamMass2_regr1));
3494  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3495  h_gamgamMassRegr1_[2][1]->Fill(sqrt(gamgamMass2_regr1));
3496  }
3497  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3498  h_gamgamMassRegr1_[2][2]->Fill(sqrt(gamgamMass2_regr1));
3499  }
3500  }
3501  }
3502  }
3503  } // gamgamMass2_regr1 > 0
3504 
3506  if (gamgamMass2_regr2 > 0) {
3507  // total
3508  h_gamgamMassRegr2_[0][0]->Fill(sqrt(gamgamMass2_regr2));
3509  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3510  h_gamgamMassRegr2_[0][1]->Fill(sqrt(gamgamMass2_regr2));
3511  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3512  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3513  h_gamgamMassRegr2_[0][2]->Fill(sqrt(gamgamMass2_regr2));
3514  // Golden photons
3515  if (myPhotons[0]->r9() > 0.94 && myPhotons[1]->r9() > 0.94) {
3516  h_gamgamMassRegr2_[1][0]->Fill(sqrt(gamgamMass2_regr2));
3517  if (myPhotons[0]->isEB() && myPhotons[1]->isEB())
3518  h_gamgamMassRegr2_[1][1]->Fill(sqrt(gamgamMass2_regr2));
3519  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3520  (myPhotons[0]->isEB() && myPhotons[1]->isEE()))
3521  h_gamgamMassRegr2_[1][2]->Fill(sqrt(gamgamMass2_regr2));
3522  }
3523 
3524  // both photons converted
3525  if (!myPhotons[0]->conversions().empty() && !myPhotons[1]->conversions().empty()) {
3526  if (myPhotons[0]->conversions()[0]->nTracks() == 2 && myPhotons[1]->conversions()[0]->nTracks() == 2) {
3527  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3528  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3529  float chi2Prob2 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3530  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3531  if (chi2Prob1 > 0.0005 && chi2Prob2 > 0.0005) {
3532  h_gamgamMassRegr2_[2][0]->Fill(sqrt(gamgamMass2_regr2));
3533  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3534  h_gamgamMassRegr2_[2][1]->Fill(sqrt(gamgamMass2_regr2));
3535  }
3536  if ((myPhotons[0]->isEE() && myPhotons[1]->isEE()) || (myPhotons[0]->isEE() && myPhotons[1]->isEB()) ||
3537  (myPhotons[0]->isEB() && myPhotons[1]->isEE())) {
3538  h_gamgamMassRegr2_[2][2]->Fill(sqrt(gamgamMass2_regr2));
3539  }
3540  }
3541  }
3542  } else if (!myPhotons[0]->conversions().empty() && myPhotons[1]->conversions().empty() &&
3543  myPhotons[1]->r9() > 0.93) { // one photon converted
3544  if (myPhotons[0]->conversions()[0]->nTracks() == 2) {
3545  float chi2Prob1 = ChiSquaredProbability(myPhotons[0]->conversions()[0]->conversionVertex().chi2(),
3546  myPhotons[0]->conversions()[0]->conversionVertex().ndof());
3547  if (chi2Prob1 > 0.0005) {
3548  h_gamgamMassRegr2_[2][0]->Fill(sqrt(gamgamMass2_regr2));
3549  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3550  h_gamgamMassRegr2_[2][1]->Fill(sqrt(gamgamMass2_regr2));
3551  }
3552  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3553  h_gamgamMassRegr2_[2][2]->Fill(sqrt(gamgamMass2_regr2));
3554  }
3555  }
3556  }
3557  } else if (!myPhotons[1]->conversions().empty() && myPhotons[0]->conversions().empty() &&
3558  myPhotons[0]->r9() > 0.93) { // one photon converted
3559  if (myPhotons[1]->conversions()[0]->nTracks() == 2) {
3560  float chi2Prob1 = ChiSquaredProbability(myPhotons[1]->conversions()[0]->conversionVertex().chi2(),
3561  myPhotons[1]->conversions()[0]->conversionVertex().ndof());
3562  if (chi2Prob1 > 0.0005) {
3563  h_gamgamMassRegr2_[2][0]->Fill(sqrt(gamgamMass2_regr2));
3564  if (myPhotons[0]->isEB() && myPhotons[1]->isEB()) {
3565  h_gamgamMassRegr2_[2][1]->Fill(sqrt(gamgamMass2_regr2));
3566  }
3567  if (myPhotons[0]->isEE() || myPhotons[1]->isEE()) {
3568  h_gamgamMassRegr2_[2][2]->Fill(sqrt(gamgamMass2_regr2));
3569  }
3570  }
3571  }
3572  }
3573  } // gamgamMass2_regr2 > 0
3574  }
3575  }
3576  // }
3577 
3578  for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
3579  if ((*mcPho).fourMomentum().et() < minPhoEtCut_)
3580  continue;
3581 
3582  for (HepMC::GenEvent::particle_const_iterator mcIter = myGenEvent->particles_begin();
3583  mcIter != myGenEvent->particles_end();
3584  mcIter++) {
3585  if ((*mcIter)->pdg_id() != 22)
3586  continue;
3587  bool isTheSame = false;
3588  HepMC::GenParticle* mother = nullptr;
3589  if ((*mcIter)->production_vertex()) {
3590  if ((*mcIter)->production_vertex()->particles_begin(HepMC::parents) !=
3591  (*mcIter)->production_vertex()->particles_end(HepMC::parents))
3592  mother = *((*mcIter)->production_vertex()->particles_begin(HepMC::parents));
3593  }
3594 
3595  float mcPhi = (*mcPho).fourMomentum().phi();
3596  mcPhi_ = phiNormalization(mcPhi);
3597  mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
3598  mcEta_ = etaTransformation(mcEta_, (*mcPho).primaryVertex().z());
3599  mcConvR_ = (*mcPho).vertex().perp();
3600  mcConvX_ = (*mcPho).vertex().x();
3601  mcConvY_ = (*mcPho).vertex().y();
3602  mcConvZ_ = (*mcPho).vertex().z();
3603  mcConvEta_ = (*mcPho).vertex().eta();
3604  mcConvPhi_ = (*mcPho).vertex().phi();
3605 
3606  if (fabs(mcEta_) > END_HI)
3607  continue;
3608 
3609  if (mother == nullptr || (mother != nullptr && mother->pdg_id() == 22) ||
3610  (mother != nullptr && mother->pdg_id() == 25) || (mother != nullptr && mother->pdg_id() == 35)) {
3611  double dPt = fabs((*mcIter)->momentum().perp() - (*mcPho).fourMomentum().et());
3612  float phiMother = (*mcIter)->momentum().phi();
3613  double dPhi = phiNormalization(phiMother) - mcPhi_;
3614  double dEta = fabs((*mcIter)->momentum().eta() - (*mcPho).fourMomentum().pseudoRapidity());
3615 
3616  if (dEta <= 0.0001 && dPhi <= 0.0001 && dPt <= 0.0001)
3617  isTheSame = true;
3618  }
3619  if (!isTheSame)
3620  continue;
3621 
3622  nSimPho_[0]++;
3623  if (!isRunCentrally_) {
3624  h_SimPhoMotherEt_[0]->Fill((*mcPho).motherMomentum().et());
3625  h_SimPhoMotherEta_[0]->Fill((*mcPho).motherMomentum().pseudoRapidity());
3626  }
3627 
3628  h_SimPho_[0]->Fill(mcEta_);
3629  h_SimPho_[1]->Fill(mcPhi_);
3630  h_SimPho_[2]->Fill((*mcPho).fourMomentum().et());
3631 
3633 
3634  bool goodSimConversion = false;
3635  bool visibleConversion = false;
3636  bool visibleConversionsWithTwoSimTracks = false;
3637  if ((*mcPho).isAConversion() == 1) {
3638  nSimConv_[0]++;
3639  h_AllSimConv_[0]->Fill(mcEta_);
3640  h_AllSimConv_[1]->Fill(mcPhi_);
3643  h_AllSimConv_[4]->Fill((*mcPho).fourMomentum().et());
3644 
3645  if (!isRunCentrally_) {
3646  if (mcConvR_ < 51)
3648  }
3649 
3650  if ((fabs(mcEta_) <= BARL && mcConvR_ < 85) ||
3651  (fabs(mcEta_) > BARL && fabs(mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210))
3652  visibleConversion = true;
3653 
3654  theConvTP_.clear();
3655  for (size_t i = 0; i < trackingParticles.size(); ++i) {
3656  TrackingParticleRef tp(ElectronTPHandle, i);
3657  if (fabs(tp->vx() - (*mcPho).vertex().x()) < 0.001 && fabs(tp->vy() - (*mcPho).vertex().y()) < 0.001 &&
3658  fabs(tp->vz() - (*mcPho).vertex().z()) < 0.001) {
3660  }
3661  }
3662  if (theConvTP_.size() == 2)
3663  visibleConversionsWithTwoSimTracks = true;
3664  goodSimConversion = false;
3665 
3666  if (visibleConversion && visibleConversionsWithTwoSimTracks)
3667  goodSimConversion = true;
3668  if (goodSimConversion) {
3669  nSimConv_[1]++;
3670  h_VisSimConv_[0]->Fill(mcEta_);
3671  h_VisSimConv_[1]->Fill(mcPhi_);
3674  h_VisSimConv_[4]->Fill((*mcPho).fourMomentum().et());
3675 
3676  if (useTP) {
3677  if (!isRunCentrally_) {
3679  iTrk != theConvTP_.end();
3680  ++iTrk) {
3681  h_simTkPt_->Fill((*iTrk)->pt());
3682  h_simTkEta_->Fill((*iTrk)->eta());
3683  }
3684  }
3685  }
3686  }
3687  }
3688 
3689  float minDelta = 10000.;
3690  std::vector<reco::PhotonRef> thePhotons;
3691  int index = 0;
3692  int iMatch = -1;
3693  bool matched = false;
3694 
3695  for (unsigned int iPho = 0; iPho < photonHandle->size(); iPho++) {
3696  reco::PhotonRef aPho(reco::PhotonRef(photonHandle, iPho));
3697  thePhotons.push_back(aPho);
3698  float phiPho = aPho->phi();
3699  float etaPho = aPho->eta();
3700  float deltaPhi = phiPho - mcPhi_;
3701  float deltaEta = etaPho - mcEta_;
3702  if (deltaPhi > pi)
3703  deltaPhi -= twopi;
3704  if (deltaPhi < -pi)
3705  deltaPhi += twopi;
3706  deltaPhi = pow(deltaPhi, 2);
3707  deltaEta = pow(deltaEta, 2);
3708  float delta = sqrt(deltaPhi + deltaEta);
3709  if (delta < 0.1 && delta < minDelta) {
3710  minDelta = delta;
3711  iMatch = index;
3712  }
3713  index++;
3714  } // end loop over reco photons
3715  if (iMatch > -1)
3716  matched = true;
3717 
3718  if (matched) {
3719  nSimPho_[1]++;
3720  if (!isRunCentrally_) {
3721  h_SimPhoMotherEt_[1]->Fill((*mcPho).motherMomentum().et());
3722  h_SimPhoMotherEta_[1]->Fill((*mcPho).motherMomentum().pseudoRapidity());
3723  }
3726  h_MatchedSimPho_[2]->Fill((*mcPho).fourMomentum().et());
3727  }
3728 
3729  if (!matched)
3730  continue;
3731 
3732  bool phoIsInBarrel = false;
3733  bool phoIsInEndcap = false;
3734  bool phoIsInEndcapP = false;
3735  bool phoIsInEndcapM = false;
3736 
3737  reco::PhotonRef matchingPho = thePhotons[iMatch];
3738 
3739  if (fabs(matchingPho->superCluster()->position().eta()) < 1.479) {
3740  phoIsInBarrel = true;
3741  } else {
3742  phoIsInEndcap = true;
3743  if (matchingPho->superCluster()->position().eta() > 0)
3744  phoIsInEndcapP = true;
3745  if (matchingPho->superCluster()->position().eta() < 0)
3746  phoIsInEndcapM = true;
3747  }
3748 
3749  edm::Handle<EcalRecHitCollection> ecalRecHitHandle;
3750  if (phoIsInBarrel) {
3751  // Get handle to rec hits ecal barrel
3752  e.getByToken(barrelEcalHits_, ecalRecHitHandle);
3753  if (!ecalRecHitHandle.isValid()) {
3754  Labels l;
3756  edm::LogError("PhotonProducer") << "Error! Can't get the product " << l.module;
3757  return;
3758  }
3759 
3760  } else if (phoIsInEndcap) {
3761  // Get handle to rec hits ecal encap
3762  e.getByToken(endcapEcalHits_, ecalRecHitHandle);
3763  if (!ecalRecHitHandle.isValid()) {
3764  Labels l;
3766  edm::LogError("PhotonProducer") << "Error! Can't get the product " << l.module;
3767  return;
3768  }
3769  }
3770 
3771  int type = 0;
3772  const EcalRecHitCollection ecalRecHitCollection = *(ecalRecHitHandle.product());
3773  float photonE = matchingPho->energy();
3774  float sigmaEoE = matchingPho->getCorrectedEnergyError(matchingPho->getCandidateP4type()) / matchingPho->energy();
3775  //float photonEt= matchingPho->energy()/cosh( matchingPho->eta()) ;
3776  float photonEt = matchingPho->pt();
3777  float photonERegr1 = matchingPho->getCorrectedEnergy(reco::Photon::regression1);
3778  float photonERegr2 = matchingPho->getCorrectedEnergy(reco::Photon::regression2);
3779  float r9 = matchingPho->r9();
3780  // float full5x5_r9 = matchingPho->full5x5_r9();
3781  float r1 = matchingPho->r1x5();
3782  float r2 = matchingPho->r2x5();
3783  float sigmaIetaIeta = matchingPho->sigmaIetaIeta();
3784  //float full5x5_sieie = matchingPho->full5x5_sigmaIetaIeta();
3785  float hOverE = matchingPho->hadronicOverEm();
3786  float newhOverE = matchingPho->hadTowOverEm();
3787  float ecalIso = matchingPho->ecalRecHitSumEtConeDR04();
3788  float hcalIso = matchingPho->hcalTowerSumEtConeDR04();
3789  float newhcalIso = matchingPho->hcalTowerSumEtBcConeDR04();
3790  float trkIso = matchingPho->trkSumPtSolidConeDR04();
3791  float nIsoTrk = matchingPho->nTrkSolidConeDR04();
3792  // PF related quantities
3793  float chargedHadIso = matchingPho->chargedHadronIso();
3794  float neutralHadIso = matchingPho->neutralHadronIso();
3795  float photonIso = matchingPho->photonIso();
3796  float etOutsideMustache = matchingPho->etOutsideMustache();
3797  int nClusterOutsideMustache = matchingPho->nClusterOutsideMustache();
3798  float pfMVA = matchingPho->pfMVA();
3799 
3800  std::vector<std::pair<DetId, float> >::const_iterator rhIt;
3801  bool atLeastOneDeadChannel = false;
3802  for (reco::CaloCluster_iterator bcIt = matchingPho->superCluster()->clustersBegin();
3803  bcIt != matchingPho->superCluster()->clustersEnd();
3804  ++bcIt) {
3805  for (rhIt = (*bcIt)->hitsAndFractions().begin(); rhIt != (*bcIt)->hitsAndFractions().end(); ++rhIt) {
3806  for (EcalRecHitCollection::const_iterator it = ecalRecHitCollection.begin(); it != ecalRecHitCollection.end();
3807  ++it) {
3808  if (rhIt->first == (*it).id()) {
3809  if ((*it).recoFlag() == 9) {
3810  atLeastOneDeadChannel = true;
3811  break;
3812  }
3813  }
3814  }
3815  }
3816  }
3817 
3818  if (atLeastOneDeadChannel) {
3821  h_MatchedSimPhoBadCh_[2]->Fill((*mcPho).fourMomentum().et());
3822  }
3823 
3824  if (phoIsInBarrel)
3825  h_phoPixSeedSize_[0]->Fill(matchingPho->electronPixelSeeds().size());
3826  else
3827  h_phoPixSeedSize_[1]->Fill(matchingPho->electronPixelSeeds().size());
3828 
3829  h_scEta_[type]->Fill(matchingPho->superCluster()->eta());
3830  h_scPhi_[type]->Fill(matchingPho->superCluster()->phi());
3831  if (!isRunCentrally_) {
3832  h_scEtaWidth_[type]->Fill(matchingPho->superCluster()->etaWidth());
3833  h_scPhiWidth_[type]->Fill(matchingPho->superCluster()->phiWidth());
3834  }
3835  h_scE_[type][0]->Fill(matchingPho->superCluster()->energy());
3836  h_scEt_[type][0]->Fill(matchingPho->superCluster()->energy() / cosh(matchingPho->superCluster()->eta()));
3837  if (phoIsInEndcap)
3838  h_psE_->Fill(matchingPho->superCluster()->preshowerEnergy());
3839  //
3840  h_r9_[type][0]->Fill(r9);
3841  //
3842  h_r1_[type][0]->Fill(r1);
3843  //
3844  h_r2_[type][0]->Fill(r2);
3845  //
3846  h_sigmaIetaIeta_[type][0]->Fill(sigmaIetaIeta);
3847  //
3848  h_hOverE_[type][0]->Fill(hOverE);
3849  p_r9VsEta_[0]->Fill(mcEta_, r9);
3850 
3851  if (!isRunCentrally_) {
3852  h2_r9VsEt_[0]->Fill((*mcPho).fourMomentum().et(), r9);
3853  h2_r1VsEta_[0]->Fill(mcEta_, r1);
3854  h2_r1VsEt_[0]->Fill((*mcPho).fourMomentum().et(), r1);
3855  h2_r2VsEta_[0]->Fill(mcEta_, r2);
3856  h2_r2VsEt_[0]->Fill((*mcPho).fourMomentum().et(), r2);
3857  h2_sigmaIetaIetaVsEta_[0]->Fill(mcEta_, sigmaIetaIeta);
3858  h2_sigmaIetaIetaVsEt_[0]->Fill((*mcPho).fourMomentum().et(), sigmaIetaIeta);
3860  h2_hOverEVsEt_[0]->Fill((*mcPho).fourMomentum().et(), hOverE);
3861  }
3863  p_hOverEVsEt_[0]->Fill((*mcPho).fourMomentum().et(), hOverE);
3864  //
3865  h_newhOverE_[type][0]->Fill(newhOverE);
3866  p_newhOverEVsEta_[0]->Fill(mcEta_, newhOverE);
3867  p_newhOverEVsEt_[0]->Fill((*mcPho).fourMomentum().et(), newhOverE);
3868 
3869  //
3870  h_ecalRecHitSumEtConeDR04_[type][0]->Fill(ecalIso);
3871  if (!isRunCentrally_) {
3873  h2_ecalRecHitSumEtConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), ecalIso);
3875  h2_hcalTowerSumEtConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), hcalIso);
3876  }
3878  if (!isRunCentrally_)
3879  p_ecalRecHitSumEtConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), ecalIso);
3880  //
3881  h_hcalTowerSumEtConeDR04_[type][0]->Fill(hcalIso);
3883  if (!isRunCentrally_)
3884  p_hcalTowerSumEtConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), hcalIso);
3885  //
3886  if (!isRunCentrally_)
3887  h_hcalTowerBcSumEtConeDR04_[type][0]->Fill(newhcalIso);
3888  p_hcalTowerBcSumEtConeDR04VsEta_[0]->Fill(mcEta_, newhcalIso);
3889  if (!isRunCentrally_)
3890  p_hcalTowerBcSumEtConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), newhcalIso);
3891  //
3893  h_nTrkSolidConeDR04_[type][0]->Fill(nIsoTrk);
3894 
3895  if (!isRunCentrally_) {
3897  h2_isoTrkSolidConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), trkIso);
3898  h2_nTrkSolidConeDR04VsEta_[0]->Fill(mcEta_, nIsoTrk);
3899  h2_nTrkSolidConeDR04VsEt_[0]->Fill((*mcPho).fourMomentum().et(), nIsoTrk);
3900  }
3901 
3902  h_chHadIso_[0]->Fill(chargedHadIso);
3903  h_nHadIso_[0]->Fill(neutralHadIso);
3904  h_phoIso_[0]->Fill(photonIso);
3905  h_nCluOutsideMustache_[0]->Fill(float(nClusterOutsideMustache));
3906  h_etOutsideMustache_[0]->Fill(etOutsideMustache);
3907  h_pfMva_[0]->Fill(pfMVA);
3908  //
3909  h_phoEta_[type]->Fill(matchingPho->eta());
3910  h_phoPhi_[type]->Fill(matchingPho->phi());
3911  h_phoDEta_[0]->Fill(matchingPho->eta() - (*mcPho).fourMomentum().eta());
3912  h_phoDPhi_[0]->Fill(matchingPho->phi() - mcPhi_);
3913  h_phoE_[type][0]->Fill(photonE);
3914  h_phoEt_[type][0]->Fill(photonEt);
3915  h_nConv_[0][0]->Fill(float(matchingPho->conversions().size()));
3916  h_nConv_[1][0]->Fill(float(matchingPho->conversionsOneLeg().size()));
3917 
3918  //
3919  h_phoERes_[0][0]->Fill(photonE / (*mcPho).fourMomentum().e());
3920  h_phoSigmaEoE_[0][0]->Fill(sigmaEoE);
3921  h_phoEResRegr1_[0][0]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
3922  h_phoEResRegr2_[0][0]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
3923 
3924  p_eResVsEta_[0]->Fill(mcEta_, photonE / (*mcPho).fourMomentum().e());
3925  p_sigmaEoEVsEta_[0]->Fill(mcEta_, sigmaEoE);
3926  p_eResVsEt_[0][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3927 
3928  if (!isRunCentrally_)
3929  h2_eResVsEta_[0]->Fill(mcEta_, photonE / (*mcPho).fourMomentum().e());
3930  if (!isRunCentrally_)
3931  h2_eResVsEt_[0][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3932  if (!isRunCentrally_)
3933  h2_eResVsR9_[0]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
3934  if (!isRunCentrally_)
3935  h2_sceResVsR9_[0]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
3936  if (!isRunCentrally_)
3937  p_eResVsR9_[0]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
3938  if (!isRunCentrally_)
3939  p_sceResVsR9_[0]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
3940  //
3941  if ((*mcPho).isAConversion() == 0) {
3942  if (!isRunCentrally_) {
3943  h2_eResVsEta_[1]->Fill(mcEta_, photonE / (*mcPho).fourMomentum().e());
3944  h2_r9VsEt_[1]->Fill((*mcPho).fourMomentum().et(), r9);
3945  //
3946  h2_r1VsEta_[1]->Fill(mcEta_, r1);
3947  h2_r1VsEt_[1]->Fill((*mcPho).fourMomentum().et(), r1);
3948  //
3949  h2_r2VsEta_[1]->Fill(mcEta_, r2);
3950  h2_r2VsEt_[1]->Fill((*mcPho).fourMomentum().et(), r2);
3951  //
3952  h2_sigmaIetaIetaVsEta_[1]->Fill(mcEta_, sigmaIetaIeta);
3953  h2_sigmaIetaIetaVsEt_[1]->Fill((*mcPho).fourMomentum().et(), sigmaIetaIeta);
3954  //
3956  h2_hOverEVsEt_[1]->Fill((*mcPho).fourMomentum().et(), hOverE);
3957  }
3958 
3959  if (!isRunCentrally_) {
3963  h2_isoTrkSolidConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), trkIso);
3964  h2_nTrkSolidConeDR04VsEta_[1]->Fill(mcEta_, nIsoTrk);
3965  h2_nTrkSolidConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), nIsoTrk);
3966  }
3968  if (!isRunCentrally_)
3970  }
3971 
3972  if (photonE / (*mcPho).fourMomentum().e() < 0.3 && photonE / (*mcPho).fourMomentum().e() > 0.1) {
3973  }
3974 
3975  if ((r9 > 0.94 && phoIsInBarrel) || (r9 > 0.95 && phoIsInEndcap)) {
3976  h_phoERes_[1][0]->Fill(photonE / (*mcPho).fourMomentum().e());
3977  h_phoSigmaEoE_[1][0]->Fill(sigmaEoE);
3978  h_phoEResRegr1_[1][0]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
3979  h_phoEResRegr2_[1][0]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
3980  if (!isRunCentrally_)
3981  h2_eResVsEt_[0][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3982  p_eResVsEt_[0][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3983  p_eResVsEta_[1]->Fill(mcEta_, photonE / (*mcPho).fourMomentum().e());
3984  p_r9VsEta_[1]->Fill(mcEta_, r9);
3985  p_sigmaEoEVsEta_[1]->Fill(mcEta_, sigmaEoE);
3986 
3987  } else if ((r9 <= 0.94 && phoIsInBarrel) || (r9 <= 0.95 && phoIsInEndcap)) {
3988  h_phoERes_[2][0]->Fill(photonE / (*mcPho).fourMomentum().e());
3989  h_phoSigmaEoE_[2][0]->Fill(sigmaEoE);
3990  h_phoEResRegr1_[2][0]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
3991  h_phoEResRegr2_[2][0]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
3992  p_eResVsEt_[0][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3993  p_eResVsEta_[2]->Fill(mcEta_, photonE / (*mcPho).fourMomentum().e());
3994  p_r9VsEta_[2]->Fill(mcEta_, r9);
3995  p_sigmaEoEVsEta_[2]->Fill(mcEta_, sigmaEoE);
3996 
3997  if (!isRunCentrally_) {
3998  h2_eResVsEt_[0][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
3999  h_EtR9Less093_[0][0]->Fill(photonEt);
4000  }
4001  }
4002 
4003  if (phoIsInBarrel) {
4004  h_scE_[type][1]->Fill(matchingPho->superCluster()->energy());
4005  h_scEt_[type][1]->Fill(matchingPho->superCluster()->energy() / cosh(matchingPho->superCluster()->eta()));
4006  h_r9_[type][1]->Fill(r9);
4007  h_r1_[type][1]->Fill(r1);
4008  h_r2_[type][1]->Fill(r2);
4009  h_sigmaIetaIeta_[type][1]->Fill(sigmaIetaIeta);
4010  h_hOverE_[type][1]->Fill(hOverE);
4011  h_newhOverE_[type][1]->Fill(newhOverE);
4012  h_ecalRecHitSumEtConeDR04_[type][1]->Fill(ecalIso);
4013  p_ecalRecHitSumEtConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), ecalIso);
4014  h_hcalTowerSumEtConeDR04_[type][1]->Fill(hcalIso);
4015  p_hcalTowerSumEtConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), hcalIso);
4016  h_hcalTowerBcSumEtConeDR04_[type][1]->Fill(newhcalIso);
4017  p_hcalTowerBcSumEtConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), newhcalIso);
4019  h_nTrkSolidConeDR04_[type][1]->Fill(nIsoTrk);
4020  h_chHadIso_[1]->Fill(chargedHadIso);
4021  h_nHadIso_[1]->Fill(neutralHadIso);
4022  h_phoIso_[1]->Fill(photonIso);
4023  h_nCluOutsideMustache_[1]->Fill(float(nClusterOutsideMustache));
4024  h_etOutsideMustache_[1]->Fill(etOutsideMustache);
4025  h_pfMva_[1]->Fill(pfMVA);
4026  h_phoE_[type][1]->Fill(photonE);
4027  h_phoEt_[type][1]->Fill(photonEt);
4028  h_nConv_[type][1]->Fill(float(matchingPho->conversions().size()));
4029  h_nConv_[1][1]->Fill(float(matchingPho->conversionsOneLeg().size()));
4030  h_phoERes_[0][1]->Fill(photonE / (*mcPho).fourMomentum().e());
4031  h_phoSigmaEoE_[0][1]->Fill(sigmaEoE);
4032  h_phoEResRegr1_[0][1]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4033  h_phoEResRegr2_[0][1]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4034  p_eResVsR9_[1]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
4035  p_sceResVsR9_[1]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4036  if (!isRunCentrally_) {
4037  h2_eResVsR9_[1]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
4038  h2_sceResVsR9_[1]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4039  h2_ecalRecHitSumEtConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), ecalIso);
4040  h2_hcalTowerSumEtConeDR04VsEt_[1]->Fill((*mcPho).fourMomentum().et(), hcalIso);
4041  h2_eResVsEt_[1][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4042  }
4043  p_eResVsEt_[1][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4044  p_eResVsNVtx_[1][0]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4045  p_sigmaEoEVsEt_[1][0]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4046  p_sigmaEoEVsNVtx_[1][0]->Fill(float(vtxH->size()), sigmaEoE);
4047 
4048  if (r9 > 0.94) {
4049  h_phoERes_[1][1]->Fill(photonE / (*mcPho).fourMomentum().e());
4050  h_phoSigmaEoE_[1][1]->Fill(sigmaEoE);
4051  h_phoEResRegr1_[1][1]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4052  h_phoEResRegr2_[1][1]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4053  if (!isRunCentrally_)
4054  h2_eResVsEt_[1][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4055  p_eResVsEt_[1][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4056  p_eResVsNVtx_[1][1]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4057  p_sigmaEoEVsEt_[1][1]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4058  p_sigmaEoEVsNVtx_[1][1]->Fill(float(vtxH->size()), sigmaEoE);
4059  }
4060  if (r9 <= 0.94) {
4061  h_phoERes_[2][1]->Fill(photonE / (*mcPho).fourMomentum().e());
4062  h_phoSigmaEoE_[2][1]->Fill(sigmaEoE);
4063  h_phoEResRegr1_[2][1]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4064  h_phoEResRegr2_[2][1]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4065  p_eResVsEt_[1][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4066  p_eResVsNVtx_[1][2]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4067  p_sigmaEoEVsEt_[1][2]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4068  p_sigmaEoEVsNVtx_[1][2]->Fill(float(vtxH->size()), sigmaEoE);
4069  if (!isRunCentrally_) {
4070  h2_eResVsEt_[1][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4071  h_EtR9Less093_[0][1]->Fill(photonEt);
4072  }
4073  }
4074  }
4075  if (phoIsInEndcap) {
4076  h_scE_[type][2]->Fill(matchingPho->superCluster()->energy());
4077  h_scEt_[type][2]->Fill(matchingPho->superCluster()->energy() / cosh(matchingPho->superCluster()->eta()));
4078  h_r9_[type][2]->Fill(r9);
4079  h_r1_[type][2]->Fill(r1);
4080  h_r2_[type][2]->Fill(r2);
4081  h_sigmaIetaIeta_[type][2]->Fill(sigmaIetaIeta);
4082  h_hOverE_[type][2]->Fill(hOverE);
4083  h_newhOverE_[type][2]->Fill(newhOverE);
4084  h_ecalRecHitSumEtConeDR04_[type][2]->Fill(ecalIso);
4085  p_ecalRecHitSumEtConeDR04VsEt_[2]->Fill((*mcPho).fourMomentum().et(), ecalIso);
4086  h_hcalTowerSumEtConeDR04_[type][2]->Fill(hcalIso);
4087  p_hcalTowerSumEtConeDR04VsEt_[2]->Fill((*mcPho).fourMomentum().et(), hcalIso);
4088  h_hcalTowerBcSumEtConeDR04_[type][2]->Fill(newhcalIso);
4089  p_hcalTowerBcSumEtConeDR04VsEt_[2]->Fill((*mcPho).fourMomentum().et(), newhcalIso);
4091  h_nTrkSolidConeDR04_[type][2]->Fill(nIsoTrk);
4092  h_chHadIso_[2]->Fill(chargedHadIso);
4093  h_nHadIso_[2]->Fill(neutralHadIso);
4094  h_phoIso_[2]->Fill(photonIso);
4095  h_nCluOutsideMustache_[2]->Fill(float(nClusterOutsideMustache));
4096  h_etOutsideMustache_[2]->Fill(etOutsideMustache);
4097  h_pfMva_[2]->Fill(pfMVA);
4098  h_phoE_[type][2]->Fill(photonE);
4099  h_phoEt_[type][2]->Fill(photonEt);
4100  h_nConv_[type][2]->Fill(float(matchingPho->conversions().size()));
4101  h_nConv_[1][2]->Fill(float(matchingPho->conversionsOneLeg().size()));
4102  h_phoERes_[0][2]->Fill(photonE / (*mcPho).fourMomentum().e());
4103  h_phoSigmaEoE_[0][2]->Fill(sigmaEoE);
4104  h_phoEResRegr1_[0][2]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4105  h_phoEResRegr2_[0][2]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4106  p_eResVsR9_[2]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
4107  p_sceResVsR9_[2]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4108  if (!isRunCentrally_) {
4109  h2_eResVsR9_[2]->Fill(r9, photonE / (*mcPho).fourMomentum().e());
4110  h2_sceResVsR9_[2]->Fill(r9, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4111  h2_ecalRecHitSumEtConeDR04VsEt_[2]->Fill((*mcPho).fourMomentum().et(), ecalIso);
4112  h2_hcalTowerSumEtConeDR04VsEt_[2]->Fill((*mcPho).fourMomentum().et(), hcalIso);
4113  h2_eResVsEt_[2][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4114  }
4115 
4116  p_eResVsEt_[2][0]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4117  p_eResVsNVtx_[2][0]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4118  p_sigmaEoEVsEt_[2][0]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4119  p_sigmaEoEVsNVtx_[2][0]->Fill(float(vtxH->size()), sigmaEoE);
4120 
4121  if (r9 > 0.95) {
4122  h_phoERes_[1][2]->Fill(photonE / (*mcPho).fourMomentum().e());
4123  h_phoSigmaEoE_[1][2]->Fill(sigmaEoE);
4124  h_phoEResRegr1_[1][2]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4125  h_phoEResRegr2_[1][2]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4126  if (!isRunCentrally_)
4127  h2_eResVsEt_[2][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4128  p_eResVsEt_[2][1]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4129  p_eResVsNVtx_[2][1]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4130  p_sigmaEoEVsEt_[2][1]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4131  p_sigmaEoEVsNVtx_[2][1]->Fill(float(vtxH->size()), sigmaEoE);
4132  }
4133  if (r9 <= 0.95) {
4134  h_phoERes_[2][2]->Fill(photonE / (*mcPho).fourMomentum().e());
4135  h_phoSigmaEoE_[2][2]->Fill(sigmaEoE);
4136  h_phoEResRegr1_[2][2]->Fill(photonERegr1 / (*mcPho).fourMomentum().e());
4137  h_phoEResRegr2_[2][2]->Fill(photonERegr2 / (*mcPho).fourMomentum().e());
4138  p_eResVsEt_[2][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4139  p_eResVsNVtx_[2][2]->Fill(float(vtxH->size()), photonE / (*mcPho).fourMomentum().e());
4140  p_sigmaEoEVsEt_[2][2]->Fill((*mcPho).fourMomentum().et(), sigmaEoE);
4141  p_sigmaEoEVsNVtx_[2][2]->Fill(float(vtxH->size()), sigmaEoE);
4142 
4143  if (!isRunCentrally_) {
4144  h2_eResVsEt_[2][2]->Fill((*mcPho).fourMomentum().et(), photonE / (*mcPho).fourMomentum().e());
4145  h_EtR9Less093_[0][2]->Fill(photonEt);
4146  }
4147  }
4148  }
4149 
4151  if (fName_ == "pfPhotonValidator") {
4152  float SumPtIsoValCh = 0.;
4153  float SumPtIsoValNh = 0.;
4154  float SumPtIsoValPh = 0.;
4155 
4156  float SumPtIsoValCleanCh = 0.;
4157  float SumPtIsoValCleanNh = 0.;
4158  float SumPtIsoValCleanPh = 0.;
4159 
4160  for (unsigned int lCand = 0; lCand < pfCandidateHandle->size(); lCand++) {
4161  reco::PFCandidateRef pfCandRef(reco::PFCandidateRef(pfCandidateHandle, lCand));
4162  float dR = deltaR(matchingPho->eta(), matchingPho->phi(), pfCandRef->eta(), pfCandRef->phi());
4163  if (dR < 0.4) {
4165  reco::PFCandidate::ParticleType type = pfCandRef->particleId();
4166  if (type == reco::PFCandidate::e)
4167  continue;
4168  if (type == reco::PFCandidate::gamma && pfCandRef->mva_nothing_gamma() > 0.)
4169  continue;
4170 
4171  if (type == reco::PFCandidate::h) {
4172  SumPtIsoValCh += pfCandRef->pt();
4174  if (phoIsInBarrel)
4176  else
4178  }
4179  if (type == reco::PFCandidate::h0) {
4180  SumPtIsoValNh += pfCandRef->pt();
4182  if (phoIsInBarrel)
4184  else
4186  }
4187  if (type == reco::PFCandidate::gamma) {
4188  SumPtIsoValPh += pfCandRef->pt();
4190  if (phoIsInBarrel)
4192  else
4194  }
4196  bool skip = false;
4197  for (std::vector<reco::PFCandidateRef>::const_iterator i = phoToParticleBasedIsoMap[matchingPho].begin();
4198  i != phoToParticleBasedIsoMap[matchingPho].end();
4199  ++i) {
4200  if ((*i) == pfCandRef) {
4201  skip = true;
4202  }
4203  } // loop over the PFCandidates flagged as overlapping with the photon
4204 
4205  if (skip)
4206  continue;
4207  if (type == reco::PFCandidate::h) {
4208  SumPtIsoValCleanCh += pfCandRef->pt();
4210  if (phoIsInBarrel)
4212  else
4214  }
4215  if (type == reco::PFCandidate::h0) {
4216  SumPtIsoValCleanNh += pfCandRef->pt();
4218  if (phoIsInBarrel)
4220  else
4222  }
4223  if (type == reco::PFCandidate::gamma) {
4224  SumPtIsoValCleanPh += pfCandRef->pt();
4226  if (phoIsInBarrel)
4228  else
4230  }
4231 
4232  } // dr=0.4
4233  } // loop over all PF Candidates
4234 
4235  h_SumPtOverPhoPt_ChHad_Cleaned_[0]->Fill(SumPtIsoValCleanCh / matchingPho->pt());
4236  h_SumPtOverPhoPt_NeuHad_Cleaned_[0]->Fill(SumPtIsoValCleanNh / matchingPho->pt());
4237  h_SumPtOverPhoPt_Pho_Cleaned_[0]->Fill(SumPtIsoValCleanPh / matchingPho->pt());
4238  h_SumPtOverPhoPt_ChHad_unCleaned_[0]->Fill(SumPtIsoValCh / matchingPho->pt());
4239  h_SumPtOverPhoPt_NeuHad_unCleaned_[0]->Fill(SumPtIsoValNh / matchingPho->pt());
4240  h_SumPtOverPhoPt_Pho_unCleaned_[0]->Fill(SumPtIsoValPh / matchingPho->pt());
4241  if (phoIsInBarrel) {
4242  h_SumPtOverPhoPt_ChHad_Cleaned_[1]->Fill(SumPtIsoValCleanCh / matchingPho->pt());
4243  h_SumPtOverPhoPt_NeuHad_Cleaned_[1]->Fill(SumPtIsoValCleanNh / matchingPho->pt());
4244  h_SumPtOverPhoPt_Pho_Cleaned_[1]->Fill(SumPtIsoValCleanPh / matchingPho->pt());
4245  h_SumPtOverPhoPt_ChHad_unCleaned_[1]->Fill(SumPtIsoValCh / matchingPho->pt());
4246  h_SumPtOverPhoPt_NeuHad_unCleaned_[1]->Fill(SumPtIsoValNh / matchingPho->pt());
4247  h_SumPtOverPhoPt_Pho_unCleaned_[1]->Fill(SumPtIsoValPh / matchingPho->pt());
4248  } else {
4249  h_SumPtOverPhoPt_ChHad_Cleaned_[2]->Fill(SumPtIsoValCleanCh / matchingPho->pt());
4250  h_SumPtOverPhoPt_NeuHad_Cleaned_[2]->Fill(SumPtIsoValCleanNh / matchingPho->pt());
4251  h_SumPtOverPhoPt_Pho_Cleaned_[2]->Fill(SumPtIsoValCleanPh / matchingPho->pt());
4252  h_SumPtOverPhoPt_ChHad_unCleaned_[2]->Fill(SumPtIsoValCh / matchingPho->pt());
4253  h_SumPtOverPhoPt_NeuHad_unCleaned_[2]->Fill(SumPtIsoValNh / matchingPho->pt());
4254  h_SumPtOverPhoPt_Pho_unCleaned_[2]->Fill(SumPtIsoValPh / matchingPho->pt());
4255  }
4256 
4257  } // only for pfPhotonValidator
4258 
4259  if (!(visibleConversion && visibleConversionsWithTwoSimTracks))
4260  continue;
4261 
4262  if (!isRunCentrally_) {
4263  h_r9_[1][0]->Fill(r9);
4264  if (phoIsInBarrel)
4265  h_r9_[1][1]->Fill(r9);
4266  if (phoIsInEndcap)
4267  h_r9_[1][2]->Fill(r9);
4268 
4270  if (fabs(mcEta_) <= 1.) {
4273  } else
4275  }
4276 
4277  if (!fastSim_) {
4279  reco::ConversionRefVector conversions = matchingPho->conversions();
4280  bool atLeastOneRecoTwoTrackConversion = false;
4281  for (unsigned int iConv = 0; iConv < conversions.size(); iConv++) {
4282  reco::ConversionRef aConv = conversions[iConv];
4283  double like = aConv->MVAout();
4284  if (like < likelihoodCut_)
4285  continue;
4286 
4287  if (!isRunCentrally_)
4288  h2_EoverEtrueVsEta_[1]->Fill(mcEta_, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4289  p_EoverEtrueVsEta_[1]->Fill(mcEta_, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4290 
4291  //std::vector<reco::TrackRef> tracks = aConv->tracks();
4292  const std::vector<edm::RefToBase<reco::Track> > tracks = aConv->tracks();
4293  if (tracks.size() < 2)
4294  continue;
4295  atLeastOneRecoTwoTrackConversion = true;
4296 
4297  h_mvaOut_[0]->Fill(like);
4298 
4299  if (tracks.size() == 2) {
4300  if (sqrt(aConv->tracksPin()[0].Perp2()) < convTrackMinPtCut_ ||
4301  sqrt(aConv->tracksPin()[1].Perp2()) < convTrackMinPtCut_)
4302  continue;
4303  }
4304 
4305  if (dCotCutOn_) {
4306  if ((fabs(mcEta_) > 1.1 && fabs(mcEta_) < 1.4) && fabs(aConv->pairCotThetaSeparation()) > dCotHardCutValue_)
4307  continue;
4308  if (fabs(aConv->pairCotThetaSeparation()) > dCotCutValue_)
4309  continue;
4310  }
4311 
4312  nRecConv_++;
4313 
4314  std::map<const reco::Track*, TrackingParticleRef> myAss;
4315  std::map<const reco::Track*, TrackingParticleRef>::const_iterator itAss;
4316  std::map<reco::TrackRef, TrackingParticleRef>::const_iterator itAssMin;
4317  std::map<reco::TrackRef, TrackingParticleRef>::const_iterator itAssMax;
4318  //
4319 
4320  int nAssT2 = 0;
4321  for (unsigned int i = 0; i < tracks.size(); i++) {
4322  // reco::TrackRef track = tracks[i].castTo<reco::TrackRef>();
4323 
4324  type = 0;
4325  if (!isRunCentrally_)
4326  nHitsVsEta_[type]->Fill(mcEta_, float(tracks[i]->numberOfValidHits()) - 0.0001);
4327  if (!isRunCentrally_)
4328  nHitsVsR_[type]->Fill(mcConvR_, float(tracks[i]->numberOfValidHits()) - 0.0001);
4329  p_nHitsVsEta_[type]->Fill(mcEta_, float(tracks[i]->numberOfValidHits() - 0.0001));
4330  p_nHitsVsR_[type]->Fill(mcConvR_, float(tracks[i]->numberOfValidHits() - 0.0001));
4332 
4335  tc.push_back(tfrb);
4336  // reco::RecoToSimCollection q = trackAssociator->associateRecoToSim(tc,theConvTP_);
4337  reco::SimToRecoCollection q = trackAssociator->associateSimToReco(tc, theConvTP_);
4338  std::vector<std::pair<RefToBase<reco::Track>, double> > trackV;
4339  int tpI = 0;
4340 
4341  if (q.find(theConvTP_[0]) != q.end()) {
4342  trackV = (std::vector<std::pair<RefToBase<reco::Track>, double> >)q[theConvTP_[0]];
4343  } else if (q.find(theConvTP_[1]) != q.end()) {
4344  trackV = (std::vector<std::pair<RefToBase<reco::Track>, double> >)q[theConvTP_[1]];
4345  tpI = 1;
4346  }
4347 
4348  if (trackV.empty())
4349  continue;
4350  edm::RefToBase<reco::Track> tr = trackV.front().first;
4351  myAss.insert(std::make_pair(tr.get(), theConvTP_[tpI]));
4352  nAssT2++;
4353  }
4354 
4355  type = 0;
4356 
4357  // float totP = sqrt(aConv->pairMomentum().Mag2());
4358  float refP = -99999.;
4359  float refPt = -99999.;
4360  if (aConv->conversionVertex().isValid()) {
4361  refP = sqrt(aConv->refittedPairMomentum().Mag2());
4362  refPt = sqrt(aConv->refittedPairMomentum().perp2());
4363  }
4364  float invM = aConv->pairInvariantMass();
4365 
4366  h_invMass_[type][0]->Fill(invM);
4367  if (phoIsInBarrel)
4368  h_invMass_[type][1]->Fill(invM);
4369  if (phoIsInEndcap)
4370  h_invMass_[type][2]->Fill(invM);
4371 
4373  if (tracks.size() == 2) {
4378  h_SimConvTwoTracks_[4]->Fill((*mcPho).fourMomentum().et());
4379 
4380  if (!aConv->caloCluster().empty())
4381  h_convEta_[1]->Fill(aConv->caloCluster()[0]->eta());
4382 
4383  float trkProvenance = 3;
4384  if (tracks[0]->algoName() == "outInEcalSeededConv" && tracks[1]->algoName() == "outInEcalSeededConv")
4385  trkProvenance = 0;
4386  if (tracks[0]->algoName() == "inOutEcalSeededConv" && tracks[1]->algoName() == "inOutEcalSeededConv")
4387  trkProvenance = 1;
4388  if ((tracks[0]->algoName() == "outInEcalSeededConv" && tracks[1]->algoName() == "inOutEcalSeededConv") ||
4389  (tracks[1]->algoName() == "outInEcalSeededConv" && tracks[0]->algoName() == "inOutEcalSeededConv"))
4390  trkProvenance = 2;
4391  if (trkProvenance == 3) {
4392  }
4393  h_trkProv_[0]->Fill(trkProvenance);
4394  h_trkAlgo_->Fill(tracks[0]->algo());
4395  h_trkAlgo_->Fill(tracks[1]->algo());
4396  h_convAlgo_->Fill(aConv->algo());
4397 
4399  if (nAssT2 == 2) {
4400  if (!isRunCentrally_) {
4401  h_r9_[2][0]->Fill(r9);
4402  if (phoIsInBarrel)
4403  h_r9_[2][1]->Fill(r9);
4404  if (phoIsInEndcap)
4405  h_r9_[2][2]->Fill(r9);
4406  }
4407 
4408  if (!aConv->caloCluster().empty())
4409  h_convEta_[2]->Fill(aConv->caloCluster()[0]->eta());
4410  nRecConvAss_++;
4411 
4416  h_SimConvTwoMTracks_[4]->Fill((*mcPho).fourMomentum().et());
4417 
4418  if (aConv->conversionVertex().isValid()) {
4419  float chi2Prob =
4420  ChiSquaredProbability(aConv->conversionVertex().chi2(), aConv->conversionVertex().ndof());
4421  if (chi2Prob > 0) {
4426  h_SimConvTwoMTracksAndVtxPGT0_[4]->Fill((*mcPho).fourMomentum().et());
4427  }
4428  if (chi2Prob > 0.0005) {
4433  h_SimConvTwoMTracksAndVtxPGT0005_[4]->Fill((*mcPho).fourMomentum().et());
4434  }
4435 
4436  if (chi2Prob > 0.0005) {
4437  if (!aConv->caloCluster().empty()) {
4438  h_convEta_[0]->Fill(aConv->caloCluster()[0]->eta());
4439  h_convPhi_[0]->Fill(aConv->caloCluster()[0]->phi());
4440  h_convERes_[0][0]->Fill(aConv->caloCluster()[0]->energy() / (*mcPho).fourMomentum().e());
4441  }
4442  if (!isRunCentrally_) {
4443  h_r9VsNofTracks_[0][0]->Fill(r9, aConv->nTracks());
4444  h_EtR9Less093_[1][0]->Fill(photonEt);
4445  if (phoIsInBarrel)
4446  h_EtR9Less093_[1][1]->Fill(photonEt);
4447  if (phoIsInEndcap)
4448  h_EtR9Less093_[1][2]->Fill(photonEt);
4449  }
4450  if (phoIsInBarrel) {
4451  if (!aConv->caloCluster().empty())
4452  h_convERes_[0][1]->Fill(aConv->caloCluster()[0]->energy() / (*mcPho).fourMomentum().e());
4453  if (!isRunCentrally_)
4454  h_r9VsNofTracks_[0][1]->Fill(r9, aConv->nTracks());
4455  h_mvaOut_[1]->Fill(like);
4456  }
4457  if (phoIsInEndcap) {
4458  if (!aConv->caloCluster().empty())
4459  h_convERes_[0][2]->Fill(aConv->caloCluster()[0]->energy() / (*mcPho).fourMomentum().e());
4460  if (!isRunCentrally_)
4461  h_r9VsNofTracks_[0][2]->Fill(r9, aConv->nTracks());
4462  h_mvaOut_[2]->Fill(like);
4463  }
4464  }
4465  }
4466 
4468  type = 1;
4469 
4470  h_trkProv_[1]->Fill(trkProvenance);
4471  h_invMass_[type][0]->Fill(invM);
4472 
4473  float eoverp = -99999.;
4474 
4475  if (aConv->conversionVertex().isValid()) {
4476  eoverp = photonE / sqrt(aConv->refittedPairMomentum().Mag2());
4477  //eoverp= aConv->EoverPrefittedTracks();
4478  h_convPtRes_[type][0]->Fill(refPt / (*mcPho).fourMomentum().et());
4479  h_EoverPTracks_[type][0]->Fill(eoverp);
4480  h_PoverETracks_[type][0]->Fill(1. / eoverp);
4481  if (!isRunCentrally_)
4482  h2_EoverEtrueVsEoverP_[0]->Fill(eoverp,
4483  matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4484  if (!isRunCentrally_)
4485  h2_PoverPtrueVsEoverP_[0]->Fill(eoverp, refP / (*mcPho).fourMomentum().e());
4486  if (!isRunCentrally_)
4487  h2_EoverPVsEta_[0]->Fill(mcEta_, eoverp);
4488  if (!isRunCentrally_)
4489  h2_EoverPVsR_[0]->Fill(mcConvR_, eoverp);
4490  p_EoverPVsEta_[0]->Fill(mcEta_, eoverp);
4491  p_EoverPVsR_[0]->Fill(mcConvR_, eoverp);
4492  p_eResVsR_->Fill(mcConvR_, photonE / (*mcPho).fourMomentum().e());
4493  if (!isRunCentrally_)
4494  h2_PoverPtrueVsEta_[0]->Fill(mcEta_, refP / (*mcPho).fourMomentum().e());
4495  p_PoverPtrueVsEta_[0]->Fill(mcEta_, refP / (*mcPho).fourMomentum().e());
4496  }
4497 
4498  if (!isRunCentrally_)
4500  matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4501  if (!isRunCentrally_)
4503  matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4504  p_EoverEtrueVsEta_[0]->Fill(mcEta_, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4505  p_EoverEtrueVsR_[0]->Fill(mcConvR_, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4506 
4507  if (!isRunCentrally_)
4509 
4510  // here original tracks and their inner momentum is considered
4511  float dPhiTracksAtVtx = aConv->dPhiTracksAtVtx();
4512  h_DPhiTracksAtVtx_[type][0]->Fill(dPhiTracksAtVtx);
4513  if (!isRunCentrally_)
4514  h2_DPhiTracksAtVtxVsEta_->Fill(mcEta_, dPhiTracksAtVtx);
4515  if (!isRunCentrally_)
4516  h2_DPhiTracksAtVtxVsR_->Fill(mcConvR_, dPhiTracksAtVtx);
4517  p_DPhiTracksAtVtxVsEta_->Fill(mcEta_, dPhiTracksAtVtx);
4518  p_DPhiTracksAtVtxVsR_->Fill(mcConvR_, dPhiTracksAtVtx);
4519 
4520  h_DCotTracks_[type][0]->Fill(aConv->pairCotThetaSeparation());
4521  if (!isRunCentrally_)
4522  h2_DCotTracksVsEta_->Fill(mcEta_, aConv->pairCotThetaSeparation());
4523  if (!isRunCentrally_)
4524  h2_DCotTracksVsR_->Fill(mcConvR_, aConv->pairCotThetaSeparation());
4525  p_DCotTracksVsEta_->Fill(mcEta_, aConv->pairCotThetaSeparation());
4526  p_DCotTracksVsR_->Fill(mcConvR_, aConv->pairCotThetaSeparation());
4527 
4528  if (phoIsInBarrel) {
4529  h_invMass_[type][1]->Fill(invM);
4530  if (aConv->conversionVertex().isValid()) {
4531  h_convPtRes_[type][1]->Fill(refPt / (*mcPho).fourMomentum().et());
4532  h_EoverPTracks_[type][1]->Fill(eoverp);
4533  if (mcConvR_ < 15)
4534  h_EoverPTracks_[0][0]->Fill(eoverp);
4535  if (mcConvR_ > 15 && mcConvR_ < 58)
4536  h_EoverPTracks_[0][1]->Fill(eoverp);
4537  if (mcConvR_ > 58)
4538  h_EoverPTracks_[0][2]->Fill(eoverp);
4539  h_PoverETracks_[type][1]->Fill(1. / eoverp);
4540  if (!isRunCentrally_)
4542  eoverp, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4543  if (!isRunCentrally_)
4544  h2_PoverPtrueVsEoverP_[1]->Fill(eoverp, refP / (*mcPho).fourMomentum().e());
4545  }
4546  h_DPhiTracksAtVtx_[type][1]->Fill(dPhiTracksAtVtx);
4547  h_DCotTracks_[type][1]->Fill(aConv->pairCotThetaSeparation());
4548  }
4549 
4550  if (phoIsInEndcap) {
4551  h_invMass_[type][2]->Fill(invM);
4552  if (aConv->conversionVertex().isValid()) {
4553  h_convPtRes_[type][2]->Fill(refPt / (*mcPho).fourMomentum().et());
4554  h_EoverPTracks_[type][2]->Fill(eoverp);
4555  h_PoverETracks_[type][2]->Fill(1. / eoverp);
4556  if (!isRunCentrally_)
4558  eoverp, matchingPho->superCluster()->energy() / (*mcPho).fourMomentum().e());
4559  if (!isRunCentrally_)
4560  h2_PoverPtrueVsEoverP_[2]->Fill(eoverp, refP / (*mcPho).fourMomentum().e());
4561  }
4562  h_DPhiTracksAtVtx_[type][2]->Fill(dPhiTracksAtVtx);
4563  h_DCotTracks_[type][2]->Fill(aConv->pairCotThetaSeparation());
4564  }
4565 
4566  if (aConv->conversionVertex().isValid()) {
4567  h_convVtxdX_->Fill(aConv->conversionVertex().position().x() - mcConvX_);
4568  h_convVtxdY_->Fill(aConv->conversionVertex().position().y() - mcConvY_);
4569  h_convVtxdZ_->Fill(aConv->conversionVertex().position().z() - mcConvZ_);
4570  h_convVtxdR_->Fill(sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4571 
4572  if (fabs(mcConvEta_) <= 1.2) {
4573  h_convVtxdX_barrel_->Fill(aConv->conversionVertex().position().x() - mcConvX_);
4574  h_convVtxdY_barrel_->Fill(aConv->conversionVertex().position().y() - mcConvY_);
4575  h_convVtxdZ_barrel_->Fill(aConv->conversionVertex().position().z() - mcConvZ_);
4576  h_convVtxdR_barrel_->Fill(sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4577  } else {
4578  h_convVtxdX_endcap_->Fill(aConv->conversionVertex().position().x() - mcConvX_);
4579  h_convVtxdY_endcap_->Fill(aConv->conversionVertex().position().y() - mcConvY_);
4580  h_convVtxdZ_endcap_->Fill(aConv->conversionVertex().position().z() - mcConvZ_);
4581  h_convVtxdR_endcap_->Fill(sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4582  }
4583 
4584  h_convVtxdPhi_->Fill(aConv->conversionVertex().position().phi() - mcConvPhi_);
4585  h_convVtxdEta_->Fill(aConv->conversionVertex().position().eta() - mcConvEta_);
4586  if (!isRunCentrally_)
4587  h2_convVtxdRVsR_->Fill(mcConvR_, sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4588  if (!isRunCentrally_)
4589  h2_convVtxdRVsEta_->Fill(mcEta_, sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4590  p_convVtxdRVsR_->Fill(mcConvR_, sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4591  p_convVtxdRVsEta_->Fill(mcEta_, sqrt(aConv->conversionVertex().position().perp2()) - mcConvR_);
4592  float signX = aConv->refittedPairMomentum().x() / fabs(aConv->refittedPairMomentum().x());
4593  float signY = aConv->refittedPairMomentum().y() / fabs(aConv->refittedPairMomentum().y());
4594  float signZ = aConv->refittedPairMomentum().z() / fabs(aConv->refittedPairMomentum().z());
4595  p_convVtxdXVsX_->Fill(mcConvX_, (aConv->conversionVertex().position().x() - mcConvX_) * signX);
4596  p_convVtxdYVsY_->Fill(mcConvY_, (aConv->conversionVertex().position().y() - mcConvY_) * signY);
4597  p_convVtxdZVsZ_->Fill(mcConvZ_, (aConv->conversionVertex().position().z() - mcConvZ_) * signZ);
4598 
4599  if (!isRunCentrally_)
4600  h2_convVtxRrecVsTrue_->Fill(mcConvR_, sqrt(aConv->conversionVertex().position().perp2()));
4601 
4602  //float zPV = aConv->zOfPrimaryVertexFromTracks();
4603  float thetaConv = aConv->refittedPairMomentum().Theta();
4604  float thetaSC = matchingPho->superCluster()->position().theta();
4605  float rSC =
4606  sqrt(matchingPho->superCluster()->position().x() * matchingPho->superCluster()->position().x() +
4607  matchingPho->superCluster()->position().y() * matchingPho->superCluster()->position().y());
4608  float zSC = matchingPho->superCluster()->position().z();
4609  float zPV = sqrt(rSC * rSC + zSC * zSC) * sin(thetaConv - thetaSC) / sin(thetaConv);
4610 
4611  h_zPVFromTracks_[0]->Fill(zPV);
4612  h_dzPVFromTracks_[0]->Fill(zPV - (*mcPho).primaryVertex().z());
4613 
4614  if (phoIsInBarrel) {
4615  h_zPVFromTracks_[1]->Fill(zPV);
4616  h_dzPVFromTracks_[1]->Fill(zPV - (*mcPho).primaryVertex().z());
4617  } else if (phoIsInEndcap) {
4618  h_zPVFromTracks_[2]->Fill(zPV);
4619  h_dzPVFromTracks_[2]->Fill(zPV - (*mcPho).primaryVertex().z());
4620  } else if (phoIsInEndcapP) {
4621  h_zPVFromTracks_[3]->Fill(zPV);
4622  h_dzPVFromTracks_[3]->Fill(zPV - (*mcPho).primaryVertex().z());
4623  } else if (phoIsInEndcapM) {
4624  h_zPVFromTracks_[4]->Fill(zPV);
4625  h_dzPVFromTracks_[4]->Fill(zPV - (*mcPho).primaryVertex().z());
4626  }
4627 
4628  p_dzPVVsR_->Fill(mcConvR_, zPV - (*mcPho).primaryVertex().z());
4629  p_dzPVVsEta_->Fill(mcConvEta_, zPV - (*mcPho).primaryVertex().z());
4630  if (!isRunCentrally_)
4631  h2_dzPVVsR_->Fill(mcConvR_, zPV - (*mcPho).primaryVertex().z());
4632  }
4633 
4634  float dPhiTracksAtEcal = -99;
4635  float dEtaTracksAtEcal = -99;
4636  if (!aConv->bcMatchingWithTracks().empty() && aConv->bcMatchingWithTracks()[0].isNonnull() &&
4637  aConv->bcMatchingWithTracks()[1].isNonnull()) {
4639  float recoPhi1 = aConv->ecalImpactPosition()[0].phi();
4640  float recoPhi2 = aConv->ecalImpactPosition()[1].phi();
4641  float recoEta1 = aConv->ecalImpactPosition()[0].eta();
4642  float recoEta2 = aConv->ecalImpactPosition()[1].eta();
4643  // unused float bcPhi1 = aConv->bcMatchingWithTracks()[0]->phi();
4644  // unused float bcPhi2 = aConv->bcMatchingWithTracks()[1]->phi();
4645  // unused float bcEta1 = aConv->bcMatchingWithTracks()[0]->eta();
4646  // unused float bcEta2 = aConv->bcMatchingWithTracks()[1]->eta();
4647  recoPhi1 = phiNormalization(recoPhi1);
4648  recoPhi2 = phiNormalization(recoPhi2);
4649  dPhiTracksAtEcal = recoPhi1 - recoPhi2;
4650  dPhiTracksAtEcal = phiNormalization(dPhiTracksAtEcal);
4651  dEtaTracksAtEcal = recoEta1 - recoEta2;
4652 
4653  h_DPhiTracksAtEcal_[type][0]->Fill(fabs(dPhiTracksAtEcal));
4654  if (!isRunCentrally_)
4655  h2_DPhiTracksAtEcalVsR_->Fill(mcConvR_, fabs(dPhiTracksAtEcal));
4656  if (!isRunCentrally_)
4657  h2_DPhiTracksAtEcalVsEta_->Fill(mcEta_, fabs(dPhiTracksAtEcal));
4658  p_DPhiTracksAtEcalVsR_->Fill(mcConvR_, fabs(dPhiTracksAtEcal));
4659  p_DPhiTracksAtEcalVsEta_->Fill(mcEta_, fabs(dPhiTracksAtEcal));
4660 
4661  h_DEtaTracksAtEcal_[type][0]->Fill(dEtaTracksAtEcal);
4662 
4663  if (phoIsInBarrel) {
4664  h_DPhiTracksAtEcal_[type][1]->Fill(fabs(dPhiTracksAtEcal));
4665  h_DEtaTracksAtEcal_[type][1]->Fill(dEtaTracksAtEcal);
4666  }
4667  if (phoIsInEndcap) {
4668  h_DPhiTracksAtEcal_[type][2]->Fill(fabs(dPhiTracksAtEcal));
4669  h_DEtaTracksAtEcal_[type][2]->Fill(dEtaTracksAtEcal);
4670  }
4671  }
4673  for (unsigned int i = 0; i < tracks.size(); i++) {
4675  itAss = myAss.find(tfrb.get());
4676  if (itAss == myAss.end())
4677  continue;
4678 
4679  float trkProvenance = 3;
4680  if (tracks[0]->algoName() == "outInEcalSeededConv" && tracks[1]->algoName() == "outInEcalSeededConv")
4681  trkProvenance = 0;
4682  if (tracks[0]->algoName() == "inOutEcalSeededConv" && tracks[1]->algoName() == "inOutEcalSeededConv")
4683  trkProvenance = 1;
4684  if ((tracks[0]->algoName() == "outInEcalSeededConv" &&
4685  tracks[1]->algoName() == "inOutEcalSeededConv") ||
4686  (tracks[1]->algoName() == "outInEcalSeededConv" && tracks[0]->algoName() == "inOutEcalSeededConv"))
4687  trkProvenance = 2;
4688 
4689  if (!isRunCentrally_)
4691  if (!isRunCentrally_)
4693  p_nHitsVsEta_[type]->Fill(mcEta_, float(tracks[i]->numberOfValidHits()) - 0.0001);
4694  p_nHitsVsR_[type]->Fill(mcConvR_, float(tracks[i]->numberOfValidHits()) - 0.0001);
4697  if (!isRunCentrally_)
4699  if (!isRunCentrally_)
4703 
4704  float simPt = sqrt(((*itAss).second)->momentum().perp2());
4705  // float recPt = sqrt( aConv->tracks()[i]->innerMomentum().Perp2() ) ;
4706  float refPt = -9999.;
4707  float px = 0, py = 0;
4708 
4709  if (aConv->conversionVertex().isValid()) {
4710  reco::Track refTrack = aConv->conversionVertex().refittedTracks()[i];
4711  px = refTrack.momentum().x();
4712  py = refTrack.momentum().y();
4713  refPt = sqrt(px * px + py * py);
4714 
4715  float ptres = refPt - simPt;
4716  // float pterror = aConv->tracks()[i]->ptError();
4717  float pterror = aConv->conversionVertex().refittedTracks()[i].ptError();
4718  if (!isRunCentrally_) {
4719  h2_PtRecVsPtSim_[0]->Fill(simPt, refPt);
4720  if (trkProvenance == 3)
4721  h2_PtRecVsPtSimMixProv_->Fill(simPt, refPt);
4722  }
4723 
4724  h_TkPtPull_[0]->Fill(ptres / pterror);
4725  if (!isRunCentrally_)
4726  h2_TkPtPull_[0]->Fill(mcEta_, ptres / pterror);
4727 
4728  h_TkD0_[0]->Fill(tracks[i]->d0() * tracks[i]->charge());
4729 
4730  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator" )
4731  if (!aConv->bcMatchingWithTracks().empty() && aConv->bcMatchingWithTracks()[i].isNonnull())
4732  hBCEnergyOverTrackPout_[0]->Fill(aConv->bcMatchingWithTracks()[i]->energy() /
4733  sqrt(aConv->tracks()[i]->outerMomentum().Mag2()));
4734 
4735  if (phoIsInBarrel) {
4736  h_TkD0_[1]->Fill(tracks[i]->d0() * tracks[i]->charge());
4737  h_TkPtPull_[1]->Fill(ptres / pterror);
4738  if (!isRunCentrally_)
4739  h2_PtRecVsPtSim_[1]->Fill(simPt, refPt);
4740  //if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
4741  if (!aConv->bcMatchingWithTracks().empty() && aConv->bcMatchingWithTracks()[i].isNonnull())
4742  hBCEnergyOverTrackPout_[1]->Fill(aConv->bcMatchingWithTracks()[i]->energy() /
4743  sqrt(aConv->tracks()[i]->outerMomentum().Mag2()));
4744  }
4745  if (phoIsInEndcap) {
4746  h_TkD0_[2]->Fill(tracks[i]->d0() * tracks[i]->charge());
4747  h_TkPtPull_[2]->Fill(ptres / pterror);
4748  if (!isRunCentrally_)
4749  h2_PtRecVsPtSim_[2]->Fill(simPt, refPt);
4750  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
4751  if (!aConv->bcMatchingWithTracks().empty() && aConv->bcMatchingWithTracks()[i].isNonnull())
4752  hBCEnergyOverTrackPout_[2]->Fill(aConv->bcMatchingWithTracks()[i]->energy() /
4753  sqrt(aConv->tracks()[i]->outerMomentum().Mag2()));
4754  }
4755  }
4756 
4757  } // end loop over track
4758  } // end analysis of two associated tracks
4759  } // end analysis of two tracks
4760 
4761  } // loop over conversions
4762 
4764 
4765  reco::ConversionRefVector conversionsOneLeg = matchingPho->conversionsOneLeg();
4766  if (!atLeastOneRecoTwoTrackConversion) {
4767  for (unsigned int iConv = 0; iConv < conversionsOneLeg.size(); iConv++) {
4768  reco::ConversionRef aConv = conversionsOneLeg[iConv];
4769  const std::vector<edm::RefToBase<reco::Track> > tracks = aConv->tracks();
4770 
4771  h_trkAlgo_->Fill(tracks[0]->algo());
4772  h_convAlgo_->Fill(aConv->algo());
4773 
4774  int nAssT = 0;
4775  std::map<const reco::Track*, TrackingParticleRef> myAss;
4776  for (unsigned int i = 0; i < tracks.size(); i++) {
4777  p_nHitsVsEtaSL_[0]->Fill(mcEta_, float(tracks[0]->numberOfValidHits() - 0.0001));
4778  p_nHitsVsRSL_[0]->Fill(mcConvR_, float(tracks[0]->numberOfValidHits() - 0.0001));
4780 
4781  float eoverp = photonE / tracks[0]->p();
4782  h_EoverP_SL_[0]->Fill(eoverp);
4783  if (phoIsInBarrel) {
4784  h_EoverP_SL_[1]->Fill(eoverp);
4785  } else {
4786  h_EoverP_SL_[2]->Fill(eoverp);
4787  }
4788  h_convSLVtxRvsZ_[0]->Fill(tracks[0]->innerPosition().z(), sqrt(tracks[0]->innerPosition().Perp2()));
4789  if (fabs(mcEta_) <= 1.) {
4790  h_convSLVtxRvsZ_[1]->Fill(tracks[0]->innerPosition().z(), sqrt(tracks[0]->innerPosition().Perp2()));
4791  } else {
4792  h_convSLVtxRvsZ_[2]->Fill(tracks[0]->innerPosition().z(), sqrt(tracks[0]->innerPosition().Perp2()));
4793  }
4794 
4797  tc.push_back(tfrb);
4798  reco::SimToRecoCollection q = trackAssociator->associateSimToReco(tc, theConvTP_);
4799  std::vector<std::pair<RefToBase<reco::Track>, double> > trackV;
4800  int tpI = 0;
4801 
4802  if (q.find(theConvTP_[0]) != q.end()) {
4803  trackV = (std::vector<std::pair<RefToBase<reco::Track>, double> >)q[theConvTP_[0]];
4804  } else if (q.find(theConvTP_[1]) != q.end()) {
4805  trackV = (std::vector<std::pair<RefToBase<reco::Track>, double> >)q[theConvTP_[1]];
4806  tpI = 1;
4807  }
4808 
4809  if (trackV.empty())
4810  continue;
4811  edm::RefToBase<reco::Track> tr = trackV.front().first;
4812  myAss.insert(std::make_pair(tr.get(), theConvTP_[tpI]));
4813  nAssT++;
4814  }
4815 
4816  if (nAssT > 0) {
4821  h_SimConvOneMTracks_[4]->Fill((*mcPho).fourMomentum().et());
4822  }
4823  } // End loop over single leg conversions
4824  }
4825 
4826  } // if !fastSim
4827  } // End loop over generated particles
4828  } // End loop over simulated Photons
4829 
4830  if (!isRunCentrally_) {
4831  h_nSimPho_[0]->Fill(float(nSimPho_[0]));
4832  h_nSimPho_[1]->Fill(float(nSimPho_[1]));
4833  h_nSimConv_[0]->Fill(float(nSimConv_[0]));
4834  h_nSimConv_[1]->Fill(float(nSimConv_[1]));
4835  }
4836 
4837  if (!fastSim_) {
4839  for (reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end();
4840  iPho++) {
4841  reco::Photon aPho = reco::Photon(*iPho);
4842  // float et= aPho.superCluster()->energy()/cosh( aPho.superCluster()->eta()) ;
4844  for (unsigned int iConv = 0; iConv < conversions.size(); iConv++) {
4845  reco::ConversionRef aConv = conversions[iConv];
4846  double like = aConv->MVAout();
4847  if (like < likelihoodCut_)
4848  continue;
4849  //std::vector<reco::TrackRef> tracks = aConv->tracks();
4850  const std::vector<edm::RefToBase<reco::Track> > tracks = aConv->tracks();
4851  if (tracks.size() < 2)
4852  continue;
4853 
4854  RefToBase<reco::Track> tk1 = aConv->tracks().front();
4855  RefToBase<reco::Track> tk2 = aConv->tracks().back();
4857  tc1.push_back(tk1);
4858  tc2.push_back(tk2);
4859 
4860  bool phoIsInBarrel = false;
4861  bool phoIsInEndcap = false;
4862  if (fabs(aPho.superCluster()->position().eta()) < 1.479) {
4863  phoIsInBarrel = true;
4864  } else {
4865  phoIsInEndcap = true;
4866  }
4867 
4868  if (dCotCutOn_) {
4869  if ((fabs(mcEta_) > 1.1 && fabs(mcEta_) < 1.4) && fabs(aConv->pairCotThetaSeparation()) > dCotHardCutValue_)
4870  continue;
4871  if (fabs(aConv->pairCotThetaSeparation()) > dCotCutValue_)
4872  continue;
4873  }
4874 
4875  h_RecoConvTwoTracks_[0]->Fill(aPho.eta());
4876  h_RecoConvTwoTracks_[1]->Fill(aPho.phi());
4877  if (aConv->conversionVertex().isValid())
4878  h_RecoConvTwoTracks_[2]->Fill(aConv->conversionVertex().position().perp2());
4879  h_RecoConvTwoTracks_[3]->Fill(aConv->conversionVertex().position().z());
4880  h_RecoConvTwoTracks_[4]->Fill(aPho.et());
4881 
4882  int nAssT2 = 0;
4883  for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
4884  // mcConvPt_= (*mcPho).fourMomentum().et();
4885  float mcPhi = (*mcPho).fourMomentum().phi();
4886  //simPV_Z = (*mcPho).primaryVertex().z();
4887  mcPhi_ = phiNormalization(mcPhi);
4888  mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
4889  mcEta_ = etaTransformation(mcEta_, (*mcPho).primaryVertex().z());
4890  //mcConvR_= (*mcPho).vertex().perp();
4891  //mcConvX_= (*mcPho).vertex().x();
4892  //mcConvY_= (*mcPho).vertex().y();
4893  //mcConvZ_= (*mcPho).vertex().z();
4894  //mcConvEta_= (*mcPho).vertex().eta();
4895  //mcConvPhi_= (*mcPho).vertex().phi();
4896  if (fabs(mcEta_) > END_HI)
4897  continue;
4898  // if (mcConvPt_<minPhoPtForPurity) continue;
4899  //if (fabs(mcEta_)>maxPhoEtaForPurity) continue;
4900  //if (fabs(mcConvZ_)>maxPhoZForPurity) continue;
4901  //if (mcConvR_>maxPhoRForEffic) continue;
4902 
4903  if ((*mcPho).isAConversion() != 1)
4904  continue;
4905  if (!((fabs(mcEta_) <= BARL && mcConvR_ < 85) ||
4906  (fabs(mcEta_) > BARL && fabs(mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210)))
4907  continue;
4908 
4909  theConvTP_.clear();
4910  for (size_t i = 0; i < trackingParticles.size(); ++i) {
4911  TrackingParticleRef tp(ElectronTPHandle, i);
4912  if (fabs(tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
4913  fabs(tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
4915  }
4916  }
4917 
4918  if (theConvTP_.size() < 2)
4919  continue;
4920 
4921  reco::RecoToSimCollection const& p1 = trackAssociator->associateRecoToSim(tc1, theConvTP_);
4922  reco::RecoToSimCollection const& p2 = trackAssociator->associateRecoToSim(tc2, theConvTP_);
4923  std::vector<std::pair<RefToBase<reco::Track>, double> > trackV1, trackV2;
4924 
4925  auto itP1 = p1.find(tk1);
4926  auto itP2 = p2.find(tk2);
4927  bool good = (itP1 != p1.end()) and (not itP1->val.empty()) and (itP2 != p2.end()) and (not itP2->val.empty());
4928  if (not good) {
4929  itP1 = p1.find(tk2);
4930  itP2 = p2.find(tk1);
4931  good = (itP1 != p1.end()) and (not itP1->val.empty()) and (itP2 != p2.end()) and (not itP2->val.empty());
4932  }
4933  if (good) {
4934  std::vector<std::pair<TrackingParticleRef, double> > const& tp1 = itP1->val;
4935  std::vector<std::pair<TrackingParticleRef, double> > const& tp2 = itP2->val;
4936 
4937  TrackingParticleRef tpr1 = tp1.front().first;
4938  TrackingParticleRef tpr2 = tp2.front().first;
4939 
4940  if (abs(tpr1->pdgId()) == 11 && abs(tpr2->pdgId()) == 11) {
4941  if ((tpr1->parentVertex()->sourceTracks_end() - tpr1->parentVertex()->sourceTracks_begin() == 1) &&
4942  (tpr2->parentVertex()->sourceTracks_end() - tpr2->parentVertex()->sourceTracks_begin() == 1)) {
4943  if (tpr1->parentVertex().key() == tpr2->parentVertex().key() &&
4944  ((*tpr1->parentVertex()->sourceTracks_begin())->pdgId() == 22)) {
4945  nAssT2 = 2;
4946  break;
4947  }
4948  }
4949  }
4950  }
4951 
4952  } // end loop over simulated photons
4953 
4954  if (nAssT2 == 2) {
4955  h_RecoConvTwoMTracks_[0]->Fill(aPho.eta());
4956  h_RecoConvTwoMTracks_[1]->Fill(aPho.phi());
4957  if (aConv->conversionVertex().isValid())
4958  h_RecoConvTwoMTracks_[2]->Fill(aConv->conversionVertex().position().perp2());
4959  h_RecoConvTwoMTracks_[3]->Fill(aConv->conversionVertex().position().z());
4960  h_RecoConvTwoMTracks_[4]->Fill(aPho.et());
4961  }
4962 
4964  if (aConv->conversionVertex().isValid()) {
4965  float chi2Prob = ChiSquaredProbability(aConv->conversionVertex().chi2(), aConv->conversionVertex().ndof());
4966  double convR = sqrt(aConv->conversionVertex().position().perp2());
4967  double scalar = aConv->conversionVertex().position().x() * aConv->pairMomentum().x() +
4968  aConv->conversionVertex().position().y() * aConv->pairMomentum().y();
4969 
4970  if (scalar < 0)
4971  convR = -sqrt(aConv->conversionVertex().position().perp2());
4972  h_convVtxRvsZ_[0]->Fill(fabs(aConv->conversionVertex().position().z()),
4973  sqrt(aConv->conversionVertex().position().perp2()));
4974 
4975  if (!aConv->caloCluster().empty()) {
4976  if (!isRunCentrally_)
4977  h2_etaVsRreco_[0]->Fill(aConv->caloCluster()[0]->eta(),
4978  sqrt(aConv->conversionVertex().position().perp2()));
4979  if (fabs(aConv->caloCluster()[0]->eta()) <= 1.) {
4980  h_convVtxYvsX_->Fill(aConv->conversionVertex().position().y(), aConv->conversionVertex().position().x());
4981  h_convVtxRvsZ_[1]->Fill(fabs(aConv->conversionVertex().position().z()), convR);
4982 
4983  if (!isRunCentrally_) {
4984  h_convVtxYvsX_zoom_[0]->Fill(aConv->conversionVertex().position().y(),
4985  aConv->conversionVertex().position().x());
4986  h_convVtxYvsX_zoom_[1]->Fill(aConv->conversionVertex().position().y(),
4987  aConv->conversionVertex().position().x());
4988  h_convVtxRvsZ_zoom_[0]->Fill(fabs(aConv->conversionVertex().position().z()), convR);
4989  h_convVtxRvsZ_zoom_[1]->Fill(fabs(aConv->conversionVertex().position().z()), convR);
4990  }
4991  }
4992  if (fabs(aConv->caloCluster()[0]->eta()) > 1.)
4993  h_convVtxRvsZ_[2]->Fill(fabs(aConv->conversionVertex().position().z()), convR);
4994  }
4995 
4996  h_vtxChi2Prob_[0]->Fill(chi2Prob);
4997  h_vtxChi2_[0]->Fill(aConv->conversionVertex().normalizedChi2());
4998  if (phoIsInBarrel) {
4999  h_vtxChi2Prob_[1]->Fill(chi2Prob);
5000  h_vtxChi2_[1]->Fill(aConv->conversionVertex().normalizedChi2());
5001  }
5002  if (phoIsInEndcap) {
5003  h_vtxChi2Prob_[2]->Fill(chi2Prob);
5004  h_vtxChi2_[2]->Fill(aConv->conversionVertex().normalizedChi2());
5005  }
5006 
5007  } // end conversion vertex valid
5008  } // end loop over reco conversions
5009  } // end loop on all reco photons
5010  } // if !fastSim
5011 
5013  float nPho = 0;
5014  for (reco::GenJetCollection::const_iterator genJetIter = genJetCollection.begin();
5015  genJetIter != genJetCollection.end();
5016  ++genJetIter) {
5017  if (genJetIter->pt() < minPhoEtCut_)
5018  continue;
5019  if (fabs(genJetIter->eta()) > 2.5)
5020  continue;
5021 
5022  float mcJetPhi = genJetIter->phi();
5023  mcJetPhi_ = phiNormalization(mcJetPhi);
5024  mcJetEta_ = genJetIter->eta();
5025  float mcJetPt = genJetIter->pt();
5026 
5027  h_SimJet_[0]->Fill(mcJetEta_);
5028  h_SimJet_[1]->Fill(mcJetPhi_);
5029  h_SimJet_[2]->Fill(mcJetPt);
5030 
5031  std::vector<reco::Photon> thePhotons;
5032  bool matched = false;
5033 
5034  reco::Photon matchingPho;
5035  for (reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end();
5036  iPho++) {
5037  reco::Photon aPho = reco::Photon(*iPho);
5038  float phiPho = aPho.phi();
5039  float etaPho = aPho.eta();
5040  float deltaPhi = phiPho - mcJetPhi_;
5041  float deltaEta = etaPho - mcJetEta_;
5042  if (deltaPhi > pi)
5043  deltaPhi -= twopi;
5044  if (deltaPhi < -pi)
5045  deltaPhi += twopi;
5046  deltaPhi = pow(deltaPhi, 2);
5047  deltaEta = pow(deltaEta, 2);
5048  float delta = sqrt(deltaPhi + deltaEta);
5049  if (delta < 0.3) {
5050  matchingPho = *iPho;
5051  matched = true;
5052  }
5053  } // end loop over reco photons
5054 
5055  if (!matched)
5056  continue;
5057  nPho++;
5058 
5061  h_MatchedSimJet_[2]->Fill(mcJetPt);
5062 
5063  bool phoIsInBarrel = false;
5064  bool phoIsInEndcap = false;
5065  if (fabs(matchingPho.superCluster()->position().eta()) < 1.479) {
5066  phoIsInBarrel = true;
5067  } else {
5068  phoIsInEndcap = true;
5069  }
5070  edm::Handle<EcalRecHitCollection> ecalRecHitHandle;
5071  if (phoIsInBarrel) {
5072  // Get handle to rec hits ecal barrel
5073  e.getByToken(barrelEcalHits_, ecalRecHitHandle);
5074  if (!ecalRecHitHandle.isValid()) {
5075  Labels l;
5077  edm::LogError("PhotonProducer") << "Error! Can't get the product " << l.module;
5078  return;
5079  }
5080 
5081  } else if (phoIsInEndcap) {
5082  // Get handle to rec hits ecal encap
5083  e.getByToken(endcapEcalHits_, ecalRecHitHandle);
5084  if (!ecalRecHitHandle.isValid()) {
5085  Labels l;
5087  edm::LogError("PhotonProducer") << "Error! Can't get the product " << l.module;
5088  return;
5089  }
5090  }
5091 
5092  const EcalRecHitCollection ecalRecHitCollection = *(ecalRecHitHandle.product());
5093  float photonE = matchingPho.energy();
5094  float photonEt = matchingPho.et();
5095  float r9 = matchingPho.r9();
5096  float r1 = matchingPho.r1x5();
5097  float r2 = matchingPho.r2x5();
5098  float sigmaIetaIeta = matchingPho.sigmaIetaIeta();
5099  float hOverE = matchingPho.hadronicOverEm();
5100  float ecalIso = matchingPho.ecalRecHitSumEtConeDR04();
5101  float hcalIso = matchingPho.hcalTowerSumEtConeDR04();
5102  float trkIso = matchingPho.trkSumPtSolidConeDR04();
5103  float nIsoTrk = matchingPho.nTrkSolidConeDR04();
5104  std::vector<std::pair<DetId, float> >::const_iterator rhIt;
5105 
5106  bool atLeastOneDeadChannel = false;
5107  for (reco::CaloCluster_iterator bcIt = matchingPho.superCluster()->clustersBegin();
5108  bcIt != matchingPho.superCluster()->clustersEnd();
5109  ++bcIt) {
5110  for (rhIt = (*bcIt)->hitsAndFractions().begin(); rhIt != (*bcIt)->hitsAndFractions().end(); ++rhIt) {
5111  for (EcalRecHitCollection::const_iterator it = ecalRecHitCollection.begin(); it != ecalRecHitCollection.end();
5112  ++it) {
5113  if (rhIt->first == (*it).id()) {
5114  if ((*it).recoFlag() == 9) {
5115  atLeastOneDeadChannel = true;
5116  break;
5117  }
5118  }
5119  }
5120  }
5121  }
5122 
5123  if (atLeastOneDeadChannel) {
5126  h_MatchedSimJetBadCh_[2]->Fill(mcJetPt);
5127  }
5128 
5129  h_scBkgEta_->Fill(matchingPho.superCluster()->eta());
5130  h_scBkgPhi_->Fill(matchingPho.superCluster()->phi());
5131  h_scBkgE_[0]->Fill(matchingPho.superCluster()->energy());
5132  h_scBkgEt_[0]->Fill(matchingPho.superCluster()->energy() / cosh(matchingPho.superCluster()->eta()));
5133  //
5134  h_phoBkgEta_->Fill(matchingPho.eta());
5135  h_phoBkgPhi_->Fill(matchingPho.phi());
5136  h_phoBkgE_[0]->Fill(photonE);
5137  h_phoBkgEt_[0]->Fill(photonEt);
5138  h_phoBkgDEta_->Fill(matchingPho.eta() - mcJetEta_);
5139  h_phoBkgDPhi_->Fill(matchingPho.phi() - mcJetPhi_);
5140 
5141  h_r9Bkg_[0]->Fill(r9);
5142  h_r1Bkg_[0]->Fill(r1);
5143  h_r2Bkg_[0]->Fill(r2);
5144  h_sigmaIetaIetaBkg_[0]->Fill(sigmaIetaIeta);
5145  h_hOverEBkg_[0]->Fill(hOverE);
5146  h_ecalRecHitSumEtConeDR04Bkg_[0]->Fill(ecalIso);
5147  h_hcalTowerSumEtConeDR04Bkg_[0]->Fill(hcalIso);
5149  h_nTrkSolidConeDR04Bkg_[0]->Fill(nIsoTrk);
5150 
5151  if (!isRunCentrally_) {
5153  h2_r9VsEtBkg_->Fill(mcJetPt, r9);
5155  h2_r1VsEtBkg_->Fill(mcJetPt, r1);
5157  h2_r2VsEtBkg_->Fill(mcJetPt, r2);
5158  h2_sigmaIetaIetaVsEtaBkg_->Fill(mcJetEta_, sigmaIetaIeta);
5159  h2_sigmaIetaIetaVsEtBkg_[0]->Fill(mcJetPt, sigmaIetaIeta);
5161  h2_hOverEVsEtBkg_->Fill(mcJetPt, hOverE);
5162 
5164  p_r1VsEtBkg_->Fill(mcJetPt, r1);
5166  p_r2VsEtBkg_->Fill(mcJetPt, r2);
5167  p_sigmaIetaIetaVsEtaBkg_->Fill(mcJetEta_, sigmaIetaIeta);
5168  p_sigmaIetaIetaVsEtBkg_[0]->Fill(mcJetPt, sigmaIetaIeta);
5170  p_hOverEVsEtBkg_->Fill(mcJetPt, hOverE);
5171  }
5172 
5173  if (!isRunCentrally_) {
5175  h2_ecalRecHitSumEtConeDR04VsEtBkg_[0]->Fill(mcJetPt, ecalIso);
5177  h2_hcalTowerSumEtConeDR04VsEtBkg_[0]->Fill(mcJetPt, hcalIso);
5179  p_ecalRecHitSumEtConeDR04VsEtBkg_[0]->Fill(mcJetPt, ecalIso);
5181  p_hcalTowerSumEtConeDR04VsEtBkg_[0]->Fill(mcJetPt, hcalIso);
5185  p_nTrkSolidConeDR04VsEtBkg_[0]->Fill(mcJetPt, nIsoTrk);
5189  h2_nTrkSolidConeDR04VsEtBkg_[0]->Fill(mcJetPt, nIsoTrk);
5190  }
5191 
5192  if (phoIsInBarrel) {
5193  h_r9Bkg_[1]->Fill(r9);
5194  h_r1Bkg_[1]->Fill(r1);
5195  h_r2Bkg_[1]->Fill(r2);
5196 
5197  h_sigmaIetaIetaBkg_[1]->Fill(sigmaIetaIeta);
5198  h_hOverEBkg_[1]->Fill(hOverE);
5199  h_ecalRecHitSumEtConeDR04Bkg_[1]->Fill(ecalIso);
5200  h_hcalTowerSumEtConeDR04Bkg_[1]->Fill(hcalIso);
5202  h_nTrkSolidConeDR04Bkg_[1]->Fill(nIsoTrk);
5203 
5204  if (!isRunCentrally_) {
5205  h2_sigmaIetaIetaVsEtBkg_[1]->Fill(mcJetPt, sigmaIetaIeta);
5207  h2_nTrkSolidConeDR04VsEtBkg_[1]->Fill(mcJetPt, nIsoTrk);
5208  h2_ecalRecHitSumEtConeDR04VsEtBkg_[1]->Fill(mcJetPt, ecalIso);
5209  h2_hcalTowerSumEtConeDR04VsEtBkg_[1]->Fill(mcJetPt, hcalIso);
5210  p_sigmaIetaIetaVsEtBkg_[1]->Fill(mcJetPt, sigmaIetaIeta);
5211  p_ecalRecHitSumEtConeDR04VsEtBkg_[1]->Fill(mcJetPt, ecalIso);
5212  p_hcalTowerSumEtConeDR04VsEtBkg_[1]->Fill(mcJetPt, hcalIso);
5214  p_nTrkSolidConeDR04VsEtBkg_[1]->Fill(mcJetPt, nIsoTrk);
5215  }
5216  } else if (phoIsInEndcap) {
5217  h_r9Bkg_[2]->Fill(r9);
5218  h_r1Bkg_[2]->Fill(r1);
5219  h_r2Bkg_[2]->Fill(r2);
5220 
5221  h_sigmaIetaIetaBkg_[2]->Fill(sigmaIetaIeta);
5222  h_hOverEBkg_[2]->Fill(hOverE);
5223  h_ecalRecHitSumEtConeDR04Bkg_[2]->Fill(ecalIso);
5224  h_hcalTowerSumEtConeDR04Bkg_[2]->Fill(hcalIso);
5226  h_nTrkSolidConeDR04Bkg_[2]->Fill(nIsoTrk);
5227 
5228  if (!isRunCentrally_) {
5229  h2_sigmaIetaIetaVsEtBkg_[2]->Fill(mcJetPt, sigmaIetaIeta);
5231  h2_nTrkSolidConeDR04VsEtBkg_[2]->Fill(mcJetPt, nIsoTrk);
5232  h2_ecalRecHitSumEtConeDR04VsEtBkg_[2]->Fill(mcJetPt, ecalIso);
5233  h2_hcalTowerSumEtConeDR04VsEtBkg_[2]->Fill(mcJetPt, hcalIso);
5234  p_sigmaIetaIetaVsEtBkg_[2]->Fill(mcJetPt, sigmaIetaIeta);
5235  p_ecalRecHitSumEtConeDR04VsEtBkg_[2]->Fill(mcJetPt, ecalIso);
5236  p_hcalTowerSumEtConeDR04VsEtBkg_[2]->Fill(mcJetPt, hcalIso);
5238  p_nTrkSolidConeDR04VsEtBkg_[2]->Fill(mcJetPt, nIsoTrk);
5239  }
5240  }
5241 
5242  if (!fastSim_) {
5245  for (unsigned int iConv = 0; iConv < conversions.size(); iConv++) {
5246  reco::ConversionRef aConv = conversions[iConv];
5247  //std::vector<reco::TrackRef> tracks = aConv->tracks();
5248  const std::vector<edm::RefToBase<reco::Track> > tracks = aConv->tracks();
5249  double like = aConv->MVAout();
5250  if (like < likelihoodCut_)
5251  continue;
5252  if (tracks.size() < 2)
5253  continue;
5254  if (!aConv->caloCluster().empty()) {
5255  h_convEtaBkg_->Fill(aConv->caloCluster()[0]->eta());
5256  h_convPhiBkg_->Fill(aConv->caloCluster()[0]->phi());
5257  }
5258  h_mvaOutBkg_[0]->Fill(like);
5259  float eoverp = aConv->EoverP();
5260  h_EoverPTracksBkg_[0]->Fill(eoverp);
5261  h_PoverETracksBkg_[0]->Fill(1. / eoverp);
5262  h_DCotTracksBkg_[0]->Fill(aConv->pairCotThetaSeparation());
5263  float dPhiTracksAtVtx = aConv->dPhiTracksAtVtx();
5264  h_DPhiTracksAtVtxBkg_[0]->Fill(dPhiTracksAtVtx);
5265 
5266  if (phoIsInBarrel) {
5267  h_mvaOutBkg_[1]->Fill(like);
5268  h_EoverPTracksBkg_[1]->Fill(eoverp);
5269  h_PoverETracksBkg_[1]->Fill(1. / eoverp);
5270  h_DCotTracksBkg_[1]->Fill(aConv->pairCotThetaSeparation());
5271  h_DPhiTracksAtVtxBkg_[1]->Fill(dPhiTracksAtVtx);
5272  } else if (phoIsInEndcap) {
5273  h_mvaOutBkg_[2]->Fill(like);
5274  h_EoverPTracksBkg_[2]->Fill(eoverp);
5275  h_PoverETracksBkg_[2]->Fill(1. / eoverp);
5276  h_DCotTracksBkg_[2]->Fill(aConv->pairCotThetaSeparation());
5277  h_DPhiTracksAtVtxBkg_[2]->Fill(dPhiTracksAtVtx);
5278  }
5279 
5280  if (aConv->conversionVertex().isValid()) {
5281  double convR = sqrt(aConv->conversionVertex().position().perp2());
5282  double scalar = aConv->conversionVertex().position().x() * aConv->pairMomentum().x() +
5283  aConv->conversionVertex().position().y() * aConv->pairMomentum().y();
5284  if (scalar < 0)
5285  convR = -sqrt(aConv->conversionVertex().position().perp2());
5286 
5287  if (!isRunCentrally_) {
5288  h_convVtxRvsZBkg_[0]->Fill(fabs(aConv->conversionVertex().position().z()),
5289  sqrt(aConv->conversionVertex().position().perp2()));
5290  if (!aConv->caloCluster().empty() && fabs(aConv->caloCluster()[0]->eta()) <= 1.) {
5291  h_convVtxYvsXBkg_->Fill(aConv->conversionVertex().position().y(),
5292  aConv->conversionVertex().position().x());
5293  h_convVtxRvsZBkg_[1]->Fill(fabs(aConv->conversionVertex().position().z()), convR);
5294  }
5295  }
5296 
5297  } // end vertex valid
5298 
5299  } // end loop over conversions
5300  } // if !fastSim
5301  } // end loop over sim jets
5302 
5304  for (reco::GenParticleCollection::const_iterator mcIter = genParticles->begin(); mcIter != genParticles->end();
5305  mcIter++) {
5306  if (!(mcIter->pdgId() == 22))
5307  continue;
5308  if (mcIter->mother() != nullptr and !(mcIter->mother()->pdgId() == 25))
5309  continue;
5310  if (fabs(mcIter->eta()) > 2.5)
5311  continue;
5312 
5313  float mcPhi = mcIter->phi();
5314  float mcEta = mcIter->eta();
5315  //mcEta = etaTransformation(mcEta, (*mcPho).primaryVertex().z() );
5316  float mcEnergy = mcIter->energy();
5317 
5318  double dR = 9999999.;
5319  float minDr = 10000.;
5320  int iMatch = -1;
5321  bool matched = false;
5322 
5323  for (unsigned int ipho = 0; ipho < photonHandle->size(); ipho++) {
5324  reco::PhotonRef pho(reco::PhotonRef(photonHandle, ipho));
5325 
5326  double dphi = pho->phi() - mcPhi;
5327  if (std::fabs(dphi) > CLHEP::pi) {
5328  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
5329  }
5330  double deta = pho->superCluster()->position().eta() - mcEta;
5331 
5332  dR = sqrt(pow((deta), 2) + pow(dphi, 2));
5333  if (dR < 0.1 && dR < minDr) {
5334  minDr = dR;
5335  iMatch = ipho;
5336  }
5337  }
5338 
5339  if (iMatch > -1)
5340  matched = true;
5341  if (!matched)
5342  continue;
5343 
5344  reco::PhotonRef matchingPho(reco::PhotonRef(photonHandle, iMatch));
5345 
5346  bool phoIsInBarrel = false;
5347  bool phoIsInEndcap = false;
5348 
5349  float phoEta = matchingPho->superCluster()->position().eta();
5350  if (fabs(phoEta) < 1.479) {
5351  phoIsInBarrel = true;
5352  } else {
5353  phoIsInEndcap = true;
5354  }
5355 
5356  float photonE = matchingPho->energy();
5357  float sigmaEoE = matchingPho->getCorrectedEnergyError(matchingPho->getCandidateP4type()) / matchingPho->energy();
5358  float photonEt = matchingPho->energy() / cosh(matchingPho->eta());
5359  // float photonERegr1 = matchingPho->getCorrectedEnergy(reco::Photon::regression1);
5360  //float photonERegr2 = matchingPho->getCorrectedEnergy(reco::Photon::regression2);
5361  float r9 = matchingPho->r9();
5362  float full5x5_r9 = matchingPho->full5x5_r9();
5363  float r1 = matchingPho->r1x5();
5364  float r2 = matchingPho->r2x5();
5365  float sigmaIetaIeta = matchingPho->sigmaIetaIeta();
5366  float full5x5_sieie = matchingPho->full5x5_sigmaIetaIeta();
5367  float hOverE = matchingPho->hadronicOverEm();
5368  float newhOverE = matchingPho->hadTowOverEm();
5369  float ecalIso = matchingPho->ecalRecHitSumEtConeDR04();
5370  float hcalIso = matchingPho->hcalTowerSumEtConeDR04();
5371  float newhcalIso = matchingPho->hcalTowerSumEtBcConeDR04();
5372  float trkIso = matchingPho->trkSumPtSolidConeDR04();
5373  float nIsoTrk = matchingPho->nTrkSolidConeDR04();
5374  // PF related quantities
5375  float chargedHadIso = matchingPho->chargedHadronIso();
5376  float neutralHadIso = matchingPho->neutralHadronIso();
5377  float photonIso = matchingPho->photonIso();
5378  // float etOutsideMustache = matchingPho->etOutsideMustache();
5379  // int nClusterOutsideMustache = matchingPho->nClusterOutsideMustache();
5380  //float pfMVA = matchingPho->pfMVA();
5381 
5382  if ((photonEt > 14 && newhOverE < 0.15) || (photonEt > 10 && photonEt < 14 && chargedHadIso < 10)) {
5383  h_scEta_miniAOD_[0]->Fill(matchingPho->superCluster()->eta());
5384  h_scPhi_miniAOD_[0]->Fill(matchingPho->superCluster()->phi());
5385 
5386  h_phoE_miniAOD_[0][0]->Fill(photonE);
5387  h_phoEt_miniAOD_[0][0]->Fill(photonEt);
5388 
5389  h_phoERes_miniAOD_[0][0]->Fill(photonE / mcEnergy);
5390  h_phoSigmaEoE_miniAOD_[0][0]->Fill(sigmaEoE);
5391 
5392  h_r9_miniAOD_[0][0]->Fill(r9);
5393  h_full5x5_r9_miniAOD_[0][0]->Fill(full5x5_r9);
5394  h_r1_miniAOD_[0][0]->Fill(r1);
5395  h_r2_miniAOD_[0][0]->Fill(r2);
5396 
5397  h_sigmaIetaIeta_miniAOD_[0][0]->Fill(sigmaIetaIeta);
5398  h_full5x5_sigmaIetaIeta_miniAOD_[0][0]->Fill(full5x5_sieie);
5399  h_hOverE_miniAOD_[0][0]->Fill(hOverE);
5400  h_newhOverE_miniAOD_[0][0]->Fill(newhOverE);
5401 
5402  h_ecalRecHitSumEtConeDR04_miniAOD_[0][0]->Fill(ecalIso);
5403  h_hcalTowerSumEtConeDR04_miniAOD_[0][0]->Fill(hcalIso);
5404  h_hcalTowerBcSumEtConeDR04_miniAOD_[0][0]->Fill(newhcalIso);
5406  h_nTrkSolidConeDR04_miniAOD_[0][0]->Fill(nIsoTrk);
5407 
5408  //
5409  h_chHadIso_miniAOD_[0]->Fill(chargedHadIso);
5410  h_nHadIso_miniAOD_[0]->Fill(neutralHadIso);
5412 
5413  //
5414  if (phoIsInBarrel) {
5415  h_phoE_miniAOD_[0][1]->Fill(photonE);
5416  h_phoEt_miniAOD_[0][1]->Fill(photonEt);
5417 
5418  h_phoERes_miniAOD_[0][1]->Fill(photonE / mcEnergy);
5419  h_phoSigmaEoE_miniAOD_[0][1]->Fill(sigmaEoE);
5420 
5421  h_r9_miniAOD_[0][1]->Fill(r9);
5422  h_full5x5_r9_miniAOD_[0][1]->Fill(full5x5_r9);
5423  h_r1_miniAOD_[0][1]->Fill(r1);
5424  h_r2_miniAOD_[0][1]->Fill(r2);
5425  h_sigmaIetaIeta_miniAOD_[0][1]->Fill(sigmaIetaIeta);
5426  h_full5x5_sigmaIetaIeta_miniAOD_[0][1]->Fill(full5x5_sieie);
5427  h_hOverE_miniAOD_[0][1]->Fill(hOverE);
5428  h_newhOverE_miniAOD_[0][1]->Fill(newhOverE);
5429  h_ecalRecHitSumEtConeDR04_miniAOD_[0][1]->Fill(ecalIso);
5430  h_hcalTowerSumEtConeDR04_miniAOD_[0][1]->Fill(hcalIso);
5431  h_hcalTowerBcSumEtConeDR04_miniAOD_[0][1]->Fill(newhcalIso);
5433  h_nTrkSolidConeDR04_miniAOD_[0][1]->Fill(nIsoTrk);
5434  h_chHadIso_miniAOD_[1]->Fill(chargedHadIso);
5435  h_nHadIso_miniAOD_[1]->Fill(neutralHadIso);
5437  }
5438  if (phoIsInEndcap) {
5439  h_phoE_miniAOD_[0][2]->Fill(photonE);
5440  h_phoEt_miniAOD_[0][2]->Fill(photonEt);
5441 
5442  h_phoERes_miniAOD_[0][2]->Fill(photonE / mcEnergy);
5443  h_phoSigmaEoE_miniAOD_[0][2]->Fill(sigmaEoE);
5444  h_r9_miniAOD_[0][2]->Fill(r9);
5445  h_full5x5_r9_miniAOD_[0][2]->Fill(full5x5_r9);
5446  h_r1_miniAOD_[0][2]->Fill(r1);
5447  h_r2_miniAOD_[0][2]->Fill(r2);
5448  h_sigmaIetaIeta_miniAOD_[0][2]->Fill(sigmaIetaIeta);
5449  h_full5x5_sigmaIetaIeta_miniAOD_[0][2]->Fill(full5x5_sieie);
5450  h_hOverE_miniAOD_[0][2]->Fill(hOverE);
5451  h_newhOverE_miniAOD_[0][2]->Fill(newhOverE);
5452  h_ecalRecHitSumEtConeDR04_miniAOD_[0][2]->Fill(ecalIso);
5453  h_hcalTowerSumEtConeDR04_miniAOD_[0][2]->Fill(hcalIso);
5454  h_hcalTowerBcSumEtConeDR04_miniAOD_[0][2]->Fill(newhcalIso);
5456  h_nTrkSolidConeDR04_miniAOD_[0][2]->Fill(nIsoTrk);
5457  h_chHadIso_miniAOD_[2]->Fill(chargedHadIso);
5458  h_nHadIso_miniAOD_[2]->Fill(neutralHadIso);
5460  }
5461  } // end histos for comparing with miniAOD
5462 
5463  } // end loop over gen photons
5464 
5465  h_nPho_->Fill(float(nPho));
5466 }

References funct::abs(), HIPAlignmentAlgorithm_cfi::algoName, edm::SortedCollection< T, SORT >::begin(), ALCARECOTkAlJpsiMuMu_cff::charge, hltPixelTracks_cff::chi2, ChiSquaredProbability(), pwdgSkimBPark_cfi::conversions, reco::Photon::conversions(), d0, dumpMFGeometry_cfg::delta, spr::deltaEta, SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, HLT_FULL_cff::dEta, HLT_FULL_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, reco::PFCandidate::e, reco::Photon::ecalRecHitSumEtConeDR04(), relativeConstraints::empty, edm::SortedCollection< T, SORT >::end(), edm::ValueMap< T >::end(), reco::LeafCandidate::energy(), EgHLTOffHistBins_cfi::et, reco::LeafCandidate::et(), reco::LeafCandidate::eta(), HcalObjRepresent::Fill(), reco::PFCandidate::gamma, particleFlowDQM_cff::genJetCollection, GenParticle::GenParticle, genParticles2HepMC_cfi::genParticles, edm::EventSetup::get(), edm::RefToBase< T >::get(), get, reco::PFCandidate::h, reco::PFCandidate::h0, reco::Photon::hadronicOverEm(), reco::Photon::hcalTowerSumEtConeDR04(), MuonClassifier_cff::hepMC, EgHLTOffHistBins_cfi::hOverE, mps_fire::i, edm::Ref< C, T, F >::isNonnull(), edm::HandleBase::isValid(), edm::Ref< C, T, F >::key(), cmsLHEtoEOSManager::l, muonTagProbeFilters_cff::matched, reco::TrackBase::momentum(), ndof, TrackCollections2monitor_cff::normalizedChi2, BeamSpotPI::nTracks, reco::Photon::nTrkSolidConeDR04(), TrackCollections2monitor_cff::numberOfValidHits, p1, p2, parents, EgammaValidation_cff::pdgId, reco::LeafCandidate::phi(), nanoDQM_cff::Photon, ExoticaDQM_cfi::photonCollection, gedPhotonSequence_cff::photonIso, pi, funct::pow(), edm::Handle< T >::product(), HiEvtPlane_cfi::pterror, edm::RefToBaseVector< T >::push_back(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, submitPVResolutionJobs::q, diffTwoXMLs::r1, reco::Photon::r1x5(), diffTwoXMLs::r2, reco::Photon::r2x5(), reco::Photon::r9(), electrons_cff::r9, reco::Photon::regression1, reco::Photon::regression2, hitfit::scalar(), reco::Photon::sigmaIetaIeta(), funct::sin(), edm::RefVector< C, T, F >::size(), optionsL1T::skip, mathSSE::sqrt(), reco::Photon::superCluster(), cmsswSequenceInfo::tp, GenTrackMatcher_cfi::trackAssociator, muonClassificationByHits_cfi::trackingParticles, PDWG_EXOHSCP_cff::tracks, ZMuMuCategoriesSequences_cff::trkIso, reco::Photon::trkSumPtSolidConeDR04(), and photonValidationSequence_cff::useTP.

◆ bookHistograms()

void PhotonValidator::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Histograms for efficiencies

Denominators

Numerators

zooms

test track provenance

Implements DQMOneEDAnalyzer<>.

Definition at line 161 of file PhotonValidator.cc.

161  {
162  double resMin = parameters_.getParameter<double>("resMin");
163  double resMax = parameters_.getParameter<double>("resMax");
164  int resBin = parameters_.getParameter<int>("resBin");
165 
166  double eMin = parameters_.getParameter<double>("eMin");
167  double eMax = parameters_.getParameter<double>("eMax");
168  int eBin = parameters_.getParameter<int>("eBin");
169 
170  double etMin = parameters_.getParameter<double>("etMin");
171  double etMax = parameters_.getParameter<double>("etMax");
172  int etBin = parameters_.getParameter<int>("etBin");
173 
174  double etScale = parameters_.getParameter<double>("etScale");
175 
176  double etaMin = parameters_.getParameter<double>("etaMin");
177  double etaMax = parameters_.getParameter<double>("etaMax");
178  int etaBin = parameters_.getParameter<int>("etaBin");
179  int etaBin2 = parameters_.getParameter<int>("etaBin2");
180 
181  double dEtaMin = parameters_.getParameter<double>("dEtaMin");
182  double dEtaMax = parameters_.getParameter<double>("dEtaMax");
183  int dEtaBin = parameters_.getParameter<int>("dEtaBin");
184 
185  double phiMin = parameters_.getParameter<double>("phiMin");
186  double phiMax = parameters_.getParameter<double>("phiMax");
187  int phiBin = parameters_.getParameter<int>("phiBin");
188 
189  double dPhiMin = parameters_.getParameter<double>("dPhiMin");
190  double dPhiMax = parameters_.getParameter<double>("dPhiMax");
191  int dPhiBin = parameters_.getParameter<int>("dPhiBin");
192 
193  double rMin = parameters_.getParameter<double>("rMin");
194  double rMax = parameters_.getParameter<double>("rMax");
195  int rBin = parameters_.getParameter<int>("rBin");
196 
197  double zMin = parameters_.getParameter<double>("zMin");
198  double zMax = parameters_.getParameter<double>("zMax");
199  int zBin = parameters_.getParameter<int>("zBin");
200 
201  double r9Min = parameters_.getParameter<double>("r9Min");
202  double r9Max = parameters_.getParameter<double>("r9Max");
203  int r9Bin = parameters_.getParameter<int>("r9Bin");
204 
205  double dPhiTracksMin = parameters_.getParameter<double>("dPhiTracksMin");
206  double dPhiTracksMax = parameters_.getParameter<double>("dPhiTracksMax");
207  int dPhiTracksBin = parameters_.getParameter<int>("dPhiTracksBin");
208 
209  double dEtaTracksMin = parameters_.getParameter<double>("dEtaTracksMin");
210  double dEtaTracksMax = parameters_.getParameter<double>("dEtaTracksMax");
211  int dEtaTracksBin = parameters_.getParameter<int>("dEtaTracksBin");
212 
213  double dCotTracksMin = parameters_.getParameter<double>("dCotTracksMin");
214  double dCotTracksMax = parameters_.getParameter<double>("dCotTracksMax");
215  int dCotTracksBin = parameters_.getParameter<int>("dCotTracksBin");
216 
217  double povereMin = parameters_.getParameter<double>("povereMin");
218  double povereMax = parameters_.getParameter<double>("povereMax");
219  int povereBin = parameters_.getParameter<int>("povereBin");
220 
221  double eoverpMin = parameters_.getParameter<double>("eoverpMin");
222  double eoverpMax = parameters_.getParameter<double>("eoverpMax");
223  int eoverpBin = parameters_.getParameter<int>("eoverpBin");
224 
225  double chi2Min = parameters_.getParameter<double>("chi2Min");
226  double chi2Max = parameters_.getParameter<double>("chi2Max");
227 
228  int ggMassBin = parameters_.getParameter<int>("ggMassBin");
229  double ggMassMin = parameters_.getParameter<double>("ggMassMin");
230  double ggMassMax = parameters_.getParameter<double>("ggMassMax");
231 
232  double rMinForXray = parameters_.getParameter<double>("rMinForXray");
233  double rMaxForXray = parameters_.getParameter<double>("rMaxForXray");
234  int rBinForXray = parameters_.getParameter<int>("rBinForXray");
235  double zMinForXray = parameters_.getParameter<double>("zMinForXray");
236  double zMaxForXray = parameters_.getParameter<double>("zMaxForXray");
237  int zBinForXray = parameters_.getParameter<int>("zBinForXray");
238  int zBin2ForXray = parameters_.getParameter<int>("zBin2ForXray");
239 
241  // SC from reco photons
242 
243  iBooker.setCurrentFolder("EgammaV/" + fName_ + "/SimulationInfo");
244 
245  // simulation information about all MC photons found
246  std::string histname = "nOfSimPhotons";
247  if (!isRunCentrally_) {
248  h_nSimPho_[0] = iBooker.book1D(histname, "# of Sim photons per event ", 20, -0.5, 19.5);
249  histname = "SimPhoMotherEt";
250  h_SimPhoMotherEt_[0] = iBooker.book1D(histname, "Sim photon Mother tranverse energy spectrum", etBin, etMin, etMax);
251  h_SimPhoMotherEta_[0] = iBooker.book1D("SimPhoMotherEta", " Sim Photon Mother Eta ", etaBin, etaMin, etaMax);
252  histname = "SimPhoMotherEtMatched";
253  h_SimPhoMotherEt_[1] = iBooker.book1D(
254  histname, "Sim photon matched by a reco Photon: Mother tranverse energy spectrum", etBin, etMin, etMax);
255  h_SimPhoMotherEta_[1] = iBooker.book1D(
256  "SimPhoMotherEtaMatched", " Sim Photon matched by a reco Photon: Mother Eta ", etaBin, etaMin, etaMax);
257  }
258 
259  histname = "h_SimPhoEta";
260  h_SimPho_[0] = iBooker.book1D(histname, " All photons simulated #eta", etaBin, etaMin, etaMax);
261  histname = "h_SimPhoPhi";
262  h_SimPho_[1] = iBooker.book1D(histname, " All photons simulated #phi", phiBin, phiMin, phiMax);
263  histname = "h_SimPhoEt";
264  h_SimPho_[2] = iBooker.book1D(histname, " All photons simulated Et", etBin, etMin, etMax);
265  // Numerators
266  histname = "nOfSimPhotonsMatched";
267  h_nSimPho_[1] = iBooker.book1D(histname, "# of Sim photons matched by a reco Photon per event ", 20, -0.5, 19.5);
268  histname = "h_MatchedSimPhoEta";
269  h_MatchedSimPho_[0] = iBooker.book1D(histname, " Matching photons simulated #eta", etaBin, etaMin, etaMax);
270  histname = "h_MatchedSimPhoPhi";
271  h_MatchedSimPho_[1] = iBooker.book1D(histname, " Matching photons simulated #phi", phiBin, phiMin, phiMax);
272  histname = "h_MatchedSimPhoEt";
273  h_MatchedSimPho_[2] = iBooker.book1D(histname, " Matching photons simulated Et", etBin, etMin, etMax);
274  //
275  histname = "h_MatchedSimPhoBadChEta";
276  h_MatchedSimPhoBadCh_[0] = iBooker.book1D(histname, " Matching photons simulated #eta", etaBin, etaMin, etaMax);
277  histname = "h_MatchedSimPhoBadChPhi";
278  h_MatchedSimPhoBadCh_[1] = iBooker.book1D(histname, " Matching photons simulated #phi", phiBin, phiMin, phiMax);
279  histname = "h_MatchedSimPhoBadChEt";
280  h_MatchedSimPhoBadCh_[2] = iBooker.book1D(histname, " Matching photons simulated Et", etBin, etMin, etMax);
281 
283  histname = "nOfSimConversions";
284  if (!isRunCentrally_) {
285  h_nSimConv_[0] = iBooker.book1D(histname, "# of Sim conversions per event ", 20, -0.5, 19.5);
286  histname = "nOfVisSimConversions";
287  h_nSimConv_[1] = iBooker.book1D(histname, "# of Sim conversions per event ", 20, -0.5, 19.5);
288  }
290  histname = "h_AllSimConvEta";
291  h_AllSimConv_[0] = iBooker.book1D(histname, " All conversions: simulated #eta", etaBin2, etaMin, etaMax);
292  histname = "h_AllSimConvPhi";
293  h_AllSimConv_[1] = iBooker.book1D(histname, " All conversions: simulated #phi", phiBin, phiMin, phiMax);
294  histname = "h_AllSimConvR";
295  h_AllSimConv_[2] = iBooker.book1D(histname, " All conversions: simulated R", rBin, rMin, rMax);
296  histname = "h_AllSimConvZ";
297  h_AllSimConv_[3] = iBooker.book1D(histname, " All conversions: simulated Z", zBin, zMin, zMax);
298  histname = "h_AllSimConvEt";
299  h_AllSimConv_[4] = iBooker.book1D(histname, " All conversions: simulated Et", etBin, etMin, etMax);
300  //
301  histname = "h_VisSimConvEta";
302  h_VisSimConv_[0] = iBooker.book1D(histname, " All vis conversions: simulated #eta", etaBin2, etaMin, etaMax);
303  histname = "h_VisSimConvPhi";
304  h_VisSimConv_[1] = iBooker.book1D(histname, " All vis conversions: simulated #phi", phiBin, phiMin, phiMax);
305  histname = "h_VisSimConvR";
306  h_VisSimConv_[2] = iBooker.book1D(histname, " All vis conversions: simulated R", rBin, rMin, rMax);
307  histname = "h_VisSimConvZ";
308  h_VisSimConv_[3] = iBooker.book1D(histname, " All vis conversions: simulated Z", zBin, zMin, zMax);
309  histname = "h_VisSimConvEt";
310  h_VisSimConv_[4] = iBooker.book1D(histname, " All vis conversions: simulated Et", etBin, etMin, etMax);
312  histname = "h_SimConvOneTracksEta";
314  iBooker.book1D(histname, " All vis conversions with 1 reco tracks: simulated #eta", etaBin2, etaMin, etaMax);
315  histname = "h_SimConvOneTracksPhi";
317  iBooker.book1D(histname, " All vis conversions with 1 reco tracks: simulated #phi", phiBin, phiMin, phiMax);
318  histname = "h_SimConvOneTracksR";
320  iBooker.book1D(histname, " All vis conversions with 1 reco tracks: simulated R", rBin, rMin, rMax);
321  histname = "h_SimConvOneTracksZ";
323  iBooker.book1D(histname, " All vis conversions with 1 reco tracks: simulated Z", zBin, zMin, zMax);
324  histname = "h_SimConvOneTracksEt";
326  iBooker.book1D(histname, " All vis conversions with 1 reco tracks: simulated Et", etBin, etMin, etMax);
327  //
328  histname = "h_SimConvTwoMTracksEta";
329  h_SimConvTwoMTracks_[0] = iBooker.book1D(
330  histname, " All vis conversions with 2 reco-matching tracks: simulated #eta", etaBin2, etaMin, etaMax);
331  histname = "h_SimConvTwoMTracksPhi";
332  h_SimConvTwoMTracks_[1] = iBooker.book1D(
333  histname, " All vis conversions with 2 reco-matching tracks: simulated #phi", phiBin, phiMin, phiMax);
334  histname = "h_SimConvTwoMTracksR";
336  iBooker.book1D(histname, " All vis conversions with 2 reco-matching tracks: simulated R", rBin, rMin, rMax);
337  histname = "h_SimConvTwoMTracksZ";
339  iBooker.book1D(histname, " All vis conversions with 2 reco-matching tracks: simulated Z", zBin, zMin, zMax);
340  histname = "h_SimConvTwoMTracksEt";
342  iBooker.book1D(histname, " All vis conversions with 2 reco-matching tracks: simulated Et", etBin, etMin, etMax);
343  //
344  histname = "h_SimConvTwoTracksEta";
346  iBooker.book1D(histname, " All vis conversions with 2 reco tracks: simulated #eta", etaBin2, etaMin, etaMax);
347  histname = "h_SimConvTwoTracksPhi";
349  iBooker.book1D(histname, " All vis conversions with 2 reco tracks: simulated #phi", phiBin, phiMin, phiMax);
350  histname = "h_SimConvTwoTracksR";
352  iBooker.book1D(histname, " All vis conversions with 2 reco tracks: simulated R", rBin, rMin, rMax);
353  histname = "h_SimConvTwoTracksZ";
355  iBooker.book1D(histname, " All vis conversions with 2 reco tracks: simulated Z", zBin, zMin, zMax);
356  histname = "h_SimConvTwoTracksEt";
358  iBooker.book1D(histname, " All vis conversions with 2 reco tracks: simulated Et", etBin, etMin, etMax);
359  //
360  histname = "h_SimConvOneMTracksEta";
361  h_SimConvOneMTracks_[0] = iBooker.book1D(
362  histname, " All vis conversions with 1 reco-matching tracks: simulated #eta", etaBin2, etaMin, etaMax);
363  histname = "h_SimConvOneMTracksPhi";
364  h_SimConvOneMTracks_[1] = iBooker.book1D(
365  histname, " All vis conversions with 1 reco-matching tracks: simulated #phi", phiBin, phiMin, phiMax);
366  histname = "h_SimConvOneMTracksR";
368  iBooker.book1D(histname, " All vis conversions with 1 reco-matching tracks: simulated R", rBin, rMin, rMax);
369  histname = "h_SimConvOneMTracksZ";
371  iBooker.book1D(histname, " All vis conversions with 1 reco-matching tracks: simulated Z", zBin, zMin, zMax);
372  histname = "h_SimConvOneMTracksEt";
374  iBooker.book1D(histname, " All vis conversions with 1 reco-matching tracks: simulated Et", etBin, etMin, etMax);
375  //
376  histname = "h_SimConvTwoMTracksEtaAndVtxPGT0";
378  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #eta", etaBin2, etaMin, etaMax);
379  histname = "h_SimConvTwoMTracksPhiAndVtxPGT0";
381  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #phi", phiBin, phiMin, phiMax);
382  histname = "h_SimConvTwoMTracksRAndVtxPGT0";
384  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated R", rBin, rMin, rMax);
385  histname = "h_SimConvTwoMTracksZAndVtxPGT0";
387  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Z", zBin, zMin, zMax);
388  histname = "h_SimConvTwoMTracksEtAndVtxPGT0";
390  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Et", etBin, etMin, etMax);
391  //
392  histname = "h_SimConvTwoMTracksEtaAndVtxPGT0005";
394  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #eta", etaBin2, etaMin, etaMax);
395  histname = "h_SimConvTwoMTracksPhiAndVtxPGT0005";
397  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #phi", phiBin, phiMin, phiMax);
398  histname = "h_SimConvTwoMTracksRAndVtxPGT0005";
400  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated R", rBin, rMin, rMax);
401  histname = "h_SimConvTwoMTracksZAndVtxPGT0005";
403  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Z", zBin, zMin, zMax);
404  histname = "h_SimConvTwoMTracksEtAndVtxPGT0005";
406  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Et", etBin, etMin, etMax);
407 
408  if (!isRunCentrally_) {
409  h_SimConvEtaPix_[0] = iBooker.book1D("simConvEtaPix", " sim converted Photon Eta: Pix ", etaBin, etaMin, etaMax);
410  h_simTkPt_ = iBooker.book1D("simTkPt", "Sim conversion tracks pt ", etBin * 3, 0., etMax);
411  h_simTkEta_ = iBooker.book1D("simTkEta", "Sim conversion tracks eta ", etaBin, etaMin, etaMax);
412  h_simConvVtxRvsZ_[0] = iBooker.book2D("simConvVtxRvsZAll",
413  " Photon Sim conversion vtx position",
414  zBinForXray,
415  zMinForXray,
416  zMaxForXray,
417  rBinForXray,
418  rMinForXray,
419  rMaxForXray);
420  h_simConvVtxRvsZ_[1] = iBooker.book2D("simConvVtxRvsZBarrel",
421  " Photon Sim conversion vtx position",
422  zBinForXray,
423  zMinForXray,
424  zMaxForXray,
425  rBinForXray,
426  rMinForXray,
427  rMaxForXray);
428  h_simConvVtxRvsZ_[2] = iBooker.book2D("simConvVtxRvsZEndcap",
429  " Photon Sim conversion vtx position",
430  zBin2ForXray,
431  zMinForXray,
432  zMaxForXray,
433  rBinForXray,
434  rMinForXray,
435  rMaxForXray);
436  h_simConvVtxYvsX_ = iBooker.book2D(
437  "simConvVtxYvsXTrkBarrel", " Photon Sim conversion vtx position, (x,y) eta<1 ", 100, -80., 80., 100, -80., 80.);
438  }
439 
441  histname = "h_SimJetEta";
442  h_SimJet_[0] = iBooker.book1D(histname, " Jet bkg simulated #eta", etaBin, etaMin, etaMax);
443  histname = "h_SimJetPhi";
444  h_SimJet_[1] = iBooker.book1D(histname, " Jet bkg simulated #phi", phiBin, phiMin, phiMax);
445  histname = "h_SimJetEt";
446  h_SimJet_[2] = iBooker.book1D(histname, " Jet bkg simulated Et", etBin, etMin, etMax);
447  //
448  histname = "h_MatchedSimJetEta";
449  h_MatchedSimJet_[0] = iBooker.book1D(histname, " Matching jet simulated #eta", etaBin, etaMin, etaMax);
450  histname = "h_MatchedSimJetPhi";
451  h_MatchedSimJet_[1] = iBooker.book1D(histname, " Matching jet simulated #phi", phiBin, phiMin, phiMax);
452  histname = "h_MatchedSimJetEt";
453  h_MatchedSimJet_[2] = iBooker.book1D(histname, " Matching jet simulated Et", etBin, etMin, etMax);
454  //
455  histname = "h_MatchedSimJetBadChEta";
456  h_MatchedSimJetBadCh_[0] = iBooker.book1D(histname, " Matching jet simulated #eta", etaBin, etaMin, etaMax);
457  histname = "h_MatchedSimJetBadChPhi";
458  h_MatchedSimJetBadCh_[1] = iBooker.book1D(histname, " Matching jet simulated #phi", phiBin, phiMin, phiMax);
459  histname = "h_MatchedSimJetBadChEt";
460  h_MatchedSimJetBadCh_[2] = iBooker.book1D(histname, " Matching jet simulated Et", etBin, etMin, etMax);
461 
462  iBooker.setCurrentFolder("EgammaV/" + fName_ + "/Background");
463 
464  histname = "nOfPhotons";
465  h_nPho_ = iBooker.book1D(histname, "# of Reco photons per event ", 20, -0.5, 19.5);
466 
467  h_scBkgEta_ = iBooker.book1D("scBkgEta", " SC Bkg Eta ", etaBin, etaMin, etaMax);
468  h_scBkgPhi_ = iBooker.book1D("scBkgPhi", " SC Bkg Phi ", phiBin, phiMin, phiMax);
469  //
470  h_phoBkgEta_ = iBooker.book1D("phoBkgEta", " Photon Bkg Eta ", etaBin, etaMin, etaMax);
471  h_phoBkgPhi_ = iBooker.book1D("phoBkgPhi", " Photon Bkg Phi ", phiBin, phiMin, phiMax);
472  //
473  h_phoBkgDEta_ = iBooker.book1D("phoBkgDEta", " Photon Eta(rec)-Eta(true) ", dEtaBin, dEtaMin, dEtaMax);
474  h_phoBkgDPhi_ = iBooker.book1D("phoBkgDPhi", " Photon Phi(rec)-Phi(true) ", dPhiBin, dPhiMin, dPhiMax);
475  //
476  histname = "phoBkgE";
477  h_phoBkgE_[0] = iBooker.book1D(histname + "All", " Photon Bkg Energy: All ecal ", eBin, eMin, eMax);
478  h_phoBkgE_[1] = iBooker.book1D(histname + "Barrel", " Photon Bkg Energy: barrel ", eBin, eMin, eMax);
479  h_phoBkgE_[2] = iBooker.book1D(histname + "Endcap", " Photon Bkg Energy: Endcap ", eBin, eMin, eMax);
480  //
481  histname = "phoBkgEt";
482  h_phoBkgEt_[0] = iBooker.book1D(histname + "All", " Photon Bkg Transverse Energy: All ecal ", etBin, etMin, etMax);
483  h_phoBkgEt_[1] = iBooker.book1D(histname + "Barrel", " Photon Bkg Transverse Energy: Barrel ", etBin, etMin, etMax);
484  h_phoBkgEt_[2] = iBooker.book1D(histname + "Endcap", " Photon BkgTransverse Energy: Endcap ", etBin, etMin, etMax);
485 
486  //
487  histname = "scBkgE";
488  h_scBkgE_[0] = iBooker.book1D(histname + "All", " SC bkg Energy: All Ecal ", eBin, eMin, eMax);
489  h_scBkgE_[1] = iBooker.book1D(histname + "Barrel", " SC bkg Energy: Barrel ", eBin, eMin, eMax);
490  h_scBkgE_[2] = iBooker.book1D(histname + "Endcap", " SC bkg Energy: Endcap ", eBin, eMin, eMax);
491  histname = "scBkgEt";
492  h_scBkgEt_[0] = iBooker.book1D(histname + "All", " SC bkg Et: All Ecal ", eBin, eMin, eMax);
493  h_scBkgEt_[1] = iBooker.book1D(histname + "Barrel", " SC bkg Et: Barrel ", eBin, eMin, eMax);
494  h_scBkgEt_[2] = iBooker.book1D(histname + "Endcap", " SC bkg Et: Endcap ", eBin, eMin, eMax);
495  //
496  histname = "r9Bkg";
497  h_r9Bkg_[0] = iBooker.book1D(histname + "All", " r9 bkg: All Ecal", r9Bin, r9Min, r9Max);
498  h_r9Bkg_[1] = iBooker.book1D(histname + "Barrel", " r9 bkg: Barrel ", r9Bin, r9Min, r9Max);
499  h_r9Bkg_[2] = iBooker.book1D(histname + "Endcap", " r9 bkg: Endcap ", r9Bin, r9Min, r9Max);
500  //
501  histname = "R9VsEtaBkg";
502  if (!isRunCentrally_)
504  iBooker.book2D(histname + "All", " Bkg r9 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
505  //
506  histname = "R9VsEtBkg";
507  if (!isRunCentrally_)
508  h2_r9VsEtBkg_ =
509  iBooker.book2D(histname + "All", " Bkg photons r9 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
510  //
511  histname = "r1Bkg";
512  h_r1Bkg_[0] = iBooker.book1D(histname + "All", " Bkg photon e1x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
513  h_r1Bkg_[1] = iBooker.book1D(histname + "Barrel", " Bkg photon e1x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
514  h_r1Bkg_[2] = iBooker.book1D(histname + "Endcap", " Bkg photon e1x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
515  //
516  histname = "R1VsEtaBkg";
517  if (!isRunCentrally_)
518  h2_r1VsEtaBkg_ = iBooker.book2D(
519  histname + "All", " Bkg photons e1x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
520  histname = "pR1VsEtaBkg";
521  if (!isRunCentrally_)
522  p_r1VsEtaBkg_ = iBooker.bookProfile(
523  histname + "All", " Bkg photons e1x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
524  //
525  histname = "R1VsEtBkg";
526  if (!isRunCentrally_)
527  h2_r1VsEtBkg_ =
528  iBooker.book2D(histname + "All", " Bkg photons e1x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
529  histname = "pR1VsEtBkg";
530  if (!isRunCentrally_)
531  p_r1VsEtBkg_ = iBooker.bookProfile(
532  histname + "All", " Bkg photons e2x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
533  //
534  histname = "r2Bkg";
535  h_r2Bkg_[0] = iBooker.book1D(histname + "All", " Bkg photon e2x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
536  h_r2Bkg_[1] = iBooker.book1D(histname + "Barrel", " Bkg photon e2x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
537  h_r2Bkg_[2] = iBooker.book1D(histname + "Endcap", " Bkg photon e2x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
538  //
539  histname = "R2VsEtaBkg";
540  if (!isRunCentrally_)
541  h2_r2VsEtaBkg_ = iBooker.book2D(
542  histname + "All", " Bkg photons e2x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
543  histname = "pR2VsEtaBkg";
544  if (!isRunCentrally_)
545  p_r2VsEtaBkg_ = iBooker.bookProfile(
546  histname + "All", " Bkg photons e2x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
547  //
548  histname = "R2VsEtBkg";
549  if (!isRunCentrally_)
550  h2_r2VsEtBkg_ =
551  iBooker.book2D(histname + "All", " Bkg photons e2x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
552  histname = "pR2VsEtBkg";
553  if (!isRunCentrally_)
554  p_r2VsEtBkg_ = iBooker.bookProfile(
555  histname + "All", " Bkg photons e2x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
556 
557  histname = "sigmaIetaIetaBkg";
558  h_sigmaIetaIetaBkg_[0] = iBooker.book1D(histname + "All", "Bkg sigmaIetaIeta: All Ecal", 100, 0., 0.1);
559  h_sigmaIetaIetaBkg_[1] = iBooker.book1D(histname + "Barrel", "Bkg sigmaIetaIeta: Barrel ", 100, 0., 0.05);
560  h_sigmaIetaIetaBkg_[2] = iBooker.book1D(histname + "Endcap", "Bkg sigmaIetaIeta: Endcap ", 100, 0., 0.1);
561  //
562  histname = "sigmaIetaIetaVsEtaBkg";
563  if (!isRunCentrally_)
565  histname + "All", " Bkg photons sigmaIetaIeta vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
566  histname = "pSigmaIetaIetaVsEtaBkg";
567  if (!isRunCentrally_)
569  histname + "All", " Bkg photons sigmaIetaIeta vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
570  //
571  histname = "sigmaIetaIetaVsEtBkg";
572  if (!isRunCentrally_)
573  h2_sigmaIetaIetaVsEtBkg_[0] = iBooker.book2D(
574  histname + "All", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
575  if (!isRunCentrally_)
576  h2_sigmaIetaIetaVsEtBkg_[1] = iBooker.book2D(
577  histname + "Barrel", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
578  if (!isRunCentrally_)
579  h2_sigmaIetaIetaVsEtBkg_[2] = iBooker.book2D(
580  histname + "Endcap", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
581  //
582  histname = "pSigmaIetaIetaVsEtBkg";
583  if (!isRunCentrally_)
585  histname + "All", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
586  if (!isRunCentrally_)
588  histname + "Barrel", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
589  if (!isRunCentrally_)
591  histname + "Endcap", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
592  //
593  histname = "hOverEBkg";
594  h_hOverEBkg_[0] = iBooker.book1D(histname + "All", "H/E bkg: All Ecal", 100, 0., 1.);
595  h_hOverEBkg_[1] = iBooker.book1D(histname + "Barrel", "H/E bkg: Barrel ", 100, 0., 1.);
596  h_hOverEBkg_[2] = iBooker.book1D(histname + "Endcap", "H/E bkg: Endcap ", 100, 0., 1.);
597  //
598  histname = "pHOverEVsEtaBkg";
599  if (!isRunCentrally_)
601  iBooker.bookProfile(histname + "All", " Bkg H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
602  histname = "pHOverEVsEtBkg";
603  if (!isRunCentrally_)
605  iBooker.bookProfile(histname + "All", " Bkg photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
606  if (!isRunCentrally_) {
607  histname = "hOverEVsEtaBkg";
609  iBooker.book2D(histname + "All", " Bkg H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
610  //
611  histname = "hOverEVsEtBkg";
613  iBooker.book2D(histname + "All", " Bkg photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
614  }
615  //
616  histname = "ecalRecHitSumEtConeDR04Bkg";
618  iBooker.book1D(histname + "All", "bkg ecalRecHitSumEtDR04: All Ecal", etBin, etMin, 50.);
620  iBooker.book1D(histname + "Barrel", "bkg ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 50.);
622  iBooker.book1D(histname + "Endcap", "bkg ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 50.);
623  //
624  if (!isRunCentrally_) {
625  histname = "ecalRecHitSumEtConeDR04VsEtaBkg";
626  h2_ecalRecHitSumEtConeDR04VsEtaBkg_ = iBooker.book2D(histname + "All",
627  " bkg ecalRecHitSumEtDR04 vs #eta: all Ecal ",
628  etaBin2,
629  etaMin,
630  etaMax,
631  etBin,
632  etMin,
633  etMax * etScale);
634  histname = "ecalRecHitSumEtConeDR04VsEtBkg";
635  h2_ecalRecHitSumEtConeDR04VsEtBkg_[0] = iBooker.book2D(histname + "All",
636  " Bkg ecalRecHitSumEtDR04 vs Et: all Ecal ",
637  etBin,
638  etMin,
639  etMax,
640  etBin,
641  etMin,
642  etMax * etScale);
643  h2_ecalRecHitSumEtConeDR04VsEtBkg_[1] = iBooker.book2D(histname + "Barrel",
644  " Bkg ecalRecHitSumEtDR04 vs Et: Barrel ",
645  etBin,
646  etMin,
647  etMax,
648  etBin,
649  etMin,
650  etMax * etScale);
651  h2_ecalRecHitSumEtConeDR04VsEtBkg_[2] = iBooker.book2D(histname + "Endcap",
652  " Bkg ecalRecHitSumEtDR04 vs Et: Endcap ",
653  etBin,
654  etMin,
655  etMax,
656  etBin,
657  etMin,
658  etMax * etScale);
659  histname = "hcalTowerSumEtConeDR04VsEtaBkg";
660  h2_hcalTowerSumEtConeDR04VsEtaBkg_ = iBooker.book2D(histname + "All",
661  " bkg hcalTowerSumEtDR04 vs #eta: all Ecal ",
662  etaBin2,
663  etaMin,
664  etaMax,
665  etBin,
666  etMin,
667  etMax * etScale);
668  histname = "hcalTowerSumEtConeDR04VsEtBkg";
669  h2_hcalTowerSumEtConeDR04VsEtBkg_[0] = iBooker.book2D(histname + "All",
670  " Bkg hcalTowerSumEtDR04 vs Et: all Ecal ",
671  etBin,
672  etMin,
673  etMax,
674  etBin,
675  etMin,
676  etMax * etScale);
677  h2_hcalTowerSumEtConeDR04VsEtBkg_[1] = iBooker.book2D(histname + "Barrel",
678  " Bkg hcalTowerSumEtDR04 vs Et: Barrel ",
679  etBin,
680  etMin,
681  etMax,
682  etBin,
683  etMin,
684  etMax * etScale);
685  h2_hcalTowerSumEtConeDR04VsEtBkg_[2] = iBooker.book2D(histname + "Endcap",
686  " Bkg hcalTowerSumEtDR04 vs Et: Endcap ",
687  etBin,
688  etMin,
689  etMax,
690  etBin,
691  etMin,
692  etMax * etScale);
693  }
694 
695  histname = "pEcalRecHitSumEtConeDR04VsEtaBkg";
696  if (!isRunCentrally_)
697  p_ecalRecHitSumEtConeDR04VsEtaBkg_ = iBooker.bookProfile(histname + "All",
698  "bkg photons ecalRecHitSumEtDR04 vs #eta: all Ecal ",
699  etaBin2,
700  etaMin,
701  etaMax,
702  etBin,
703  etMin,
704  etMax * etScale,
705  "");
706  //
707  histname = "pEcalRecHitSumEtConeDR04VsEtBkg";
708  if (!isRunCentrally_)
709  p_ecalRecHitSumEtConeDR04VsEtBkg_[0] = iBooker.bookProfile(histname + "All",
710  "Bkg ecalRecHitSumEtDR04 vs Et: all Ecal ",
711  etBin,
712  etMin,
713  etMax,
714  etBin,
715  etMin,
716  etMax * etScale,
717  "");
718  if (!isRunCentrally_)
719  p_ecalRecHitSumEtConeDR04VsEtBkg_[1] = iBooker.bookProfile(histname + "Barrel",
720  "Bkg ecalRecHitSumEtDR04 vs Et: all Ecal ",
721  etBin,
722  etMin,
723  etMax,
724  etBin,
725  etMin,
726  etMax * etScale,
727  "");
728  if (!isRunCentrally_)
729  p_ecalRecHitSumEtConeDR04VsEtBkg_[2] = iBooker.bookProfile(histname + "Endcap",
730  "Bkg ecalRecHitSumEtDR04 vs Et: all Ecal ",
731  etBin,
732  etMin,
733  etMax,
734  etBin,
735  etMin,
736  etMax * etScale,
737  "");
738  //
739  histname = "hcalTowerSumEtConeDR04Bkg";
741  iBooker.book1D(histname + "All", "bkg hcalTowerSumEtDR04: All Ecal", etBin, etMin, 20.);
743  iBooker.book1D(histname + "Barrel", "bkg hcalTowerSumEtDR04: Barrel ", etBin, etMin, 20.);
745  iBooker.book1D(histname + "Endcap", "bkg hcalTowerSumEtDR04: Endcap ", etBin, etMin, 20.);
746  //
747  histname = "pHcalTowerSumEtConeDR04VsEtaBkg";
748  if (!isRunCentrally_)
749  p_hcalTowerSumEtConeDR04VsEtaBkg_ = iBooker.bookProfile(histname + "All",
750  "bkg photons hcalTowerSumEtDR04 vs #eta: all Ecal ",
751  etaBin2,
752  etaMin,
753  etaMax,
754  etBin,
755  etMin,
756  etMax * etScale,
757  "");
758  //
759  histname = "pHcalTowerSumEtConeDR04VsEtBkg";
760  if (!isRunCentrally_)
761  p_hcalTowerSumEtConeDR04VsEtBkg_[0] = iBooker.bookProfile(histname + "All",
762  "Bkg hcalTowerSumEtDR04 vs Et: all Ecal ",
763  etBin,
764  etMin,
765  etMax,
766  etBin,
767  etMin,
768  etMax * etScale,
769  "");
770  if (!isRunCentrally_)
771  p_hcalTowerSumEtConeDR04VsEtBkg_[1] = iBooker.bookProfile(histname + "Barrel",
772  "Bkg hcalTowerSumEtDR04 vs Et: all Ecal ",
773  etBin,
774  etMin,
775  etMax,
776  etBin,
777  etMin,
778  etMax * etScale,
779  "");
780  if (!isRunCentrally_)
781  p_hcalTowerSumEtConeDR04VsEtBkg_[2] = iBooker.bookProfile(histname + "Endcap",
782  "Bkg hcalTowerSumEtDR04 vs Et: all Ecal ",
783  etBin,
784  etMin,
785  etMax,
786  etBin,
787  etMin,
788  etMax * etScale,
789  "");
790  //
791  histname = "isoTrkSolidConeDR04Bkg";
793  iBooker.book1D(histname + "All", "isoTrkSolidConeDR04 Bkg: All Ecal", etBin, etMin, etMax * 0.1);
795  iBooker.book1D(histname + "Barrel", "isoTrkSolidConeDR04 Bkg: Barrel ", etBin, etMin, etMax * 0.1);
797  iBooker.book1D(histname + "Endcap", "isoTrkSolidConeDR04 Bkg: Endcap ", etBin, etMin, etMax * 0.1);
798  //
799  histname = "isoTrkSolidConeDR04VsEtaBkg";
800  if (!isRunCentrally_)
801  h2_isoTrkSolidConeDR04VsEtaBkg_ = iBooker.book2D(histname + "All",
802  " Bkg photons isoTrkSolidConeDR04 vs #eta: all Ecal ",
803  etaBin2,
804  etaMin,
805  etaMax,
806  etBin,
807  etMin,
808  etMax * 0.1);
809  histname = "pIsoTrkSolidConeDR04VsEtaBkg";
810  if (!isRunCentrally_)
811  p_isoTrkSolidConeDR04VsEtaBkg_ = iBooker.bookProfile(histname + "All",
812  " Bkg photons isoTrkSolidConeDR04 vs #eta: all Ecal ",
813  etaBin2,
814  etaMin,
815  etaMax,
816  etBin,
817  etMin,
818  etMax * 0.1);
819  //
820  histname = "isoTrkSolidConeDR04VsEtBkg";
821  if (!isRunCentrally_)
822  h2_isoTrkSolidConeDR04VsEtBkg_[0] = iBooker.book2D(histname + "All",
823  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
824  etBin,
825  etMin,
826  etMax,
827  etBin,
828  etMin,
829  etMax * 0.1);
830  if (!isRunCentrally_)
831  h2_isoTrkSolidConeDR04VsEtBkg_[1] = iBooker.book2D(histname + "Barrel",
832  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
833  etBin,
834  etMin,
835  etMax,
836  etBin,
837  etMin,
838  etMax * 0.1);
839  if (!isRunCentrally_)
840  h2_isoTrkSolidConeDR04VsEtBkg_[2] = iBooker.book2D(histname + "Endcap",
841  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
842  etBin,
843  etMin,
844  etMax,
845  etBin,
846  etMin,
847  etMax * 0.1);
848  histname = "pIsoTrkSolidConeDR04VsEtBkg";
849  if (!isRunCentrally_)
850  p_isoTrkSolidConeDR04VsEtBkg_[0] = iBooker.bookProfile(histname + "All",
851  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
852  etBin,
853  etMin,
854  etMax,
855  etBin,
856  etMin,
857  etMax * 0.1);
858  if (!isRunCentrally_)
859  p_isoTrkSolidConeDR04VsEtBkg_[1] = iBooker.bookProfile(histname + "Barrel",
860  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
861  etBin,
862  etMin,
863  etMax,
864  etBin,
865  etMin,
866  etMax * 0.1);
867  if (!isRunCentrally_)
868  p_isoTrkSolidConeDR04VsEtBkg_[2] = iBooker.bookProfile(histname + "Endcap",
869  " Bkg photons isoTrkSolidConeDR04 vs Et: all Ecal ",
870  etBin,
871  etMin,
872  etMax,
873  etBin,
874  etMin,
875  etMax * 0.1);
876  //
877  histname = "nTrkSolidConeDR04Bkg";
878  h_nTrkSolidConeDR04Bkg_[0] = iBooker.book1D(histname + "All", "Bkg nTrkSolidConeDR04: All Ecal", 20, 0., 20);
879  h_nTrkSolidConeDR04Bkg_[1] = iBooker.book1D(histname + "Barrel", "Bkg nTrkSolidConeDR04: Barrel ", 20, 0., 20);
880  h_nTrkSolidConeDR04Bkg_[2] = iBooker.book1D(histname + "Endcap", "Bkg nTrkSolidConeDR04: Endcap ", 20, 0., 20);
881  //
882  histname = "nTrkSolidConeDR04VsEtaBkg";
883  if (!isRunCentrally_)
885  histname + "All", " Bkg photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
886  histname = "p_nTrkSolidConeDR04VsEtaBkg";
887  if (!isRunCentrally_)
889  histname + "All", " Bkg photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
890  //
891  histname = "nTrkSolidConeDR04VsEtBkg";
892  if (!isRunCentrally_)
894  histname + "All", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
895  if (!isRunCentrally_)
897  histname + "Barrel", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
898  if (!isRunCentrally_)
900  histname + "Endcap", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
901  //
902  histname = "pnTrkSolidConeDR04VsEtBkg";
903  if (!isRunCentrally_)
905  histname + "All", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
906  if (!isRunCentrally_)
908  histname + "Barrel", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
909  if (!isRunCentrally_)
911  histname + "Endcap", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
912  //
913  h_convEtaBkg_ = iBooker.book1D("convEtaBkg", " converted Photon Bkg Eta 2 tracks", etaBin, etaMin, etaMax);
914  h_convPhiBkg_ = iBooker.book1D("convPhiBkg", " converted Photon Bkg Phi ", phiBin, phiMin, phiMax);
915  //
916  histname = "mvaOutBkg";
917  h_mvaOutBkg_[0] = iBooker.book1D(histname + "All", " mvaOut conversions bkg : All Ecal", 100, 0., 1.);
918  h_mvaOutBkg_[1] = iBooker.book1D(histname + "Barrel", " mvaOut conversions bkg: Barrel Ecal", 100, 0., 1.);
919  h_mvaOutBkg_[2] = iBooker.book1D(histname + "Endcap", " mvaOut conversions bkg: Endcap Ecal", 100, 0., 1.);
920 
921  histname = "PoverEtracksBkg";
922  h_PoverETracksBkg_[0] =
923  iBooker.book1D(histname + "All", " bkg photons conversion p/E: all Ecal ", povereBin, povereMin, povereMax);
924  h_PoverETracksBkg_[1] =
925  iBooker.book1D(histname + "Barrel", "bkg photons conversion p/E: Barrel Ecal", povereBin, povereMin, povereMax);
926  h_PoverETracksBkg_[2] =
927  iBooker.book1D(histname + "Endcap", " bkg photons conversion p/E: Endcap Ecal ", povereBin, povereMin, povereMax);
928 
929  histname = "EoverPtracksBkg";
930  h_EoverPTracksBkg_[0] =
931  iBooker.book1D(histname + "All", " bkg photons conversion E/p: all Ecal ", eoverpBin, eoverpMin, eoverpMax);
932  h_EoverPTracksBkg_[1] =
933  iBooker.book1D(histname + "Barrel", "bkg photons conversion E/p: Barrel Ecal", eoverpBin, eoverpMin, eoverpMax);
934  h_EoverPTracksBkg_[2] =
935  iBooker.book1D(histname + "Endcap", " bkg photons conversion E/p: Endcap Ecal ", eoverpBin, eoverpMin, eoverpMax);
936 
937  histname = "hDCotTracksBkg";
938  h_DCotTracksBkg_[0] = iBooker.book1D(histname + "All",
939  " bkg Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
942  dCotTracksMax);
943  h_DCotTracksBkg_[1] = iBooker.book1D(histname + "Barrel",
944  " bkg Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
947  dCotTracksMax);
948  h_DCotTracksBkg_[2] = iBooker.book1D(histname + "Endcap",
949  " bkg Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
952  dCotTracksMax);
953 
954  histname = "hDPhiTracksAtVtxBkg";
956  iBooker.book1D(histname + "All",
957  " Bkg Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
960  dPhiTracksMax);
962  iBooker.book1D(histname + "Barrel",
963  " Bkg Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
966  dPhiTracksMax);
968  iBooker.book1D(histname + "Endcap",
969  " Bkg Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
972  dPhiTracksMax);
973 
974  if (!isRunCentrally_) {
975  h_convVtxRvsZBkg_[0] = iBooker.book2D("convVtxRvsZAllBkg",
976  " Bkg Photon Reco conversion vtx position",
977  zBinForXray,
978  zMinForXray,
979  zMaxForXray,
980  rBinForXray,
981  rMinForXray,
982  rMaxForXray);
983  h_convVtxRvsZBkg_[1] = iBooker.book2D("convVtxRvsZBarrelBkg",
984  " Bkg Photon Reco conversion vtx position",
985  zBinForXray,
986  zMinForXray,
987  zMaxForXray,
988  rBinForXray,
989  rMinForXray,
990  rMaxForXray);
991  h_convVtxYvsXBkg_ = iBooker.book2D("convVtxYvsXTrkBarrelBkg",
992  " Bkg Photon Reco conversion vtx position, (x,y) eta<1 ",
993  100,
994  -80.,
995  80.,
996  100,
997  -80.,
998  80.);
999  }
1000 
1001  //
1002  iBooker.setCurrentFolder("EgammaV/" + fName_ + "/Photons");
1003 
1004  histname = "nOfflineVtx";
1005  h_nRecoVtx_ = iBooker.book1D(histname, "# of Offline Vertices", 200, -0.5, 199.5);
1006 
1007  h_phoEta_[0] = iBooker.book1D("phoEta", " Photon Eta ", etaBin, etaMin, etaMax);
1008  h_phoPhi_[0] = iBooker.book1D("phoPhi", " Photon Phi ", phiBin, phiMin, phiMax);
1009 
1010  h_phoDEta_[0] = iBooker.book1D("phoDEta", " Photon Eta(rec)-Eta(true) ", dEtaBin, dEtaMin, dEtaMax);
1011  h_phoDPhi_[0] = iBooker.book1D("phoDPhi", " Photon Phi(rec)-Phi(true) ", dPhiBin, dPhiMin, dPhiMax);
1012 
1013  h_scEta_[0] = iBooker.book1D("scEta", " SC Eta ", etaBin, etaMin, etaMax);
1014  h_scPhi_[0] = iBooker.book1D("scPhi", " SC Phi ", phiBin, phiMin, phiMax);
1015 
1016  if (!isRunCentrally_) {
1017  h_scEtaWidth_[0] = iBooker.book1D("scEtaWidth", " SC Eta Width ", 100, 0., 0.1);
1018  h_scPhiWidth_[0] = iBooker.book1D("scPhiWidth", " SC Phi Width ", 100, 0., 1.);
1019  }
1020 
1021  histname = "scE";
1022  h_scE_[0][0] = iBooker.book1D(histname + "All", " SC Energy: All Ecal ", eBin, eMin, eMax);
1023  h_scE_[0][1] = iBooker.book1D(histname + "Barrel", " SC Energy: Barrel ", eBin, eMin, eMax);
1024  h_scE_[0][2] = iBooker.book1D(histname + "Endcap", " SC Energy: Endcap ", eBin, eMin, eMax);
1025 
1026  histname = "psE";
1027  h_psE_ = iBooker.book1D(histname + "Endcap", " ES Energy ", eBin, eMin, 50.);
1028 
1029  histname = "scEt";
1030  h_scEt_[0][0] = iBooker.book1D(histname + "All", " SC Et: All Ecal ", etBin, etMin, etMax);
1031  h_scEt_[0][1] = iBooker.book1D(histname + "Barrel", " SC Et: Barrel", etBin, etMin, etMax);
1032  h_scEt_[0][2] = iBooker.book1D(histname + "Endcap", " SC Et: Endcap", etBin, etMin, etMax);
1033 
1034  histname = "r9";
1035  h_r9_[0][0] = iBooker.book1D(histname + "All", " r9: All Ecal", r9Bin, r9Min, r9Max);
1036  h_r9_[0][1] = iBooker.book1D(histname + "Barrel", " r9: Barrel ", r9Bin, r9Min, r9Max);
1037  h_r9_[0][2] = iBooker.book1D(histname + "Endcap", " r9: Endcap ", r9Bin, r9Min, r9Max);
1038  //
1039 
1040  if (!isRunCentrally_) {
1041  histname = "r9ConvFromMC";
1042  h_r9_[1][0] = iBooker.book1D(histname + "All", " r9: All Ecal", r9Bin, r9Min, r9Max);
1043  h_r9_[1][1] = iBooker.book1D(histname + "Barrel", " r9: Barrel ", r9Bin, r9Min, r9Max);
1044  h_r9_[1][2] = iBooker.book1D(histname + "Endcap", " r9: Endcap ", r9Bin, r9Min, r9Max);
1045  //
1046  histname = "r9ConvFromReco";
1047  h_r9_[2][0] = iBooker.book1D(histname + "All", " r9: All Ecal", r9Bin, r9Min, r9Max);
1048  h_r9_[2][1] = iBooker.book1D(histname + "Barrel", " r9: Barrel ", r9Bin, r9Min, r9Max);
1049  h_r9_[2][2] = iBooker.book1D(histname + "Endcap", " r9: Endcap ", r9Bin, r9Min, r9Max);
1051  histname = "EtR9Less093";
1052  h_EtR9Less093_[0][0] = iBooker.book1D(histname + "All", " r9 < 0.94 or 0.95 : All Ecal", etBin, etMin, etMax);
1053  h_EtR9Less093_[0][1] = iBooker.book1D(histname + "Barrel", " r9 < 0.94 : Barrel ", etBin, etMin, etMax);
1054  h_EtR9Less093_[0][2] = iBooker.book1D(histname + "Endcap", " r9 < 0.95 : Endcap ", etBin, etMin, etMax);
1055  histname = "EtR9Less093Conv";
1056  h_EtR9Less093_[1][0] =
1057  iBooker.book1D(histname + "All", " r9 < 0.94, 0.95 and good conv : All Ecal", etBin, etMin, etMax);
1058  h_EtR9Less093_[1][1] =
1059  iBooker.book1D(histname + "Barrel", " r9 < 0.94 and good conv : Barrel ", etBin, etMin, etMax);
1060  h_EtR9Less093_[1][2] =
1061  iBooker.book1D(histname + "Endcap", " r9 < 0.95 and good conv : Endcap ", etBin, etMin, etMax);
1062  }
1063 
1065  histname = "pR9VsEta";
1066  p_r9VsEta_[0] = iBooker.bookProfile(
1067  histname + "All", " All photons r9 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1068  p_r9VsEta_[1] = iBooker.bookProfile(
1069  histname + "Unconv", " Unconv photons r9 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1070  p_r9VsEta_[2] = iBooker.bookProfile(
1071  histname + "Conv", " Conv photons r9 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1072  //
1073  histname = "R9VsEt";
1074  if (!isRunCentrally_)
1075  h2_r9VsEt_[0] =
1076  iBooker.book2D(histname + "All", " All photons r9 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1077  if (!isRunCentrally_)
1078  h2_r9VsEt_[1] =
1079  iBooker.book2D(histname + "Unconv", " All photons r9 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1080  //
1081  histname = "r1";
1082  h_r1_[0][0] = iBooker.book1D(histname + "All", " e1x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
1083  h_r1_[0][1] = iBooker.book1D(histname + "Barrel", " e1x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
1084  h_r1_[0][2] = iBooker.book1D(histname + "Endcap", " e1x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
1085  //
1086  histname = "R1VsEta";
1087  if (!isRunCentrally_)
1088  h2_r1VsEta_[0] = iBooker.book2D(
1089  histname + "All", " All photons e1x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1090  if (!isRunCentrally_)
1091  h2_r1VsEta_[1] = iBooker.book2D(
1092  histname + "Unconv", " All photons e1x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1093  //
1094  histname = "R1VsEt";
1095  if (!isRunCentrally_)
1096  h2_r1VsEt_[0] =
1097  iBooker.book2D(histname + "All", " All photons e1x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1098  if (!isRunCentrally_)
1099  h2_r1VsEt_[1] = iBooker.book2D(
1100  histname + "Unconv", " All photons e1x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1101  //
1102  histname = "r2";
1103  h_r2_[0][0] = iBooker.book1D(histname + "All", " e2x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
1104  h_r2_[0][1] = iBooker.book1D(histname + "Barrel", " e2x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
1105  h_r2_[0][2] = iBooker.book1D(histname + "Endcap", " e2x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
1106  //
1107  histname = "R2VsEta";
1108  if (!isRunCentrally_)
1109  h2_r2VsEta_[0] = iBooker.book2D(
1110  histname + "All", " All photons e2x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1111  if (!isRunCentrally_)
1112  h2_r2VsEta_[1] = iBooker.book2D(
1113  histname + "Unconv", " All photons e2x5/e5x5 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 1.1);
1114  //
1115  histname = "R2VsEt";
1116  if (!isRunCentrally_)
1117  h2_r2VsEt_[0] =
1118  iBooker.book2D(histname + "All", " All photons e2x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1119  if (!isRunCentrally_)
1120  h2_r2VsEt_[1] = iBooker.book2D(
1121  histname + "Unconv", " All photons e2x5/e5x5 vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 1.1);
1122  //
1123  histname = "sigmaIetaIeta";
1124  h_sigmaIetaIeta_[0][0] = iBooker.book1D(histname + "All", "sigmaIetaIeta: All Ecal", 100, 0., 0.1);
1125  h_sigmaIetaIeta_[0][1] = iBooker.book1D(histname + "Barrel", "sigmaIetaIeta: Barrel ", 100, 0., 0.05);
1126  h_sigmaIetaIeta_[0][2] = iBooker.book1D(histname + "Endcap", "sigmaIetaIeta: Endcap ", 100, 0., 0.1);
1127  //
1128  histname = "sigmaIetaIetaVsEta";
1129  if (!isRunCentrally_)
1130  h2_sigmaIetaIetaVsEta_[0] = iBooker.book2D(
1131  histname + "All", " All photons sigmaIetaIeta vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1132  if (!isRunCentrally_)
1133  h2_sigmaIetaIetaVsEta_[1] = iBooker.book2D(
1134  histname + "Unconv", " All photons sigmaIetaIeta vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1135  //
1136  histname = "sigmaIetaIetaVsEt";
1137  if (!isRunCentrally_)
1138  h2_sigmaIetaIetaVsEt_[0] = iBooker.book2D(
1139  histname + "All", " All photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1140  if (!isRunCentrally_)
1141  h2_sigmaIetaIetaVsEt_[1] = iBooker.book2D(
1142  histname + "Unconv", " All photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1143  //
1144  histname = "hOverE";
1145  h_hOverE_[0][0] = iBooker.book1D(histname + "All", "H/E: All Ecal", 100, 0., 0.1);
1146  h_hOverE_[0][1] = iBooker.book1D(histname + "Barrel", "H/E: Barrel ", 100, 0., 0.1);
1147  h_hOverE_[0][2] = iBooker.book1D(histname + "Endcap", "H/E: Endcap ", 100, 0., 0.1);
1148  //
1149  histname = "newhOverE";
1150  h_newhOverE_[0][0] = iBooker.book1D(histname + "All", "new H/E: All Ecal", 100, 0., 0.1);
1151  h_newhOverE_[0][1] = iBooker.book1D(histname + "Barrel", "new H/E: Barrel ", 100, 0., 0.1);
1152  h_newhOverE_[0][2] = iBooker.book1D(histname + "Endcap", "new H/E: Endcap ", 100, 0., 0.1);
1153 
1154  //
1155  if (!isRunCentrally_) {
1156  histname = "hOverEVsEta";
1157  h2_hOverEVsEta_[0] =
1158  iBooker.book2D(histname + "All", " All photons H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1159  h2_hOverEVsEta_[1] = iBooker.book2D(
1160  histname + "Unconv", " All photons H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1161  //
1162  histname = "hOverEVsEt";
1163  h2_hOverEVsEt_[0] =
1164  iBooker.book2D(histname + "All", " All photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1165  h2_hOverEVsEt_[1] =
1166  iBooker.book2D(histname + "Unconv", " All photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1167  //
1168  }
1169  histname = "pHoverEVsEta";
1170  p_hOverEVsEta_[0] = iBooker.bookProfile(
1171  histname + "All", " All photons H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1172  p_hOverEVsEta_[1] = iBooker.bookProfile(
1173  histname + "Unconv", " All photons H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1174  //
1175  histname = "pHoverEVsEt";
1176  p_hOverEVsEt_[0] =
1177  iBooker.bookProfile(histname + "All", " All photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1178  p_hOverEVsEt_[1] =
1179  iBooker.bookProfile(histname + "Unconv", " All photons H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1180  //
1181  histname = "pnewHoverEVsEta";
1182  p_newhOverEVsEta_[0] = iBooker.bookProfile(
1183  histname + "All", " All photons new H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1184  p_newhOverEVsEta_[1] = iBooker.bookProfile(
1185  histname + "Unconv", " All photons new H/E vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
1186  //
1187  histname = "pnewHoverEVsEt";
1188  p_newhOverEVsEt_[0] =
1189  iBooker.bookProfile(histname + "All", " All photons new H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1190  p_newhOverEVsEt_[1] = iBooker.bookProfile(
1191  histname + "Unconv", " All photons new H/E vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
1192  //
1193  histname = "ecalRecHitSumEtConeDR04";
1195  iBooker.book1D(histname + "All", "ecalRecHitSumEtDR04: All Ecal", etBin, etMin, 20.);
1197  iBooker.book1D(histname + "Barrel", "ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 20.);
1199  iBooker.book1D(histname + "Endcap", "ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 20.);
1200  //
1201 
1202  if (!isRunCentrally_) {
1203  histname = "ecalRecHitSumEtConeDR04VsEta";
1204  h2_ecalRecHitSumEtConeDR04VsEta_[0] = iBooker.book2D(histname + "All",
1205  " All photons ecalRecHitSumEtDR04 vs #eta: all Ecal ",
1206  etaBin2,
1207  etaMin,
1208  etaMax,
1209  etBin,
1210  etMin,
1211  etMax * etScale);
1212  h2_ecalRecHitSumEtConeDR04VsEta_[1] = iBooker.book2D(histname + "Unconv",
1213  " All photons ecalRecHitSumEtDR04 vs #eta: all Ecal ",
1214  etaBin2,
1215  etaMin,
1216  etaMax,
1217  etBin,
1218  etMin,
1219  etMax * etScale);
1220  }
1221  histname = "pEcalRecHitSumEtConeDR04VsEta";
1222  p_ecalRecHitSumEtConeDR04VsEta_[0] = iBooker.bookProfile(histname + "All",
1223  "All photons ecalRecHitSumEtDR04 vs #eta: all Ecal ",
1224  etaBin2,
1225  etaMin,
1226  etaMax,
1227  etBin,
1228  etMin,
1229  etMax * etScale,
1230  "");
1231  p_ecalRecHitSumEtConeDR04VsEta_[1] = iBooker.bookProfile(histname + "Unconv",
1232  "All photons ecalRecHitSumEtDR04 vs #eta: all Ecal ",
1233  etaBin2,
1234  etaMin,
1235  etaMax,
1236  etBin,
1237  etMin,
1238  etMax * etScale,
1239  "");
1240  //
1241  if (!isRunCentrally_) {
1242  histname = "ecalRecHitSumEtConeDR04VsEt";
1243  h2_ecalRecHitSumEtConeDR04VsEt_[0] = iBooker.book2D(histname + "All",
1244  " All photons ecalRecHitSumEtDR04 vs Et: all Ecal ",
1245  etBin,
1246  etMin,
1247  etMax,
1248  etBin,
1249  etMin,
1250  etMax * etScale);
1251  h2_ecalRecHitSumEtConeDR04VsEt_[1] = iBooker.book2D(histname + "Barrel",
1252  " All photons ecalRecHitSumEtDR04 vs Et: Barrel ",
1253  etBin,
1254  etMin,
1255  etMax,
1256  etBin,
1257  etMin,
1258  etMax * etScale);
1259  h2_ecalRecHitSumEtConeDR04VsEt_[2] = iBooker.book2D(histname + "Endcap",
1260  " All photons ecalRecHitSumEtDR04 vs Et: Endcap ",
1261  etBin,
1262  etMin,
1263  etMax,
1264  etBin,
1265  etMin,
1266  etMax * etScale);
1267  }
1268  histname = "pEcalRecHitSumEtConeDR04VsEt";
1269  if (!isRunCentrally_)
1270  p_ecalRecHitSumEtConeDR04VsEt_[0] = iBooker.bookProfile(histname + "All",
1271  "All photons ecalRecHitSumEtDR04 vs Et: all Ecal ",
1272  etBin,
1273  etMin,
1274  etMax,
1275  etBin,
1276  etMin,
1277  etMax * etScale,
1278  "");
1279  p_ecalRecHitSumEtConeDR04VsEt_[1] = iBooker.bookProfile(histname + "Barrel",
1280  "All photons ecalRecHitSumEtDR04 vs Et: all Ecal ",
1281  etBin,
1282  etMin,
1283  etMax,
1284  etBin,
1285  etMin,
1286  etMax * etScale,
1287  "");
1288  p_ecalRecHitSumEtConeDR04VsEt_[2] = iBooker.bookProfile(histname + "Endcap",
1289  "All photons ecalRecHitSumEtDR04 vs Et: all Ecal ",
1290  etBin,
1291  etMin,
1292  etMax,
1293  etBin,
1294  etMin,
1295  etMax * etScale,
1296  "");
1297  //
1298  histname = "hcalTowerSumEtConeDR04";
1300  iBooker.book1D(histname + "All", "hcalTowerSumEtConeDR04: All Ecal", etBin, etMin, 20.);
1302  iBooker.book1D(histname + "Barrel", "hcalTowerSumEtConeDR04: Barrel ", etBin, etMin, 20.);
1304  iBooker.book1D(histname + "Endcap", "hcalTowerSumEtConeDR04: Endcap ", etBin, etMin, 20.);
1305  //
1306  histname = "hcalTowerBcSumEtConeDR04";
1307  if (!isRunCentrally_)
1309  iBooker.book1D(histname + "All", "hcalTowerBcSumEtConeDR04: All Ecal", etBin, etMin, 20.);
1311  iBooker.book1D(histname + "Barrel", "hcalTowerBcSumEtConeDR04: Barrel ", etBin, etMin, 20.);
1313  iBooker.book1D(histname + "Endcap", "hcalTowerBcSumEtConeDR04: Endcap ", etBin, etMin, 20.);
1314 
1315  //
1316  if (!isRunCentrally_) {
1317  histname = "hcalTowerSumEtConeDR04VsEta";
1318  h2_hcalTowerSumEtConeDR04VsEta_[0] = iBooker.book2D(histname + "All",
1319  " All photons hcalTowerSumEtConeDR04 vs #eta: all Ecal ",
1320  etaBin2,
1321  etaMin,
1322  etaMax,
1323  etBin,
1324  etMin,
1325  etMax * 0.1);
1326  h2_hcalTowerSumEtConeDR04VsEta_[1] = iBooker.book2D(histname + "Unconv",
1327  " All photons hcalTowerSumEtConeDR04 vs #eta: all Ecal ",
1328  etaBin2,
1329  etaMin,
1330  etaMax,
1331  etBin,
1332  etMin,
1333  etMax * 0.1);
1334  }
1335  histname = "pHcalTowerSumEtConeDR04VsEta";
1336  p_hcalTowerSumEtConeDR04VsEta_[0] = iBooker.bookProfile(histname + "All",
1337  "All photons hcalTowerSumEtDR04 vs #eta: all Ecal ",
1338  etaBin2,
1339  etaMin,
1340  etaMax,
1341  etBin,
1342  etMin,
1343  etMax * 0.1,
1344  "");
1345  p_hcalTowerSumEtConeDR04VsEta_[1] = iBooker.bookProfile(histname + "Unconv",
1346  "All photons hcalTowerSumEtDR04 vs #eta: all Ecal ",
1347  etaBin2,
1348  etaMin,
1349  etaMax,
1350  etBin,
1351  etMin,
1352  etMax * 0.1,
1353  "");
1354  histname = "pHcalTowerBcSumEtConeDR04VsEta";
1355  p_hcalTowerBcSumEtConeDR04VsEta_[0] = iBooker.bookProfile(histname + "All",
1356  "All photons hcalTowerBcSumEtDR04 vs #eta: all Ecal ",
1357  etaBin2,
1358  etaMin,
1359  etaMax,
1360  etBin,
1361  etMin,
1362  etMax * 0.1,
1363  "");
1364  p_hcalTowerBcSumEtConeDR04VsEta_[1] = iBooker.bookProfile(histname + "Unconv",
1365  "All photons hcalTowerBcSumEtDR04 vs #eta: all Ecal ",
1366  etaBin2,
1367  etaMin,
1368  etaMax,
1369  etBin,
1370  etMin,
1371  etMax * 0.1,
1372  "");
1373  //
1374  if (!isRunCentrally_) {
1375  histname = "hcalTowerSumEtConeDR04VsEt";
1376  h2_hcalTowerSumEtConeDR04VsEt_[0] = iBooker.book2D(histname + "All",
1377  " All photons hcalTowerSumEtConeDR04 vs Et: all Ecal ",
1378  etBin,
1379  etMin,
1380  etMax,
1381  etBin,
1382  etMin,
1383  etMax * 0.1);
1384  h2_hcalTowerSumEtConeDR04VsEt_[1] = iBooker.book2D(histname + "Barrel",
1385  " All photons hcalTowerSumEtConeDR04 vs Et: Barrel ",
1386  etBin,
1387  etMin,
1388  etMax,
1389  etBin,
1390  etMin,
1391  etMax * 0.1);
1392  h2_hcalTowerSumEtConeDR04VsEt_[2] = iBooker.book2D(histname + "Endcap",
1393  " All photons hcalTowerSumEtConeDR04 vs Et: Endcap ",
1394  etBin,
1395  etMin,
1396  etMax,
1397  etBin,
1398  etMin,
1399  etMax * 0.1);
1400  }
1401  histname = "pHcalTowerSumEtConeDR04VsEt";
1402  if (!isRunCentrally_)
1403  p_hcalTowerSumEtConeDR04VsEt_[0] = iBooker.bookProfile(histname + "All",
1404  "All photons hcalTowerSumEtDR04 vs Et: all Ecal ",
1405  etBin,
1406  etMin,
1407  etMax,
1408  etBin,
1409  etMin,
1410  etMax * etScale,
1411  "");
1412  p_hcalTowerSumEtConeDR04VsEt_[1] = iBooker.bookProfile(histname + "Barrel",
1413  "All photons hcalTowerSumEtDR04 vs Et: all Ecal ",
1414  etBin,
1415  etMin,
1416  etMax,
1417  etBin,
1418  etMin,
1419  etMax * etScale,
1420  "");
1421  p_hcalTowerSumEtConeDR04VsEt_[2] = iBooker.bookProfile(histname + "Endcap",
1422  "All photons hcalTowerSumEtDR04 vs Et: all Ecal ",
1423  etBin,
1424  etMin,
1425  etMax,
1426  etBin,
1427  etMin,
1428  etMax * etScale,
1429  "");
1430  //
1431  histname = "pHcalTowerBcSumEtConeDR04VsEt";
1432  if (!isRunCentrally_)
1433  p_hcalTowerBcSumEtConeDR04VsEt_[0] = iBooker.bookProfile(histname + "All",
1434  "All photons hcalTowerBcSumEtDR04 vs Et: all Ecal ",
1435  etBin,
1436  etMin,
1437  etMax,
1438  etBin,
1439  etMin,
1440  etMax * etScale,
1441  "");
1442  p_hcalTowerBcSumEtConeDR04VsEt_[1] = iBooker.bookProfile(histname + "Barrel",
1443  "All photons hcalTowerBcSumEtDR04 vs Et: all Ecal ",
1444  etBin,
1445  etMin,
1446  etMax,
1447  etBin,
1448  etMin,
1449  etMax * etScale,
1450  "");
1451  p_hcalTowerBcSumEtConeDR04VsEt_[2] = iBooker.bookProfile(histname + "Endcap",
1452  "All photons hcalTowerBcSumEtDR04 vs Et: all Ecal ",
1453  etBin,
1454  etMin,
1455  etMax,
1456  etBin,
1457  etMin,
1458  etMax * etScale,
1459  "");
1460 
1461  //
1462  histname = "isoTrkSolidConeDR04";
1463  h_isoTrkSolidConeDR04_[0][0] =
1464  iBooker.book1D(histname + "All", "isoTrkSolidConeDR04: All Ecal", etBin, etMin, etMax * 0.1);
1465  h_isoTrkSolidConeDR04_[0][1] =
1466  iBooker.book1D(histname + "Barrel", "isoTrkSolidConeDR04: Barrel ", etBin, etMin, etMax * 0.1);
1467  h_isoTrkSolidConeDR04_[0][2] =
1468  iBooker.book1D(histname + "Endcap", "isoTrkSolidConeDR04: Endcap ", etBin, etMin, etMax * 0.1);
1469  //
1470 
1471  histname = "isoTrkSolidConeDR04VsEta";
1472  if (!isRunCentrally_)
1473  h2_isoTrkSolidConeDR04VsEta_[0] = iBooker.book2D(histname + "All",
1474  " All photons isoTrkSolidConeDR04 vs #eta: all Ecal ",
1475  etaBin2,
1476  etaMin,
1477  etaMax,
1478  etBin,
1479  etMin,
1480  etMax * 0.1);
1481  if (!isRunCentrally_)
1482  h2_isoTrkSolidConeDR04VsEta_[1] = iBooker.book2D(histname + "Unconv",
1483  " All photons isoTrkSolidConeDR04 vs #eta: all Ecal ",
1484  etaBin2,
1485  etaMin,
1486  etaMax,
1487  etBin,
1488  etMin,
1489  etMax * 0.1);
1490 
1491  //
1492  histname = "isoTrkSolidConeDR04VsEt";
1493  if (!isRunCentrally_)
1494  h2_isoTrkSolidConeDR04VsEt_[0] = iBooker.book2D(histname + "All",
1495  " All photons isoTrkSolidConeDR04 vs Et: all Ecal ",
1496  etBin,
1497  etMin,
1498  etMax,
1499  etBin,
1500  etMin,
1501  etMax * 0.1);
1502  if (!isRunCentrally_)
1503  h2_isoTrkSolidConeDR04VsEt_[1] = iBooker.book2D(histname + "Unconv",
1504  " All photons isoTrkSolidConeDR04 vs Et: all Ecal ",
1505  etBin,
1506  etMin,
1507  etMax,
1508  etBin,
1509  etMin,
1510  etMax * 0.1);
1511  //
1512  histname = "nTrkSolidConeDR04";
1513  h_nTrkSolidConeDR04_[0][0] = iBooker.book1D(histname + "All", "nTrkSolidConeDR04: All Ecal", 20, 0., 20);
1514  h_nTrkSolidConeDR04_[0][1] = iBooker.book1D(histname + "Barrel", "nTrkSolidConeDR04: Barrel ", 20, 0., 20);
1515  h_nTrkSolidConeDR04_[0][2] = iBooker.book1D(histname + "Endcap", "nTrkSolidConeDR04: Endcap ", 20, 0., 20);
1516  //
1517  histname = "nTrkSolidConeDR04VsEta";
1518  if (!isRunCentrally_)
1519  h2_nTrkSolidConeDR04VsEta_[0] = iBooker.book2D(
1520  histname + "All", " All photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
1521  if (!isRunCentrally_)
1522  h2_nTrkSolidConeDR04VsEta_[1] = iBooker.book2D(
1523  histname + "Unconv", " All photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
1524  //
1525  histname = "nTrkSolidConeDR04VsEt";
1526  if (!isRunCentrally_)
1527  h2_nTrkSolidConeDR04VsEt_[0] = iBooker.book2D(
1528  histname + "All", " All photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
1529  if (!isRunCentrally_)
1530  h2_nTrkSolidConeDR04VsEt_[1] = iBooker.book2D(
1531  histname + "Unconv", " All photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
1532  //
1533  histname = "phoE";
1534  h_phoE_[0][0] = iBooker.book1D(histname + "All", " Photon Energy: All ecal ", eBin, eMin, eMax);
1535  h_phoE_[0][1] = iBooker.book1D(histname + "Barrel", " Photon Energy: barrel ", eBin, eMin, eMax);
1536  h_phoE_[0][2] = iBooker.book1D(histname + "Endcap", " Photon Energy: Endcap ", eBin, eMin, eMax);
1537 
1538  histname = "phoEt";
1539  h_phoEt_[0][0] = iBooker.book1D(histname + "All", " Photon Transverse Energy: All ecal ", etBin, etMin, etMax);
1540  h_phoEt_[0][1] = iBooker.book1D(histname + "Barrel", " Photon Transverse Energy: Barrel ", etBin, etMin, etMax);
1541  h_phoEt_[0][2] = iBooker.book1D(histname + "Endcap", " Photon Transverse Energy: Endcap ", etBin, etMin, etMax);
1542 
1543  histname = "eRes";
1544  h_phoERes_[0][0] =
1545  iBooker.book1D(histname + "All", " Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
1546  h_phoERes_[0][1] =
1547  iBooker.book1D(histname + "Barrel", "Photon E/E_{true}: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
1548  h_phoERes_[0][2] =
1549  iBooker.book1D(histname + "Endcap", " Photon E/E_{true}: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
1550 
1551  h_phoERes_[1][0] = iBooker.book1D(
1552  histname + "unconvAll", " Photon E/E_{true} if r9>0.94, 0.95: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
1553  h_phoERes_[1][1] = iBooker.book1D(
1554  histname + "unconvBarrel", " Photon E/E_{true} if r9>0.94: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
1555  h_phoERes_[1][2] = iBooker.book1D(
1556  histname + "unconvEndcap", " Photon E/E_{true} if r9>0.95: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
1557 
1558  h_phoERes_[2][0] = iBooker.book1D(
1559  histname + "convAll", " Photon E/E_{true} if r9<0.0.94, 0.95: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
1560  h_phoERes_[2][1] = iBooker.book1D(
1561  histname + "convBarrel", " Photon E/E_{true} if r9<0.94: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
1562  h_phoERes_[2][2] = iBooker.book1D(
1563  histname + "convEndcap", " Photon E/E_{true} if r9<0.95: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
1564 
1565  histname = "sigmaEoE";
1566  h_phoSigmaEoE_[0][0] = iBooker.book1D(histname + "All", "#sigma_{E}/E: All ecal; #sigma_{E}/E", 100, 0., 0.08);
1567  h_phoSigmaEoE_[0][1] = iBooker.book1D(histname + "Barrel", "#sigma_{E}/E: Barrel; #sigma_{E}/E", 100, 0., 0.08);
1568  h_phoSigmaEoE_[0][2] = iBooker.book1D(histname + "Endcap", "#sigma_{E}/E: Endcap, #sigma_{E}/E", 100, 0., 0.08);
1569 
1570  h_phoSigmaEoE_[1][0] =
1571  iBooker.book1D(histname + "unconvAll", "#sigma_{E}/E if r9>0.94, 0.95: All ecal; #sigma_{E}/E", 100, 0., 0.08);
1572  h_phoSigmaEoE_[1][1] =
1573  iBooker.book1D(histname + "unconvBarrel", "#sigma_{E}/E if r9>0.94: Barrel; #sigma_{E}/E", 100, 0., 0.08);
1574  h_phoSigmaEoE_[1][2] =
1575  iBooker.book1D(histname + "unconvEndcap", "#sigma_{E}/E r9>0.95: Endcap; #sigma_{E}/E", 100, 0., 0.08);
1576 
1577  h_phoSigmaEoE_[2][0] =
1578  iBooker.book1D(histname + "convAll", "#sigma_{E}/E if r9<0.0.94, 0.95: All ecal, #sigma_{E}/E", 100, 0., 0.08);
1579  h_phoSigmaEoE_[2][1] =
1580  iBooker.book1D(histname + "convBarrel", "#sigma_{E}/E if r9<0.94: Barrel, #sigma_{E}/E", 100, 0., 0.08);
1581  h_phoSigmaEoE_[2][2] =
1582  iBooker.book1D(histname + "convEndcap", "#sigma_{E}/E if r9<0.95: Endcap, #sigma_{E}/E", 100, 0., 0.08);
1583 
1584  histname = "eResVsEta";
1585  if (!isRunCentrally_)
1586  h2_eResVsEta_[0] = iBooker.book2D(
1587  histname + "All", " All photons E/Etrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 2.5);
1588  if (!isRunCentrally_)
1589  h2_eResVsEta_[1] = iBooker.book2D(
1590  histname + "Unconv", " Unconv photons E/Etrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 2.5);
1591 
1592  histname = "pEResVsEta";
1593  p_eResVsEta_[0] = iBooker.bookProfile(
1594  histname + "All", "All photons E/Etrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, resBin, resMin, resMax, "");
1595  p_eResVsEta_[1] = iBooker.bookProfile(histname + "Unconv",
1596  "Unconv photons E/Etrue vs #eta: all Ecal",
1597  etaBin2,
1598  etaMin,
1599  etaMax,
1600  resBin,
1601  resMin,
1602  resMax,
1603  "");
1604  p_eResVsEta_[2] = iBooker.bookProfile(
1605  histname + "Conv", "Conv photons E/Etrue vs #eta: all Ecal", etaBin2, etaMin, etaMax, resBin, resMin, resMax, "");
1606 
1607  histname = "pSigmaEoEVsEta";
1608  p_sigmaEoEVsEta_[0] = iBooker.bookProfile(histname + "All",
1609  "All photons: #sigma_{E}/E vs #eta: all Ecal; #eta; #sigma_{E}/E",
1610  etaBin2,
1611  etaMin,
1612  etaMax,
1613  100,
1614  0.,
1615  0.08,
1616  "");
1617  p_sigmaEoEVsEta_[1] = iBooker.bookProfile(histname + "Unconv",
1618  "Unconv photons #sigma_{E}/E vs #eta: all Ecal; #eta; #sigma_{E}/E ",
1619  etaBin2,
1620  etaMin,
1621  etaMax,
1622  100,
1623  0.,
1624  0.08,
1625  "");
1626  p_sigmaEoEVsEta_[2] = iBooker.bookProfile(histname + "Conv",
1627  "Conv photons #sigma_{E}/E vs #eta: all Ecal; #eta; #sigma_{E}/E",
1628  etaBin2,
1629  etaMin,
1630  etaMax,
1631  100,
1632  0.,
1633  0.08,
1634  "");
1635 
1636  histname = "pSigmaEoEVsEt";
1637  p_sigmaEoEVsEt_[1][0] = iBooker.bookProfile(histname + "Barrel",
1638  "All photons #sigma_{E}/E vs E_{T}: Barrel; E_{T} (GeV); #sigma_{E}/E ",
1639  etBin,
1640  etMin,
1641  etMax,
1642  100,
1643  0.,
1644  0.08,
1645  "");
1646  p_sigmaEoEVsEt_[1][1] =
1647  iBooker.bookProfile(histname + "unconvBarrel",
1648  "Unconv photons #sigma_{E}/E vs E_{T}: Barrel; E_{T} (GeV); #sigma_{E}/E ",
1649  etBin,
1650  etMin,
1651  etMax,
1652  100,
1653  0.,
1654  0.08,
1655  "");
1656  p_sigmaEoEVsEt_[1][2] = iBooker.bookProfile(histname + "convBarrel",
1657  "Conv photons #sigma_{E}/E vs E_{T}: Barrel; E_{T} (GeV); #sigma_{E}/E",
1658  etBin,
1659  etMin,
1660  etMax,
1661  100,
1662  0.,
1663  0.08,
1664  "");
1665  p_sigmaEoEVsEt_[2][0] = iBooker.bookProfile(histname + "Endcap",
1666  "All photons #sigma_{E}/E vs E_{T}: Endcap; E_{T} (GeV); #sigma_{E}/E ",
1667  etBin,
1668  etMin,
1669  etMax,
1670  100,
1671  0.,
1672  0.08,
1673  "");
1674  p_sigmaEoEVsEt_[2][1] =
1675  iBooker.bookProfile(histname + "unconvEndcap",
1676  "Unconv photons #sigma_{E}/E vs E_{T}: Endcap; E_{T} (GeV); #sigma_{E}/E ",
1677  etBin,
1678  etMin,
1679  etMax,
1680  100,
1681  0.,
1682  0.08,
1683  "");
1684  p_sigmaEoEVsEt_[2][2] = iBooker.bookProfile(histname + "convEndcap",
1685  "Conv photons #sigma_{E}/E vs E_{T}: Endcap; E_{T} (GeV); #sigma_{E}/E",
1686  etBin,
1687  etMin,
1688  etMax,
1689  100,
1690  0.,
1691  0.08,
1692  "");
1693 
1694  histname = "pSigmaEoEVsNVtx";
1695  p_sigmaEoEVsNVtx_[1][0] = iBooker.bookProfile(histname + "Barrel",
1696  "All photons: #sigma_{E}/E vs N_{vtx}: Barrel; N_{vtx}; #sigma_{E}/E",
1697  200,
1698  -0.5,
1699  199.5,
1700  100,
1701  0.,
1702  0.08,
1703  "");
1704  p_sigmaEoEVsNVtx_[1][1] =
1705  iBooker.bookProfile(histname + "unconvBarrel",
1706  "Unconv photons #sigma_{E}/E vs N_{vtx}: Barrel; N_{vtx}; #sigma_{E}/E ",
1707  200,
1708  -0.5,
1709  199.5,
1710  100,
1711  0.,
1712  0.08,
1713  "");
1714  p_sigmaEoEVsNVtx_[1][2] = iBooker.bookProfile(histname + "convBarrel",
1715  "Conv photons #sigma_{E}/E vs N_{vtx}: Barrel; N_{vtx}; #sigma_{E}/E",
1716  200,
1717  -0.5,
1718  199.5,
1719  100,
1720  0.,
1721  0.08,
1722  "");
1723  p_sigmaEoEVsNVtx_[2][0] = iBooker.bookProfile(histname + "Endcap",
1724  "All photons: #sigma_{E}/E vs N_{vtx}: Endcap; N_{vtx}; #sigma_{E}/E",
1725  200,
1726  -0.5,
1727  199.5,
1728  100,
1729  0.,
1730  0.08,
1731  "");
1732  p_sigmaEoEVsNVtx_[2][1] =
1733  iBooker.bookProfile(histname + "unconvEndcap",
1734  "Unconv photons #sigma_{E}/E vs N_{vtx}: Endcap; N_{vtx}; #sigma_{E}/E ",
1735  200,
1736  -0.5,
1737  199.5,
1738  100,
1739  0.,
1740  0.08,
1741  "");
1742  p_sigmaEoEVsNVtx_[2][2] = iBooker.bookProfile(histname + "convEndcap",
1743  "Conv photons #sigma_{E}/E vs N_{vtx}: Endcap; N_{vtx}; #sigma_{E}/E",
1744  200,
1745  -0.5,
1746  199.5,
1747  100,
1748  0.,
1749  0.08,
1750  "");
1751 
1752  if (!isRunCentrally_) {
1753  histname = "eResVsEt";
1754  h2_eResVsEt_[0][0] = iBooker.book2D(
1755  histname + "All", " All photons E/Etrue vs true Et: all Ecal ", etBin, etMin, etMax, 100, 0.9, 1.1);
1756  h2_eResVsEt_[0][1] = iBooker.book2D(
1757  histname + "unconv", " All photons E/Etrue vs true Et: all Ecal ", etBin, etMin, etMax, 100, 0.9, 1.1);
1758  h2_eResVsEt_[0][2] = iBooker.book2D(
1759  histname + "conv", " All photons E/Etrue vs true Et: all Ecal ", etBin, etMin, etMax, 100, 0.9, 1.1);
1760  h2_eResVsEt_[1][0] = iBooker.book2D(
1761  histname + "Barrel", " All photons E/Etrue vs true Et: Barrel ", etBin, etMin, etMax, 100, 0.9, 1.1);
1762  h2_eResVsEt_[1][1] = iBooker.book2D(
1763  histname + "unconvBarrel", " All photons E/Etrue vs true Et: Barrel ", etBin, etMin, etMax, 100, 0.9, 1.1);
1764  h2_eResVsEt_[1][2] = iBooker.book2D(
1765  histname + "convBarrel", " All photons E/Etrue vs true Et: Barrel ", etBin, etMin, etMax, 100, 0.9, 1.1);
1766  h2_eResVsEt_[2][0] = iBooker.book2D(
1767  histname + "Endcap", " All photons E/Etrue vs true Et: Endcap ", etBin, etMin, etMax, 100, 0.9, 1.1);
1768  h2_eResVsEt_[2][1] = iBooker.book2D(
1769  histname + "unconvEndcap", " All photons E/Etrue vs true Et: Endcap ", etBin, etMin, etMax, 100, 0.9, 1.1);
1770  h2_eResVsEt_[2][2] = iBooker.book2D(
1771  histname + "convEndcap", " All photons E/Etrue vs true Et: Endcap ", etBin, etMin, etMax, 100, 0.9, 1.1);
1772  }
1773 
1774  histname = "pEResVsEt";
1775  p_eResVsEt_[0][0] = iBooker.bookProfile(
1776  histname + "All", "All photons E/Etrue vs Et: all Ecal ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1777  p_eResVsEt_[0][1] = iBooker.bookProfile(
1778  histname + "unconv", "All photons E/Etrue vs Et: all Ecal ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1779  p_eResVsEt_[0][2] = iBooker.bookProfile(
1780  histname + "conv", "All photons E/Etrue vs Et: all Ecal ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1781  p_eResVsEt_[1][0] = iBooker.bookProfile(
1782  histname + "Barrel", "All photons E/Etrue vs Et: Barrel ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1783  p_eResVsEt_[1][1] = iBooker.bookProfile(
1784  histname + "unconvBarrel", "All photons E/Etrue vs Et: Barrel ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1785  p_eResVsEt_[1][2] = iBooker.bookProfile(
1786  histname + "convBarrel", "All photons E/Etrue vs Et: Barrel ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1787  p_eResVsEt_[2][0] = iBooker.bookProfile(
1788  histname + "Endcap", "All photons E/Etrue vs Et: Endcap ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1789  p_eResVsEt_[2][1] = iBooker.bookProfile(
1790  histname + "unconvEndcap", "All photons E/Etrue vs Et: Endcap ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1791  p_eResVsEt_[2][2] = iBooker.bookProfile(
1792  histname + "convEndcap", "All photons E/Etrue vs Et: Endcap ", etBin, etMin, etMax, resBin, resMin, resMax, "");
1793 
1794  histname = "pEResVsNVtx";
1795  p_eResVsNVtx_[1][0] = iBooker.bookProfile(histname + "Barrel",
1796  "All photons E/E_{true} vs N_{vtx}: Barrel; N_{vtx}; E}/E_{true}",
1797  200,
1798  -0.5,
1799  199.5,
1800  resBin,
1801  resMin,
1802  resMax,
1803  "");
1804  p_eResVsNVtx_[1][1] =
1805  iBooker.bookProfile(histname + "unconvBarrel",
1806  "Unconverted photons E/E_{true} vs N_{vtx}: Barrel; N_{vtx}; E}/E_{true} ",
1807  200,
1808  -0.5,
1809  199.5,
1810  resBin,
1811  resMin,
1812  resMax,
1813  "");
1814  p_eResVsNVtx_[1][2] =
1815  iBooker.bookProfile(histname + "convBarrel",
1816  " Converted photons E/E_{true} vs N_{vtx}: Barrel; N_{vtx}; E}/E_{true} ",
1817  200,
1818  -0.5,
1819  199.5,
1820  resBin,
1821  resMin,
1822  resMax,
1823  "");
1824  p_eResVsNVtx_[2][0] = iBooker.bookProfile(histname + "Endcap",
1825  "All photons E/E_{true} vs N_{vtx}: Endcap; N_{vtx}; E}/E_{true} ",
1826  200,
1827  -0.5,
1828  199.5,
1829  resBin,
1830  resMin,
1831  resMax,
1832  "");
1833  p_eResVsNVtx_[2][1] =
1834  iBooker.bookProfile(histname + "unconvEndcap",
1835  "Uncoverted photons E/E_{true} vs N_{vtx}: Endcap; N_{vtx}; E}/E_{true} ",
1836  2080,
1837  -0.5,
1838  199.5,
1839  resBin,
1840  resMin,
1841  resMax,
1842  "");
1843  p_eResVsNVtx_[2][2] = iBooker.bookProfile(histname + "convEndcap",
1844  "Converted photons E/E_{true} vs N_{vtx}: Endcap; N_{vtx}; E}/E_{true} ",
1845  200,
1846  -0.5,
1847  199.5,
1848  resBin,
1849  resMin,
1850  resMax,
1851  "");
1852 
1853  histname = "eResVsR9";
1854  if (!isRunCentrally_)
1855  h2_eResVsR9_[0] = iBooker.book2D(
1856  histname + "All", " All photons E/Etrue vs R9: all Ecal ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1857  if (!isRunCentrally_)
1858  h2_eResVsR9_[1] = iBooker.book2D(
1859  histname + "Barrel", " All photons E/Etrue vs R9: Barrel ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1860  if (!isRunCentrally_)
1861  h2_eResVsR9_[2] = iBooker.book2D(
1862  histname + "Endcap", " All photons E/Etrue vs R9: Endcap ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1863  histname = "pEResVsR9";
1864  if (!isRunCentrally_)
1865  p_eResVsR9_[0] = iBooker.bookProfile(
1866  histname + "All", " All photons E/Etrue vs R9: all Ecal ", r9Bin * 2, r9Min, r9Max, resBin, resMin, resMax, "");
1867  p_eResVsR9_[1] = iBooker.bookProfile(
1868  histname + "Barrel", " All photons E/Etrue vs R9: Barrel ", r9Bin * 2, r9Min, r9Max, resBin, resMin, resMax, "");
1869  p_eResVsR9_[2] = iBooker.bookProfile(
1870  histname + "Endcap", " All photons E/Etrue vs R9: Endcap ", r9Bin * 2, r9Min, r9Max, resBin, resMin, resMax, "");
1871  histname = "sceResVsR9";
1872  if (!isRunCentrally_)
1873  h2_sceResVsR9_[0] = iBooker.book2D(
1874  histname + "All", " All photons scE/Etrue vs R9: all Ecal ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1875  if (!isRunCentrally_)
1876  h2_sceResVsR9_[1] = iBooker.book2D(
1877  histname + "Barrel", " All photons scE/Etrue vs R9: Barrel ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1878  if (!isRunCentrally_)
1879  h2_sceResVsR9_[2] = iBooker.book2D(
1880  histname + "Endcap", " All photons scE/Etrue vs R9: Endcap ", r9Bin * 2, r9Min, r9Max, 100, 0., 2.5);
1881  histname = "scpEResVsR9";
1882  if (!isRunCentrally_)
1883  p_sceResVsR9_[0] = iBooker.bookProfile(histname + "All",
1884  " All photons scE/Etrue vs R9: all Ecal ",
1885  r9Bin * 2,
1886  r9Min,
1887  r9Max,
1888  resBin,
1889  resMin,
1890  resMax,
1891  "");
1892  p_sceResVsR9_[1] = iBooker.bookProfile(histname + "Barrel",
1893  " All photons scE/Etrue vs R9: Barrel ",
1894  r9Bin * 2,
1895  r9Min,
1896  r9Max,
1897  resBin,
1898  resMin,
1899  resMax,
1900  "");
1901  p_sceResVsR9_[2] = iBooker.bookProfile(histname + "Endcap",
1902  " All photons scE/Etrue vs R9: Endcap ",
1903  r9Bin * 2,
1904  r9Min,
1905  r9Max,
1906  resBin,
1907  resMin,
1908  resMax,
1909  "");
1910 
1911  // Photon E resolution when using energy values from regressions
1912  histname = "eResRegr1";
1913  h_phoEResRegr1_[0][0] =
1914  iBooker.book1D(histname + "All", " Photon rec/true Energy from Regression1 : All ecal ", resBin, resMin, resMax);
1915  h_phoEResRegr1_[0][1] =
1916  iBooker.book1D(histname + "Barrel", " Photon rec/true Energy from Regression1: Barrel ", resBin, resMin, resMax);
1917  h_phoEResRegr1_[0][2] =
1918  iBooker.book1D(histname + "Endcap", " Photon rec/true Energy from Regression1: Endcap ", resBin, resMin, resMax);
1919 
1920  h_phoEResRegr1_[1][0] = iBooker.book1D(histname + "unconvAll",
1921  " Photon rec/true Energy from Regression1 if r9>0.94, 0.95: All ecal ",
1922  resBin,
1923  resMin,
1924  resMax);
1925  h_phoEResRegr1_[1][1] = iBooker.book1D(
1926  histname + "unconvBarrel", " Photon rec/true Energy from Regression1 if r9>0.94: Barrel ", resBin, resMin, resMax);
1927  h_phoEResRegr1_[1][2] = iBooker.book1D(
1928  histname + "unconvEndcap", " Photon rec/true Energy from Regression1 if r9>0.95: Endcap ", resBin, resMin, resMax);
1929 
1930  h_phoEResRegr1_[2][0] = iBooker.book1D(histname + "convAll",
1931  " Photon rec/true Energy from Regression1if r9<0.0.94, 0.95: All ecal ",
1932  resBin,
1933  resMin,
1934  resMax);
1935  h_phoEResRegr1_[2][1] = iBooker.book1D(
1936  histname + "convBarrel", " Photon rec/true Energy from Regression1 if r9<0.94: Barrel ", resBin, resMin, resMax);
1937  h_phoEResRegr1_[2][2] = iBooker.book1D(
1938  histname + "convEndcap", " Photon rec/true Energy from Regression1 if r9<0.95: Endcap ", resBin, resMin, resMax);
1939 
1940  histname = "eResRegr2";
1941  h_phoEResRegr2_[0][0] =
1942  iBooker.book1D(histname + "All", " Photon rec/true Energy from Regression2 : All ecal ", resBin, resMin, resMax);
1943  h_phoEResRegr2_[0][1] =
1944  iBooker.book1D(histname + "Barrel", " Photon rec/true Energy from Regression2: Barrel ", resBin, resMin, resMax);
1945  h_phoEResRegr2_[0][2] =
1946  iBooker.book1D(histname + "Endcap", " Photon rec/true Energy from Regression2: Endcap ", resBin, resMin, resMax);
1947 
1948  h_phoEResRegr2_[1][0] = iBooker.book1D(histname + "unconvAll",
1949  " Photon rec/true Energy from Regression2 if r9>0.94, 0.95: All ecal ",
1950  resBin,
1951  resMin,
1952  resMax);
1953  h_phoEResRegr2_[1][1] = iBooker.book1D(
1954  histname + "unconvBarrel", " Photon rec/true Energy from Regression2 if r9>0.94: Barrel ", resBin, resMin, resMax);
1955  h_phoEResRegr2_[1][2] = iBooker.book1D(
1956  histname + "unconvEndcap", " Photon rec/true Energy from Regression2 if r9>0.95: Endcap ", resBin, resMin, resMax);
1957 
1958  h_phoEResRegr2_[2][0] = iBooker.book1D(histname + "convAll",
1959  " Photon rec/true Energy from Regression2 if r9<0.0.94, 0.95: All ecal ",
1960  resBin,
1961  resMin,
1962  resMax);
1963  h_phoEResRegr2_[2][1] = iBooker.book1D(
1964  histname + "convBarrel", " Photon rec/true Energy from Regression2 if r9<0.94: Barrel ", resBin, resMin, resMax);
1965  h_phoEResRegr2_[2][2] = iBooker.book1D(
1966  histname + "convEndcap", " Photon rec/true Energy from Regression2 if r9<0.95: Endcap ", resBin, resMin, resMax);
1967  //
1968  histname = "phoPixSeedSize";
1969  h_phoPixSeedSize_[0] = iBooker.book1D(histname + "Barrel", "Pixel seeds size ", 100, 0., 100.);
1970  h_phoPixSeedSize_[1] = iBooker.book1D(histname + "Endcap", "Pixel seeds size ", 100, 0., 100.);
1971 
1972  // Infos from Particle Flow - isolation and ID
1973  histname = "chargedHadIso";
1974  h_chHadIso_[0] = iBooker.book1D(histname + "All", "PF chargedHadIso: All Ecal", etBin, etMin, 20.);
1975  h_chHadIso_[1] = iBooker.book1D(histname + "Barrel", "PF chargedHadIso: Barrel", etBin, etMin, 20.);
1976  h_chHadIso_[2] = iBooker.book1D(histname + "Endcap", "PF chargedHadIso: Endcap", etBin, etMin, 20.);
1977  histname = "neutralHadIso";
1978  h_nHadIso_[0] = iBooker.book1D(histname + "All", "PF neutralHadIso: All Ecal", etBin, etMin, 20.);
1979  h_nHadIso_[1] = iBooker.book1D(histname + "Barrel", "PF neutralHadIso: Barrel", etBin, etMin, 20.);
1980  h_nHadIso_[2] = iBooker.book1D(histname + "Endcap", "PF neutralHadIso: Endcap", etBin, etMin, 20.);
1981  histname = "photonIso";
1982  h_phoIso_[0] = iBooker.book1D(histname + "All", "PF photonIso: All Ecal", etBin, etMin, 20.);
1983  h_phoIso_[1] = iBooker.book1D(histname + "Barrel", "PF photonIso: Barrel", etBin, etMin, 20.);
1984  h_phoIso_[2] = iBooker.book1D(histname + "Endcap", "PF photonIso: Endcap", etBin, etMin, 20.);
1985  histname = "nCluOutMustache";
1987  iBooker.book1D(histname + "All", "PF number of clusters outside Mustache: All Ecal", 50, 0., 50.);
1989  iBooker.book1D(histname + "Barrel", "PF number of clusters outside Mustache: Barrel", 50, 0., 50.);
1991  iBooker.book1D(histname + "Endcap", "PF number of clusters outside Mustache: Endcap", 50, 0., 50.);
1992  histname = "etOutMustache";
1993  h_etOutsideMustache_[0] = iBooker.book1D(histname + "All", "PF et outside Mustache: All Ecal", etBin, etMin, 20.);
1994  h_etOutsideMustache_[1] = iBooker.book1D(histname + "Barrel", "PF et outside Mustache: Barrel", etBin, etMin, 20.);
1995  h_etOutsideMustache_[2] = iBooker.book1D(histname + "Endcap", "PF et outside Mustache: Endcap", etBin, etMin, 20.);
1996  histname = "pfMVA";
1997  h_pfMva_[0] = iBooker.book1D(histname + "All", "PF MVA output: All Ecal", 50, -1., 2.);
1998  h_pfMva_[1] = iBooker.book1D(histname + "Barrel", "PF MVA output: Barrel", 50, -1., 2.);
1999  h_pfMva_[2] = iBooker.book1D(histname + "Endcap", "PF MVA output: Endcap", 50, -1, 2.);
2001  histname = "SumPtOverPhoPt_ChHad_Cleaned";
2003  iBooker.book1D(histname + "All", "Pf Cand SumPt/P_{T}_{#gamma}: Charged Hadrons: All Ecal", etBin, etMin, 2.);
2005  iBooker.book1D(histname + "Barrel", "PF Cand SumPt/P_{T}_{#gamma}: Charged Hadrons: Barrel", etBin, etMin, 2.);
2007  iBooker.book1D(histname + "Endcap", "PF Cand SumPt/P_{T}_{#gamma}: Charged Hadrons: Endcap", etBin, etMin, 2.);
2008  histname = "SumPtOverPhoPt_NeuHad_Cleaned";
2010  iBooker.book1D(histname + "All", "Pf Cand SumPt/P_{T}_{#gamma}: Neutral Hadrons: All Ecal", etBin, etMin, 2.);
2012  iBooker.book1D(histname + "Barrel", "PF Cand SumPt/P_{T}_{#gamma}: Neutral Hadrons: Barrel", etBin, etMin, 2.);
2014  iBooker.book1D(histname + "Endcap", "PF Cand SumPt/P_{T}_{#gamma}: Neutral Hadrons: Endcap", etBin, etMin, 2.);
2015  histname = "SumPtOverPhoPt_Pho_Cleaned";
2017  iBooker.book1D(histname + "All", "Pf Cand SumPt/P_{T}_{#gamma}: Photons: All Ecal", etBin, etMin, 2.);
2019  iBooker.book1D(histname + "Barrel", "PF Cand SumPt/P_{T}_{#gamma}: Photons: Barrel", etBin, etMin, 2.);
2021  iBooker.book1D(histname + "Endcap", "PF Cand SumPt/P_{T}_{#gamma}: Photons: Endcap", etBin, etMin, 2.);
2022 
2023  histname = "dRPhoPFcand_ChHad_Cleaned";
2025  iBooker.book1D(histname + "All", "dR(pho,cand) Charged Hadrons : All Ecal", etBin, etMin, 0.7);
2027  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Charged Hadrons : Barrel", etBin, etMin, 0.7);
2029  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Charged Hadrons : Endcap", etBin, etMin, 0.7);
2030  histname = "dRPhoPFcand_NeuHad_Cleaned";
2032  iBooker.book1D(histname + "All", "dR(pho,cand) Neutral Hadrons : All Ecal", etBin, etMin, 0.7);
2034  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Neutral Hadrons : Barrel", etBin, etMin, 0.7);
2036  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Neutral Hadrons : Endcap", etBin, etMin, 0.7);
2037  histname = "dRPhoPFcand_Pho_Cleaned";
2039  iBooker.book1D(histname + "All", "dR(pho,cand) Photons : All Ecal", etBin, etMin, 0.7);
2041  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons : Barrel", etBin, etMin, 0.7);
2043  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons : Endcap", etBin, etMin, 0.7);
2044 
2045  //
2046  histname = "SumPtOverPhoPt_ChHad_unCleaned";
2048  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Charged Hadrons : All Ecal", etBin, etMin, 2.);
2050  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Charged Hadrons: Barrel", etBin, etMin, 2.);
2052  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Charged Hadrons: Endcap", etBin, etMin, 2.);
2053  histname = "SumPtOverPhoPt_NeuHad_unCleaned";
2055  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Neutral Hadrons : All Ecal", etBin, etMin, 2.);
2057  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Barrel", etBin, etMin, 2.);
2059  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Endcap", etBin, etMin, 2.);
2060  histname = "SumPtOverPhoPt_Pho_unCleaned";
2062  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Photons: All Ecal", etBin, etMin, 2.);
2064  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Photons: Barrel", etBin, etMin, 2.);
2066  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Photons: Endcap", etBin, etMin, 2.);
2067  histname = "dRPhoPFcand_ChHad_unCleaned";
2069  iBooker.book1D(histname + "All", "dR(pho,cand) Charged Hadrons : All Ecal", etBin, etMin, 0.7);
2071  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Charged Hadrons : Barrel", etBin, etMin, 0.7);
2073  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Charged Hadrons : Endcap", etBin, etMin, 0.7);
2074  histname = "dRPhoPFcand_NeuHad_unCleaned";
2076  iBooker.book1D(histname + "All", "dR(pho,cand) Neutral Hadrons : All Ecal", etBin, etMin, 0.7);
2078  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Neutral Hadrons : Barrel", etBin, etMin, 0.7);
2080  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Neutral Hadrons : Endcap", etBin, etMin, 0.7);
2081  histname = "dRPhoPFcand_Pho_unCleaned";
2083  iBooker.book1D(histname + "All", "dR(pho,cand) Photons: All Ecal", etBin, etMin, 0.7);
2085  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons: Barrel", etBin, etMin, 0.7);
2087  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons: Endcap", etBin, etMin, 0.7);
2088 
2089  // if ( ! isRunCentrally_ ) {
2090  // Photon pair invariant mass
2091  histname = "gamgamMass";
2092  h_gamgamMass_[0][0] =
2093  iBooker.book1D(histname + "All", "2 photons invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2094  h_gamgamMass_[0][1] =
2095  iBooker.book1D(histname + "Barrel", "2 photons invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2096  h_gamgamMass_[0][2] =
2097  iBooker.book1D(histname + "Endcap", "2 photons invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2098  //
2099  histname = "gamgamMassNoConv";
2100  h_gamgamMass_[1][0] = iBooker.book1D(
2101  histname + "All", "2 photons with no conversion invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2102  h_gamgamMass_[1][1] = iBooker.book1D(
2103  histname + "Barrel", "2 photons with no conversion invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2104  h_gamgamMass_[1][2] = iBooker.book1D(
2105  histname + "Endcap", "2 photons with no conversion invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2106  //
2107  histname = "gamgamMassConv";
2108  h_gamgamMass_[2][0] = iBooker.book1D(
2109  histname + "All", "2 photons with conversion invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2110  h_gamgamMass_[2][1] = iBooker.book1D(
2111  histname + "Barrel", "2 photons with conversion invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2112  h_gamgamMass_[2][2] = iBooker.book1D(
2113  histname + "Endcap", "2 photons with conversion invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2114  // with energy regression1
2115  histname = "gamgamMassRegr1";
2116  h_gamgamMassRegr1_[0][0] =
2117  iBooker.book1D(histname + "All", "2 photons invariant mass Regr1 : All ecal ", ggMassBin, ggMassMin, ggMassMax);
2118  h_gamgamMassRegr1_[0][1] =
2119  iBooker.book1D(histname + "Barrel", "2 photons invariant mass Regr1 : Barrel ", ggMassBin, ggMassMin, ggMassMax);
2120  h_gamgamMassRegr1_[0][2] =
2121  iBooker.book1D(histname + "Endcap", "2 photons invariant mass Regr1 : Endcap ", ggMassBin, ggMassMin, ggMassMax);
2122  //
2123  histname = "gamgamMassRegr1NoConv";
2124  h_gamgamMassRegr1_[1][0] = iBooker.book1D(
2125  histname + "All", "2 photons with no conversion invariant mass Regr1: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2126  h_gamgamMassRegr1_[1][1] = iBooker.book1D(histname + "Barrel",
2127  "2 photons with no conversion invariant mass Regr1: Barrel ",
2128  ggMassBin,
2129  ggMassMin,
2130  ggMassMax);
2131  h_gamgamMassRegr1_[1][2] = iBooker.book1D(histname + "Endcap",
2132  "2 photons with no conversion invariant mass Regr1: Endcap ",
2133  ggMassBin,
2134  ggMassMin,
2135  ggMassMax);
2136  //
2137  histname = "gamgamMassRegr1Conv";
2138  h_gamgamMassRegr1_[2][0] = iBooker.book1D(
2139  histname + "All", "2 photons with conversion invariant mass Regr1: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2140  h_gamgamMassRegr1_[2][1] = iBooker.book1D(histname + "Barrel",
2141  "2 photons with conversion invariant mass Regr1: Barrel ",
2142  ggMassBin,
2143  ggMassMin,
2144  ggMassMax);
2145  h_gamgamMassRegr1_[2][2] = iBooker.book1D(histname + "Endcap",
2146  "2 photons with conversion invariant mass Regr1: Endcap ",
2147  ggMassBin,
2148  ggMassMin,
2149  ggMassMax);
2150  // with energy regression2
2151  histname = "gamgamMassRegr2";
2152  h_gamgamMassRegr2_[0][0] =
2153  iBooker.book1D(histname + "All", "2 photons invariant mass Regr2 : All ecal ", ggMassBin, ggMassMin, ggMassMax);
2154  h_gamgamMassRegr2_[0][1] =
2155  iBooker.book1D(histname + "Barrel", "2 photons invariant mass Regr2 : Barrel ", ggMassBin, ggMassMin, ggMassMax);
2156  h_gamgamMassRegr2_[0][2] =
2157  iBooker.book1D(histname + "Endcap", "2 photons invariant mass Regr2 : Endcap ", ggMassBin, ggMassMin, ggMassMax);
2158  //
2159  histname = "gamgamMassRegr2NoConv";
2160  h_gamgamMassRegr2_[1][0] = iBooker.book1D(
2161  histname + "All", "2 photons with no conversion invariant mass Regr2: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2162  h_gamgamMassRegr2_[1][1] = iBooker.book1D(histname + "Barrel",
2163  "2 photons with no conversion invariant mass Regr2: Barrel ",
2164  ggMassBin,
2165  ggMassMin,
2166  ggMassMax);
2167  h_gamgamMassRegr2_[1][2] = iBooker.book1D(histname + "Endcap",
2168  "2 photons with no conversion invariant mass Regr2: Endcap ",
2169  ggMassBin,
2170  ggMassMin,
2171  ggMassMax);
2172  //
2173  histname = "gamgamMassRegr2Conv";
2174  h_gamgamMassRegr2_[2][0] = iBooker.book1D(
2175  histname + "All", "2 photons with conversion invariant mass Regr2: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2176  h_gamgamMassRegr2_[2][1] = iBooker.book1D(histname + "Barrel",
2177  "2 photons with conversion invariant mass Regr2: Barrel ",
2178  ggMassBin,
2179  ggMassMin,
2180  ggMassMax);
2181  h_gamgamMassRegr2_[2][2] = iBooker.book1D(histname + "Endcap",
2182  "2 photons with conversion invariant mass Regr2: Endcap ",
2183  ggMassBin,
2184  ggMassMin,
2185  ggMassMax);
2186 
2187  //}
2188 
2190 
2191  h_scEta_miniAOD_[0] = iBooker.book1D("scEta_miniAOD", " SC Eta ", etaBin, etaMin, etaMax);
2192  h_scPhi_miniAOD_[0] = iBooker.book1D("scPhi_miniAOD", " SC Phi ", phiBin, phiMin, phiMax);
2193  histname = "phoE";
2194  h_phoE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " Photon Energy: All ecal ", eBin, eMin, eMax);
2195  h_phoE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " Photon Energy: barrel ", eBin, eMin, eMax);
2196  h_phoE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " Photon Energy: Endcap ", eBin, eMin, eMax);
2197 
2198  histname = "phoEt";
2199  h_phoEt_miniAOD_[0][0] =
2200  iBooker.book1D(histname + "All_miniAOD", " Photon Transverse Energy: All ecal ", etBin, etMin, etMax);
2201  h_phoEt_miniAOD_[0][1] =
2202  iBooker.book1D(histname + "Barrel_miniAOD", " Photon Transverse Energy: Barrel ", etBin, etMin, etMax);
2203  h_phoEt_miniAOD_[0][2] =
2204  iBooker.book1D(histname + "Endcap_miniAOD", " Photon Transverse Energy: Endcap ", etBin, etMin, etMax);
2205 
2206  histname = "eRes";
2207  h_phoERes_miniAOD_[0][0] = iBooker.book1D(
2208  histname + "All_miniAOD", " Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
2209  h_phoERes_miniAOD_[0][1] = iBooker.book1D(
2210  histname + "Barrel_miniAOD", "Photon E/E_{true}: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
2211  h_phoERes_miniAOD_[0][2] = iBooker.book1D(
2212  histname + "Endcap_miniAOD", " Photon E/E_{true}: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
2213 
2214  histname = "sigmaEoE";
2215  h_phoSigmaEoE_miniAOD_[0][0] =
2216  iBooker.book1D(histname + "All_miniAOD", "#sigma_{E}/E: All ecal; #sigma_{E}/E", 100, 0., 0.08);
2217  h_phoSigmaEoE_miniAOD_[0][1] =
2218  iBooker.book1D(histname + "Barrel_miniAOD", "#sigma_{E}/E: Barrel; #sigma_{E}/E", 100, 0., 0.08);
2219  h_phoSigmaEoE_miniAOD_[0][2] =
2220  iBooker.book1D(histname + "Endcap_miniAOD", "#sigma_{E}/E: Endcap, #sigma_{E}/E", 100, 0., 0.08);
2221 
2222  histname = "r9";
2223  h_r9_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
2224  h_r9_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
2225  h_r9_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
2226  histname = "full5x5_r9";
2227  h_full5x5_r9_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
2228  h_full5x5_r9_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
2229  h_full5x5_r9_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
2230  histname = "r1";
2231  h_r1_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e1x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
2232  h_r1_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e1x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
2233  h_r1_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e1x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
2234  histname = "r2";
2235  h_r2_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e2x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
2236  h_r2_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e2x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
2237  h_r2_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e2x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
2238  histname = "hOverE";
2239  h_hOverE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "H/E: All Ecal", 100, 0., 0.2);
2240  h_hOverE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "H/E: Barrel ", 100, 0., 0.2);
2241  h_hOverE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "H/E: Endcap ", 100, 0., 0.2);
2242  //
2243  histname = "newhOverE";
2244  h_newhOverE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "new H/E: All Ecal", 100, 0., 0.2);
2245  h_newhOverE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "new H/E: Barrel ", 100, 0., 0.2);
2246  h_newhOverE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "new H/E: Endcap ", 100, 0., 0.2);
2247  //
2248  histname = "sigmaIetaIeta";
2249  h_sigmaIetaIeta_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "sigmaIetaIeta: All Ecal", 100, 0., 0.1);
2250  h_sigmaIetaIeta_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "sigmaIetaIeta: Barrel ", 100, 0., 0.05);
2251  h_sigmaIetaIeta_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "sigmaIetaIeta: Endcap ", 100, 0., 0.1);
2252  histname = "full5x5_sigmaIetaIeta";
2254  iBooker.book1D(histname + "All_miniAOD", "Full5x5 sigmaIetaIeta: All Ecal", 100, 0., 0.1);
2256  iBooker.book1D(histname + "Barrel_miniAOD", "Full5x5 sigmaIetaIeta: Barrel ", 100, 0., 0.05);
2258  iBooker.book1D(histname + "Endcap_miniAOD", "Full5x5 sigmaIetaIeta: Endcap ", 100, 0., 0.1);
2259  //
2260  histname = "ecalRecHitSumEtConeDR04";
2262  iBooker.book1D(histname + "All_miniAOD", "ecalRecHitSumEtDR04: All Ecal", etBin, etMin, 20.);
2264  iBooker.book1D(histname + "Barrel_miniAOD", "ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 20.);
2266  iBooker.book1D(histname + "Endcap_miniAOD", "ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 20.);
2267  histname = "hcalTowerSumEtConeDR04";
2269  iBooker.book1D(histname + "All_miniAOD", "hcalTowerSumEtConeDR04: All Ecal", etBin, etMin, 20.);
2271  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerSumEtConeDR04: Barrel ", etBin, etMin, 20.);
2273  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerSumEtConeDR04: Endcap ", etBin, etMin, 20.);
2274  //
2275  histname = "hcalTowerBcSumEtConeDR04";
2277  iBooker.book1D(histname + "All_miniAOD", "hcalTowerBcSumEtConeDR04: All Ecal", etBin, etMin, 20.);
2279  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerBcSumEtConeDR04: Barrel ", etBin, etMin, 20.);
2281  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerBcSumEtConeDR04: Endcap ", etBin, etMin, 20.);
2282  histname = "isoTrkSolidConeDR04";
2284  iBooker.book1D(histname + "All_miniAOD", "isoTrkSolidConeDR04: All Ecal", etBin, etMin, etMax * 0.1);
2286  iBooker.book1D(histname + "Barrel_miniAOD", "isoTrkSolidConeDR04: Barrel ", etBin, etMin, etMax * 0.1);
2288  iBooker.book1D(histname + "Endcap_miniAOD", "isoTrkSolidConeDR04: Endcap ", etBin, etMin, etMax * 0.1);
2289  histname = "nTrkSolidConeDR04";
2291  iBooker.book1D(histname + "All_miniAOD", "nTrkSolidConeDR04: All Ecal", 20, 0., 20);
2293  iBooker.book1D(histname + "Barrel_miniAOD", "nTrkSolidConeDR04: Barrel ", 20, 0., 20);
2295  iBooker.book1D(histname + "Endcap_miniAOD", "nTrkSolidConeDR04: Endcap ", 20, 0., 20);
2296 
2297  // Infos from Particle Flow - isolation and ID
2298  histname = "chargedHadIso";
2299  h_chHadIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF chargedHadIso: All Ecal", etBin, etMin, 20.);
2300  h_chHadIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF chargedHadIso: Barrel", etBin, etMin, 20.);
2301  h_chHadIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF chargedHadIso: Endcap", etBin, etMin, 20.);
2302  histname = "neutralHadIso";
2303  h_nHadIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF neutralHadIso: All Ecal", etBin, etMin, 20.);
2304  h_nHadIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF neutralHadIso: Barrel", etBin, etMin, 20.);
2305  h_nHadIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF neutralHadIso: Endcap", etBin, etMin, 20.);
2306  histname = "photonIso";
2307  h_phoIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF photonIso: All Ecal", etBin, etMin, 20.);
2308  h_phoIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF photonIso: Barrel", etBin, etMin, 20.);
2309  h_phoIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF photonIso: Endcap", etBin, etMin, 20.);
2310 
2311  iBooker.setCurrentFolder("EgammaV/" + fName_ + "/ConversionInfo");
2312 
2313  histname = "nConv";
2314  h_nConv_[0][0] = iBooker.book1D(histname + "All",
2315  "Number Of two-tracks Conversions per isolated candidates per events: All Ecal ",
2316  10,
2317  -0.5,
2318  9.5);
2319  h_nConv_[0][1] = iBooker.book1D(histname + "Barrel",
2320  "Number Of two-tracks Conversions per isolated candidates per events: Ecal Barrel ",
2321  10,
2322  -0.5,
2323  9.5);
2324  h_nConv_[0][2] = iBooker.book1D(histname + "Endcap",
2325  "Number Of two-tracks Conversions per isolated candidates per events: Ecal Endcap ",
2326  10,
2327  -0.5,
2328  9.5);
2329  h_nConv_[1][0] = iBooker.book1D(histname + "OneLegAll",
2330  "Number Of single leg Conversions per isolated candidates per events: All Ecal ",
2331  10,
2332  -0.5,
2333  9.5);
2334  h_nConv_[1][1] = iBooker.book1D(histname + "OneLegBarrel",
2335  "Number Of single leg Conversions per isolated candidates per events: Ecal Barrel ",
2336  10,
2337  -0.5,
2338  9.5);
2339  h_nConv_[1][2] = iBooker.book1D(histname + "OneLegEndcap",
2340  "Number Of single leg Conversions per isolated candidates per events: Ecal Endcap ",
2341  10,
2342  -0.5,
2343  9.5);
2344 
2345  h_convEta_[0] = iBooker.book1D("convEta1", " converted Photon Eta >1 track", etaBin, etaMin, etaMax);
2346  h_convEta_[1] = iBooker.book1D("convEta2", " converted Photon Eta =2 tracks ", etaBin, etaMin, etaMax);
2347  h_convEta_[2] = iBooker.book1D("convEta2ass", " converted Photon Eta =2 tracks, both ass ", etaBin, etaMin, etaMax);
2348  h_convPhi_[0] = iBooker.book1D("convPhi", " converted Photon Phi ", phiBin, phiMin, phiMax);
2349 
2350  histname = "convERes";
2351  h_convERes_[0][0] =
2352  iBooker.book1D(histname + "All", " Conversion rec/true Energy: All ecal ", resBin, resMin, resMax);
2353  h_convERes_[0][1] =
2354  iBooker.book1D(histname + "Barrel", " Conversion rec/true Energy: Barrel ", resBin, resMin, resMax);
2355  h_convERes_[0][2] =
2356  iBooker.book1D(histname + "Endcap", " Conversion rec/true Energy: Endcap ", resBin, resMin, resMax);
2357 
2358  histname = "p_EResVsR";
2359  p_eResVsR_ = iBooker.bookProfile(
2360  histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 1.5, "");
2361 
2362  histname = "convPtRes";
2363  h_convPtRes_[1][0] =
2364  iBooker.book1D(histname + "All", " Conversion Pt rec/true from tracks : All ecal ", resBin, 0., 1.5);
2365  h_convPtRes_[1][1] =
2366  iBooker.book1D(histname + "Barrel", " Conversion Pt rec/true from tracks: Barrel ", resBin, 0., 1.5);
2367  h_convPtRes_[1][2] =
2368  iBooker.book1D(histname + "Endcap", " Conversion Pt rec/true from tracks: Endcap ", resBin, 0., 1.5);
2369 
2370  if (!isRunCentrally_) {
2371  histname = "r9VsTracks";
2372  h_r9VsNofTracks_[0][0] = iBooker.book2D(
2373  histname + "All", " photons r9 vs nTracks from conversions: All Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2374  h_r9VsNofTracks_[0][1] = iBooker.book2D(
2375  histname + "Barrel", " photons r9 vs nTracks from conversions: Barrel Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2376  h_r9VsNofTracks_[0][2] = iBooker.book2D(
2377  histname + "Endcap", " photons r9 vs nTracks from conversions: Endcap Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2378  }
2379 
2380  histname = "mvaOut";
2381  h_mvaOut_[0] = iBooker.book1D(histname + "All", " mvaOut for all conversions : All Ecal", 100, 0., 1.);
2382  h_mvaOut_[1] = iBooker.book1D(histname + "Barrel", " mvaOut for all conversions : Barrel Ecal", 100, 0., 1.);
2383  h_mvaOut_[2] = iBooker.book1D(histname + "Endcap", " mvaOut for all conversions : Endcap Ecal", 100, 0., 1.);
2384 
2385  histname = "EoverPtracks";
2386  h_EoverPTracks_[0][0] =
2387  iBooker.book1D(histname + "BarrelPix", " photons conversion E/p: barrel pix", eoverpBin, eoverpMin, eoverpMax);
2388  h_EoverPTracks_[0][1] =
2389  iBooker.book1D(histname + "BarrelTib", " photons conversion E/p: barrel tib", eoverpBin, eoverpMin, eoverpMax);
2390  h_EoverPTracks_[0][2] =
2391  iBooker.book1D(histname + "BarrelTob", " photons conversion E/p: barrel tob ", eoverpBin, eoverpMin, eoverpMax);
2392 
2393  h_EoverPTracks_[1][0] = iBooker.book1D(histname + "All", " photons conversion E/p: all Ecal ", 100, 0., 5.);
2394  h_EoverPTracks_[1][1] = iBooker.book1D(histname + "Barrel", " photons conversion E/p: Barrel Ecal", 100, 0., 5.);
2395  h_EoverPTracks_[1][2] = iBooker.book1D(histname + "Endcap", " photons conversion E/p: Endcap Ecal ", 100, 0., 5.);
2396  histname = "EoverP_SL";
2397  h_EoverP_SL_[0] = iBooker.book1D(histname + "All", " photons single leg conversion E/p: all Ecal ", 100, 0., 5.);
2398  h_EoverP_SL_[1] = iBooker.book1D(histname + "Barrel", " photons single leg conversion E/p: Barrel Ecal", 100, 0., 5.);
2399  h_EoverP_SL_[2] =
2400  iBooker.book1D(histname + "Endcap", " photons single leg conversion E/p: Endcap Ecal ", 100, 0., 5.);
2401 
2402  histname = "PoverEtracks";
2403  h_PoverETracks_[1][0] =
2404  iBooker.book1D(histname + "All", " photons conversion p/E: all Ecal ", povereBin, povereMin, povereMax);
2405  h_PoverETracks_[1][1] =
2406  iBooker.book1D(histname + "Barrel", " photons conversion p/E: Barrel Ecal", povereBin, povereMin, povereMax);
2407  h_PoverETracks_[1][2] =
2408  iBooker.book1D(histname + "Endcap", " photons conversion p/E: Endcap Ecal ", povereBin, povereMin, povereMax);
2409 
2410  histname = "pEoverEtrueVsEta";
2411  p_EoverEtrueVsEta_[0] =
2412  iBooker.bookProfile(histname + "All",
2413  " photons conversion with 2 (associated) reco tracks E/Etrue vs #eta: all Ecal ",
2414  etaBin2,
2415  etaMin,
2416  etaMax,
2417  100,
2418  0.,
2419  2.5,
2420  "");
2421 
2422  histname = "pEoverEtrueVsR";
2423  p_EoverEtrueVsR_[0] = iBooker.bookProfile(
2424  histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 2.5, "");
2425 
2426  histname = "pEoverEtrueVsEta";
2427  p_EoverEtrueVsEta_[1] = iBooker.bookProfile(histname + "All2",
2428  " photons conversion 2 reco tracks E/Etrue vs #eta: all Ecal ",
2429  etaBin2,
2430  etaMin,
2431  etaMax,
2432  100,
2433  0.,
2434  2.5,
2435  "");
2436 
2437  histname = "pPoverPtrueVsEta";
2438  p_PoverPtrueVsEta_[0] = iBooker.bookProfile(
2439  histname + "All", " photons conversion P/Ptrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5., "");
2440 
2441  histname = "pEoverPVsEta";
2442  p_EoverPVsEta_[0] = iBooker.bookProfile(
2443  histname + "All", " photons conversion E/P vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5., "");
2444 
2445  if (!isRunCentrally_) {
2446  histname = "EoverEtrueVsEoverP";
2448  iBooker.book2D(histname + "All", " photons conversion E/Etrue vs E/P: all Ecal ", 100, 0., 5., 100, 0.5, 1.5);
2449  h2_EoverEtrueVsEoverP_[1] = iBooker.book2D(
2450  histname + "Barrel", " photons conversion E/Etrue vs E/: Barrel Ecal", 100, 0., 5., 100, 0.5, 1.5);
2451  h2_EoverEtrueVsEoverP_[2] = iBooker.book2D(
2452  histname + "Endcap", " photons conversion E/Etrue vs E/: Endcap Ecal ", 100, 0., 5., 100, 0.5, 1.5);
2453  histname = "PoverPtrueVsEoverP";
2455  iBooker.book2D(histname + "All", " photons conversion P/Ptrue vs E/P: all Ecal ", 100, 0., 5., 100, 0., 2.5);
2456  h2_PoverPtrueVsEoverP_[1] = iBooker.book2D(
2457  histname + "Barrel", " photons conversion P/Ptrue vs E/: Barrel Ecal", 100, 0., 5., 100, 0., 2.5);
2458  h2_PoverPtrueVsEoverP_[2] = iBooker.book2D(
2459  histname + "Endcap", " photons conversion P/Ptrue vs E/: Endcap Ecal ", 100, 0., 5., 100, 0., 2.5);
2460 
2461  histname = "EoverEtrueVsEta";
2462  h2_EoverEtrueVsEta_[0] =
2463  iBooker.book2D(histname + "All",
2464  " photons conversion with 2 (associated) reco tracks E/Etrue vs #eta: all Ecal ",
2465  etaBin2,
2466  etaMin,
2467  etaMax,
2468  100,
2469  0.,
2470  2.5);
2471 
2472  histname = "EoverEtrueVsEta";
2473  h2_EoverEtrueVsEta_[1] = iBooker.book2D(histname + "All2",
2474  " photons conversion 2 reco tracks E/Etrue vs #eta: all Ecal ",
2475  etaBin2,
2476  etaMin,
2477  etaMax,
2478  100,
2479  0.,
2480  2.5);
2481 
2482  histname = "EoverEtrueVsR";
2483  h2_EoverEtrueVsR_[0] =
2484  iBooker.book2D(histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 2.5);
2485 
2486  histname = "PoverPtrueVsEta";
2487  h2_PoverPtrueVsEta_[0] = iBooker.book2D(
2488  histname + "All", " photons conversion P/Ptrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5.);
2489 
2490  histname = "EoverPVsEta";
2491  h2_EoverPVsEta_[0] = iBooker.book2D(
2492  histname + "All", " photons conversion E/P vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5.);
2493 
2494  histname = "EoverPVsR";
2495  h2_EoverPVsR_[0] =
2496  iBooker.book2D(histname + "All", " photons conversion E/P vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 5.);
2497 
2498  histname = "etaVsRsim";
2499  h2_etaVsRsim_[0] = iBooker.book2D(histname + "All",
2500  " eta(sim) vs R (sim) for associated conversions: all Ecal ",
2501  etaBin,
2502  etaMin,
2503  etaMax,
2504  rBin,
2505  rMin,
2506  rMax);
2507  histname = "etaVsRreco";
2508  h2_etaVsRreco_[0] = iBooker.book2D(histname + "All",
2509  " eta(reco) vs R (reco) for associated conversions: all Ecal ",
2510  etaBin,
2511  etaMin,
2512  etaMax,
2513  rBin,
2514  rMin,
2515  rMax);
2516  }
2517 
2518  histname = "pEoverPVsR";
2519  p_EoverPVsR_[0] = iBooker.bookProfile(
2520  histname + "All", " photons conversion E/P vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 5., "");
2521 
2522  histname = "hInvMass";
2523  h_invMass_[0][0] = iBooker.book1D(
2524  histname + "All_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
2525  h_invMass_[0][1] = iBooker.book1D(
2526  histname + "Barrel_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ", 100, 0., 1.5);
2527  h_invMass_[0][2] = iBooker.book1D(
2528  histname + "Endcap_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ", 100, 0., 1.5);
2529  histname = "hInvMass";
2530  h_invMass_[1][0] = iBooker.book1D(
2531  histname + "All_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
2532  h_invMass_[1][1] = iBooker.book1D(
2533  histname + "Barrel_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ", 100, 0., 1.5);
2534  h_invMass_[1][2] = iBooker.book1D(
2535  histname + "Endcap_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ", 100, 0., 1.5);
2536 
2537  histname = "hDPhiTracksAtVtx";
2538  h_DPhiTracksAtVtx_[1][0] = iBooker.book1D(histname + "All",
2539  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
2540  dPhiTracksBin,
2541  dPhiTracksMin,
2542  dPhiTracksMax);
2543  h_DPhiTracksAtVtx_[1][1] =
2544  iBooker.book1D(histname + "Barrel",
2545  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
2546  dPhiTracksBin,
2547  dPhiTracksMin,
2548  dPhiTracksMax);
2549  h_DPhiTracksAtVtx_[1][2] =
2550  iBooker.book1D(histname + "Endcap",
2551  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
2552  dPhiTracksBin,
2553  dPhiTracksMin,
2554  dPhiTracksMax);
2555 
2556  if (!isRunCentrally_) {
2557  histname = "hDPhiTracksAtVtxVsEta";
2558  h2_DPhiTracksAtVtxVsEta_ = iBooker.book2D(histname + "All",
2559  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta",
2560  etaBin2,
2561  etaMin,
2562  etaMax,
2563  100,
2564  -0.5,
2565  0.5);
2566 
2567  histname = "hDPhiTracksAtVtxVsR";
2568  h2_DPhiTracksAtVtxVsR_ = iBooker.book2D(histname + "All",
2569  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R",
2570  rBin,
2571  rMin,
2572  rMax,
2573  100,
2574  -0.5,
2575  0.5);
2576 
2577  histname = "hDCotTracksVsEta";
2578  h2_DCotTracksVsEta_ = iBooker.book2D(histname + "All",
2579  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta",
2580  etaBin2,
2581  etaMin,
2582  etaMax,
2583  100,
2584  -0.2,
2585  0.2);
2586 
2587  histname = "hDCotTracksVsR";
2588  h2_DCotTracksVsR_ = iBooker.book2D(histname + "All",
2589  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R",
2590  rBin,
2591  rMin,
2592  rMax,
2593  100,
2594  -0.2,
2595  0.2);
2596 
2597  histname = "h2_DPhiTracksAtEcalVsR";
2598  if (fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
2599  h2_DPhiTracksAtEcalVsR_ = iBooker.book2D(histname + "All",
2600  " Photons:Tracks from conversions: #delta#phi at Ecal vs R : all Ecal ",
2601  rBin,
2602  rMin,
2603  rMax,
2604  dPhiTracksBin,
2605  0.,
2606  dPhiTracksMax);
2607 
2608  histname = "h2_DPhiTracksAtEcalVsEta";
2609  if (fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
2611  iBooker.book2D(histname + "All",
2612  " Photons:Tracks from conversions: #delta#phi at Ecal vs #eta : all Ecal ",
2613  etaBin2,
2614  etaMin,
2615  etaMax,
2616  dPhiTracksBin,
2617  0.,
2618  dPhiTracksMax);
2619  }
2620 
2621  histname = "pDPhiTracksAtVtxVsEta";
2623  iBooker.bookProfile(histname + "All",
2624  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta ",
2625  etaBin2,
2626  etaMin,
2627  etaMax,
2628  100,
2629  -0.5,
2630  0.5,
2631  "");
2632 
2633  histname = "pDPhiTracksAtVtxVsR";
2634  p_DPhiTracksAtVtxVsR_ = iBooker.bookProfile(histname + "All",
2635  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R ",
2636  rBin,
2637  rMin,
2638  rMax,
2639  100,
2640  -0.5,
2641  0.5,
2642  "");
2643 
2644  histname = "hDCotTracks";
2645  h_DCotTracks_[1][0] = iBooker.book1D(histname + "All",
2646  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
2647  dCotTracksBin,
2648  dCotTracksMin,
2649  dCotTracksMax);
2650  h_DCotTracks_[1][1] = iBooker.book1D(histname + "Barrel",
2651  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
2652  dCotTracksBin,
2653  dCotTracksMin,
2654  dCotTracksMax);
2655  h_DCotTracks_[1][2] = iBooker.book1D(histname + "Endcap",
2656  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
2657  dCotTracksBin,
2658  dCotTracksMin,
2659  dCotTracksMax);
2660 
2661  histname = "pDCotTracksVsEta";
2662  p_DCotTracksVsEta_ = iBooker.bookProfile(histname + "All",
2663  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta ",
2664  etaBin2,
2665  etaMin,
2666  etaMax,
2667  100,
2668  -0.2,
2669  0.2,
2670  "");
2671 
2672  histname = "pDCotTracksVsR";
2674  iBooker.bookProfile(histname + "All",
2675  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R ",
2676  rBin,
2677  rMin,
2678  rMax,
2679  100,
2680  -0.2,
2681  0.2,
2682  "");
2683 
2684  histname = "hDistMinAppTracks";
2685  h_distMinAppTracks_[1][0] = iBooker.book1D(histname + "All",
2686  " Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ",
2687  dEtaTracksBin,
2688  -0.1,
2689  0.6);
2690  h_distMinAppTracks_[1][1] = iBooker.book1D(histname + "Barrel",
2691  " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
2692  dEtaTracksBin,
2693  -0.1,
2694  0.6);
2695  h_distMinAppTracks_[1][2] = iBooker.book1D(histname + "Endcap",
2696  " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
2697  dEtaTracksBin,
2698  -0.1,
2699  0.6);
2700 
2701  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator" ) {
2702  histname = "hDPhiTracksAtEcal";
2703  h_DPhiTracksAtEcal_[1][0] = iBooker.book1D(histname + "All",
2704  " Photons:Tracks from conversions: #delta#phi at Ecal : all Ecal ",
2705  dPhiTracksBin,
2706  0.,
2707  dPhiTracksMax);
2708  h_DPhiTracksAtEcal_[1][1] = iBooker.book1D(histname + "Barrel",
2709  " Photons:Tracks from conversions: #delta#phi at Ecal : Barrel Ecal ",
2710  dPhiTracksBin,
2711  0.,
2712  dPhiTracksMax);
2713  h_DPhiTracksAtEcal_[1][2] = iBooker.book1D(histname + "Endcap",
2714  " Photons:Tracks from conversions: #delta#phi at Ecal : Endcap Ecal ",
2715  dPhiTracksBin,
2716  0.,
2717  dPhiTracksMax);
2718 
2719  histname = "pDPhiTracksAtEcalVsR";
2720  p_DPhiTracksAtEcalVsR_ = iBooker.bookProfile(histname + "All",
2721  " Photons:Tracks from conversions: #delta#phi at Ecal vs R ",
2722  rBin,
2723  rMin,
2724  rMax,
2725  dPhiTracksBin,
2726  0.,
2727  dPhiTracksMax,
2728  "");
2729 
2730  histname = "pDPhiTracksAtEcalVsEta";
2731  p_DPhiTracksAtEcalVsEta_ = iBooker.bookProfile(histname + "All",
2732  " Photons:Tracks from conversions: #delta#phi at Ecal vs #eta ",
2733  etaBin2,
2734  etaMin,
2735  etaMax,
2736  dPhiTracksBin,
2737  0.,
2738  dPhiTracksMax,
2739  "");
2740 
2741  histname = "hDEtaTracksAtEcal";
2742  h_DEtaTracksAtEcal_[1][0] = iBooker.book1D(histname + "All",
2743  " Photons:Tracks from conversions: #delta#eta at Ecal : all Ecal ",
2744  dEtaTracksBin,
2745  dEtaTracksMin,
2746  dEtaTracksMax);
2747  h_DEtaTracksAtEcal_[1][1] = iBooker.book1D(histname + "Barrel",
2748  " Photons:Tracks from conversions: #delta#eta at Ecal : Barrel Ecal ",
2749  dEtaTracksBin,
2750  dEtaTracksMin,
2751  dEtaTracksMax);
2752  h_DEtaTracksAtEcal_[1][2] = iBooker.book1D(histname + "Endcap",
2753  " Photons:Tracks from conversions: #delta#eta at Ecal : Endcap Ecal ",
2754  dEtaTracksBin,
2755  dEtaTracksMin,
2756  dEtaTracksMax);
2757 
2758  // }
2759 
2760  h_convVtxRvsZ_[0] = iBooker.book2D("convVtxRvsZAll",
2761  " Photon Reco conversion vtx position",
2762  zBinForXray,
2763  zMinForXray,
2764  zMaxForXray,
2765  rBinForXray,
2766  rMinForXray,
2767  rMaxForXray);
2768  h_convVtxRvsZ_[1] = iBooker.book2D("convVtxRvsZBarrel",
2769  " Photon Reco conversion vtx position",
2770  zBinForXray,
2771  zMinForXray,
2772  zMaxForXray,
2773  rBinForXray,
2774  rMinForXray,
2775  rMaxForXray);
2776  h_convVtxRvsZ_[2] = iBooker.book2D("convVtxRvsZEndcap",
2777  " Photon Reco conversion vtx position",
2778  zBin2ForXray,
2779  zMinForXray,
2780  zMaxForXray,
2781  rBinForXray,
2782  rMinForXray,
2783  rMaxForXray);
2784  h_convVtxYvsX_ = iBooker.book2D(
2785  "convVtxYvsXTrkBarrel", " Photon Reco conversion vtx position, (x,y) eta<1 ", 100, -80., 80., 100, -80., 80.);
2786  //
2787  h_convSLVtxRvsZ_[0] = iBooker.book2D("convSLVtxRvsZAll",
2788  " Photon Reco single leg conversion innermost hit position",
2789  zBinForXray,
2790  zMinForXray,
2791  zMaxForXray,
2792  rBinForXray,
2793  rMinForXray,
2794  rMaxForXray);
2795  h_convSLVtxRvsZ_[1] = iBooker.book2D("convSLVtxRvsZBarrel",
2796  " Photon Reco single leg conversion innermost hit position",
2797  zBinForXray,
2798  zMinForXray,
2799  zMaxForXray,
2800  rBinForXray,
2801  rMinForXray,
2802  rMaxForXray);
2803  h_convSLVtxRvsZ_[2] = iBooker.book2D("convSLVtxRvsZEndcap",
2804  " Photon Reco single leg conversion innermost hit position",
2805  zBin2ForXray,
2806  zMinForXray,
2807  zMaxForXray,
2808  rBinForXray,
2809  rMinForXray,
2810  rMaxForXray);
2811 
2813  if (!isRunCentrally_) {
2814  h_convVtxRvsZ_zoom_[0] = iBooker.book2D("convVtxRvsZBarrelZoom1",
2815  " Photon Reco conversion vtx position",
2816  zBinForXray,
2817  zMinForXray,
2818  zMaxForXray,
2819  rBinForXray,
2820  -10.,
2821  40.);
2822  h_convVtxRvsZ_zoom_[1] = iBooker.book2D("convVtxRvsZBarrelZoom2",
2823  " Photon Reco conversion vtx position",
2824  zBinForXray,
2825  zMinForXray,
2826  zMaxForXray,
2827  rBinForXray,
2828  -10.,
2829  20.);
2830  h_convVtxYvsX_zoom_[0] = iBooker.book2D("convVtxYvsXTrkBarrelZoom1",
2831  " Photon Reco conversion vtx position, (x,y) eta<1 ",
2832  100,
2833  -40.,
2834  40.,
2835  100,
2836  -40.,
2837  40.);
2838  h_convVtxYvsX_zoom_[1] = iBooker.book2D("convVtxYvsXTrkBarrelZoom2",
2839  " Photon Reco conversion vtx position, (x,y) eta<1 ",
2840  100,
2841  -20.,
2842  20.,
2843  100,
2844  -20.,
2845  20.);
2846  }
2847 
2848  h_convVtxdX_ = iBooker.book1D("convVtxdX", " Photon Reco conversion vtx dX", 100, -20., 20.);
2849  h_convVtxdY_ = iBooker.book1D("convVtxdY", " Photon Reco conversion vtx dY", 100, -20., 20.);
2850  h_convVtxdZ_ = iBooker.book1D("convVtxdZ", " Photon Reco conversion vtx dZ", 100, -20., 20.);
2851  h_convVtxdR_ = iBooker.book1D("convVtxdR", " Photon Reco conversion vtx dR", 100, -20., 20.);
2852 
2854  iBooker.book1D("convVtxdX_barrel", " Photon Reco conversion vtx dX, |eta|<=1.2", 100, -20., 20.);
2856  iBooker.book1D("convVtxdY_barrel", " Photon Reco conversion vtx dY, |eta|<=1.2 ", 100, -20., 20.);
2858  iBooker.book1D("convVtxdZ_barrel", " Photon Reco conversion vtx dZ, |eta|<=1.2,", 100, -20., 20.);
2860  iBooker.book1D("convVtxdR_barrel", " Photon Reco conversion vtx dR, |eta|<=1.2", 100, -20., 20.);
2862  iBooker.book1D("convVtxdX_endcap", " Photon Reco conversion vtx dX, |eta|>1.2", 100, -20., 20.);
2864  iBooker.book1D("convVtxdY_endcap", " Photon Reco conversion vtx dY, |eta|>1.2", 100, -20., 20.);
2866  iBooker.book1D("convVtxdZ_endcap", " Photon Reco conversion vtx dZ, |eta|>1.2", 100, -20., 20.);
2868  iBooker.book1D("convVtxdR_endcap", " Photon Reco conversion vtx dR, |eta|>1.2 ", 100, -20., 20.);
2869 
2870  h_convVtxdPhi_ = iBooker.book1D("convVtxdPhi", " Photon Reco conversion vtx dPhi", 100, -0.005, 0.005);
2871  h_convVtxdEta_ = iBooker.book1D("convVtxdEta", " Photon Reco conversion vtx dEta", 100, -0.5, 0.5);
2872 
2873  if (!isRunCentrally_) {
2875  iBooker.book2D("h2ConvVtxdRVsR", "Photon Reco conversion vtx dR vsR", rBin, rMin, rMax, 100, -20., 20.);
2876  h2_convVtxdRVsEta_ = iBooker.book2D(
2877  "h2ConvVtxdRVsEta", "Photon Reco conversion vtx dR vs Eta", etaBin2, etaMin, etaMax, 100, -20., 20.);
2878  }
2879 
2880  p_convVtxdRVsR_ =
2881  iBooker.bookProfile("pConvVtxdRVsR", "Photon Reco conversion vtx dR vsR", rBin, rMin, rMax, 100, -20., 20., "");
2882  p_convVtxdRVsEta_ = iBooker.bookProfile(
2883  "pConvVtxdRVsEta", "Photon Reco conversion vtx dR vs Eta", etaBin2, etaMin, etaMax, 100, -20., 20., "");
2884  p_convVtxdXVsX_ = iBooker.bookProfile("pConvVtxdXVsX", "Conversion vtx dX vs X", 120, -60, 60, 100, -20., 20., "");
2885  p_convVtxdYVsY_ = iBooker.bookProfile("pConvVtxdYVsY", "Conversion vtx dY vs Y", 120, -60, 60, 100, -20., 20., "");
2886  p_convVtxdZVsZ_ =
2887  iBooker.bookProfile("pConvVtxdZVsZ", "Conversion vtx dZ vs Z", zBin, zMin, zMax, 100, -20., 20., "");
2888 
2889  if (!isRunCentrally_) {
2890  h2_convVtxRrecVsTrue_ = iBooker.book2D(
2891  "h2ConvVtxRrecVsTrue", "Photon Reco conversion vtx R rec vs true", rBin, rMin, rMax, rBin, rMin, rMax);
2892  }
2893 
2894  histname = "vtxChi2";
2895  h_vtxChi2_[0] = iBooker.book1D(histname + "All", "vertex #chi^{2} all", 100, chi2Min, chi2Max);
2896  h_vtxChi2_[1] = iBooker.book1D(histname + "Barrel", "vertex #chi^{2} barrel", 100, chi2Min, chi2Max);
2897  h_vtxChi2_[2] = iBooker.book1D(histname + "Endcap", "vertex #chi^{2} endcap", 100, chi2Min, chi2Max);
2898  histname = "vtxChi2Prob";
2899  h_vtxChi2Prob_[0] = iBooker.book1D(histname + "All", "vertex #chi^{2} all", 100, 0., 1.);
2900  h_vtxChi2Prob_[1] = iBooker.book1D(histname + "Barrel", "vertex #chi^{2} barrel", 100, 0., 1.);
2901  h_vtxChi2Prob_[2] = iBooker.book1D(histname + "Endcap", "vertex #chi^{2} endcap", 100, 0., 1.);
2902 
2903  histname = "zPVFromTracks";
2904  h_zPVFromTracks_[0] = iBooker.book1D(histname + "All", " Photons: PV z from conversion tracks", 100, -30., 30.);
2905  h_zPVFromTracks_[1] = iBooker.book1D(histname + "Barrel", " Photons: PV z from conversion tracks", 100, -30., 30.);
2906  h_zPVFromTracks_[2] = iBooker.book1D(histname + "Endcap", " Photons: PV z from conversion tracks", 100, -30., 30.);
2907  h_zPVFromTracks_[3] = iBooker.book1D(histname + "EndcapP", " Photons: PV z from conversion tracks", 100, -30., 30.);
2908  h_zPVFromTracks_[4] = iBooker.book1D(histname + "EndcapM", " Photons: PV z from conversion tracks", 100, -30., 30.);
2909  histname = "dzPVFromTracks";
2910  h_dzPVFromTracks_[0] =
2911  iBooker.book1D(histname + "All", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2912  h_dzPVFromTracks_[1] =
2913  iBooker.book1D(histname + "Barrel", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2914  h_dzPVFromTracks_[2] =
2915  iBooker.book1D(histname + "Endcap", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2916  h_dzPVFromTracks_[3] =
2917  iBooker.book1D(histname + "EndcapP", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2918  h_dzPVFromTracks_[4] =
2919  iBooker.book1D(histname + "EndcapM", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2920  p_dzPVVsR_ =
2921  iBooker.bookProfile("pdzPVVsR", "Photon Reco conversions: dz(PV) vs R", rBin, rMin, rMax, 100, -3., 3., "");
2922  p_dzPVVsEta_ = iBooker.bookProfile(
2923  "pdzPVVsEta", "Photon Reco conversions: dz(PV) vs Eta", etaBin, etaMin, etaMax, 100, -3., 3., "");
2924 
2925  if (!isRunCentrally_) {
2926  h2_dzPVVsR_ = iBooker.book2D("h2dzPVVsR", "Photon Reco conversions: dz(PV) vs R", rBin, rMin, rMax, 100, -3., 3.);
2927  }
2928 
2930  if (!isRunCentrally_) {
2931  histname = "nHitsVsEta";
2932  nHitsVsEta_[0] = iBooker.book2D(histname + "AllTracks",
2933  "Photons:Tracks from conversions: # of hits vs #eta all tracks",
2934  etaBin,
2935  etaMin,
2936  etaMax,
2937  25,
2938  0.,
2939  25.);
2940 
2941  histname = "nHitsVsEta";
2942  nHitsVsEta_[1] = iBooker.book2D(histname + "AssTracks",
2943  "Photons:Tracks from conversions: # of hits vs #eta associated tracks",
2944  etaBin,
2945  etaMin,
2946  etaMax,
2947  25,
2948  0.,
2949  25.);
2950 
2951  histname = "nHitsVsR";
2952  nHitsVsR_[0] = iBooker.book2D(histname + "AllTracks",
2953  "Photons:Tracks from conversions: # of hits vs radius all tracks",
2954  rBin,
2955  rMin,
2956  rMax,
2957  25,
2958  0.,
2959  25);
2960 
2961  histname = "nHitsVsR";
2962  nHitsVsR_[1] = iBooker.book2D(histname + "AssTracks",
2963  "Photons:Tracks from conversions: # of hits vs radius associated tracks",
2964  rBin,
2965  rMin,
2966  rMax,
2967  25,
2968  0.,
2969  25);
2970 
2971  histname = "h2Chi2VsEta";
2972  h2_Chi2VsEta_[0] = iBooker.book2D(
2973  histname + "All", " Reco Track #chi^{2} vs #eta: All ", etaBin2, etaMin, etaMax, 100, chi2Min, chi2Max);
2974 
2975  histname = "h2Chi2VsR";
2976  h2_Chi2VsR_[0] =
2977  iBooker.book2D(histname + "All", " Reco Track #chi^{2} vs R: All ", rBin, rMin, rMax, 100, chi2Min, chi2Max);
2978  }
2979 
2980  histname = "h_nHitsVsEta";
2981  p_nHitsVsEta_[0] = iBooker.bookProfile(histname + "AllTracks",
2982  "Photons:Tracks from conversions: # of hits vs #eta all tracks",
2983  etaBin,
2984  etaMin,
2985  etaMax,
2986  25,
2987  -0.5,
2988  24.5,
2989  "");
2990 
2991  histname = "h_nHitsVsEta";
2992  p_nHitsVsEta_[1] = iBooker.bookProfile(histname + "AssTracks",
2993  "Photons:Tracks from conversions: # of hits vs #eta associated tracks",
2994  etaBin,
2995  etaMin,
2996  etaMax,
2997  25,
2998  -0.5,
2999  24.5,
3000  "");
3001 
3002  histname = "p_nHitsVsEtaSL";
3003  p_nHitsVsEtaSL_[0] = iBooker.bookProfile(histname + "AllTracks",
3004  "Photons:Tracks from single leg conversions: # of hits vs #eta all tracks",
3005  etaBin,
3006  etaMin,
3007  etaMax,
3008  25,
3009  -0.5,
3010  24.5,
3011  "");
3012 
3013  histname = "h_nHitsVsR";
3014  p_nHitsVsR_[0] = iBooker.bookProfile(histname + "AllTracks",
3015  "Photons:Tracks from conversions: # of hits vs radius all tracks",
3016  rBin,
3017  rMin,
3018  rMax,
3019  25,
3020  -0.5,
3021  24.5,
3022  "");
3023  histname = "p_nHitsVsRSL";
3024  p_nHitsVsRSL_[0] = iBooker.bookProfile(histname + "AllTracks",
3025  "Photons:Tracks from single leg conversions: # of hits vs radius all tracks",
3026  rBin,
3027  rMin,
3028  rMax,
3029  25,
3030  -0.5,
3031  24.5,
3032  "");
3033 
3034  histname = "tkChi2";
3035  h_tkChi2_[0] = iBooker.book1D(
3036  histname + "AllTracks", "Photons:Tracks from conversions: #chi^{2} of all tracks", 100, chi2Min, chi2Max);
3037  histname = "tkChi2SL";
3038  h_tkChi2SL_[0] = iBooker.book1D(histname + "AllTracks",
3039  "Photons:Tracks from single leg conversions: #chi^{2} of associated tracks",
3040  100,
3041  chi2Min,
3042  chi2Max);
3043  histname = "tkChi2Large";
3044  h_tkChi2Large_[0] = iBooker.book1D(
3045  histname + "AllTracks", "Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
3046 
3047  histname = "h_nHitsVsR";
3048  p_nHitsVsR_[1] = iBooker.bookProfile(histname + "AssTracks",
3049  "Photons:Tracks from conversions: # of hits vs radius associated tracks",
3050  rBin,
3051  rMin,
3052  rMax,
3053  25,
3054  -0.5,
3055  24.5,
3056  "");
3057 
3058  histname = "tkChi2";
3059  h_tkChi2_[1] = iBooker.book1D(
3060  histname + "AssTracks", "Photons:Tracks from conversions: #chi^{2} of associated tracks", 100, chi2Min, chi2Max);
3061  histname = "tkChi2Large";
3062  h_tkChi2Large_[1] = iBooker.book1D(
3063  histname + "AssTracks", "Photons:Tracks from conversions: #chi^{2} of associated tracks", 1000, 0., 5000.0);
3064 
3065  histname = "pChi2VsEta";
3066  p_Chi2VsEta_[0] = iBooker.bookProfile(
3067  histname + "All", " Reco Track #chi^{2} vs #eta : All ", etaBin2, etaMin, etaMax, 100, chi2Min, chi2Max, "");
3068 
3069  histname = "pChi2VsR";
3070  p_Chi2VsR_[0] = iBooker.bookProfile(
3071  histname + "All", " Reco Track #chi^{2} vas R : All ", rBin, rMin, rMax, 100, chi2Min, chi2Max, "");
3072 
3073  histname = "hTkD0";
3074  h_TkD0_[0] = iBooker.book1D(histname + "All", " Reco Track D0*q: All ", 100, -0.1, 0.6);
3075  h_TkD0_[1] = iBooker.book1D(histname + "Barrel", " Reco Track D0*q: Barrel ", 100, -0.1, 0.6);
3076  h_TkD0_[2] = iBooker.book1D(histname + "Endcap", " Reco Track D0*q: Endcap ", 100, -0.1, 0.6);
3077 
3078  histname = "hTkPtPull";
3079  h_TkPtPull_[0] = iBooker.book1D(histname + "All", " Reco Track Pt pull: All ", 100, -10., 10.);
3080  histname = "hTkPtPull";
3081  h_TkPtPull_[1] = iBooker.book1D(histname + "Barrel", " Reco Track Pt pull: Barrel ", 100, -10., 10.);
3082  histname = "hTkPtPull";
3083  h_TkPtPull_[2] = iBooker.book1D(histname + "Endcap", " Reco Track Pt pull: Endcap ", 100, -10., 10.);
3084 
3085  histname = "pTkPtPullEta";
3086  p_TkPtPull_[0] =
3087  iBooker.bookProfile(histname + "All", " Reco Track Pt pull: All ", etaBin2, etaMin, etaMax, 100, -10., 10., " ");
3088 
3089  if (!isRunCentrally_) {
3090  histname = "h2TkPtPullEta";
3091  h2_TkPtPull_[0] =
3092  iBooker.book2D(histname + "All", " Reco Track Pt pull: All ", etaBin2, etaMin, etaMax, 100, -10., 10.);
3093 
3094  histname = "PtRecVsPtSim";
3095  h2_PtRecVsPtSim_[0] =
3096  iBooker.book2D(histname + "All", "Pt Rec vs Pt sim: All ", etBin, etMin, etMax, etBin, etMin, etMax);
3097  h2_PtRecVsPtSim_[1] =
3098  iBooker.book2D(histname + "Barrel", "Pt Rec vs Pt sim: Barrel ", etBin, etMin, etMax, etBin, etMin, etMax);
3099  h2_PtRecVsPtSim_[2] =
3100  iBooker.book2D(histname + "Endcap", "Pt Rec vs Pt sim: Endcap ", etBin, etMin, etMax, etBin, etMin, etMax);
3101  histname = "PtRecVsPtSimMixProv";
3102  h2_PtRecVsPtSimMixProv_ = iBooker.book2D(
3103  histname + "All", "Pt Rec vs Pt sim All for mix with general tracks ", etBin, etMin, etMax, etBin, etMin, etMax);
3104  }
3105 
3106  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator" ) {
3107  histname = "eBcOverTkPout";
3108  hBCEnergyOverTrackPout_[0] = iBooker.book1D(histname + "All", "Matrching BC E/P_out: all Ecal ", 100, 0., 5.);
3109  hBCEnergyOverTrackPout_[1] = iBooker.book1D(histname + "Barrel", "Matrching BC E/P_out: Barrel ", 100, 0., 5.);
3110  hBCEnergyOverTrackPout_[2] = iBooker.book1D(histname + "Endcap", "Matrching BC E/P_out: Endcap ", 100, 0., 5.);
3111  // }
3112 
3114  h_OIinnermostHitR_ = iBooker.book1D("OIinnermostHitR", " R innermost hit for OI tracks ", 50, 0., 25);
3115  h_IOinnermostHitR_ = iBooker.book1D("IOinnermostHitR", " R innermost hit for IO tracks ", 50, 0., 25);
3116 
3118  h_trkProv_[0] = iBooker.book1D("allTrkProv", " Track pair provenance ", 4, 0., 4.);
3119  h_trkProv_[1] = iBooker.book1D("assTrkProv", " Track pair provenance ", 4, 0., 4.);
3120  //
3121  h_trkAlgo_ =
3122  iBooker.book1D("allTrackAlgo", " Track Algo ", reco::TrackBase::algoSize, -0.5, reco::TrackBase::algoSize - 0.5);
3123  h_convAlgo_ = iBooker.book1D("allConvAlgo", " Conv Algo ", 5, -0.5, 4.5);
3124  h_convQuality_ = iBooker.book1D("allConvQuality", "Conv quality ", 11, -0.5, 11.);
3125 
3126  // histos for fake rate
3127  histname = "h_RecoConvTwoTracksEta";
3129  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated #eta", etaBin2, etaMin, etaMax);
3130  histname = "h_RecoConvTwoTracksPhi";
3132  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated #phi", phiBin, phiMin, phiMax);
3133  histname = "h_RecoConvTwoTracksR";
3135  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated R", rBin, rMin, rMax);
3136  histname = "h_RecoConvTwoTracksZ";
3138  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated Z", zBin, zMin, zMax);
3139  histname = "h_RecoConvTwoTracksEt";
3141  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated Et", etBin, etMin, etMax);
3142  //
3143  histname = "h_RecoConvTwoMTracksEta";
3145  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated #eta", etaBin2, etaMin, etaMax);
3146  histname = "h_RecoConvTwoMTracksPhi";
3148  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated #phi", phiBin, phiMin, phiMax);
3149  histname = "h_RecoConvTwoMTracksR";
3151  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated R", rBin, rMin, rMax);
3152  histname = "h_RecoConvTwoMTracksZ";
3154  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated Z", zBin, zMin, zMax);
3155  histname = "h_RecoConvTwoMTracksEt";
3157  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated Et", etBin, etMin, etMax);
3158 }

References reco::TrackBase::algoSize, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), muonRecoAnalyzer_cfi::chi2Max, muonRecoAnalyzer_cfi::chi2Min, photonValidator_cfi::dCotTracksBin, photonValidator_cfi::dCotTracksMax, photonValidator_cfi::dCotTracksMin, photonValidator_cfi::dEtaBin, photonValidator_cfi::dEtaMax, photonValidator_cfi::dEtaMin, photonAnalyzer_cfi::dEtaTracksBin, photonAnalyzer_cfi::dEtaTracksMax, photonAnalyzer_cfi::dEtaTracksMin, photonValidator_cfi::dPhiBin, CSCSegmentAlgorithmRU_cfi::dPhiMax, photonValidator_cfi::dPhiMin, photonAnalyzer_cfi::dPhiTracksBin, photonAnalyzer_cfi::dPhiTracksMax, photonAnalyzer_cfi::dPhiTracksMin, photonAnalyzer_cfi::eBin, cosmicPhotonAnalyzer_cfi::eMax, photonAnalyzer_cfi::eMin, photonValidator_cfi::eoverpBin, photonValidationSequence_cff::eoverpMax, photonValidationSequence_cff::eoverpMin, etaBin(), conversionPostprocessing_cfi::etaBin2, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, photonAnalyzer_cfi::etBin, cosmicPhotonAnalyzer_cfi::etMax, photonAnalyzer_cfi::etMin, photonValidator_cfi::etScale, photonValidator_cfi::ggMassBin, photonValidator_cfi::ggMassMax, photonValidator_cfi::ggMassMin, BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, photonValidator_cfi::povereBin, photonValidator_cfi::povereMax, photonValidator_cfi::povereMin, photonAnalyzer_cfi::r9Bin, cosmicPhotonAnalyzer_cfi::r9Max, photonAnalyzer_cfi::r9Min, photonAnalyzer_cfi::rBin, photonValidator_cfi::rBinForXray, photonValidator_cfi::resBin, photonValidator_cfi::resMax, photonValidator_cfi::resMin, photonAnalyzer_cfi::rMax, photonValidator_cfi::rMaxForXray, photonAnalyzer_cfi::rMin, photonValidator_cfi::rMinForXray, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, photonAnalyzer_cfi::zBin, photonValidator_cfi::zBin2ForXray, photonValidator_cfi::zBinForXray, photonAnalyzer_cfi::zMax, photonValidator_cfi::zMaxForXray, photonAnalyzer_cfi::zMin, and photonValidator_cfi::zMinForXray.

◆ dqmBeginRun()

void PhotonValidator::dqmBeginRun ( edm::Run const &  r,
edm::EventSetup const &  theEventSetup 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3160 of file PhotonValidator.cc.

3160  {
3161  //get magnetic field
3162  edm::LogInfo("ConvertedPhotonProducer") << " get magnetic field"
3163  << "\n";
3164  theEventSetup.get<IdealMagneticFieldRecord>().get(theMF_);
3165 
3166  thePhotonMCTruthFinder_ = std::make_unique<PhotonMCTruthFinder>();
3167 }

References edm::EventSetup::get(), and get.

◆ dqmEndRun()

void PhotonValidator::dqmEndRun ( edm::Run const &  r,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3169 of file PhotonValidator.cc.

3169  {
3170  thePhotonMCTruthFinder_.reset();
3171 }

◆ etaTransformation()

float PhotonValidator::etaTransformation ( float  a,
float  b 
)
private

Definition at line 5483 of file PhotonValidator.cc.

5483  {
5484  //---Definitions
5485  const float PI = 3.1415927;
5486 
5487  //---Definitions for ECAL
5488  const float R_ECAL = 136.5;
5489  const float Z_Endcap = 328.0;
5490  const float etaBarrelEndcap = 1.479;
5491 
5492  //---ETA correction
5493 
5494  float Theta = 0.0;
5495  float ZEcal = R_ECAL * sinh(EtaParticle) + Zvertex;
5496 
5497  if (ZEcal != 0.0)
5498  Theta = atan(R_ECAL / ZEcal);
5499  if (Theta < 0.0)
5500  Theta = Theta + PI;
5501  float ETA = -log(tan(0.5 * Theta));
5502 
5503  if (fabs(ETA) > etaBarrelEndcap) {
5504  float Zend = Z_Endcap;
5505  if (EtaParticle < 0.0)
5506  Zend = -Zend;
5507  float Zlen = Zend - Zvertex;
5508  float RR = Zlen / sinh(EtaParticle);
5509  Theta = atan(RR / Zend);
5510  if (Theta < 0.0)
5511  Theta = Theta + PI;
5512  ETA = -log(tan(0.5 * Theta));
5513  }
5514  //---Return the result
5515  return ETA;
5516  //---end
5517 }

References ETA, etaBarrelEndcap, dqm-mbProfile::log, PI, R_ECAL, funct::tan(), Z_Endcap, and ZEcal.

◆ phiNormalization()

float PhotonValidator::phiNormalization ( float &  a)
private

Definition at line 5468 of file PhotonValidator.cc.

5468  {
5469  //---Definitions
5470  const float PI = 3.1415927;
5471  const float TWOPI = 2.0 * PI;
5472 
5473  if (phi > PI) {
5474  phi = phi - TWOPI;
5475  }
5476  if (phi < -PI) {
5477  phi = phi + TWOPI;
5478  }
5479 
5480  return phi;
5481 }

References PI, and TWOPI.

Member Data Documentation

◆ barrelEcalHits_

edm::EDGetTokenT<EcalRecHitCollection> PhotonValidator::barrelEcalHits_
private

Definition at line 105 of file PhotonValidator.h.

◆ bcBarrelCollection_

edm::InputTag PhotonValidator::bcBarrelCollection_
private

Definition at line 101 of file PhotonValidator.h.

◆ bcEndcapCollection_

edm::InputTag PhotonValidator::bcEndcapCollection_
private

Definition at line 102 of file PhotonValidator.h.

◆ bcEtLow_

double PhotonValidator::bcEtLow_
private

Definition at line 135 of file PhotonValidator.h.

◆ conversionIOTrackPr_Token_

edm::EDGetTokenT<edm::View<reco::Track> > PhotonValidator::conversionIOTrackPr_Token_
private

Definition at line 113 of file PhotonValidator.h.

◆ conversionIOTrackProducer_

edm::InputTag PhotonValidator::conversionIOTrackProducer_
private

Definition at line 110 of file PhotonValidator.h.

◆ conversionOITrackPr_Token_

edm::EDGetTokenT<edm::View<reco::Track> > PhotonValidator::conversionOITrackPr_Token_
private

Definition at line 112 of file PhotonValidator.h.

◆ conversionOITrackProducer_

edm::InputTag PhotonValidator::conversionOITrackProducer_
private

Definition at line 109 of file PhotonValidator.h.

◆ convTrackMinPtCut_

double PhotonValidator::convTrackMinPtCut_
private

Definition at line 128 of file PhotonValidator.h.

◆ dCotCutOn_

bool PhotonValidator::dCotCutOn_
private

Definition at line 143 of file PhotonValidator.h.

◆ dCotCutValue_

double PhotonValidator::dCotCutValue_
private

Definition at line 144 of file PhotonValidator.h.

◆ dCotHardCutValue_

double PhotonValidator::dCotHardCutValue_
private

Definition at line 145 of file PhotonValidator.h.

◆ ecalEtSumCut_

double PhotonValidator::ecalEtSumCut_
private

Definition at line 141 of file PhotonValidator.h.

◆ ecalIsolRadius_

double PhotonValidator::ecalIsolRadius_
private

Definition at line 134 of file PhotonValidator.h.

◆ endcapEcalHits_

edm::EDGetTokenT<EcalRecHitCollection> PhotonValidator::endcapEcalHits_
private

Definition at line 106 of file PhotonValidator.h.

◆ famos_simTk_Token_

edm::EDGetTokenT<edm::SimTrackContainer> PhotonValidator::famos_simTk_Token_
private

Definition at line 117 of file PhotonValidator.h.

◆ famos_simVtx_Token_

edm::EDGetTokenT<edm::SimVertexContainer> PhotonValidator::famos_simVtx_Token_
private

Definition at line 118 of file PhotonValidator.h.

◆ fastSim_

bool PhotonValidator::fastSim_
private

Definition at line 124 of file PhotonValidator.h.

◆ fName_

std::string PhotonValidator::fName_
private

Definition at line 75 of file PhotonValidator.h.

◆ g4_simTk_Token_

edm::EDGetTokenT<edm::SimTrackContainer> PhotonValidator::g4_simTk_Token_
private

Definition at line 115 of file PhotonValidator.h.

◆ g4_simVtx_Token_

edm::EDGetTokenT<edm::SimVertexContainer> PhotonValidator::g4_simVtx_Token_
private

Definition at line 116 of file PhotonValidator.h.

◆ genjets_Token_

edm::EDGetTokenT<reco::GenJetCollection> PhotonValidator::genjets_Token_
private

Definition at line 120 of file PhotonValidator.h.

◆ genpartToken_

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

Definition at line 103 of file PhotonValidator.h.

◆ h2_Chi2VsEta_

MonitorElement* PhotonValidator::h2_Chi2VsEta_[3]
private

Definition at line 492 of file PhotonValidator.h.

◆ h2_Chi2VsR_

MonitorElement* PhotonValidator::h2_Chi2VsR_[3]
private

Definition at line 494 of file PhotonValidator.h.

◆ h2_convVtxdRVsEta_

MonitorElement* PhotonValidator::h2_convVtxdRVsEta_
private

Definition at line 465 of file PhotonValidator.h.

◆ h2_convVtxdRVsR_

MonitorElement* PhotonValidator::h2_convVtxdRVsR_
private

Definition at line 463 of file PhotonValidator.h.

◆ h2_convVtxRrecVsTrue_

MonitorElement* PhotonValidator::h2_convVtxRrecVsTrue_
private

Definition at line 471 of file PhotonValidator.h.

◆ h2_DCotTracksVsEta_

MonitorElement* PhotonValidator::h2_DCotTracksVsEta_
private

Definition at line 424 of file PhotonValidator.h.

◆ h2_DCotTracksVsR_

MonitorElement* PhotonValidator::h2_DCotTracksVsR_
private

Definition at line 426 of file PhotonValidator.h.

◆ h2_DPhiTracksAtEcalVsEta_

MonitorElement* PhotonValidator::h2_DPhiTracksAtEcalVsEta_
private

Definition at line 434 of file PhotonValidator.h.

◆ h2_DPhiTracksAtEcalVsR_

MonitorElement* PhotonValidator::h2_DPhiTracksAtEcalVsR_
private

Definition at line 432 of file PhotonValidator.h.

◆ h2_DPhiTracksAtVtxVsEta_

MonitorElement* PhotonValidator::h2_DPhiTracksAtVtxVsEta_
private

Definition at line 418 of file PhotonValidator.h.

◆ h2_DPhiTracksAtVtxVsR_

MonitorElement* PhotonValidator::h2_DPhiTracksAtVtxVsR_
private

Definition at line 420 of file PhotonValidator.h.

◆ h2_dzPVVsR_

MonitorElement* PhotonValidator::h2_dzPVVsR_
private

Definition at line 478 of file PhotonValidator.h.

◆ h2_ecalRecHitSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEt_[3]
private

Definition at line 269 of file PhotonValidator.h.

◆ h2_ecalRecHitSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEta_[3]
private

Definition at line 267 of file PhotonValidator.h.

◆ h2_ecalRecHitSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtaBkg_
private

Definition at line 557 of file PhotonValidator.h.

◆ h2_ecalRecHitSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtBkg_[3]
private

Definition at line 559 of file PhotonValidator.h.

◆ h2_EoverEtrueVsEoverP_

MonitorElement* PhotonValidator::h2_EoverEtrueVsEoverP_[3]
private

Definition at line 401 of file PhotonValidator.h.

◆ h2_EoverEtrueVsEta_

MonitorElement* PhotonValidator::h2_EoverEtrueVsEta_[3]
private

Definition at line 409 of file PhotonValidator.h.

◆ h2_EoverEtrueVsR_

MonitorElement* PhotonValidator::h2_EoverEtrueVsR_[3]
private

Definition at line 411 of file PhotonValidator.h.

◆ h2_EoverPVsEta_

MonitorElement* PhotonValidator::h2_EoverPVsEta_[3]
private

Definition at line 404 of file PhotonValidator.h.

◆ h2_EoverPVsR_

MonitorElement* PhotonValidator::h2_EoverPVsR_[3]
private

Definition at line 406 of file PhotonValidator.h.

◆ h2_eResVsEt_

MonitorElement* PhotonValidator::h2_eResVsEt_[3][3]
private

Definition at line 307 of file PhotonValidator.h.

◆ h2_eResVsEta_

MonitorElement* PhotonValidator::h2_eResVsEta_[3]
private

Definition at line 304 of file PhotonValidator.h.

◆ h2_eResVsR9_

MonitorElement* PhotonValidator::h2_eResVsR9_[3]
private

Definition at line 314 of file PhotonValidator.h.

◆ h2_etaVsRreco_

MonitorElement* PhotonValidator::h2_etaVsRreco_[3]
private

Definition at line 399 of file PhotonValidator.h.

◆ h2_etaVsRsim_

MonitorElement* PhotonValidator::h2_etaVsRsim_[3]
private

Definition at line 398 of file PhotonValidator.h.

◆ h2_hcalTowerSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEt_[3]
private

Definition at line 275 of file PhotonValidator.h.

◆ h2_hcalTowerSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEta_[3]
private

Definition at line 273 of file PhotonValidator.h.

◆ h2_hcalTowerSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtaBkg_
private

Definition at line 563 of file PhotonValidator.h.

◆ h2_hcalTowerSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtBkg_[3]
private

Definition at line 565 of file PhotonValidator.h.

◆ h2_hOverEVsEt_

MonitorElement* PhotonValidator::h2_hOverEVsEt_[3]
private

Definition at line 258 of file PhotonValidator.h.

◆ h2_hOverEVsEta_

MonitorElement* PhotonValidator::h2_hOverEVsEta_[3]
private

Definition at line 256 of file PhotonValidator.h.

◆ h2_hOverEVsEtaBkg_

MonitorElement* PhotonValidator::h2_hOverEVsEtaBkg_
private

Definition at line 551 of file PhotonValidator.h.

◆ h2_hOverEVsEtBkg_

MonitorElement* PhotonValidator::h2_hOverEVsEtBkg_
private

Definition at line 552 of file PhotonValidator.h.

◆ h2_isoTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEt_[3]
private

Definition at line 285 of file PhotonValidator.h.

◆ h2_isoTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEta_[3]
private

Definition at line 283 of file PhotonValidator.h.

◆ h2_isoTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEtaBkg_
private

Definition at line 569 of file PhotonValidator.h.

◆ h2_isoTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 571 of file PhotonValidator.h.

◆ h2_nTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEt_[3]
private

Definition at line 291 of file PhotonValidator.h.

◆ h2_nTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEta_[3]
private

Definition at line 289 of file PhotonValidator.h.

◆ h2_nTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEtaBkg_
private

Definition at line 575 of file PhotonValidator.h.

◆ h2_nTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 577 of file PhotonValidator.h.

◆ h2_PoverPtrueVsEoverP_

MonitorElement* PhotonValidator::h2_PoverPtrueVsEoverP_[3]
private

Definition at line 402 of file PhotonValidator.h.

◆ h2_PoverPtrueVsEta_

MonitorElement* PhotonValidator::h2_PoverPtrueVsEta_[3]
private

Definition at line 414 of file PhotonValidator.h.

◆ h2_PtRecVsPtSim_

MonitorElement* PhotonValidator::h2_PtRecVsPtSim_[3]
private

Definition at line 502 of file PhotonValidator.h.

◆ h2_PtRecVsPtSimMixProv_

MonitorElement* PhotonValidator::h2_PtRecVsPtSimMixProv_
private

Definition at line 503 of file PhotonValidator.h.

◆ h2_r1VsEt_

MonitorElement* PhotonValidator::h2_r1VsEt_[3]
private

Definition at line 240 of file PhotonValidator.h.

◆ h2_r1VsEta_

MonitorElement* PhotonValidator::h2_r1VsEta_[3]
private

Definition at line 238 of file PhotonValidator.h.

◆ h2_r1VsEtaBkg_

MonitorElement* PhotonValidator::h2_r1VsEtaBkg_
private

Definition at line 535 of file PhotonValidator.h.

◆ h2_r1VsEtBkg_

MonitorElement* PhotonValidator::h2_r1VsEtBkg_
private

Definition at line 536 of file PhotonValidator.h.

◆ h2_r2VsEt_

MonitorElement* PhotonValidator::h2_r2VsEt_[3]
private

Definition at line 246 of file PhotonValidator.h.

◆ h2_r2VsEta_

MonitorElement* PhotonValidator::h2_r2VsEta_[3]
private

Definition at line 244 of file PhotonValidator.h.

◆ h2_r2VsEtaBkg_

MonitorElement* PhotonValidator::h2_r2VsEtaBkg_
private

Definition at line 540 of file PhotonValidator.h.

◆ h2_r2VsEtBkg_

MonitorElement* PhotonValidator::h2_r2VsEtBkg_
private

Definition at line 541 of file PhotonValidator.h.

◆ h2_r9VsEt_

MonitorElement* PhotonValidator::h2_r9VsEt_[3]
private

Definition at line 234 of file PhotonValidator.h.

◆ h2_r9VsEtaBkg_

MonitorElement* PhotonValidator::h2_r9VsEtaBkg_
private

Definition at line 532 of file PhotonValidator.h.

◆ h2_r9VsEtBkg_

MonitorElement* PhotonValidator::h2_r9VsEtBkg_
private

Definition at line 533 of file PhotonValidator.h.

◆ h2_sceResVsR9_

MonitorElement* PhotonValidator::h2_sceResVsR9_[3]
private

Definition at line 316 of file PhotonValidator.h.

◆ h2_sigmaIetaIetaVsEt_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEt_[3]
private

Definition at line 252 of file PhotonValidator.h.

◆ h2_sigmaIetaIetaVsEta_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEta_[3]
private

Definition at line 250 of file PhotonValidator.h.

◆ h2_sigmaIetaIetaVsEtaBkg_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEtaBkg_
private

Definition at line 546 of file PhotonValidator.h.

◆ h2_sigmaIetaIetaVsEtBkg_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEtBkg_[3]
private

Definition at line 548 of file PhotonValidator.h.

◆ h2_TkPtPull_

MonitorElement* PhotonValidator::h2_TkPtPull_[3]
private

Definition at line 500 of file PhotonValidator.h.

◆ h_AllSimConv_

MonitorElement* PhotonValidator::h_AllSimConv_[5]
private

Definition at line 187 of file PhotonValidator.h.

◆ h_chHadIso_

MonitorElement* PhotonValidator::h_chHadIso_[3]
private

Definition at line 331 of file PhotonValidator.h.

◆ h_chHadIso_miniAOD_

MonitorElement* PhotonValidator::h_chHadIso_miniAOD_[3]
private

Definition at line 377 of file PhotonValidator.h.

◆ h_convAlgo_

MonitorElement* PhotonValidator::h_convAlgo_
private

Definition at line 214 of file PhotonValidator.h.

◆ h_convERes_

MonitorElement* PhotonValidator::h_convERes_[2][3]
private

Definition at line 385 of file PhotonValidator.h.

◆ h_convEta_

MonitorElement* PhotonValidator::h_convEta_[3]
private

Definition at line 383 of file PhotonValidator.h.

◆ h_convEtaBkg_

MonitorElement* PhotonValidator::h_convEtaBkg_
private

Definition at line 580 of file PhotonValidator.h.

◆ h_convPhi_

MonitorElement* PhotonValidator::h_convPhi_[2]
private

Definition at line 384 of file PhotonValidator.h.

◆ h_convPhiBkg_

MonitorElement* PhotonValidator::h_convPhiBkg_
private

Definition at line 581 of file PhotonValidator.h.

◆ h_convPtRes_

MonitorElement* PhotonValidator::h_convPtRes_[2][3]
private

Definition at line 388 of file PhotonValidator.h.

◆ h_convQuality_

MonitorElement* PhotonValidator::h_convQuality_
private

Definition at line 215 of file PhotonValidator.h.

◆ h_convSLVtxRvsZ_

MonitorElement* PhotonValidator::h_convSLVtxRvsZ_[3]
private

Definition at line 443 of file PhotonValidator.h.

◆ h_convVtxdEta_

MonitorElement* PhotonValidator::h_convVtxdEta_
private

Definition at line 460 of file PhotonValidator.h.

◆ h_convVtxdPhi_

MonitorElement* PhotonValidator::h_convVtxdPhi_
private

Definition at line 461 of file PhotonValidator.h.

◆ h_convVtxdR_

MonitorElement* PhotonValidator::h_convVtxdR_
private

Definition at line 448 of file PhotonValidator.h.

◆ h_convVtxdR_barrel_

MonitorElement* PhotonValidator::h_convVtxdR_barrel_
private

Definition at line 453 of file PhotonValidator.h.

◆ h_convVtxdR_endcap_

MonitorElement* PhotonValidator::h_convVtxdR_endcap_
private

Definition at line 458 of file PhotonValidator.h.

◆ h_convVtxdX_

MonitorElement* PhotonValidator::h_convVtxdX_
private

Definition at line 445 of file PhotonValidator.h.

◆ h_convVtxdX_barrel_

MonitorElement* PhotonValidator::h_convVtxdX_barrel_
private

Definition at line 450 of file PhotonValidator.h.

◆ h_convVtxdX_endcap_

MonitorElement* PhotonValidator::h_convVtxdX_endcap_
private

Definition at line 455 of file PhotonValidator.h.

◆ h_convVtxdY_

MonitorElement* PhotonValidator::h_convVtxdY_
private

Definition at line 446 of file PhotonValidator.h.

◆ h_convVtxdY_barrel_

MonitorElement* PhotonValidator::h_convVtxdY_barrel_
private

Definition at line 451 of file PhotonValidator.h.

◆ h_convVtxdY_endcap_

MonitorElement* PhotonValidator::h_convVtxdY_endcap_
private

Definition at line 456 of file PhotonValidator.h.

◆ h_convVtxdZ_

MonitorElement* PhotonValidator::h_convVtxdZ_
private

Definition at line 447 of file PhotonValidator.h.

◆ h_convVtxdZ_barrel_

MonitorElement* PhotonValidator::h_convVtxdZ_barrel_
private

Definition at line 452 of file PhotonValidator.h.

◆ h_convVtxdZ_endcap_

MonitorElement* PhotonValidator::h_convVtxdZ_endcap_
private

Definition at line 457 of file PhotonValidator.h.

◆ h_convVtxRvsZ_

MonitorElement* PhotonValidator::h_convVtxRvsZ_[3]
private

Definition at line 439 of file PhotonValidator.h.

◆ h_convVtxRvsZ_zoom_

MonitorElement* PhotonValidator::h_convVtxRvsZ_zoom_[2]
private

Definition at line 441 of file PhotonValidator.h.

◆ h_convVtxRvsZBkg_

MonitorElement* PhotonValidator::h_convVtxRvsZBkg_[2]
private

Definition at line 590 of file PhotonValidator.h.

◆ h_convVtxYvsX_

MonitorElement* PhotonValidator::h_convVtxYvsX_
private

Definition at line 440 of file PhotonValidator.h.

◆ h_convVtxYvsX_zoom_

MonitorElement* PhotonValidator::h_convVtxYvsX_zoom_[2]
private

Definition at line 442 of file PhotonValidator.h.

◆ h_convVtxYvsXBkg_

MonitorElement* PhotonValidator::h_convVtxYvsXBkg_
private

Definition at line 589 of file PhotonValidator.h.

◆ h_DCotTracks_

MonitorElement* PhotonValidator::h_DCotTracks_[2][3]
private

Definition at line 423 of file PhotonValidator.h.

◆ h_DCotTracksBkg_

MonitorElement* PhotonValidator::h_DCotTracksBkg_[3]
private

Definition at line 588 of file PhotonValidator.h.

◆ h_DEtaTracksAtEcal_

MonitorElement* PhotonValidator::h_DEtaTracksAtEcal_[2][3]
private

Definition at line 437 of file PhotonValidator.h.

◆ h_distMinAppTracks_

MonitorElement* PhotonValidator::h_distMinAppTracks_[2][3]
private

Definition at line 429 of file PhotonValidator.h.

◆ h_DPhiTracksAtEcal_

MonitorElement* PhotonValidator::h_DPhiTracksAtEcal_[2][3]
private

Definition at line 431 of file PhotonValidator.h.

◆ h_DPhiTracksAtVtx_

MonitorElement* PhotonValidator::h_DPhiTracksAtVtx_[2][3]
private

Definition at line 417 of file PhotonValidator.h.

◆ h_DPhiTracksAtVtxBkg_

MonitorElement* PhotonValidator::h_DPhiTracksAtVtxBkg_[3]
private

Definition at line 587 of file PhotonValidator.h.

◆ h_dRPhoPFcand_ChHad_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_ChHad_Cleaned_[3]
private

Definition at line 339 of file PhotonValidator.h.

◆ h_dRPhoPFcand_ChHad_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_ChHad_unCleaned_[3]
private

Definition at line 342 of file PhotonValidator.h.

◆ h_dRPhoPFcand_NeuHad_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_NeuHad_Cleaned_[3]
private

Definition at line 340 of file PhotonValidator.h.

◆ h_dRPhoPFcand_NeuHad_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_NeuHad_unCleaned_[3]
private

Definition at line 343 of file PhotonValidator.h.

◆ h_dRPhoPFcand_Pho_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_Pho_Cleaned_[3]
private

Definition at line 341 of file PhotonValidator.h.

◆ h_dRPhoPFcand_Pho_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_Pho_unCleaned_[3]
private

Definition at line 344 of file PhotonValidator.h.

◆ h_dzPVFromTracks_

MonitorElement* PhotonValidator::h_dzPVFromTracks_[5]
private

Definition at line 477 of file PhotonValidator.h.

◆ h_ecalRecHitSumEtConeDR04_

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

Definition at line 266 of file PhotonValidator.h.

◆ h_ecalRecHitSumEtConeDR04_miniAOD_

MonitorElement* PhotonValidator::h_ecalRecHitSumEtConeDR04_miniAOD_[3][3]
private

Definition at line 364 of file PhotonValidator.h.

◆ h_ecalRecHitSumEtConeDR04Bkg_

MonitorElement* PhotonValidator::h_ecalRecHitSumEtConeDR04Bkg_[3]
private

Definition at line 556 of file PhotonValidator.h.

◆ h_EoverP_SL_

MonitorElement* PhotonValidator::h_EoverP_SL_[3]
private

Definition at line 395 of file PhotonValidator.h.

◆ h_EoverPTracks_

MonitorElement* PhotonValidator::h_EoverPTracks_[2][3]
private

Definition at line 392 of file PhotonValidator.h.

◆ h_EoverPTracksBkg_

MonitorElement* PhotonValidator::h_EoverPTracksBkg_[3]
private

Definition at line 585 of file PhotonValidator.h.

◆ h_etOutsideMustache_

MonitorElement* PhotonValidator::h_etOutsideMustache_[3]
private

Definition at line 336 of file PhotonValidator.h.

◆ h_EtR9Less093_

MonitorElement* PhotonValidator::h_EtR9Less093_[3][3]
private

Definition at line 231 of file PhotonValidator.h.

◆ h_full5x5_r9_miniAOD_

MonitorElement* PhotonValidator::h_full5x5_r9_miniAOD_[3][3]
private

Definition at line 357 of file PhotonValidator.h.

◆ h_full5x5_sigmaIetaIeta_miniAOD_

MonitorElement* PhotonValidator::h_full5x5_sigmaIetaIeta_miniAOD_[3][3]
private

Definition at line 359 of file PhotonValidator.h.

◆ h_gamgamMass_

MonitorElement* PhotonValidator::h_gamgamMass_[3][3]
private

Definition at line 295 of file PhotonValidator.h.

◆ h_gamgamMassRegr1_

MonitorElement* PhotonValidator::h_gamgamMassRegr1_[3][3]
private

Definition at line 296 of file PhotonValidator.h.

◆ h_gamgamMassRegr2_

MonitorElement* PhotonValidator::h_gamgamMassRegr2_[3][3]
private

Definition at line 297 of file PhotonValidator.h.

◆ h_hcalTowerBcSumEtConeDR04_

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

Definition at line 278 of file PhotonValidator.h.

◆ h_hcalTowerBcSumEtConeDR04_miniAOD_

MonitorElement* PhotonValidator::h_hcalTowerBcSumEtConeDR04_miniAOD_[3][3]
private

Definition at line 366 of file PhotonValidator.h.

◆ h_hcalTowerSumEtConeDR04_

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

Definition at line 272 of file PhotonValidator.h.

◆ h_hcalTowerSumEtConeDR04_miniAOD_

MonitorElement* PhotonValidator::h_hcalTowerSumEtConeDR04_miniAOD_[3][3]
private

Definition at line 365 of file PhotonValidator.h.

◆ h_hcalTowerSumEtConeDR04Bkg_

MonitorElement* PhotonValidator::h_hcalTowerSumEtConeDR04Bkg_[3]
private

Definition at line 562 of file PhotonValidator.h.

◆ h_hOverE_

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

Definition at line 255 of file PhotonValidator.h.

◆ h_hOverE_miniAOD_

MonitorElement* PhotonValidator::h_hOverE_miniAOD_[3][3]
private

Definition at line 362 of file PhotonValidator.h.

◆ h_hOverEBkg_

MonitorElement* PhotonValidator::h_hOverEBkg_[3]
private

Definition at line 530 of file PhotonValidator.h.

◆ h_invMass_

MonitorElement* PhotonValidator::h_invMass_[2][3]
private

Definition at line 390 of file PhotonValidator.h.

◆ h_IOinnermostHitR_

MonitorElement* PhotonValidator::h_IOinnermostHitR_
private

Definition at line 211 of file PhotonValidator.h.

◆ h_isoTrkSolidConeDR04_

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

Definition at line 282 of file PhotonValidator.h.

◆ h_isoTrkSolidConeDR04_miniAOD_

MonitorElement* PhotonValidator::h_isoTrkSolidConeDR04_miniAOD_[3][3]
private

Definition at line 367 of file PhotonValidator.h.

◆ h_isoTrkSolidConeDR04Bkg_

MonitorElement* PhotonValidator::h_isoTrkSolidConeDR04Bkg_[3]
private

Definition at line 568 of file PhotonValidator.h.

◆ h_MatchedSimJet_

MonitorElement* PhotonValidator::h_MatchedSimJet_[3]
private

Definition at line 509 of file PhotonValidator.h.

◆ h_MatchedSimJetBadCh_

MonitorElement* PhotonValidator::h_MatchedSimJetBadCh_[3]
private

Definition at line 510 of file PhotonValidator.h.

◆ h_MatchedSimPho_

MonitorElement* PhotonValidator::h_MatchedSimPho_[3]
private

Numerator for efficiencies.

Definition at line 191 of file PhotonValidator.h.

◆ h_MatchedSimPhoBadCh_

MonitorElement* PhotonValidator::h_MatchedSimPhoBadCh_[3]
private

Definition at line 192 of file PhotonValidator.h.

◆ h_mvaOut_

MonitorElement* PhotonValidator::h_mvaOut_[3]
private

Definition at line 397 of file PhotonValidator.h.

◆ h_mvaOutBkg_

MonitorElement* PhotonValidator::h_mvaOutBkg_[3]
private

Definition at line 582 of file PhotonValidator.h.

◆ h_nCluOutsideMustache_

MonitorElement* PhotonValidator::h_nCluOutsideMustache_[3]
private

Definition at line 335 of file PhotonValidator.h.

◆ h_nConv_

MonitorElement* PhotonValidator::h_nConv_[2][3]
private

info per conversion

Definition at line 382 of file PhotonValidator.h.

◆ h_newhOverE_

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

Definition at line 261 of file PhotonValidator.h.

◆ h_newhOverE_miniAOD_

MonitorElement* PhotonValidator::h_newhOverE_miniAOD_[3][3]
private

Definition at line 363 of file PhotonValidator.h.

◆ h_nHadIso_

MonitorElement* PhotonValidator::h_nHadIso_[3]
private

Definition at line 332 of file PhotonValidator.h.

◆ h_nHadIso_miniAOD_

MonitorElement* PhotonValidator::h_nHadIso_miniAOD_[3]
private

Definition at line 378 of file PhotonValidator.h.

◆ h_nPho_

MonitorElement* PhotonValidator::h_nPho_
private

Definition at line 513 of file PhotonValidator.h.

◆ h_nRecoVtx_

MonitorElement* PhotonValidator::h_nRecoVtx_
private

Definition at line 168 of file PhotonValidator.h.

◆ h_nSimConv_

MonitorElement* PhotonValidator::h_nSimConv_[2]
private

Definition at line 176 of file PhotonValidator.h.

◆ h_nSimPho_

MonitorElement* PhotonValidator::h_nSimPho_[2]
private

Definition at line 170 of file PhotonValidator.h.

◆ h_nTrkSolidConeDR04_

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

Definition at line 288 of file PhotonValidator.h.

◆ h_nTrkSolidConeDR04_miniAOD_

MonitorElement* PhotonValidator::h_nTrkSolidConeDR04_miniAOD_[3][3]
private

Definition at line 368 of file PhotonValidator.h.

◆ h_nTrkSolidConeDR04Bkg_

MonitorElement* PhotonValidator::h_nTrkSolidConeDR04Bkg_[3]
private

Definition at line 574 of file PhotonValidator.h.

◆ h_OIinnermostHitR_

MonitorElement* PhotonValidator::h_OIinnermostHitR_
private

Definition at line 210 of file PhotonValidator.h.

◆ h_pfMva_

MonitorElement* PhotonValidator::h_pfMva_[3]
private

Definition at line 337 of file PhotonValidator.h.

◆ h_phoBkgDEta_

MonitorElement* PhotonValidator::h_phoBkgDEta_
private

Definition at line 519 of file PhotonValidator.h.

◆ h_phoBkgDPhi_

MonitorElement* PhotonValidator::h_phoBkgDPhi_
private

Definition at line 520 of file PhotonValidator.h.

◆ h_phoBkgE_

MonitorElement* PhotonValidator::h_phoBkgE_[3]
private

Definition at line 521 of file PhotonValidator.h.

◆ h_phoBkgEt_

MonitorElement* PhotonValidator::h_phoBkgEt_[3]
private

Definition at line 522 of file PhotonValidator.h.

◆ h_phoBkgEta_

MonitorElement* PhotonValidator::h_phoBkgEta_
private

Definition at line 517 of file PhotonValidator.h.

◆ h_phoBkgPhi_

MonitorElement* PhotonValidator::h_phoBkgPhi_
private

Definition at line 518 of file PhotonValidator.h.

◆ h_phoDEta_

MonitorElement* PhotonValidator::h_phoDEta_[2]
private

Definition at line 217 of file PhotonValidator.h.

◆ h_phoDPhi_

MonitorElement* PhotonValidator::h_phoDPhi_[2]
private

Definition at line 218 of file PhotonValidator.h.

◆ h_phoE_

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

Definition at line 299 of file PhotonValidator.h.

◆ h_phoE_miniAOD_

MonitorElement* PhotonValidator::h_phoE_miniAOD_[2][3]
private

Definition at line 370 of file PhotonValidator.h.

◆ h_phoERes_

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

Definition at line 301 of file PhotonValidator.h.

◆ h_phoERes_miniAOD_

MonitorElement* PhotonValidator::h_phoERes_miniAOD_[3][3]
private

Definition at line 372 of file PhotonValidator.h.

◆ h_phoEResRegr1_

MonitorElement* PhotonValidator::h_phoEResRegr1_[3][3]
private

Definition at line 323 of file PhotonValidator.h.

◆ h_phoEResRegr2_

MonitorElement* PhotonValidator::h_phoEResRegr2_[3][3]
private

Definition at line 324 of file PhotonValidator.h.

◆ h_phoEt_

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

Definition at line 300 of file PhotonValidator.h.

◆ h_phoEt_miniAOD_

MonitorElement* PhotonValidator::h_phoEt_miniAOD_[2][3]
private

Definition at line 371 of file PhotonValidator.h.

◆ h_phoEta_

MonitorElement* PhotonValidator::h_phoEta_[2]
private

Definition at line 319 of file PhotonValidator.h.

◆ h_phoIso_

MonitorElement* PhotonValidator::h_phoIso_[3]
private

Definition at line 333 of file PhotonValidator.h.

◆ h_phoIso_miniAOD_

MonitorElement* PhotonValidator::h_phoIso_miniAOD_[3]
private

Definition at line 379 of file PhotonValidator.h.

◆ h_phoPhi_

MonitorElement* PhotonValidator::h_phoPhi_[2]
private

Definition at line 320 of file PhotonValidator.h.

◆ h_phoPixSeedSize_

MonitorElement* PhotonValidator::h_phoPixSeedSize_[2]
private

Definition at line 327 of file PhotonValidator.h.

◆ h_phoSigmaEoE_

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

Definition at line 302 of file PhotonValidator.h.

◆ h_phoSigmaEoE_miniAOD_

MonitorElement* PhotonValidator::h_phoSigmaEoE_miniAOD_[3][3]
private

Definition at line 373 of file PhotonValidator.h.

◆ h_PoverETracks_

MonitorElement* PhotonValidator::h_PoverETracks_[2][3]
private

Definition at line 393 of file PhotonValidator.h.

◆ h_PoverETracksBkg_

MonitorElement* PhotonValidator::h_PoverETracksBkg_[3]
private

Definition at line 586 of file PhotonValidator.h.

◆ h_psE_

MonitorElement* PhotonValidator::h_psE_
private

Definition at line 229 of file PhotonValidator.h.

◆ h_r1_

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

Definition at line 237 of file PhotonValidator.h.

◆ h_r1_miniAOD_

MonitorElement* PhotonValidator::h_r1_miniAOD_[3][3]
private

Definition at line 360 of file PhotonValidator.h.

◆ h_r1Bkg_

MonitorElement* PhotonValidator::h_r1Bkg_[3]
private

Definition at line 528 of file PhotonValidator.h.

◆ h_r2_

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

Definition at line 243 of file PhotonValidator.h.

◆ h_r2_miniAOD_

MonitorElement* PhotonValidator::h_r2_miniAOD_[3][3]
private

Definition at line 361 of file PhotonValidator.h.

◆ h_r2Bkg_

MonitorElement* PhotonValidator::h_r2Bkg_[3]
private

Definition at line 529 of file PhotonValidator.h.

◆ h_r9_

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

Definition at line 232 of file PhotonValidator.h.

◆ h_r9_miniAOD_

MonitorElement* PhotonValidator::h_r9_miniAOD_[3][3]
private

Definition at line 356 of file PhotonValidator.h.

◆ h_r9Bkg_

MonitorElement* PhotonValidator::h_r9Bkg_[3]
private

Definition at line 527 of file PhotonValidator.h.

◆ h_r9VsNofTracks_

MonitorElement* PhotonValidator::h_r9VsNofTracks_[2][3]
private

Definition at line 391 of file PhotonValidator.h.

◆ h_RecoConvTwoMTracks_

MonitorElement* PhotonValidator::h_RecoConvTwoMTracks_[5]
private

Definition at line 204 of file PhotonValidator.h.

◆ h_RecoConvTwoTracks_

MonitorElement* PhotonValidator::h_RecoConvTwoTracks_[5]
private

Definition at line 202 of file PhotonValidator.h.

◆ h_scBkgE_

MonitorElement* PhotonValidator::h_scBkgE_[3]
private

Definition at line 524 of file PhotonValidator.h.

◆ h_scBkgEt_

MonitorElement* PhotonValidator::h_scBkgEt_[3]
private

Definition at line 525 of file PhotonValidator.h.

◆ h_scBkgEta_

MonitorElement* PhotonValidator::h_scBkgEta_
private

Definition at line 515 of file PhotonValidator.h.

◆ h_scBkgPhi_

MonitorElement* PhotonValidator::h_scBkgPhi_
private

Definition at line 516 of file PhotonValidator.h.

◆ h_scE_

MonitorElement* PhotonValidator::h_scE_[2][3]
private

Definition at line 226 of file PhotonValidator.h.

◆ h_scEt_

MonitorElement* PhotonValidator::h_scEt_[2][3]
private

Definition at line 227 of file PhotonValidator.h.

◆ h_scEta_

MonitorElement* PhotonValidator::h_scEta_[2]
private

Definition at line 220 of file PhotonValidator.h.

◆ h_scEta_miniAOD_

MonitorElement* PhotonValidator::h_scEta_miniAOD_[2]
private

Histos for comparison with miniAOD content.

Definition at line 353 of file PhotonValidator.h.

◆ h_scEtaPhi_

MonitorElement* PhotonValidator::h_scEtaPhi_[2]
private

Definition at line 224 of file PhotonValidator.h.

◆ h_scEtaWidth_

MonitorElement* PhotonValidator::h_scEtaWidth_[2]
private

Definition at line 221 of file PhotonValidator.h.

◆ h_scPhi_

MonitorElement* PhotonValidator::h_scPhi_[2]
private

Definition at line 222 of file PhotonValidator.h.

◆ h_scPhi_miniAOD_

MonitorElement* PhotonValidator::h_scPhi_miniAOD_[2]
private

Definition at line 354 of file PhotonValidator.h.

◆ h_scPhiWidth_

MonitorElement* PhotonValidator::h_scPhiWidth_[2]
private

Definition at line 223 of file PhotonValidator.h.

◆ h_sigmaIetaIeta_

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

Definition at line 249 of file PhotonValidator.h.

◆ h_sigmaIetaIeta_miniAOD_

MonitorElement* PhotonValidator::h_sigmaIetaIeta_miniAOD_[3][3]
private

Definition at line 358 of file PhotonValidator.h.

◆ h_sigmaIetaIetaBkg_

MonitorElement* PhotonValidator::h_sigmaIetaIetaBkg_[3]
private

Definition at line 545 of file PhotonValidator.h.

◆ h_SimConvEtaPix_

MonitorElement* PhotonValidator::h_SimConvEtaPix_[2]
private

Definition at line 177 of file PhotonValidator.h.

◆ h_SimConvMTotal_

MonitorElement* PhotonValidator::h_SimConvMTotal_[5]
private

Definition at line 197 of file PhotonValidator.h.

◆ h_SimConvOneMTracks_

MonitorElement* PhotonValidator::h_SimConvOneMTracks_[5]
private

Definition at line 194 of file PhotonValidator.h.

◆ h_SimConvOneTracks_

MonitorElement* PhotonValidator::h_SimConvOneTracks_[5]
private

Definition at line 193 of file PhotonValidator.h.

◆ h_SimConvTwoMTracks_

MonitorElement* PhotonValidator::h_SimConvTwoMTracks_[5]
private

Definition at line 196 of file PhotonValidator.h.

◆ h_SimConvTwoMTracksAndVtxPGT0005_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0005_[5]
private

Definition at line 199 of file PhotonValidator.h.

◆ h_SimConvTwoMTracksAndVtxPGT01_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT01_[5]
private

Definition at line 200 of file PhotonValidator.h.

◆ h_SimConvTwoMTracksAndVtxPGT0_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0_[5]
private

Definition at line 198 of file PhotonValidator.h.

◆ h_SimConvTwoTracks_

MonitorElement* PhotonValidator::h_SimConvTwoTracks_[5]
private

Definition at line 195 of file PhotonValidator.h.

◆ h_simConvVtxRvsZ_

MonitorElement* PhotonValidator::h_simConvVtxRvsZ_[4]
private

Definition at line 182 of file PhotonValidator.h.

◆ h_simConvVtxYvsX_

MonitorElement* PhotonValidator::h_simConvVtxYvsX_
private

Definition at line 183 of file PhotonValidator.h.

◆ h_SimJet_

MonitorElement* PhotonValidator::h_SimJet_[3]
private

Definition at line 508 of file PhotonValidator.h.

◆ h_SimPho_

MonitorElement* PhotonValidator::h_SimPho_[3]
private

Denominator for efficiencies.

Definition at line 186 of file PhotonValidator.h.

◆ h_SimPhoEtaSmallR9_

MonitorElement* PhotonValidator::h_SimPhoEtaSmallR9_
private

Definition at line 174 of file PhotonValidator.h.

◆ h_SimPhoMotherEt_

MonitorElement* PhotonValidator::h_SimPhoMotherEt_[2]
private

Definition at line 172 of file PhotonValidator.h.

◆ h_SimPhoMotherEta_

MonitorElement* PhotonValidator::h_SimPhoMotherEta_[2]
private

Definition at line 173 of file PhotonValidator.h.

◆ h_SimPhoMotherType_

MonitorElement* PhotonValidator::h_SimPhoMotherType_[2]
private

Definition at line 171 of file PhotonValidator.h.

◆ h_simTkEta_

MonitorElement* PhotonValidator::h_simTkEta_
private

Definition at line 180 of file PhotonValidator.h.

◆ h_simTkPt_

MonitorElement* PhotonValidator::h_simTkPt_
private

Definition at line 179 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_ChHad_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_ChHad_Cleaned_[3]
private

Definition at line 345 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_ChHad_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_ChHad_unCleaned_[3]
private

Definition at line 348 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_NeuHad_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
private

Definition at line 346 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_NeuHad_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
private

Definition at line 349 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_Pho_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_Pho_Cleaned_[3]
private

Definition at line 347 of file PhotonValidator.h.

◆ h_SumPtOverPhoPt_Pho_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_Pho_unCleaned_[3]
private

Definition at line 350 of file PhotonValidator.h.

◆ h_tkChi2_

MonitorElement* PhotonValidator::h_tkChi2_[2]
private

Definition at line 489 of file PhotonValidator.h.

◆ h_tkChi2Bkg_

MonitorElement* PhotonValidator::h_tkChi2Bkg_
private

Definition at line 584 of file PhotonValidator.h.

◆ h_tkChi2Large_

MonitorElement* PhotonValidator::h_tkChi2Large_[2]
private

Definition at line 491 of file PhotonValidator.h.

◆ h_tkChi2SL_

MonitorElement* PhotonValidator::h_tkChi2SL_[2]
private

Definition at line 490 of file PhotonValidator.h.

◆ h_TkD0_

MonitorElement* PhotonValidator::h_TkD0_[3]
private

Definition at line 497 of file PhotonValidator.h.

◆ h_TkPtPull_

MonitorElement* PhotonValidator::h_TkPtPull_[3]
private

Definition at line 499 of file PhotonValidator.h.

◆ h_trkAlgo_

MonitorElement* PhotonValidator::h_trkAlgo_
private

Definition at line 213 of file PhotonValidator.h.

◆ h_trkProv_

MonitorElement* PhotonValidator::h_trkProv_[2]
private

Definition at line 212 of file PhotonValidator.h.

◆ h_VisSimConv_

MonitorElement* PhotonValidator::h_VisSimConv_[6]
private

Definition at line 188 of file PhotonValidator.h.

◆ h_VisSimConvLarge_

MonitorElement* PhotonValidator::h_VisSimConvLarge_
private

Definition at line 189 of file PhotonValidator.h.

◆ h_vtxChi2_

MonitorElement* PhotonValidator::h_vtxChi2_[3]
private

Definition at line 473 of file PhotonValidator.h.

◆ h_vtxChi2Prob_

MonitorElement* PhotonValidator::h_vtxChi2Prob_[3]
private

Definition at line 474 of file PhotonValidator.h.

◆ h_zPVFromTracks_

MonitorElement* PhotonValidator::h_zPVFromTracks_[5]
private

Definition at line 476 of file PhotonValidator.h.

◆ hBCEnergyOverTrackPout_

MonitorElement* PhotonValidator::hBCEnergyOverTrackPout_[3]
private

Definition at line 505 of file PhotonValidator.h.

◆ hcalEtSumCut_

double PhotonValidator::hcalEtSumCut_
private

Definition at line 142 of file PhotonValidator.h.

◆ hcalHitEtLow_

double PhotonValidator::hcalHitEtLow_
private

Definition at line 138 of file PhotonValidator.h.

◆ hcalIsolExtRadius_

double PhotonValidator::hcalIsolExtRadius_
private

Definition at line 136 of file PhotonValidator.h.

◆ hcalIsolInnRadius_

double PhotonValidator::hcalIsolInnRadius_
private

Definition at line 137 of file PhotonValidator.h.

◆ hepMC_Token_

edm::EDGetTokenT<edm::HepMCProduct> PhotonValidator::hepMC_Token_
private

Definition at line 119 of file PhotonValidator.h.

◆ isRunCentrally_

bool PhotonValidator::isRunCentrally_
private

Definition at line 125 of file PhotonValidator.h.

◆ likelihoodCut_

double PhotonValidator::likelihoodCut_
private

Definition at line 129 of file PhotonValidator.h.

◆ lip_

double PhotonValidator::lip_
private

Definition at line 133 of file PhotonValidator.h.

◆ mcConvEta_

double PhotonValidator::mcConvEta_
private

Definition at line 155 of file PhotonValidator.h.

◆ mcConvPhi_

double PhotonValidator::mcConvPhi_
private

Definition at line 154 of file PhotonValidator.h.

◆ mcConvR_

double PhotonValidator::mcConvR_
private

Definition at line 150 of file PhotonValidator.h.

◆ mcConvX_

double PhotonValidator::mcConvX_
private

Definition at line 153 of file PhotonValidator.h.

◆ mcConvY_

double PhotonValidator::mcConvY_
private

Definition at line 152 of file PhotonValidator.h.

◆ mcConvZ_

double PhotonValidator::mcConvZ_
private

Definition at line 151 of file PhotonValidator.h.

◆ mcEta_

double PhotonValidator::mcEta_
private

Definition at line 149 of file PhotonValidator.h.

◆ mcJetEta_

double PhotonValidator::mcJetEta_
private

Definition at line 156 of file PhotonValidator.h.

◆ mcJetPhi_

double PhotonValidator::mcJetPhi_
private

Definition at line 157 of file PhotonValidator.h.

◆ mcPhi_

double PhotonValidator::mcPhi_
private

global variable for the MC photon

Definition at line 148 of file PhotonValidator.h.

◆ minPhoEtCut_

double PhotonValidator::minPhoEtCut_
private

Definition at line 127 of file PhotonValidator.h.

◆ nEntry_

int PhotonValidator::nEntry_
private

Definition at line 80 of file PhotonValidator.h.

◆ nEvt_

int PhotonValidator::nEvt_
private

Definition at line 79 of file PhotonValidator.h.

◆ nHitsVsEta_

MonitorElement* PhotonValidator::nHitsVsEta_[2]
private

Definition at line 485 of file PhotonValidator.h.

◆ nHitsVsEtaBkg_

MonitorElement* PhotonValidator::nHitsVsEtaBkg_
private

Definition at line 583 of file PhotonValidator.h.

◆ nHitsVsR_

MonitorElement* PhotonValidator::nHitsVsR_[2]
private

Definition at line 488 of file PhotonValidator.h.

◆ nInvalidPCA_

int PhotonValidator::nInvalidPCA_
private

Definition at line 88 of file PhotonValidator.h.

◆ nMatched_

int PhotonValidator::nMatched_
private

Definition at line 83 of file PhotonValidator.h.

◆ nRecConv_

int PhotonValidator::nRecConv_
private

Definition at line 84 of file PhotonValidator.h.

◆ nRecConvAss_

int PhotonValidator::nRecConvAss_
private

Definition at line 85 of file PhotonValidator.h.

◆ nRecConvAssWithEcal_

int PhotonValidator::nRecConvAssWithEcal_
private

Definition at line 86 of file PhotonValidator.h.

◆ nSimConv_

int PhotonValidator::nSimConv_[2]
private

Definition at line 82 of file PhotonValidator.h.

◆ nSimPho_

int PhotonValidator::nSimPho_[2]
private

Definition at line 81 of file PhotonValidator.h.

◆ numOfTracksInCone_

int PhotonValidator::numOfTracksInCone_
private

Definition at line 139 of file PhotonValidator.h.

◆ offline_pvToken_

edm::EDGetTokenT<reco::VertexCollection> PhotonValidator::offline_pvToken_
private

Definition at line 100 of file PhotonValidator.h.

◆ p_Chi2VsEta_

MonitorElement* PhotonValidator::p_Chi2VsEta_[3]
private

Definition at line 493 of file PhotonValidator.h.

◆ p_Chi2VsR_

MonitorElement* PhotonValidator::p_Chi2VsR_[3]
private

Definition at line 495 of file PhotonValidator.h.

◆ p_convVtxdRVsEta_

MonitorElement* PhotonValidator::p_convVtxdRVsEta_
private

Definition at line 466 of file PhotonValidator.h.

◆ p_convVtxdRVsR_

MonitorElement* PhotonValidator::p_convVtxdRVsR_
private

Definition at line 464 of file PhotonValidator.h.

◆ p_convVtxdXVsX_

MonitorElement* PhotonValidator::p_convVtxdXVsX_
private

Definition at line 467 of file PhotonValidator.h.

◆ p_convVtxdYVsY_

MonitorElement* PhotonValidator::p_convVtxdYVsY_
private

Definition at line 468 of file PhotonValidator.h.

◆ p_convVtxdZVsZ_

MonitorElement* PhotonValidator::p_convVtxdZVsZ_
private

Definition at line 469 of file PhotonValidator.h.

◆ p_DCotTracksVsEta_

MonitorElement* PhotonValidator::p_DCotTracksVsEta_
private

Definition at line 425 of file PhotonValidator.h.

◆ p_DCotTracksVsR_

MonitorElement* PhotonValidator::p_DCotTracksVsR_
private

Definition at line 427 of file PhotonValidator.h.

◆ p_DPhiTracksAtEcalVsEta_

MonitorElement* PhotonValidator::p_DPhiTracksAtEcalVsEta_
private

Definition at line 435 of file PhotonValidator.h.

◆ p_DPhiTracksAtEcalVsR_

MonitorElement* PhotonValidator::p_DPhiTracksAtEcalVsR_
private

Definition at line 433 of file PhotonValidator.h.

◆ p_DPhiTracksAtVtxVsEta_

MonitorElement* PhotonValidator::p_DPhiTracksAtVtxVsEta_
private

Definition at line 419 of file PhotonValidator.h.

◆ p_DPhiTracksAtVtxVsR_

MonitorElement* PhotonValidator::p_DPhiTracksAtVtxVsR_
private

Definition at line 421 of file PhotonValidator.h.

◆ p_dzPVVsEta_

MonitorElement* PhotonValidator::p_dzPVVsEta_
private

Definition at line 480 of file PhotonValidator.h.

◆ p_dzPVVsR_

MonitorElement* PhotonValidator::p_dzPVVsR_
private

Definition at line 479 of file PhotonValidator.h.

◆ p_ecalRecHitSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEt_[3]
private

Definition at line 270 of file PhotonValidator.h.

◆ p_ecalRecHitSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEta_[3]
private

Definition at line 268 of file PhotonValidator.h.

◆ p_ecalRecHitSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtaBkg_
private

Definition at line 558 of file PhotonValidator.h.

◆ p_ecalRecHitSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtBkg_[3]
private

Definition at line 560 of file PhotonValidator.h.

◆ p_EoverEtrueVsEta_

MonitorElement* PhotonValidator::p_EoverEtrueVsEta_[3]
private

Definition at line 410 of file PhotonValidator.h.

◆ p_EoverEtrueVsR_

MonitorElement* PhotonValidator::p_EoverEtrueVsR_[3]
private

Definition at line 412 of file PhotonValidator.h.

◆ p_EoverPVsEta_

MonitorElement* PhotonValidator::p_EoverPVsEta_[3]
private

Definition at line 405 of file PhotonValidator.h.

◆ p_EoverPVsR_

MonitorElement* PhotonValidator::p_EoverPVsR_[3]
private

Definition at line 407 of file PhotonValidator.h.

◆ p_eResVsEt_

MonitorElement* PhotonValidator::p_eResVsEt_[3][3]
private

Definition at line 308 of file PhotonValidator.h.

◆ p_eResVsEta_

MonitorElement* PhotonValidator::p_eResVsEta_[3]
private

Definition at line 305 of file PhotonValidator.h.

◆ p_eResVsNVtx_

MonitorElement* PhotonValidator::p_eResVsNVtx_[3][3]
private

Definition at line 309 of file PhotonValidator.h.

◆ p_eResVsR9_

MonitorElement* PhotonValidator::p_eResVsR9_[3]
private

Definition at line 315 of file PhotonValidator.h.

◆ p_eResVsR_

MonitorElement* PhotonValidator::p_eResVsR_
private

Definition at line 386 of file PhotonValidator.h.

◆ p_hcalTowerBcSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEt_[3]
private

Definition at line 280 of file PhotonValidator.h.

◆ p_hcalTowerBcSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEta_[3]
private

Definition at line 279 of file PhotonValidator.h.

◆ p_hcalTowerSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEt_[3]
private

Definition at line 276 of file PhotonValidator.h.

◆ p_hcalTowerSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEta_[3]
private

Definition at line 274 of file PhotonValidator.h.

◆ p_hcalTowerSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEtaBkg_
private

Definition at line 564 of file PhotonValidator.h.

◆ p_hcalTowerSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEtBkg_[3]
private

Definition at line 566 of file PhotonValidator.h.

◆ p_hOverEVsEt_

MonitorElement* PhotonValidator::p_hOverEVsEt_[3]
private

Definition at line 259 of file PhotonValidator.h.

◆ p_hOverEVsEta_

MonitorElement* PhotonValidator::p_hOverEVsEta_[3]
private

Definition at line 257 of file PhotonValidator.h.

◆ p_hOverEVsEtaBkg_

MonitorElement* PhotonValidator::p_hOverEVsEtaBkg_
private

Definition at line 553 of file PhotonValidator.h.

◆ p_hOverEVsEtBkg_

MonitorElement* PhotonValidator::p_hOverEVsEtBkg_
private

Definition at line 554 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEt_[3]
private

Definition at line 286 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEta_[3]
private

Definition at line 284 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEtaBkg_
private

Definition at line 570 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 572 of file PhotonValidator.h.

◆ p_newhOverEVsEt_

MonitorElement* PhotonValidator::p_newhOverEVsEt_[3]
private

Definition at line 263 of file PhotonValidator.h.

◆ p_newhOverEVsEta_

MonitorElement* PhotonValidator::p_newhOverEVsEta_[3]
private

Definition at line 262 of file PhotonValidator.h.

◆ p_nHitsVsEta_

MonitorElement* PhotonValidator::p_nHitsVsEta_[2]
private

Definition at line 483 of file PhotonValidator.h.

◆ p_nHitsVsEtaSL_

MonitorElement* PhotonValidator::p_nHitsVsEtaSL_[2]
private

Definition at line 484 of file PhotonValidator.h.

◆ p_nHitsVsR_

MonitorElement* PhotonValidator::p_nHitsVsR_[2]
private

Definition at line 486 of file PhotonValidator.h.

◆ p_nHitsVsRSL_

MonitorElement* PhotonValidator::p_nHitsVsRSL_[2]
private

Definition at line 487 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEt_[3]
private

Definition at line 292 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEta_[3]
private

Definition at line 290 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEtaBkg_
private

Definition at line 576 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 578 of file PhotonValidator.h.

◆ p_PoverPtrueVsEta_

MonitorElement* PhotonValidator::p_PoverPtrueVsEta_[3]
private

Definition at line 415 of file PhotonValidator.h.

◆ p_r1VsEt_

MonitorElement* PhotonValidator::p_r1VsEt_[3]
private

Definition at line 241 of file PhotonValidator.h.

◆ p_r1VsEta_

MonitorElement* PhotonValidator::p_r1VsEta_[3]
private

Definition at line 239 of file PhotonValidator.h.

◆ p_r1VsEtaBkg_

MonitorElement* PhotonValidator::p_r1VsEtaBkg_
private

Definition at line 537 of file PhotonValidator.h.

◆ p_r1VsEtBkg_

MonitorElement* PhotonValidator::p_r1VsEtBkg_
private

Definition at line 538 of file PhotonValidator.h.

◆ p_r2VsEt_

MonitorElement* PhotonValidator::p_r2VsEt_[3]
private

Definition at line 247 of file PhotonValidator.h.

◆ p_r2VsEta_

MonitorElement* PhotonValidator::p_r2VsEta_[3]
private

Definition at line 245 of file PhotonValidator.h.

◆ p_r2VsEtaBkg_

MonitorElement* PhotonValidator::p_r2VsEtaBkg_
private

Definition at line 542 of file PhotonValidator.h.

◆ p_r2VsEtBkg_

MonitorElement* PhotonValidator::p_r2VsEtBkg_
private

Definition at line 543 of file PhotonValidator.h.

◆ p_r9VsEt_

MonitorElement* PhotonValidator::p_r9VsEt_[3]
private

Definition at line 235 of file PhotonValidator.h.

◆ p_r9VsEta_

MonitorElement* PhotonValidator::p_r9VsEta_[3]
private

Definition at line 233 of file PhotonValidator.h.

◆ p_sceResVsR9_

MonitorElement* PhotonValidator::p_sceResVsR9_[3]
private

Definition at line 317 of file PhotonValidator.h.

◆ p_sigmaEoEVsEt_

MonitorElement* PhotonValidator::p_sigmaEoEVsEt_[3][3]
private

Definition at line 311 of file PhotonValidator.h.

◆ p_sigmaEoEVsEta_

MonitorElement* PhotonValidator::p_sigmaEoEVsEta_[3]
private

Definition at line 306 of file PhotonValidator.h.

◆ p_sigmaEoEVsNVtx_

MonitorElement* PhotonValidator::p_sigmaEoEVsNVtx_[3][3]
private

Definition at line 312 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEt_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEt_[3]
private

Definition at line 253 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEta_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEta_[3]
private

Definition at line 251 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEtaBkg_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEtaBkg_
private

Definition at line 547 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEtBkg_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEtBkg_[3]
private

Definition at line 549 of file PhotonValidator.h.

◆ p_TkPtPull_

MonitorElement* PhotonValidator::p_TkPtPull_[3]
private

Definition at line 501 of file PhotonValidator.h.

◆ parameters_

edm::ParameterSet PhotonValidator::parameters_
private

◆ particleBasedIso_token

edm::EDGetTokenT<edm::ValueMap<std::vector<reco::PFCandidateRef> > > PhotonValidator::particleBasedIso_token
private

Definition at line 99 of file PhotonValidator.h.

◆ pfCandidates_

edm::EDGetTokenT<reco::PFCandidateCollection> PhotonValidator::pfCandidates_
private

Definition at line 97 of file PhotonValidator.h.

◆ photonCollection_

std::string PhotonValidator::photonCollection_
private

Definition at line 95 of file PhotonValidator.h.

◆ photonCollectionProducer_

std::string PhotonValidator::photonCollectionProducer_
private

Definition at line 94 of file PhotonValidator.h.

◆ photonCollectionToken_

edm::EDGetTokenT<reco::PhotonCollection> PhotonValidator::photonCollectionToken_
private

Definition at line 96 of file PhotonValidator.h.

◆ recMaxPt_

double PhotonValidator::recMaxPt_
private

Definition at line 167 of file PhotonValidator.h.

◆ recMinPt_

double PhotonValidator::recMinPt_
private

Global variables for reco Photon.

Definition at line 166 of file PhotonValidator.h.

◆ simMaxPt_

double PhotonValidator::simMaxPt_
private

Definition at line 163 of file PhotonValidator.h.

◆ simMinPt_

double PhotonValidator::simMinPt_
private

Definition at line 162 of file PhotonValidator.h.

◆ th1f_SimConvMTotal_

TH1F* PhotonValidator::th1f_SimConvMTotal_[5]
private

Definition at line 207 of file PhotonValidator.h.

◆ theCaloGeom_

edm::ESHandle<CaloGeometry> PhotonValidator::theCaloGeom_
private

Definition at line 91 of file PhotonValidator.h.

◆ theCaloTopo_

edm::ESHandle<CaloTopology> PhotonValidator::theCaloTopo_
private

Definition at line 92 of file PhotonValidator.h.

◆ theConvTP_

edm::RefVector<TrackingParticleCollection> PhotonValidator::theConvTP_
private

Definition at line 159 of file PhotonValidator.h.

◆ theMF_

edm::ESHandle<MagneticField> PhotonValidator::theMF_
private

Definition at line 76 of file PhotonValidator.h.

◆ thePhotonMCTruthFinder_

std::unique_ptr<PhotonMCTruthFinder> PhotonValidator::thePhotonMCTruthFinder_
private

Definition at line 122 of file PhotonValidator.h.

◆ token_tp_

edm::EDGetTokenT<TrackingParticleCollection> PhotonValidator::token_tp_
private

Definition at line 107 of file PhotonValidator.h.

◆ trkIsolExtRadius_

double PhotonValidator::trkIsolExtRadius_
private

Definition at line 130 of file PhotonValidator.h.

◆ trkIsolInnRadius_

double PhotonValidator::trkIsolInnRadius_
private

Definition at line 131 of file PhotonValidator.h.

◆ trkPtLow_

double PhotonValidator::trkPtLow_
private

Definition at line 132 of file PhotonValidator.h.

◆ trkPtSumCut_

double PhotonValidator::trkPtSumCut_
private

Definition at line 140 of file PhotonValidator.h.

◆ valueMapPhoPFCandIso_

std::string PhotonValidator::valueMapPhoPFCandIso_
private

Definition at line 98 of file PhotonValidator.h.

◆ verbosity_

int PhotonValidator::verbosity_
private

Definition at line 78 of file PhotonValidator.h.

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
photonValidator_cfi.dEtaBin
dEtaBin
Definition: photonValidator_cfi.py:74
PhotonValidator::h_convVtxdZ_endcap_
MonitorElement * h_convVtxdZ_endcap_
Definition: PhotonValidator.h:457
PI
Definition: PayloadInspector.h:20
PhotonValidator::h_nHadIso_miniAOD_
MonitorElement * h_nHadIso_miniAOD_[3]
Definition: PhotonValidator.h:378
PhotonValidator::h2_hOverEVsEtBkg_
MonitorElement * h2_hOverEVsEtBkg_
Definition: PhotonValidator.h:552
PhotonValidator::p_nTrkSolidConeDR04VsEtaBkg_
MonitorElement * p_nTrkSolidConeDR04VsEtaBkg_
Definition: PhotonValidator.h:576
PhotonValidator::hcalIsolExtRadius_
double hcalIsolExtRadius_
Definition: PhotonValidator.h:136
electrons_cff.r9
r9
Definition: electrons_cff.py:387
photonValidator_cfi.dEtaMax
dEtaMax
Definition: photonValidator_cfi.py:76
PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0005_
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0005_[5]
Definition: PhotonValidator.h:199
photonAnalyzer_cfi.rMax
rMax
Definition: photonAnalyzer_cfi.py:91
photonAnalyzer_cfi.etMin
etMin
Definition: photonAnalyzer_cfi.py:54
photonValidator_cfi.ggMassMin
ggMassMin
Definition: photonValidator_cfi.py:114
edm::RefVector::clear
void clear()
Clear the vector.
Definition: RefVector.h:142
PhotonValidator::phiNormalization
float phiNormalization(float &a)
Definition: PhotonValidator.cc:5468
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
PhotonValidator::h_VisSimConv_
MonitorElement * h_VisSimConv_[6]
Definition: PhotonValidator.h:188
PhotonValidator::h2_TkPtPull_
MonitorElement * h2_TkPtPull_[3]
Definition: PhotonValidator.h:500
PhotonValidator::h_etOutsideMustache_
MonitorElement * h_etOutsideMustache_[3]
Definition: PhotonValidator.h:336
PhotonValidator::h_convVtxdR_endcap_
MonitorElement * h_convVtxdR_endcap_
Definition: PhotonValidator.h:458
ALCARECOTkAlBeamHalo_cff.etaMin
etaMin
GeV.
Definition: ALCARECOTkAlBeamHalo_cff.py:32
mps_fire.i
i
Definition: mps_fire.py:428
PhotonValidator::h2_nTrkSolidConeDR04VsEtBkg_
MonitorElement * h2_nTrkSolidConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:577
PhotonValidator::h_TkD0_
MonitorElement * h_TkD0_[3]
Definition: PhotonValidator.h:497
PhotonValidator::h_convSLVtxRvsZ_
MonitorElement * h_convSLVtxRvsZ_[3]
Definition: PhotonValidator.h:443
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
PhotonValidator::h_dRPhoPFcand_NeuHad_unCleaned_
MonitorElement * h_dRPhoPFcand_NeuHad_unCleaned_[3]
Definition: PhotonValidator.h:343
photonValidator_cfi.ggMassMax
ggMassMax
Definition: photonValidator_cfi.py:115
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
photonAnalyzer_cfi.zMax
zMax
Definition: photonAnalyzer_cfi.py:95
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtaBkg_
MonitorElement * h2_hcalTowerSumEtConeDR04VsEtaBkg_
Definition: PhotonValidator.h:563
PhotonValidator::h2_r9VsEtaBkg_
MonitorElement * h2_r9VsEtaBkg_
Definition: PhotonValidator.h:532
PhotonValidator::h_convVtxdY_barrel_
MonitorElement * h_convVtxdY_barrel_
Definition: PhotonValidator.h:451
PhotonValidator::p_EoverEtrueVsEta_
MonitorElement * p_EoverEtrueVsEta_[3]
Definition: PhotonValidator.h:410
PhotonValidator::nHitsVsEta_
MonitorElement * nHitsVsEta_[2]
Definition: PhotonValidator.h:485
PhotonValidator::h_phoSigmaEoE_
MonitorElement * h_phoSigmaEoE_[3][3]
Definition: PhotonValidator.h:302
PhotonValidator::h_trkProv_
MonitorElement * h_trkProv_[2]
Definition: PhotonValidator.h:212
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PhotonValidator::p_sigmaIetaIetaVsEtaBkg_
MonitorElement * p_sigmaIetaIetaVsEtaBkg_
Definition: PhotonValidator.h:547
edm::EDConsumerBase::Labels
ProductLabels Labels
Definition: EDConsumerBase.h:105
PhotonValidator::h_SumPtOverPhoPt_ChHad_unCleaned_
MonitorElement * h_SumPtOverPhoPt_ChHad_unCleaned_[3]
Definition: PhotonValidator.h:348
PhotonValidator::mcConvPhi_
double mcConvPhi_
Definition: PhotonValidator.h:154
PhotonValidator::h_dRPhoPFcand_ChHad_unCleaned_
MonitorElement * h_dRPhoPFcand_ChHad_unCleaned_[3]
Definition: PhotonValidator.h:342
PhotonValidator::endcapEcalHits_
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHits_
Definition: PhotonValidator.h:106
photonAnalyzer_cfi.dPhiTracksMin
dPhiTracksMin
Definition: photonAnalyzer_cfi.py:102
PhotonValidator::h_scE_
MonitorElement * h_scE_[2][3]
Definition: PhotonValidator.h:226
PhotonValidator::h_gamgamMassRegr1_
MonitorElement * h_gamgamMassRegr1_[3][3]
Definition: PhotonValidator.h:296
PhotonValidator::offline_pvToken_
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
Definition: PhotonValidator.h:100
PhotonValidator::h_EoverPTracks_
MonitorElement * h_EoverPTracks_[2][3]
Definition: PhotonValidator.h:392
etaBin
int etaBin(const l1t::HGCalMulticluster *cl)
Definition: L1EGammaEEProducer.cc:19
reco::PFCandidate::e
Definition: PFCandidate.h:47
reco::Photon::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: Photon.h:237
photonAnalyzer_cfi.zBin
zBin
Definition: photonAnalyzer_cfi.py:93
PhotonValidator::convTrackMinPtCut_
double convTrackMinPtCut_
Definition: PhotonValidator.h:128
PhotonValidator::h_DPhiTracksAtVtx_
MonitorElement * h_DPhiTracksAtVtx_[2][3]
Definition: PhotonValidator.h:417
reco::GenJetCollection
std::vector< GenJet > GenJetCollection
collection of GenJet objects
Definition: GenJetCollection.h:14
photonAnalyzer_cfi.dPhiTracksBin
dPhiTracksBin
Definition: photonAnalyzer_cfi.py:101
PI
#define PI
Definition: QcdUeDQM.h:37
PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtaBkg_
MonitorElement * p_ecalRecHitSumEtConeDR04VsEtaBkg_
Definition: PhotonValidator.h:558
PhotonValidator::h_phoEt_
MonitorElement * h_phoEt_[2][3]
Definition: PhotonValidator.h:300
PhotonValidator::h_SimPho_
MonitorElement * h_SimPho_[3]
Denominator for efficiencies.
Definition: PhotonValidator.h:186
PhotonValidator::h_convEtaBkg_
MonitorElement * h_convEtaBkg_
Definition: PhotonValidator.h:580
BeamMonitor_cff.phiBin
phiBin
Definition: BeamMonitor_cff.py:75
PhotonValidator::h_scBkgEta_
MonitorElement * h_scBkgEta_
Definition: PhotonValidator.h:515
PhotonValidator::p_PoverPtrueVsEta_
MonitorElement * p_PoverPtrueVsEta_[3]
Definition: PhotonValidator.h:415
PhotonValidator::genpartToken_
edm::EDGetTokenT< reco::GenParticleCollection > genpartToken_
Definition: PhotonValidator.h:103
PhotonValidator::h_dRPhoPFcand_Pho_Cleaned_
MonitorElement * h_dRPhoPFcand_Pho_Cleaned_[3]
Definition: PhotonValidator.h:341
PhotonValidator::h_phoBkgEt_
MonitorElement * h_phoBkgEt_[3]
Definition: PhotonValidator.h:522
photonValidationSequence_cff.eoverpMax
eoverpMax
Definition: photonValidationSequence_cff.py:17
PhotonValidator::h_full5x5_r9_miniAOD_
MonitorElement * h_full5x5_r9_miniAOD_[3][3]
Definition: PhotonValidator.h:357
ChiSquaredProbability
float ChiSquaredProbability(double chiSquared, double nrDOF)
Definition: ChiSquaredProbability.cc:13
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
multPhiCorr_741_25nsDY_cfi.py
py
Definition: multPhiCorr_741_25nsDY_cfi.py:12
PhotonValidator::p_nHitsVsR_
MonitorElement * p_nHitsVsR_[2]
Definition: PhotonValidator.h:486
edm
HLT enums.
Definition: AlignableModifier.h:19
ZMuMuCategoriesSequences_cff.trkIso
trkIso
Definition: ZMuMuCategoriesSequences_cff.py:140
PhotonValidator::mcConvEta_
double mcConvEta_
Definition: PhotonValidator.h:155
PhotonValidator::g4_simVtx_Token_
edm::EDGetTokenT< edm::SimVertexContainer > g4_simVtx_Token_
Definition: PhotonValidator.h:116
PhotonValidator::h2_isoTrkSolidConeDR04VsEt_
MonitorElement * h2_isoTrkSolidConeDR04VsEt_[3]
Definition: PhotonValidator.h:285
PhotonValidator::p_newhOverEVsEt_
MonitorElement * p_newhOverEVsEt_[3]
Definition: PhotonValidator.h:263
PhotonValidator::h2_r2VsEt_
MonitorElement * h2_r2VsEt_[3]
Definition: PhotonValidator.h:246
PhotonValidator::pfCandidates_
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
Definition: PhotonValidator.h:97
PhotonValidator::nSimPho_
int nSimPho_[2]
Definition: PhotonValidator.h:81
PhotonValidator::h_phoEta_
MonitorElement * h_phoEta_[2]
Definition: PhotonValidator.h:319
photonValidationSequence_cff.eoverpMin
eoverpMin
Definition: photonValidationSequence_cff.py:16
PhotonValidator::likelihoodCut_
double likelihoodCut_
Definition: PhotonValidator.h:129
PhotonValidator::h_r1Bkg_
MonitorElement * h_r1Bkg_[3]
Definition: PhotonValidator.h:528
PhotonValidator::h2_EoverEtrueVsEoverP_
MonitorElement * h2_EoverEtrueVsEoverP_[3]
Definition: PhotonValidator.h:401
PhotonValidator::h_convEta_
MonitorElement * h_convEta_[3]
Definition: PhotonValidator.h:383
edm::RefVector::begin
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:223
PhotonValidator::theCaloGeom_
edm::ESHandle< CaloGeometry > theCaloGeom_
Definition: PhotonValidator.h:91
TrackCollections2monitor_cff.numberOfValidHits
numberOfValidHits
Definition: TrackCollections2monitor_cff.py:248
PhotonValidator::conversionOITrackPr_Token_
edm::EDGetTokenT< edm::View< reco::Track > > conversionOITrackPr_Token_
Definition: PhotonValidator.h:112
PhotonValidator::h_convVtxYvsXBkg_
MonitorElement * h_convVtxYvsXBkg_
Definition: PhotonValidator.h:589
PhotonValidator::p_DPhiTracksAtVtxVsEta_
MonitorElement * p_DPhiTracksAtVtxVsEta_
Definition: PhotonValidator.h:419
PhotonValidator::h2_Chi2VsEta_
MonitorElement * h2_Chi2VsEta_[3]
Definition: PhotonValidator.h:492
PhotonValidator::h_phoERes_
MonitorElement * h_phoERes_[3][3]
Definition: PhotonValidator.h:301
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
reco::TrackToTrackingParticleAssociator
Definition: TrackToTrackingParticleAssociator.h:51
PhotonValidator::h2_EoverPVsEta_
MonitorElement * h2_EoverPVsEta_[3]
Definition: PhotonValidator.h:404
reco::Photon::hadTowOverEm
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy
Definition: Photon.h:217
PhotonValidator::dCotCutValue_
double dCotCutValue_
Definition: PhotonValidator.h:144
PhotonValidator::h2_DPhiTracksAtEcalVsEta_
MonitorElement * h2_DPhiTracksAtEcalVsEta_
Definition: PhotonValidator.h:434
muonRecoAnalyzer_cfi.chi2Min
chi2Min
Definition: muonRecoAnalyzer_cfi.py:34
PhotonValidator::h_simTkPt_
MonitorElement * h_simTkPt_
Definition: PhotonValidator.h:179
PhotonValidator::h_nTrkSolidConeDR04Bkg_
MonitorElement * h_nTrkSolidConeDR04Bkg_[3]
Definition: PhotonValidator.h:574
PhotonValidator::genjets_Token_
edm::EDGetTokenT< reco::GenJetCollection > genjets_Token_
Definition: PhotonValidator.h:120
PhotonValidator::h_SimConvTwoTracks_
MonitorElement * h_SimConvTwoTracks_[5]
Definition: PhotonValidator.h:195
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
reco::PFCandidate::h
Definition: PFCandidate.h:46
PhotonValidator::h_convPhiBkg_
MonitorElement * h_convPhiBkg_
Definition: PhotonValidator.h:581
PhotonValidator::h2_etaVsRsim_
MonitorElement * h2_etaVsRsim_[3]
Definition: PhotonValidator.h:398
PhotonValidator::h_trkAlgo_
MonitorElement * h_trkAlgo_
Definition: PhotonValidator.h:213
PhotonValidator::h_simTkEta_
MonitorElement * h_simTkEta_
Definition: PhotonValidator.h:180
PhotonValidator::fastSim_
bool fastSim_
Definition: PhotonValidator.h:124
edm::PtrVectorItr
Definition: PtrVector.h:51
PhotonValidator::h_phoDPhi_
MonitorElement * h_phoDPhi_[2]
Definition: PhotonValidator.h:218
PhotonValidator::h_convVtxdY_
MonitorElement * h_convVtxdY_
Definition: PhotonValidator.h:446
PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEt_
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEt_[3]
Definition: PhotonValidator.h:269
HIPAlignmentAlgorithm_cfi.algoName
algoName
Definition: HIPAlignmentAlgorithm_cfi.py:5
edm::SortedCollection< EcalRecHit >
PhotonValidator::conversionIOTrackPr_Token_
edm::EDGetTokenT< edm::View< reco::Track > > conversionIOTrackPr_Token_
Definition: PhotonValidator.h:113
PhotonValidator::p_r9VsEta_
MonitorElement * p_r9VsEta_[3]
Definition: PhotonValidator.h:233
PhotonValidator::p_convVtxdRVsEta_
MonitorElement * p_convVtxdRVsEta_
Definition: PhotonValidator.h:466
PhotonValidator::h_scEta_
MonitorElement * h_scEta_[2]
Definition: PhotonValidator.h:220
PhotonValidator::trkIsolExtRadius_
double trkIsolExtRadius_
Definition: PhotonValidator.h:130
PhotonValidator::p_DCotTracksVsR_
MonitorElement * p_DCotTracksVsR_
Definition: PhotonValidator.h:427
PhotonValidator::h_nSimConv_
MonitorElement * h_nSimConv_[2]
Definition: PhotonValidator.h:176
PhotonValidator::h_convPtRes_
MonitorElement * h_convPtRes_[2][3]
Definition: PhotonValidator.h:388
PhotonValidator::p_hOverEVsEtBkg_
MonitorElement * p_hOverEVsEtBkg_
Definition: PhotonValidator.h:554
PhotonValidator::h_nSimPho_
MonitorElement * h_nSimPho_[2]
Definition: PhotonValidator.h:170
PhotonValidator::p_hcalTowerSumEtConeDR04VsEtBkg_
MonitorElement * p_hcalTowerSumEtConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:566
PhotonValidator::token_tp_
edm::EDGetTokenT< TrackingParticleCollection > token_tp_
Definition: PhotonValidator.h:107
PhotonValidator::h_ecalRecHitSumEtConeDR04Bkg_
MonitorElement * h_ecalRecHitSumEtConeDR04Bkg_[3]
Definition: PhotonValidator.h:556
photonValidator_cfi.dCotTracksMax
dCotTracksMax
Definition: photonValidator_cfi.py:100
PhotonValidator::h_distMinAppTracks_
MonitorElement * h_distMinAppTracks_[2][3]
Definition: PhotonValidator.h:429
PhotonValidator::h_MatchedSimJet_
MonitorElement * h_MatchedSimJet_[3]
Definition: PhotonValidator.h:509
PhotonValidator::h_nPho_
MonitorElement * h_nPho_
Definition: PhotonValidator.h:513
edm::RefVector< ConversionCollection >
PhotonValidator::h2_r2VsEta_
MonitorElement * h2_r2VsEta_[3]
Definition: PhotonValidator.h:244
PhotonValidator::h_convVtxdR_barrel_
MonitorElement * h_convVtxdR_barrel_
Definition: PhotonValidator.h:453
PhotonValidator::h_scEt_
MonitorElement * h_scEt_[2][3]
Definition: PhotonValidator.h:227
particleFlowDQM_cff.genJetCollection
genJetCollection
Definition: particleFlowDQM_cff.py:68
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
photonValidator_cfi.zMinForXray
zMinForXray
Definition: photonValidator_cfi.py:122
PhotonValidator::h_hOverE_miniAOD_
MonitorElement * h_hOverE_miniAOD_[3][3]
Definition: PhotonValidator.h:362
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
PhotonValidator::p_eResVsEt_
MonitorElement * p_eResVsEt_[3][3]
Definition: PhotonValidator.h:308
PhotonValidator::h2_r1VsEta_
MonitorElement * h2_r1VsEta_[3]
Definition: PhotonValidator.h:238
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13768
PhotonValidator::valueMapPhoPFCandIso_
std::string valueMapPhoPFCandIso_
Definition: PhotonValidator.h:98
PhotonValidator::nEvt_
int nEvt_
Definition: PhotonValidator.h:79
BeamSpotPI::nTracks
Definition: BeamSpotPayloadInspectorHelper.h:41
edm::Handle< reco::TrackToTrackingParticleAssociator >
PhotonValidator::h_scEta_miniAOD_
MonitorElement * h_scEta_miniAOD_[2]
Histos for comparison with miniAOD content.
Definition: PhotonValidator.h:353
PhotonValidator::p_eResVsR9_
MonitorElement * p_eResVsR9_[3]
Definition: PhotonValidator.h:315
reco::Photon::neutralHadronIso
float neutralHadronIso() const
Definition: Photon.h:486
PhotonValidator::h_EtR9Less093_
MonitorElement * h_EtR9Less093_[3][3]
Definition: PhotonValidator.h:231
photonValidator_cfi.rMinForXray
rMinForXray
Definition: photonValidator_cfi.py:118
PhotonValidator::p_hOverEVsEta_
MonitorElement * p_hOverEVsEta_[3]
Definition: PhotonValidator.h:257
PhotonValidator::h_TkPtPull_
MonitorElement * h_TkPtPull_[3]
Definition: PhotonValidator.h:499
PhotonValidator::h_ecalRecHitSumEtConeDR04_
MonitorElement * h_ecalRecHitSumEtConeDR04_[3][3]
Definition: PhotonValidator.h:266
PhotonValidator::p_sceResVsR9_
MonitorElement * p_sceResVsR9_[3]
Definition: PhotonValidator.h:317
PhotonValidator::p_nTrkSolidConeDR04VsEtBkg_
MonitorElement * p_nTrkSolidConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:578
PhotonValidator::h_SumPtOverPhoPt_Pho_Cleaned_
MonitorElement * h_SumPtOverPhoPt_Pho_Cleaned_[3]
Definition: PhotonValidator.h:347
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
PhotonValidator::h_MatchedSimPhoBadCh_
MonitorElement * h_MatchedSimPhoBadCh_[3]
Definition: PhotonValidator.h:192
PhotonValidator::h2_DCotTracksVsR_
MonitorElement * h2_DCotTracksVsR_
Definition: PhotonValidator.h:426
edm::Ref< PhotonCollection >
PhotonValidator::h_nCluOutsideMustache_
MonitorElement * h_nCluOutsideMustache_[3]
Definition: PhotonValidator.h:335
PhotonValidator::verbosity_
int verbosity_
Definition: PhotonValidator.h:78
PhotonValidator::h_phoE_miniAOD_
MonitorElement * h_phoE_miniAOD_[2][3]
Definition: PhotonValidator.h:370
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PhotonValidator::h_phoEt_miniAOD_
MonitorElement * h_phoEt_miniAOD_[2][3]
Definition: PhotonValidator.h:371
photonAnalyzer_cfi.dPhiTracksMax
dPhiTracksMax
Definition: photonAnalyzer_cfi.py:103
PhotonValidator::h_hcalTowerBcSumEtConeDR04_
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
Definition: PhotonValidator.h:278
ndof
Definition: HIMultiTrackSelector.h:49
gedPhotonSequence_cff.photonIso
photonIso
Definition: gedPhotonSequence_cff.py:32
PhotonValidator::h2_convVtxRrecVsTrue_
MonitorElement * h2_convVtxRrecVsTrue_
Definition: PhotonValidator.h:471
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
PhotonValidator::h_invMass_
MonitorElement * h_invMass_[2][3]
Definition: PhotonValidator.h:390
conversionPostprocessing_cfi.etaBin2
etaBin2
Definition: conversionPostprocessing_cfi.py:19
PhotonValidator::photonCollection_
std::string photonCollection_
Definition: PhotonValidator.h:95
PhotonValidator::h2_hOverEVsEt_
MonitorElement * h2_hOverEVsEt_[3]
Definition: PhotonValidator.h:258
cmsdt::algo
algo
Definition: constants.h:164
PhotonValidator::photonCollectionToken_
edm::EDGetTokenT< reco::PhotonCollection > photonCollectionToken_
Definition: PhotonValidator.h:96
optionsL1T.skip
skip
Definition: optionsL1T.py:30
PhotonValidator::p_dzPVVsR_
MonitorElement * p_dzPVVsR_
Definition: PhotonValidator.h:479
PhotonValidator::h2_EoverPVsR_
MonitorElement * h2_EoverPVsR_[3]
Definition: PhotonValidator.h:406
PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtBkg_
MonitorElement * p_ecalRecHitSumEtConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:560
edm::RefVector::end
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:228
PhotonValidator::theConvTP_
edm::RefVector< TrackingParticleCollection > theConvTP_
Definition: PhotonValidator.h:159
PhotonValidator::h_gamgamMass_
MonitorElement * h_gamgamMass_[3][3]
Definition: PhotonValidator.h:295
PhotonValidator::h_AllSimConv_
MonitorElement * h_AllSimConv_[5]
Definition: PhotonValidator.h:187
PhotonValidator::h_SumPtOverPhoPt_NeuHad_Cleaned_
MonitorElement * h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
Definition: PhotonValidator.h:346
PhotonValidator::h_phoE_
MonitorElement * h_phoE_[2][3]
Definition: PhotonValidator.h:299
PhotonValidator::p_hcalTowerSumEtConeDR04VsEt_
MonitorElement * p_hcalTowerSumEtConeDR04VsEt_[3]
Definition: PhotonValidator.h:276
photonValidator_cfi.povereMax
povereMax
Definition: photonValidator_cfi.py:104
PhotonValidator::h_hcalTowerSumEtConeDR04_miniAOD_
MonitorElement * h_hcalTowerSumEtConeDR04_miniAOD_[3][3]
Definition: PhotonValidator.h:365
PhotonValidator::p_EoverPVsR_
MonitorElement * p_EoverPVsR_[3]
Definition: PhotonValidator.h:407
PhotonValidator::h_r9Bkg_
MonitorElement * h_r9Bkg_[3]
Definition: PhotonValidator.h:527
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
photonValidator_cfi.resMin
resMin
Definition: photonValidator_cfi.py:91
PhotonValidator::h_zPVFromTracks_
MonitorElement * h_zPVFromTracks_[5]
Definition: PhotonValidator.h:476
PhotonValidator::h_hOverEBkg_
MonitorElement * h_hOverEBkg_[3]
Definition: PhotonValidator.h:530
reco::Photon::photonIso
float photonIso() const
Definition: Photon.h:487
PhotonValidator::mcConvR_
double mcConvR_
Definition: PhotonValidator.h:150
PhotonValidator::h_r9_
MonitorElement * h_r9_[3][3]
Definition: PhotonValidator.h:232
PhotonValidator::p_r2VsEtaBkg_
MonitorElement * p_r2VsEtaBkg_
Definition: PhotonValidator.h:542
spr::deltaEta
static const double deltaEta
Definition: CaloConstants.h:8
PhotonValidator::h_gamgamMassRegr2_
MonitorElement * h_gamgamMassRegr2_[3][3]
Definition: PhotonValidator.h:297
photonValidationSequence_cff.useTP
useTP
Definition: photonValidationSequence_cff.py:14
PhotonValidator::h_SimPhoMotherEta_
MonitorElement * h_SimPhoMotherEta_[2]
Definition: PhotonValidator.h:173
PhotonValidator::p_DPhiTracksAtEcalVsR_
MonitorElement * p_DPhiTracksAtEcalVsR_
Definition: PhotonValidator.h:433
edm::RefToBaseVector::push_back
void push_back(const RefToBase< T > &)
Definition: RefToBaseVector.h:217
PhotonValidator::lip_
double lip_
Definition: PhotonValidator.h:133
PhotonValidator::nRecConv_
int nRecConv_
Definition: PhotonValidator.h:84
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
PhotonValidator::h_EoverPTracksBkg_
MonitorElement * h_EoverPTracksBkg_[3]
Definition: PhotonValidator.h:585
PhotonValidator::h_psE_
MonitorElement * h_psE_
Definition: PhotonValidator.h:229
PhotonValidator::h_tkChi2Large_
MonitorElement * h_tkChi2Large_[2]
Definition: PhotonValidator.h:491
PhotonValidator::h2_eResVsR9_
MonitorElement * h2_eResVsR9_[3]
Definition: PhotonValidator.h:314
PhotonValidator::p_convVtxdYVsY_
MonitorElement * p_convVtxdYVsY_
Definition: PhotonValidator.h:468
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
PhotonValidator::p_ecalRecHitSumEtConeDR04VsEta_
MonitorElement * p_ecalRecHitSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:268
PhotonValidator::h_dRPhoPFcand_Pho_unCleaned_
MonitorElement * h_dRPhoPFcand_Pho_unCleaned_[3]
Definition: PhotonValidator.h:344
PhotonValidator::h2_convVtxdRVsEta_
MonitorElement * h2_convVtxdRVsEta_
Definition: PhotonValidator.h:465
PhotonValidator::h2_sceResVsR9_
MonitorElement * h2_sceResVsR9_[3]
Definition: PhotonValidator.h:316
PhotonValidator::h2_DPhiTracksAtVtxVsR_
MonitorElement * h2_DPhiTracksAtVtxVsR_
Definition: PhotonValidator.h:420
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
photonAnalyzer_cfi.eMin
eMin
Definition: photonAnalyzer_cfi.py:50
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
PhotonValidator::h2_hcalTowerSumEtConeDR04VsEta_
MonitorElement * h2_hcalTowerSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:273
AlignmentTrackSelector_cfi.phiMin
phiMin
Definition: AlignmentTrackSelector_cfi.py:18
PhotonValidator::g4_simTk_Token_
edm::EDGetTokenT< edm::SimTrackContainer > g4_simTk_Token_
Definition: PhotonValidator.h:115
photonValidator_cfi.rMaxForXray
rMaxForXray
Definition: photonValidator_cfi.py:119
DDAxes::z
reco::Photon::nTrkSolidConeDR04
int nTrkSolidConeDR04() const
Definition: Photon.h:428
TransientTrackRecord
Definition: TransientTrackRecord.h:11
reco::Track
Definition: Track.h:27
PhotonValidator::p_nHitsVsRSL_
MonitorElement * p_nHitsVsRSL_[2]
Definition: PhotonValidator.h:487
PhotonValidator::h_convVtxdX_barrel_
MonitorElement * h_convVtxdX_barrel_
Definition: PhotonValidator.h:450
PhotonValidator::p_Chi2VsEta_
MonitorElement * p_Chi2VsEta_[3]
Definition: PhotonValidator.h:493
edm::ESHandle< TransientTrackBuilder >
AlignmentTrackSelector_cfi.phiMax
phiMax
Definition: AlignmentTrackSelector_cfi.py:17
PhotonValidator::ecalEtSumCut_
double ecalEtSumCut_
Definition: PhotonValidator.h:141
p2
double p2[4]
Definition: TauolaWrapper.h:90
PhotonValidator::h2_hOverEVsEta_
MonitorElement * h2_hOverEVsEta_[3]
Definition: PhotonValidator.h:256
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
photonValidator_cfi.zMaxForXray
zMaxForXray
Definition: photonValidator_cfi.py:123
PhotonValidator::h_simConvVtxRvsZ_
MonitorElement * h_simConvVtxRvsZ_[4]
Definition: PhotonValidator.h:182
PhotonValidator::h_dRPhoPFcand_NeuHad_Cleaned_
MonitorElement * h_dRPhoPFcand_NeuHad_Cleaned_[3]
Definition: PhotonValidator.h:340
PhotonValidator::p_DCotTracksVsEta_
MonitorElement * p_DCotTracksVsEta_
Definition: PhotonValidator.h:425
PhotonValidator::h_r2_miniAOD_
MonitorElement * h_r2_miniAOD_[3][3]
Definition: PhotonValidator.h:361
hitfit::scalar
double scalar(const CLHEP::HepGenMatrix &m)
Return the matrix as a scalar. Raise an assertion if the matris is not .
Definition: matutil.cc:166
reco::Photon::chargedHadronIso
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
Definition: Photon.h:482
PhotonValidator::trkIsolInnRadius_
double trkIsolInnRadius_
Definition: PhotonValidator.h:131
PhotonValidator::p_sigmaEoEVsNVtx_
MonitorElement * p_sigmaEoEVsNVtx_[3][3]
Definition: PhotonValidator.h:312
PhotonValidator::h_r1_
MonitorElement * h_r1_[3][3]
Definition: PhotonValidator.h:237
PhotonValidator::h_SumPtOverPhoPt_Pho_unCleaned_
MonitorElement * h_SumPtOverPhoPt_Pho_unCleaned_[3]
Definition: PhotonValidator.h:350
PhotonValidator::isRunCentrally_
bool isRunCentrally_
Definition: PhotonValidator.h:125
PhotonValidator::h2_isoTrkSolidConeDR04VsEtaBkg_
MonitorElement * h2_isoTrkSolidConeDR04VsEtaBkg_
Definition: PhotonValidator.h:569
PhotonValidator::h_convVtxdZ_barrel_
MonitorElement * h_convVtxdZ_barrel_
Definition: PhotonValidator.h:452
PhotonValidator::h_EoverP_SL_
MonitorElement * h_EoverP_SL_[3]
Definition: PhotonValidator.h:395
PhotonValidator::bcEtLow_
double bcEtLow_
Definition: PhotonValidator.h:135
PhotonValidator::h2_isoTrkSolidConeDR04VsEtBkg_
MonitorElement * h2_isoTrkSolidConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:571
photonAnalyzer_cfi.r9Min
r9Min
Definition: photonAnalyzer_cfi.py:70
edm::RefToBase::get
value_type const * get() const
Definition: RefToBase.h:209
PhotonValidator::h_dRPhoPFcand_ChHad_Cleaned_
MonitorElement * h_dRPhoPFcand_ChHad_Cleaned_[3]
Definition: PhotonValidator.h:339
PhotonValidator::h_convVtxdX_endcap_
MonitorElement * h_convVtxdX_endcap_
Definition: PhotonValidator.h:455
cmsswSequenceInfo.tp
tp
Definition: cmsswSequenceInfo.py:17
PhotonValidator::h_DPhiTracksAtEcal_
MonitorElement * h_DPhiTracksAtEcal_[2][3]
Definition: PhotonValidator.h:431
PhotonValidator::h_nTrkSolidConeDR04_
MonitorElement * h_nTrkSolidConeDR04_[3][3]
Definition: PhotonValidator.h:288
PhotonValidator::h2_EoverEtrueVsR_
MonitorElement * h2_EoverEtrueVsR_[3]
Definition: PhotonValidator.h:411
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
edm::OwnVector::const_iterator
Definition: OwnVector.h:41
PhotonValidator::h_convVtxYvsX_zoom_
MonitorElement * h_convVtxYvsX_zoom_[2]
Definition: PhotonValidator.h:442
photonValidator_cfi.eoverpBin
eoverpBin
Definition: photonValidator_cfi.py:106
PhotonValidator::p_DPhiTracksAtVtxVsR_
MonitorElement * p_DPhiTracksAtVtxVsR_
Definition: PhotonValidator.h:421
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
reco::Photon::full5x5_r9
float full5x5_r9() const
Definition: Photon.h:252
PhotonValidator::p_sigmaEoEVsEt_
MonitorElement * p_sigmaEoEVsEt_[3][3]
Definition: PhotonValidator.h:311
PhotonValidator::p_nHitsVsEtaSL_
MonitorElement * p_nHitsVsEtaSL_[2]
Definition: PhotonValidator.h:484
edm::ValueMap::end
const_iterator end() const
Definition: ValueMap.h:230
PhotonValidator::mcEta_
double mcEta_
Definition: PhotonValidator.h:149
PhotonValidator::h_PoverETracks_
MonitorElement * h_PoverETracks_[2][3]
Definition: PhotonValidator.h:393
photonAnalyzer_cfi.r9Bin
r9Bin
Definition: photonAnalyzer_cfi.py:69
PhotonValidator::h_DCotTracksBkg_
MonitorElement * h_DCotTracksBkg_[3]
Definition: PhotonValidator.h:588
PhotonValidator::h_SimJet_
MonitorElement * h_SimJet_[3]
Definition: PhotonValidator.h:508
PhotonValidator::h_convQuality_
MonitorElement * h_convQuality_
Definition: PhotonValidator.h:215
PhotonValidator::h_phoEResRegr2_
MonitorElement * h_phoEResRegr2_[3][3]
Definition: PhotonValidator.h:324
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
PhotonValidator::conversionIOTrackProducer_
edm::InputTag conversionIOTrackProducer_
Definition: PhotonValidator.h:110
PhotonValidator::p_hcalTowerSumEtConeDR04VsEtaBkg_
MonitorElement * p_hcalTowerSumEtConeDR04VsEtaBkg_
Definition: PhotonValidator.h:564
PhotonValidator::h_newhOverE_
MonitorElement * h_newhOverE_[3][3]
Definition: PhotonValidator.h:261
PhotonValidator::p_sigmaIetaIetaVsEtBkg_
MonitorElement * p_sigmaIetaIetaVsEtBkg_[3]
Definition: PhotonValidator.h:549
PhotonValidator::h2_r9VsEt_
MonitorElement * h2_r9VsEt_[3]
Definition: PhotonValidator.h:234
PhotonValidator::h_scPhi_miniAOD_
MonitorElement * h_scPhi_miniAOD_[2]
Definition: PhotonValidator.h:354
PhotonValidator::h2_EoverEtrueVsEta_
MonitorElement * h2_EoverEtrueVsEta_[3]
Definition: PhotonValidator.h:409
PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtBkg_
MonitorElement * h2_hcalTowerSumEtConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:565
PhotonValidator::h_IOinnermostHitR_
MonitorElement * h_IOinnermostHitR_
Definition: PhotonValidator.h:211
EgHLTOffHistBins_cfi.hOverE
hOverE
Definition: EgHLTOffHistBins_cfi.py:17
PhotonValidator::etaTransformation
float etaTransformation(float a, float b)
Definition: PhotonValidator.cc:5483
PhotonValidator::p_hcalTowerSumEtConeDR04VsEta_
MonitorElement * p_hcalTowerSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:274
PhotonValidator::h_phoIso_miniAOD_
MonitorElement * h_phoIso_miniAOD_[3]
Definition: PhotonValidator.h:379
PhotonValidator::h_mvaOut_
MonitorElement * h_mvaOut_[3]
Definition: PhotonValidator.h:397
PhotonValidator::p_sigmaEoEVsEta_
MonitorElement * p_sigmaEoEVsEta_[3]
Definition: PhotonValidator.h:306
PhotonValidator::ecalIsolRadius_
double ecalIsolRadius_
Definition: PhotonValidator.h:134
PhotonValidator::photonCollectionProducer_
std::string photonCollectionProducer_
Definition: PhotonValidator.h:94
reco::Photon::hcalTowerSumEtBcConeDR04
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:418
PhotonValidator::particleBasedIso_token
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > particleBasedIso_token
Definition: PhotonValidator.h:99
reco::Photon::r9
float r9() const
Definition: Photon.h:240
PhotonValidator::h_nRecoVtx_
MonitorElement * h_nRecoVtx_
Definition: PhotonValidator.h:168
PhotonValidator::h_convVtxdEta_
MonitorElement * h_convVtxdEta_
Definition: PhotonValidator.h:460
PhotonValidator::h_MatchedSimJetBadCh_
MonitorElement * h_MatchedSimJetBadCh_[3]
Definition: PhotonValidator.h:510
PhotonValidator::h2_sigmaIetaIetaVsEtBkg_
MonitorElement * h2_sigmaIetaIetaVsEtBkg_[3]
Definition: PhotonValidator.h:548
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
PhotonValidator::h_convVtxdZ_
MonitorElement * h_convVtxdZ_
Definition: PhotonValidator.h:447
PhotonValidator::fName_
std::string fName_
Definition: PhotonValidator.h:75
PhotonValidator::h_r9_miniAOD_
MonitorElement * h_r9_miniAOD_[3][3]
Definition: PhotonValidator.h:356
TWOPI
#define TWOPI
Definition: DQMSourcePi0.cc:36
reco::Photon::getCorrectedEnergyError
float getCorrectedEnergyError(P4type type) const
PhotonValidator::h2_sigmaIetaIetaVsEtaBkg_
MonitorElement * h2_sigmaIetaIetaVsEtaBkg_
Definition: PhotonValidator.h:546
cosmicPhotonAnalyzer_cfi.eMax
eMax
Definition: cosmicPhotonAnalyzer_cfi.py:10
PhotonValidator::h2_isoTrkSolidConeDR04VsEta_
MonitorElement * h2_isoTrkSolidConeDR04VsEta_[3]
Definition: PhotonValidator.h:283
edm::AssociationMap< edm::OneToManyWithQualityGeneric< TrackingParticleCollection, edm::View< reco::Track >, double > >
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
PhotonValidator::nHitsVsR_
MonitorElement * nHitsVsR_[2]
Definition: PhotonValidator.h:488
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
PhotonValidator::h_convVtxdR_
MonitorElement * h_convVtxdR_
Definition: PhotonValidator.h:448
muonClassificationByHits_cfi.trackingParticles
trackingParticles
Definition: muonClassificationByHits_cfi.py:28
PhotonValidator::theMF_
edm::ESHandle< MagneticField > theMF_
Definition: PhotonValidator.h:76
PhotonValidator::h_convPhi_
MonitorElement * h_convPhi_[2]
Definition: PhotonValidator.h:384
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
dumpMFGeometry_cfg.delta
delta
Definition: dumpMFGeometry_cfg.py:25
PhotonValidator::h_phoDEta_
MonitorElement * h_phoDEta_[2]
Definition: PhotonValidator.h:217
PhotonValidator::h2_r1VsEtaBkg_
MonitorElement * h2_r1VsEtaBkg_
Definition: PhotonValidator.h:535
photonAnalyzer_cfi.zMin
zMin
Definition: photonAnalyzer_cfi.py:94
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
PhotonValidator::h2_nTrkSolidConeDR04VsEta_
MonitorElement * h2_nTrkSolidConeDR04VsEta_[3]
Definition: PhotonValidator.h:289
PhotonValidator::p_ecalRecHitSumEtConeDR04VsEt_
MonitorElement * p_ecalRecHitSumEtConeDR04VsEt_[3]
Definition: PhotonValidator.h:270
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
PhotonValidator::barrelEcalHits_
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHits_
Definition: PhotonValidator.h:105
PhotonValidator::h_OIinnermostHitR_
MonitorElement * h_OIinnermostHitR_
Definition: PhotonValidator.h:210
photonValidator_cfi.dCotTracksMin
dCotTracksMin
Definition: photonValidator_cfi.py:99
PhotonValidator::h_sigmaIetaIeta_miniAOD_
MonitorElement * h_sigmaIetaIeta_miniAOD_[3][3]
Definition: PhotonValidator.h:358
PhotonValidator::famos_simVtx_Token_
edm::EDGetTokenT< edm::SimVertexContainer > famos_simVtx_Token_
Definition: PhotonValidator.h:118
PhotonValidator::mcJetPhi_
double mcJetPhi_
Definition: PhotonValidator.h:157
photonAnalyzer_cfi.rBin
rBin
Definition: photonAnalyzer_cfi.py:89
muonRecoAnalyzer_cfi.chi2Max
chi2Max
Definition: muonRecoAnalyzer_cfi.py:35
photonValidator_cfi.dEtaMin
dEtaMin
Definition: photonValidator_cfi.py:75
PhotonValidator::dCotHardCutValue_
double dCotHardCutValue_
Definition: PhotonValidator.h:145
PhotonValidator::h_RecoConvTwoMTracks_
MonitorElement * h_RecoConvTwoMTracks_[5]
Definition: PhotonValidator.h:204
reco::PFCandidate::gamma
Definition: PFCandidate.h:49
PhotonValidator::nRecConvAssWithEcal_
int nRecConvAssWithEcal_
Definition: PhotonValidator.h:86
PhotonValidator::p_eResVsNVtx_
MonitorElement * p_eResVsNVtx_[3][3]
Definition: PhotonValidator.h:309
PhotonValidator::famos_simTk_Token_
edm::EDGetTokenT< edm::SimTrackContainer > famos_simTk_Token_
Definition: PhotonValidator.h:117
photonValidator_cfi.resBin
resBin
Definition: photonValidator_cfi.py:90
p1
double p1[4]
Definition: TauolaWrapper.h:89
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:118
PhotonValidator::nEntry_
int nEntry_
Definition: PhotonValidator.h:80
PhotonValidator::p_eResVsR_
MonitorElement * p_eResVsR_
Definition: PhotonValidator.h:386
PhotonValidator::nRecConvAss_
int nRecConvAss_
Definition: PhotonValidator.h:85
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
PhotonValidator::h2_PtRecVsPtSimMixProv_
MonitorElement * h2_PtRecVsPtSimMixProv_
Definition: PhotonValidator.h:503
PhotonValidator::h_phoERes_miniAOD_
MonitorElement * h_phoERes_miniAOD_[3][3]
Definition: PhotonValidator.h:372
PhotonValidator::h2_DCotTracksVsEta_
MonitorElement * h2_DCotTracksVsEta_
Definition: PhotonValidator.h:424
PhotonValidator::h2_PoverPtrueVsEoverP_
MonitorElement * h2_PoverPtrueVsEoverP_[3]
Definition: PhotonValidator.h:402
PhotonValidator::mcConvX_
double mcConvX_
Definition: PhotonValidator.h:153
PhotonValidator::h_vtxChi2Prob_
MonitorElement * h_vtxChi2Prob_[3]
Definition: PhotonValidator.h:474
PhotonValidator::h_convVtxRvsZBkg_
MonitorElement * h_convVtxRvsZBkg_[2]
Definition: PhotonValidator.h:590
photonValidator_cfi.zBin2ForXray
zBin2ForXray
Definition: photonValidator_cfi.py:121
PhotonValidator::minPhoEtCut_
double minPhoEtCut_
Definition: PhotonValidator.h:127
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
PhotonValidator::numOfTracksInCone_
int numOfTracksInCone_
Definition: PhotonValidator.h:139
PhotonValidator::h2_DPhiTracksAtEcalVsR_
MonitorElement * h2_DPhiTracksAtEcalVsR_
Definition: PhotonValidator.h:432
PhotonValidator::h_convVtxdPhi_
MonitorElement * h_convVtxdPhi_
Definition: PhotonValidator.h:461
get
#define get
edm::RefVector::push_back
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
PhotonValidator::h_isoTrkSolidConeDR04_
MonitorElement * h_isoTrkSolidConeDR04_[3][3]
Definition: PhotonValidator.h:282
PhotonValidator::h_phoBkgPhi_
MonitorElement * h_phoBkgPhi_
Definition: PhotonValidator.h:518
edm::RefToBaseVector< reco::Track >
TrackCollections2monitor_cff.normalizedChi2
normalizedChi2
Definition: TrackCollections2monitor_cff.py:247
PhotonValidator::h_chHadIso_miniAOD_
MonitorElement * h_chHadIso_miniAOD_[3]
Definition: PhotonValidator.h:377
PhotonValidator::h_DPhiTracksAtVtxBkg_
MonitorElement * h_DPhiTracksAtVtxBkg_[3]
Definition: PhotonValidator.h:587
PhotonValidator::p_eResVsEta_
MonitorElement * p_eResVsEta_[3]
Definition: PhotonValidator.h:305
PhotonValidator::h_r2Bkg_
MonitorElement * h_r2Bkg_[3]
Definition: PhotonValidator.h:529
GenTrackMatcher_cfi.trackAssociator
trackAssociator
Definition: GenTrackMatcher_cfi.py:14
nanoDQM_cff.Photon
Photon
Definition: nanoDQM_cff.py:63
PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0_
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0_[5]
Definition: PhotonValidator.h:198
PhotonValidator::thePhotonMCTruthFinder_
std::unique_ptr< PhotonMCTruthFinder > thePhotonMCTruthFinder_
Definition: PhotonValidator.h:122
PhotonValidator::nInvalidPCA_
int nInvalidPCA_
Definition: PhotonValidator.h:88
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
PhotonValidator::h_nHadIso_
MonitorElement * h_nHadIso_[3]
Definition: PhotonValidator.h:332
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
PhotonValidator::h_phoEResRegr1_
MonitorElement * h_phoEResRegr1_[3][3]
Definition: PhotonValidator.h:323
PhotonValidator::h2_nTrkSolidConeDR04VsEt_
MonitorElement * h2_nTrkSolidConeDR04VsEt_[3]
Definition: PhotonValidator.h:291
PhotonValidator::h_isoTrkSolidConeDR04Bkg_
MonitorElement * h_isoTrkSolidConeDR04Bkg_[3]
Definition: PhotonValidator.h:568
PhotonValidator::h_convAlgo_
MonitorElement * h_convAlgo_
Definition: PhotonValidator.h:214
photonAnalyzer_cfi.dEtaTracksBin
dEtaTracksBin
Definition: photonAnalyzer_cfi.py:97
PhotonValidator::p_hOverEVsEt_
MonitorElement * p_hOverEVsEt_[3]
Definition: PhotonValidator.h:259
PhotonValidator::h2_eResVsEt_
MonitorElement * h2_eResVsEt_[3][3]
Definition: PhotonValidator.h:307
edm::EDConsumerBase::labelsForToken
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
Definition: EDConsumerBase.cc:337
PhotonValidator::h_phoPixSeedSize_
MonitorElement * h_phoPixSeedSize_[2]
Definition: PhotonValidator.h:327
DDAxes::phi
PhotonValidator::mcPhi_
double mcPhi_
global variable for the MC photon
Definition: PhotonValidator.h:148
reco::Photon
Definition: Photon.h:21
PhotonValidator::h_convVtxdY_endcap_
MonitorElement * h_convVtxdY_endcap_
Definition: PhotonValidator.h:456
PhotonValidator::h_sigmaIetaIetaBkg_
MonitorElement * h_sigmaIetaIetaBkg_[3]
Definition: PhotonValidator.h:545
cosmicPhotonAnalyzer_cfi.etMax
etMax
Definition: cosmicPhotonAnalyzer_cfi.py:11
multPhiCorr_741_25nsDY_cfi.px
px
Definition: multPhiCorr_741_25nsDY_cfi.py:10
reco::LeafCandidate::et
double et() const final
transverse energy
Definition: LeafCandidate.h:127
photonValidator_cfi.ggMassBin
ggMassBin
Definition: photonValidator_cfi.py:113
PhotonValidator::h2_DPhiTracksAtVtxVsEta_
MonitorElement * h2_DPhiTracksAtVtxVsEta_
Definition: PhotonValidator.h:418
PhotonValidator::h_SimConvEtaPix_
MonitorElement * h_SimConvEtaPix_[2]
Definition: PhotonValidator.h:177
PhotonValidator::h_ecalRecHitSumEtConeDR04_miniAOD_
MonitorElement * h_ecalRecHitSumEtConeDR04_miniAOD_[3][3]
Definition: PhotonValidator.h:364
PhotonValidator::p_DPhiTracksAtEcalVsEta_
MonitorElement * p_DPhiTracksAtEcalVsEta_
Definition: PhotonValidator.h:435
PhotonValidator::h_phoBkgDPhi_
MonitorElement * h_phoBkgDPhi_
Definition: PhotonValidator.h:520
photonAnalyzer_cfi.dEtaTracksMin
dEtaTracksMin
Definition: photonAnalyzer_cfi.py:98
photonValidator_cfi.povereMin
povereMin
Definition: photonValidator_cfi.py:103
PhotonValidator::h2_eResVsEta_
MonitorElement * h2_eResVsEta_[3]
Definition: PhotonValidator.h:304
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
PhotonValidator::h2_r2VsEtaBkg_
MonitorElement * h2_r2VsEtaBkg_
Definition: PhotonValidator.h:540
PhotonValidator::h2_sigmaIetaIetaVsEt_
MonitorElement * h2_sigmaIetaIetaVsEt_[3]
Definition: PhotonValidator.h:252
PhotonValidator::h_convERes_
MonitorElement * h_convERes_[2][3]
Definition: PhotonValidator.h:385
PhotonValidator::h_scPhi_
MonitorElement * h_scPhi_[2]
Definition: PhotonValidator.h:222
PhotonValidator::h_r2_
MonitorElement * h_r2_[3][3]
Definition: PhotonValidator.h:243
photonValidator_cfi.dCotTracksBin
dCotTracksBin
Definition: photonValidator_cfi.py:98
PhotonValidator::h_phoPhi_
MonitorElement * h_phoPhi_[2]
Definition: PhotonValidator.h:320
PhotonValidator::p_newhOverEVsEta_
MonitorElement * p_newhOverEVsEta_[3]
Definition: PhotonValidator.h:262
reco::Photon::hadronicOverEm
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:208
PhotonValidator::p_nHitsVsEta_
MonitorElement * p_nHitsVsEta_[2]
Definition: PhotonValidator.h:483
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
PhotonValidator::h_isoTrkSolidConeDR04_miniAOD_
MonitorElement * h_isoTrkSolidConeDR04_miniAOD_[3][3]
Definition: PhotonValidator.h:367
PhotonValidator::h2_r1VsEtBkg_
MonitorElement * h2_r1VsEtBkg_
Definition: PhotonValidator.h:536
PhotonValidator::h_SimConvOneMTracks_
MonitorElement * h_SimConvOneMTracks_[5]
Definition: PhotonValidator.h:194
reco::TrackBase::algoSize
Definition: TrackBase.h:141
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
PhotonValidator::h2_PtRecVsPtSim_
MonitorElement * h2_PtRecVsPtSim_[3]
Definition: PhotonValidator.h:502
HLT_FULL_cff.dEta
dEta
Definition: HLT_FULL_cff.py:13767
PhotonValidator::h_hcalTowerSumEtConeDR04Bkg_
MonitorElement * h_hcalTowerSumEtConeDR04Bkg_[3]
Definition: PhotonValidator.h:562
PhotonValidator::h_r1_miniAOD_
MonitorElement * h_r1_miniAOD_[3][3]
Definition: PhotonValidator.h:360
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
PhotonValidator::h_phoSigmaEoE_miniAOD_
MonitorElement * h_phoSigmaEoE_miniAOD_[3][3]
Definition: PhotonValidator.h:373
PhotonValidator::h_pfMva_
MonitorElement * h_pfMva_[3]
Definition: PhotonValidator.h:337
reco::Photon::trkSumPtSolidConeDR04
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
PhotonValidator::h_scPhiWidth_
MonitorElement * h_scPhiWidth_[2]
Definition: PhotonValidator.h:223
PhotonValidator::parameters_
edm::ParameterSet parameters_
Definition: PhotonValidator.h:90
edm::ValueMap
Definition: ValueMap.h:107
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
PhotonValidator::hcalHitEtLow_
double hcalHitEtLow_
Definition: PhotonValidator.h:138
reco::PFCandidate::h0
Definition: PFCandidate.h:50
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
PhotonValidator::h_scBkgE_
MonitorElement * h_scBkgE_[3]
Definition: PhotonValidator.h:524
edm::RefVectorIterator
Definition: EDProductfwd.h:33
ETA
#define ETA
Definition: GenericBenchmark.cc:28
PhotonValidator::h_scBkgPhi_
MonitorElement * h_scBkgPhi_
Definition: PhotonValidator.h:516
PhotonValidator::h2_hcalTowerSumEtConeDR04VsEt_
MonitorElement * h2_hcalTowerSumEtConeDR04VsEt_[3]
Definition: PhotonValidator.h:275
reco::Photon::conversions
reco::ConversionRefVector conversions() const
vector of references to Conversion's
Definition: Photon.h:60
PhotonValidator::h_simConvVtxYvsX_
MonitorElement * h_simConvVtxYvsX_
Definition: PhotonValidator.h:183
PhotonValidator::p_r2VsEtBkg_
MonitorElement * p_r2VsEtBkg_
Definition: PhotonValidator.h:543
PhotonValidator::h_hOverE_
MonitorElement * h_hOverE_[3][3]
Definition: PhotonValidator.h:255
PhotonValidator::h_SumPtOverPhoPt_ChHad_Cleaned_
MonitorElement * h_SumPtOverPhoPt_ChHad_Cleaned_[3]
Definition: PhotonValidator.h:345
PhotonValidator::h2_Chi2VsR_
MonitorElement * h2_Chi2VsR_[3]
Definition: PhotonValidator.h:494
cosmicPhotonAnalyzer_cfi.r9Max
r9Max
Definition: cosmicPhotonAnalyzer_cfi.py:12
reco::Photon::getCandidateP4type
P4type getCandidateP4type() const
Definition: Photon.h:316
reco::Photon::regression1
Definition: Photon.h:273
ALCARECOTkAlBeamHalo_cff.etaMax
etaMax
Definition: ALCARECOTkAlBeamHalo_cff.py:33
PhotonValidator::h_sigmaIetaIeta_
MonitorElement * h_sigmaIetaIeta_[3][3]
Definition: PhotonValidator.h:249
PhotonValidator::h_tkChi2SL_
MonitorElement * h_tkChi2SL_[2]
Definition: PhotonValidator.h:490
reco::Photon::ecalRecHitSumEtConeDR04
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
PhotonValidator::mcJetEta_
double mcJetEta_
Definition: PhotonValidator.h:156
TrackingParticleCollection
std::vector< TrackingParticle > TrackingParticleCollection
Definition: TrackingParticleFwd.h:8
PhotonValidator::h_SimPhoMotherEt_
MonitorElement * h_SimPhoMotherEt_[2]
Definition: PhotonValidator.h:172
HiEvtPlane_cfi.pterror
pterror
Definition: HiEvtPlane_cfi.py:24
reco::Photon::r2x5
float r2x5() const
Definition: Photon.h:239
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PhotonValidator::h_r9VsNofTracks_
MonitorElement * h_r9VsNofTracks_[2][3]
Definition: PhotonValidator.h:391
edm::RefToBase< reco::Track >
PhotonValidator::h2_sigmaIetaIetaVsEta_
MonitorElement * h2_sigmaIetaIetaVsEta_[3]
Definition: PhotonValidator.h:250
photonValidator_cfi.resMax
resMax
Definition: photonValidator_cfi.py:92
PhotonValidator::h_convVtxYvsX_
MonitorElement * h_convVtxYvsX_
Definition: PhotonValidator.h:440
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
PhotonValidator::h_SimConvTwoMTracks_
MonitorElement * h_SimConvTwoMTracks_[5]
Definition: PhotonValidator.h:196
photonValidator_cfi.rBinForXray
rBinForXray
Definition: photonValidator_cfi.py:117
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edm::View::const_iterator
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
reco::Photon::full5x5_sigmaIetaIeta
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:249
PhotonValidator::h_RecoConvTwoTracks_
MonitorElement * h_RecoConvTwoTracks_[5]
Definition: PhotonValidator.h:202
edm::Ref::key
key_type key() const
Accessor for product key.
Definition: Ref.h:250
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
photonAnalyzer_cfi.rMin
rMin
Definition: photonAnalyzer_cfi.py:90
PhotonValidator::p_hOverEVsEtaBkg_
MonitorElement * p_hOverEVsEtaBkg_
Definition: PhotonValidator.h:553
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
PhotonValidator::p_convVtxdRVsR_
MonitorElement * p_convVtxdRVsR_
Definition: PhotonValidator.h:464
PhotonValidator::h_chHadIso_
MonitorElement * h_chHadIso_[3]
Definition: PhotonValidator.h:331
pi
const Double_t pi
Definition: trackSplitPlot.h:36
PhotonValidator::h2_dzPVVsR_
MonitorElement * h2_dzPVVsR_
Definition: PhotonValidator.h:478
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PhotonValidator::h_phoBkgE_
MonitorElement * h_phoBkgE_[3]
Definition: PhotonValidator.h:521
PhotonValidator::p_EoverPVsEta_
MonitorElement * p_EoverPVsEta_[3]
Definition: PhotonValidator.h:405
PhotonValidator::h_MatchedSimPho_
MonitorElement * h_MatchedSimPho_[3]
Numerator for efficiencies.
Definition: PhotonValidator.h:191
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
reco::Photon::r1x5
float r1x5() const
Definition: Photon.h:238
PhotonValidator::h2_r1VsEt_
MonitorElement * h2_r1VsEt_[3]
Definition: PhotonValidator.h:240
reco::Photon::regression2
Definition: Photon.h:273
PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEta_
MonitorElement * p_hcalTowerBcSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:279
ExoticaDQM_cfi.photonCollection
photonCollection
Definition: ExoticaDQM_cfi.py:17
PhotonValidator::h2_convVtxdRVsR_
MonitorElement * h2_convVtxdRVsR_
Definition: PhotonValidator.h:463
photonValidator_cfi.dPhiBin
dPhiBin
Definition: photonValidator_cfi.py:78
PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtBkg_
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:559
PhotonValidator::h_newhOverE_miniAOD_
MonitorElement * h_newhOverE_miniAOD_[3][3]
Definition: PhotonValidator.h:363
reco::PFCandidate::ParticleType
ParticleType
particle types
Definition: PFCandidate.h:44
PhotonValidator::h_convVtxRvsZ_zoom_
MonitorElement * h_convVtxRvsZ_zoom_[2]
Definition: PhotonValidator.h:441
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:664
PhotonValidator::h_DCotTracks_
MonitorElement * h_DCotTracks_[2][3]
Definition: PhotonValidator.h:423
PhotonValidator::h_PoverETracksBkg_
MonitorElement * h_PoverETracksBkg_[3]
Definition: PhotonValidator.h:586
parents
TPRegexp parents
Definition: eve_filter.cc:21
ZEcal
static constexpr float ZEcal
Definition: L1TkEmParticleProducer.cc:40
photonAnalyzer_cfi.etBin
etBin
Definition: photonAnalyzer_cfi.py:53
PhotonValidator::nSimConv_
int nSimConv_[2]
Definition: PhotonValidator.h:82
PhotonValidator::hepMC_Token_
edm::EDGetTokenT< edm::HepMCProduct > hepMC_Token_
Definition: PhotonValidator.h:119
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
pwdgSkimBPark_cfi.conversions
conversions
Definition: pwdgSkimBPark_cfi.py:10
PhotonValidator::h_hcalTowerBcSumEtConeDR04_miniAOD_
MonitorElement * h_hcalTowerBcSumEtConeDR04_miniAOD_[3][3]
Definition: PhotonValidator.h:366
photonValidator_cfi.povereBin
povereBin
Definition: photonValidator_cfi.py:102
PhotonValidator::hcalEtSumCut_
double hcalEtSumCut_
Definition: PhotonValidator.h:142
edm::RefVector::size
size_type size() const
Size of the RefVector.
Definition: RefVector.h:102
PhotonValidator::h_SimConvOneTracks_
MonitorElement * h_SimConvOneTracks_[5]
Definition: PhotonValidator.h:193
d0
static constexpr float d0
Definition: L1EGammaCrystalsEmulatorProducer.cc:84
PhotonValidator::h_DEtaTracksAtEcal_
MonitorElement * h_DEtaTracksAtEcal_[2][3]
Definition: PhotonValidator.h:437
CSCSegmentAlgorithmRU_cfi.dPhiMax
dPhiMax
Definition: CSCSegmentAlgorithmRU_cfi.py:10
PhotonValidator::h_nTrkSolidConeDR04_miniAOD_
MonitorElement * h_nTrkSolidConeDR04_miniAOD_[3][3]
Definition: PhotonValidator.h:368
photonValidator_cfi.dPhiMin
dPhiMin
Definition: photonValidator_cfi.py:79
PhotonValidator::trkPtSumCut_
double trkPtSumCut_
Definition: PhotonValidator.h:140
PhotonValidator::p_isoTrkSolidConeDR04VsEtBkg_
MonitorElement * p_isoTrkSolidConeDR04VsEtBkg_[3]
Definition: PhotonValidator.h:572
PhotonValidator::h_nConv_
MonitorElement * h_nConv_[2][3]
info per conversion
Definition: PhotonValidator.h:382
PhotonValidator::mcConvY_
double mcConvY_
Definition: PhotonValidator.h:152
PhotonValidator::h_hcalTowerSumEtConeDR04_
MonitorElement * h_hcalTowerSumEtConeDR04_[3][3]
Definition: PhotonValidator.h:272
PhotonValidator::hcalIsolInnRadius_
double hcalIsolInnRadius_
Definition: PhotonValidator.h:137
PhotonValidator::p_TkPtPull_
MonitorElement * p_TkPtPull_[3]
Definition: PhotonValidator.h:501
edm::InputTag
Definition: InputTag.h:15
PhotonValidator::h_phoBkgEta_
MonitorElement * h_phoBkgEta_
Definition: PhotonValidator.h:517
PhotonValidator::h2_hOverEVsEtaBkg_
MonitorElement * h2_hOverEVsEtaBkg_
Definition: PhotonValidator.h:551
Z_Endcap
static constexpr float Z_Endcap
Definition: ECALPositionCalculator.cc:11
photonAnalyzer_cfi.dEtaTracksMax
dEtaTracksMax
Definition: photonAnalyzer_cfi.py:99
PhotonValidator::h_phoBkgDEta_
MonitorElement * h_phoBkgDEta_
Definition: PhotonValidator.h:519
reco::Photon::hcalTowerSumEtConeDR04
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEt_
MonitorElement * p_hcalTowerBcSumEtConeDR04VsEt_[3]
Definition: PhotonValidator.h:280
MuonClassifier_cff.hepMC
hepMC
Definition: MuonClassifier_cff.py:13
PhotonValidator::h_scEtaWidth_
MonitorElement * h_scEtaWidth_[2]
Definition: PhotonValidator.h:221
R_ECAL
static constexpr float R_ECAL
Definition: ECALPositionCalculator.cc:10
PhotonValidator::h_tkChi2_
MonitorElement * h_tkChi2_[2]
Definition: PhotonValidator.h:489
PhotonValidator::conversionOITrackProducer_
edm::InputTag conversionOITrackProducer_
Definition: PhotonValidator.h:109
PhotonValidator::p_dzPVVsEta_
MonitorElement * p_dzPVVsEta_
Definition: PhotonValidator.h:480
PhotonValidator::p_convVtxdZVsZ_
MonitorElement * p_convVtxdZVsZ_
Definition: PhotonValidator.h:469
PhotonValidator::h2_PoverPtrueVsEta_
MonitorElement * h2_PoverPtrueVsEta_[3]
Definition: PhotonValidator.h:414
PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtaBkg_
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEtaBkg_
Definition: PhotonValidator.h:557
PhotonValidator::h_convVtxdX_
MonitorElement * h_convVtxdX_
Definition: PhotonValidator.h:445
PhotonValidator::h_phoIso_
MonitorElement * h_phoIso_[3]
Definition: PhotonValidator.h:333
PhotonValidator::h_scBkgEt_
MonitorElement * h_scBkgEt_[3]
Definition: PhotonValidator.h:525
PhotonValidator::h2_r9VsEtBkg_
MonitorElement * h2_r9VsEtBkg_
Definition: PhotonValidator.h:533
PhotonValidator::trkPtLow_
double trkPtLow_
Definition: PhotonValidator.h:132
PhotonValidator::h_full5x5_sigmaIetaIeta_miniAOD_
MonitorElement * h_full5x5_sigmaIetaIeta_miniAOD_[3][3]
Definition: PhotonValidator.h:359
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
PhotonValidator::p_r1VsEtaBkg_
MonitorElement * p_r1VsEtaBkg_
Definition: PhotonValidator.h:537
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
PhotonValidator::p_r1VsEtBkg_
MonitorElement * p_r1VsEtBkg_
Definition: PhotonValidator.h:538
PhotonValidator::p_isoTrkSolidConeDR04VsEtaBkg_
MonitorElement * p_isoTrkSolidConeDR04VsEtaBkg_
Definition: PhotonValidator.h:570
PhotonValidator::h_vtxChi2_
MonitorElement * h_vtxChi2_[3]
Definition: PhotonValidator.h:473
PhotonValidator::p_EoverEtrueVsR_
MonitorElement * p_EoverEtrueVsR_[3]
Definition: PhotonValidator.h:412
PhotonValidator::mcConvZ_
double mcConvZ_
Definition: PhotonValidator.h:151
PhotonValidator::dCotCutOn_
bool dCotCutOn_
Definition: PhotonValidator.h:143
PhotonValidator::h2_etaVsRreco_
MonitorElement * h2_etaVsRreco_[3]
Definition: PhotonValidator.h:399
PhotonValidator::p_convVtxdXVsX_
MonitorElement * p_convVtxdXVsX_
Definition: PhotonValidator.h:467
PhotonValidator::hBCEnergyOverTrackPout_
MonitorElement * hBCEnergyOverTrackPout_[3]
Definition: PhotonValidator.h:505
PhotonValidator::h_SumPtOverPhoPt_NeuHad_unCleaned_
MonitorElement * h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
Definition: PhotonValidator.h:349
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
photonValidator_cfi.etScale
etScale
Definition: photonValidator_cfi.py:47
etaBarrelEndcap
static constexpr float etaBarrelEndcap
Definition: ECALPositionCalculator.cc:12
photonAnalyzer_cfi.eBin
eBin
CAREFULL for the time being only Loos exists 1 => Tight Photon = GoodCandidate.
Definition: photonAnalyzer_cfi.py:49
PhotonValidator::p_Chi2VsR_
MonitorElement * p_Chi2VsR_[3]
Definition: PhotonValidator.h:495
PhotonValidator::h_dzPVFromTracks_
MonitorElement * h_dzPVFromTracks_[5]
Definition: PhotonValidator.h:477
PhotonValidator::h_mvaOutBkg_
MonitorElement * h_mvaOutBkg_[3]
Definition: PhotonValidator.h:582
PhotonValidator::h2_r2VsEtBkg_
MonitorElement * h2_r2VsEtBkg_
Definition: PhotonValidator.h:541
PhotonValidator::h_convVtxRvsZ_
MonitorElement * h_convVtxRvsZ_[3]
Definition: PhotonValidator.h:439
PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEta_
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:267
PhotonValidator::h2_nTrkSolidConeDR04VsEtaBkg_
MonitorElement * h2_nTrkSolidConeDR04VsEtaBkg_
Definition: PhotonValidator.h:575
photonValidator_cfi.zBinForXray
zBinForXray
Definition: photonValidator_cfi.py:120