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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
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
 
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 DQMOneEDAnalyzer<>
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
- 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>
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 84 of file PhotonValidator.cc.

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

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

◆ ~PhotonValidator()

PhotonValidator::~PhotonValidator ( )
override

Definition at line 157 of file PhotonValidator.cc.

157 {}

Member Function Documentation

◆ analyze()

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

uncleaned

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3171 of file PhotonValidator.cc.

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

References funct::abs(), HIPAlignmentAlgorithm_cfi::algoName, begin, 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_2018_cff::dEta, HLT_2018_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, reco::PFCandidate::e, reco::Photon::ecalRecHitSumEtConeDR04(), std::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, 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(), edm::RefToBaseVector< T >::push_back(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, data-class-funcs::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 
)
override

Histograms for efficiencies

Denominators

Numerators

zooms

test track provenance

Definition at line 159 of file PhotonValidator.cc.

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

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, cscSegments_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 3158 of file PhotonValidator.cc.

3158  {
3159  //get magnetic field
3160  edm::LogInfo("ConvertedPhotonProducer") << " get magnetic field"
3161  << "\n";
3162  theEventSetup.get<IdealMagneticFieldRecord>().get(theMF_);
3163 
3165 }

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 3167 of file PhotonValidator.cc.

3167  {
3168  thePhotonMCTruthFinder_.reset();
3169 }

◆ etaTransformation()

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

Definition at line 5481 of file PhotonValidator.cc.

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

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 5466 of file PhotonValidator.cc.

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

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:19
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:366
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
nTracks
const unsigned int nTracks(const reco::Vertex &sv)
Definition: TemplatedVertexArbitrator.h:44
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:5466
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:355
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:97
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:46
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
edm::LogInfo
Definition: MessageLogger.h:254
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
reco::PFCandidate::h
Definition: PFCandidate.h:45
PhotonValidator::h_convPhiBkg_
MonitorElement * h_convPhiBkg_
Definition: PhotonValidator.h:581
data-class-funcs.q
q
Definition: data-class-funcs.py:169
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
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
PhotonValidator::valueMapPhoPFCandIso_
std::string valueMapPhoPFCandIso_
Definition: PhotonValidator.h:98
PhotonValidator::nEvt_
int nEvt_
Definition: PhotonValidator.h:79
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
HLT_2018_cff.dEta
dEta
Definition: HLT_2018_cff.py:12289
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:30
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:73
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
HLT_2018_cff.dPhi
dPhi
Definition: HLT_2018_cff.py:12290
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
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
PhotonMCTruthFinder
Definition: PhotonMCTruthFinder.h:20
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
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
EgHLTOffHistBins_cfi.hOverE
hOverE
Definition: EgHLTOffHistBins_cfi.py:17
PhotonValidator::etaTransformation
float etaTransformation(float a, float b)
Definition: PhotonValidator.cc:5481
PhotonValidator::p_hcalTowerSumEtConeDR04VsEta_
MonitorElement * p_hcalTowerSumEtConeDR04VsEta_[3]
Definition: PhotonValidator.h:274
edm::LogError
Definition: MessageLogger.h:183
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 > >
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
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:48
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
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
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:193
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:347
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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
type
type
Definition: HCALResponse.h:21
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
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
PhotonValidator::hcalHitEtLow_
double hcalHitEtLow_
Definition: PhotonValidator.h:138
reco::PFCandidate::h0
Definition: PFCandidate.h:49
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
reco::Photon::r2x5
float r2x5() const
Definition: Photon.h:239
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:30
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:43
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:635
PhotonValidator::h_DCotTracks_
MonitorElement * h_DCotTracks_[2][3]
Definition: PhotonValidator.h:423
PhotonValidator::h_PoverETracksBkg_
MonitorElement * h_PoverETracksBkg_[3]
Definition: PhotonValidator.h:586
cscSegments_cfi.dPhiMax
dPhiMax
Definition: cscSegments_cfi.py:11
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:85
PhotonValidator::h_DEtaTracksAtEcal_
MonitorElement * h_DEtaTracksAtEcal_[2][3]
Definition: PhotonValidator.h:437
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
begin
#define begin
Definition: vmac.h:32
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
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