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
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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_
 
const edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeometryToken_
 
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_ [5]
 
MonitorElementh_dRPhoPFcand_NeuHad_unCleaned_ [5]
 
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_
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordmagneticFieldToken_
 
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_
 
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecordtransientTrackBuilderToken_
 
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
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

$Id: PhotonValidator

Author
Nancy Marinelli, U. of Notre Dame, US

Definition at line 59 of file PhotonValidator.h.

Constructor & Destructor Documentation

◆ PhotonValidator()

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

Definition at line 83 of file PhotonValidator.cc.

84  : magneticFieldToken_{esConsumes<edm::Transition::BeginRun>()},
86  transientTrackBuilderToken_{esConsumes(edm::ESInputTag("", "TransientTrackBuilder"))} {
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 }
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHits_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
edm::EDGetTokenT< edm::SimVertexContainer > g4_simVtx_Token_
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
std::string photonCollectionProducer_
std::string photonCollection_
edm::EDGetTokenT< edm::HepMCProduct > hepMC_Token_
std::string fName_
edm::EDGetTokenT< edm::SimVertexContainer > famos_simVtx_Token_
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
edm::EDGetTokenT< edm::View< reco::Track > > conversionIOTrackPr_Token_
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHits_
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > particleBasedIso_token
edm::EDGetTokenT< edm::SimTrackContainer > g4_simTk_Token_
edm::ParameterSet parameters_
std::string valueMapPhoPFCandIso_
edm::EDGetTokenT< TrackingParticleCollection > token_tp_
edm::EDGetTokenT< reco::GenParticleCollection > genpartToken_
edm::EDGetTokenT< reco::GenJetCollection > genjets_Token_
edm::InputTag conversionOITrackProducer_
edm::EDGetTokenT< reco::PhotonCollection > photonCollectionToken_
edm::InputTag conversionIOTrackProducer_
edm::EDGetTokenT< edm::View< reco::Track > > conversionOITrackPr_Token_
edm::EDGetTokenT< edm::SimTrackContainer > famos_simTk_Token_

◆ ~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 3182 of file PhotonValidator.cc.

References funct::abs(), MillePedeAlignmentAlgorithm_cfi::algoName, barrelEcalHits_, edm::RefVector< C, T, F >::begin(), edm::SortedCollection< T, SORT >::begin(), caloGeometryToken_, ALCARECOTkAlJpsiMuMu_cff::charge, nano_mu_local_reco_cff::chi2, ChiSquaredProbability(), edm::RefVector< C, T, F >::clear(), conversionIOTrackPr_Token_, conversionOITrackPr_Token_, pwdgSkimBPark_cfi::conversions, reco::Photon::conversions(), convTrackMinPtCut_, d0, dCotCutOn_, dCotCutValue_, dCotHardCutValue_, dumpMFGeometry_cfg::delta, spr::deltaEta, SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, HLT_2024v14_cff::dEta, HLT_2024v14_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, reco::PFCandidate::e, run3scouting_cff::ecalIso, reco::Photon::ecalRecHitSumEtConeDR04(), relativeConstraints::empty, edm::RefVector< C, T, F >::end(), edm::SortedCollection< T, SORT >::end(), edm::ValueMap< T >::end(), endcapEcalHits_, reco::LeafCandidate::energy(), l1tnanotables_cff::et, reco::LeafCandidate::et(), reco::LeafCandidate::eta(), etaTransformation(), famos_simTk_Token_, famos_simVtx_Token_, fastSim_, dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), fName_, g4_simTk_Token_, g4_simVtx_Token_, reco::PFCandidate::gamma, particleFlowDQM_cff::genJetCollection, genjets_Token_, GenParticle::GenParticle, AJJGenJetFilter_cfi::genParticles, genpartToken_, edm::RefToBase< T >::get(), edm::EventSetup::getHandle(), edm::ParameterSet::getParameter(), caHitNtupletGeneratorKernels::good, reco::PFCandidate::h, reco::PFCandidate::h0, h2_Chi2VsEta_, h2_Chi2VsR_, h2_convVtxdRVsEta_, h2_convVtxdRVsR_, h2_convVtxRrecVsTrue_, h2_DCotTracksVsEta_, h2_DCotTracksVsR_, h2_DPhiTracksAtEcalVsEta_, h2_DPhiTracksAtEcalVsR_, h2_DPhiTracksAtVtxVsEta_, h2_DPhiTracksAtVtxVsR_, h2_dzPVVsR_, h2_ecalRecHitSumEtConeDR04VsEt_, h2_ecalRecHitSumEtConeDR04VsEta_, h2_ecalRecHitSumEtConeDR04VsEtaBkg_, h2_ecalRecHitSumEtConeDR04VsEtBkg_, h2_EoverEtrueVsEoverP_, h2_EoverEtrueVsEta_, h2_EoverEtrueVsR_, h2_EoverPVsEta_, h2_EoverPVsR_, h2_eResVsEt_, h2_eResVsEta_, h2_eResVsR9_, h2_etaVsRreco_, h2_etaVsRsim_, h2_hcalTowerSumEtConeDR04VsEt_, h2_hcalTowerSumEtConeDR04VsEta_, h2_hcalTowerSumEtConeDR04VsEtaBkg_, h2_hcalTowerSumEtConeDR04VsEtBkg_, h2_hOverEVsEt_, h2_hOverEVsEta_, h2_hOverEVsEtaBkg_, h2_hOverEVsEtBkg_, h2_isoTrkSolidConeDR04VsEt_, h2_isoTrkSolidConeDR04VsEta_, h2_isoTrkSolidConeDR04VsEtaBkg_, h2_isoTrkSolidConeDR04VsEtBkg_, h2_nTrkSolidConeDR04VsEt_, h2_nTrkSolidConeDR04VsEta_, h2_nTrkSolidConeDR04VsEtaBkg_, h2_nTrkSolidConeDR04VsEtBkg_, h2_PoverPtrueVsEoverP_, h2_PoverPtrueVsEta_, h2_PtRecVsPtSim_, h2_PtRecVsPtSimMixProv_, h2_r1VsEt_, h2_r1VsEta_, h2_r1VsEtaBkg_, h2_r1VsEtBkg_, h2_r2VsEt_, h2_r2VsEta_, h2_r2VsEtaBkg_, h2_r2VsEtBkg_, h2_r9VsEt_, h2_r9VsEtaBkg_, h2_r9VsEtBkg_, h2_sceResVsR9_, h2_sigmaIetaIetaVsEt_, h2_sigmaIetaIetaVsEta_, h2_sigmaIetaIetaVsEtaBkg_, h2_sigmaIetaIetaVsEtBkg_, h2_TkPtPull_, h_AllSimConv_, h_chHadIso_, h_chHadIso_miniAOD_, h_convAlgo_, h_convERes_, h_convEta_, h_convEtaBkg_, h_convPhi_, h_convPhiBkg_, h_convPtRes_, h_convSLVtxRvsZ_, h_convVtxdEta_, h_convVtxdPhi_, h_convVtxdR_, h_convVtxdR_barrel_, h_convVtxdR_endcap_, h_convVtxdX_, h_convVtxdX_barrel_, h_convVtxdX_endcap_, h_convVtxdY_, h_convVtxdY_barrel_, h_convVtxdY_endcap_, h_convVtxdZ_, h_convVtxdZ_barrel_, h_convVtxdZ_endcap_, h_convVtxRvsZ_, h_convVtxRvsZ_zoom_, h_convVtxRvsZBkg_, h_convVtxYvsX_, h_convVtxYvsX_zoom_, h_convVtxYvsXBkg_, h_DCotTracks_, h_DCotTracksBkg_, h_DEtaTracksAtEcal_, h_DPhiTracksAtEcal_, h_DPhiTracksAtVtx_, h_DPhiTracksAtVtxBkg_, h_dRPhoPFcand_ChHad_Cleaned_, h_dRPhoPFcand_ChHad_unCleaned_, h_dRPhoPFcand_NeuHad_Cleaned_, h_dRPhoPFcand_NeuHad_unCleaned_, h_dRPhoPFcand_Pho_Cleaned_, h_dRPhoPFcand_Pho_unCleaned_, h_dzPVFromTracks_, h_ecalRecHitSumEtConeDR04_, h_ecalRecHitSumEtConeDR04_miniAOD_, h_ecalRecHitSumEtConeDR04Bkg_, h_EoverP_SL_, h_EoverPTracks_, h_EoverPTracksBkg_, h_etOutsideMustache_, h_EtR9Less093_, h_full5x5_r9_miniAOD_, h_full5x5_sigmaIetaIeta_miniAOD_, h_gamgamMass_, h_gamgamMassRegr1_, h_gamgamMassRegr2_, h_hcalTowerBcSumEtConeDR04_, h_hcalTowerBcSumEtConeDR04_miniAOD_, h_hcalTowerSumEtConeDR04_, h_hcalTowerSumEtConeDR04_miniAOD_, h_hcalTowerSumEtConeDR04Bkg_, h_hOverE_, h_hOverE_miniAOD_, h_hOverEBkg_, h_invMass_, h_isoTrkSolidConeDR04_, h_isoTrkSolidConeDR04_miniAOD_, h_isoTrkSolidConeDR04Bkg_, h_MatchedSimJet_, h_MatchedSimJetBadCh_, h_MatchedSimPho_, h_MatchedSimPhoBadCh_, h_mvaOut_, h_mvaOutBkg_, h_nCluOutsideMustache_, h_nConv_, h_newhOverE_, h_newhOverE_miniAOD_, h_nHadIso_, h_nHadIso_miniAOD_, h_nPho_, h_nRecoVtx_, h_nSimConv_, h_nSimPho_, h_nTrkSolidConeDR04_, h_nTrkSolidConeDR04_miniAOD_, h_nTrkSolidConeDR04Bkg_, h_pfMva_, h_phoBkgDEta_, h_phoBkgDPhi_, h_phoBkgE_, h_phoBkgEt_, h_phoBkgEta_, h_phoBkgPhi_, h_phoDEta_, h_phoDPhi_, h_phoE_, h_phoE_miniAOD_, h_phoERes_, h_phoERes_miniAOD_, h_phoEResRegr1_, h_phoEResRegr2_, h_phoEt_, h_phoEt_miniAOD_, h_phoEta_, h_phoIso_, h_phoIso_miniAOD_, h_phoPhi_, h_phoPixSeedSize_, h_phoSigmaEoE_, h_phoSigmaEoE_miniAOD_, h_PoverETracks_, h_PoverETracksBkg_, h_psE_, h_r1_, h_r1_miniAOD_, h_r1Bkg_, h_r2_, h_r2_miniAOD_, h_r2Bkg_, h_r9_, h_r9_miniAOD_, h_r9Bkg_, h_r9VsNofTracks_, h_RecoConvTwoMTracks_, h_RecoConvTwoTracks_, h_scBkgE_, h_scBkgEt_, h_scBkgEta_, h_scBkgPhi_, h_scE_, h_scEt_, h_scEta_, h_scEta_miniAOD_, h_scEtaWidth_, h_scPhi_, h_scPhi_miniAOD_, h_scPhiWidth_, h_sigmaIetaIeta_, h_sigmaIetaIeta_miniAOD_, h_sigmaIetaIetaBkg_, h_SimConvEtaPix_, h_SimConvOneMTracks_, h_SimConvTwoMTracks_, h_SimConvTwoMTracksAndVtxPGT0005_, h_SimConvTwoMTracksAndVtxPGT0_, h_SimConvTwoTracks_, h_simConvVtxRvsZ_, h_simConvVtxYvsX_, h_SimJet_, h_SimPho_, h_SimPhoMotherEt_, h_SimPhoMotherEta_, h_simTkEta_, h_simTkPt_, h_SumPtOverPhoPt_ChHad_Cleaned_, h_SumPtOverPhoPt_ChHad_unCleaned_, h_SumPtOverPhoPt_NeuHad_Cleaned_, h_SumPtOverPhoPt_NeuHad_unCleaned_, h_SumPtOverPhoPt_Pho_Cleaned_, h_SumPtOverPhoPt_Pho_unCleaned_, h_tkChi2_, h_tkChi2Large_, h_tkChi2SL_, h_TkD0_, h_TkPtPull_, h_trkAlgo_, h_trkProv_, h_VisSimConv_, h_vtxChi2_, h_vtxChi2Prob_, h_zPVFromTracks_, reco::Photon::hadronicOverEm(), hBCEnergyOverTrackPout_, run3scouting_cff::hcalIso, reco::Photon::hcalTowerSumEtConeDR04(), MuonClassifier_cff::hepMC, hepMC_Token_, EgHLTOffHistBins_cfi::hOverE, mps_fire::i, electrons_cff::isEB, edm::Ref< C, T, F >::isNonnull(), isRunCentrally_, edm::HandleBase::isValid(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, edm::Ref< C, T, F >::key(), MainPageGenerator::l, edm::EDConsumerBase::labelsForToken(), likelihoodCut_, muonTagProbeFilters_cff::matched, mcConvEta_, mcConvPhi_, mcConvR_, mcConvX_, mcConvY_, mcConvZ_, mcEta_, mcJetEta_, mcJetPhi_, mcPhi_, minPhoEtCut_, reco::TrackBase::momentum(), PixelVertexMonitor_cff::ndof, nEvt_, nHitsVsEta_, nHitsVsR_, TrackCollections2monitor_cff::normalizedChi2, nRecConv_, nRecConvAss_, nRecConvAssWithEcal_, nSimConv_, nSimPho_, beamSpotPI::nTracks, reco::Photon::nTrkSolidConeDR04(), TrackCollections2monitor_cff::numberOfValidHits, offline_pvToken_, LaserDQM_cfg::p1, SiStripOfflineCRack_cfg::p2, p_Chi2VsEta_, p_Chi2VsR_, p_convVtxdRVsEta_, p_convVtxdRVsR_, p_convVtxdXVsX_, p_convVtxdYVsY_, p_convVtxdZVsZ_, p_DCotTracksVsEta_, p_DCotTracksVsR_, p_DPhiTracksAtEcalVsEta_, p_DPhiTracksAtEcalVsR_, p_DPhiTracksAtVtxVsEta_, p_DPhiTracksAtVtxVsR_, p_dzPVVsEta_, p_dzPVVsR_, p_ecalRecHitSumEtConeDR04VsEt_, p_ecalRecHitSumEtConeDR04VsEta_, p_ecalRecHitSumEtConeDR04VsEtaBkg_, p_ecalRecHitSumEtConeDR04VsEtBkg_, p_EoverEtrueVsEta_, p_EoverEtrueVsR_, p_EoverPVsEta_, p_EoverPVsR_, p_eResVsEt_, p_eResVsEta_, p_eResVsNVtx_, p_eResVsR9_, p_eResVsR_, p_hcalTowerBcSumEtConeDR04VsEt_, p_hcalTowerBcSumEtConeDR04VsEta_, p_hcalTowerSumEtConeDR04VsEt_, p_hcalTowerSumEtConeDR04VsEta_, p_hcalTowerSumEtConeDR04VsEtaBkg_, p_hcalTowerSumEtConeDR04VsEtBkg_, p_hOverEVsEt_, p_hOverEVsEta_, p_hOverEVsEtaBkg_, p_hOverEVsEtBkg_, p_isoTrkSolidConeDR04VsEtaBkg_, p_isoTrkSolidConeDR04VsEtBkg_, p_newhOverEVsEt_, p_newhOverEVsEta_, p_nHitsVsEta_, p_nHitsVsEtaSL_, p_nHitsVsR_, p_nHitsVsRSL_, p_nTrkSolidConeDR04VsEtaBkg_, p_nTrkSolidConeDR04VsEtBkg_, p_PoverPtrueVsEta_, p_r1VsEtaBkg_, p_r1VsEtBkg_, p_r2VsEtaBkg_, p_r2VsEtBkg_, p_r9VsEta_, p_sceResVsR9_, p_sigmaEoEVsEt_, p_sigmaEoEVsEta_, p_sigmaEoEVsNVtx_, p_sigmaIetaIetaVsEtaBkg_, p_sigmaIetaIetaVsEtBkg_, parameters_, parents, particleBasedIso_token, EgammaValidation_cff::pdgId, pfCandidates_, reco::LeafCandidate::phi(), phiNormalization(), nanoDQM_cfi::Photon, ExoticaDQM_cfi::photonCollection, photonCollectionToken_, gedPhotonSequence_cff::photonIso, pi, funct::pow(), edm::Handle< T >::product(), HiEvtPlane_cfi::pterror, edm::RefToBaseVector< T >::push_back(), edm::RefVector< C, T, F >::push_back(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, submitPVResolutionJobs::q, diffTwoXMLs::r1, reco::Photon::r1x5(), diffTwoXMLs::r2, reco::Photon::r2x5(), reco::Photon::r9(), electrons_cff::r9, reco::Photon::regression1, reco::Photon::regression2, hitfit::scalar(), run3scouting_cff::sigmaIetaIeta, reco::Photon::sigmaIetaIeta(), funct::sin(), edm::RefVector< C, T, F >::size(), optionsL1T::skip, jetUpdater_cfi::sort, mathSSE::sqrt(), reco::Photon::superCluster(), theCaloGeom_, theConvTP_, thePhotonMCTruthFinder_, token_tp_, cmsswSequenceInfo::tp, GenTrackMatcher_cfi::trackAssociator, muonClassificationByHits_cfi::trackingParticles, DiMuonV_cfg::tracks, transientTrackBuilderToken_, reco::Photon::trkSumPtSolidConeDR04(), photonValidationSequence_cff::useTP, and z.

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

◆ bookHistograms()

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

Histograms for efficiencies

Denominators

Numerators

zooms

test track provenance

Implements DQMOneEDAnalyzer<>.

Definition at line 159 of file PhotonValidator.cc.

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, HLT_2024v14_cff::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, muonRecoAnalyzer_cfi::etaBin, conversionPostprocessing_cfi::etaBin2, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, photonAnalyzer_cfi::etBin, cosmicPhotonAnalyzer_cfi::etMax, photonAnalyzer_cfi::etMin, photonValidator_cfi::etScale, fName_, edm::ParameterSet::getParameter(), photonValidator_cfi::ggMassBin, photonValidator_cfi::ggMassMax, photonValidator_cfi::ggMassMin, h2_Chi2VsEta_, h2_Chi2VsR_, h2_convVtxdRVsEta_, h2_convVtxdRVsR_, h2_convVtxRrecVsTrue_, h2_DCotTracksVsEta_, h2_DCotTracksVsR_, h2_DPhiTracksAtEcalVsEta_, h2_DPhiTracksAtEcalVsR_, h2_DPhiTracksAtVtxVsEta_, h2_DPhiTracksAtVtxVsR_, h2_dzPVVsR_, h2_ecalRecHitSumEtConeDR04VsEt_, h2_ecalRecHitSumEtConeDR04VsEta_, h2_ecalRecHitSumEtConeDR04VsEtaBkg_, h2_ecalRecHitSumEtConeDR04VsEtBkg_, h2_EoverEtrueVsEoverP_, h2_EoverEtrueVsEta_, h2_EoverEtrueVsR_, h2_EoverPVsEta_, h2_EoverPVsR_, h2_eResVsEt_, h2_eResVsEta_, h2_eResVsR9_, h2_etaVsRreco_, h2_etaVsRsim_, h2_hcalTowerSumEtConeDR04VsEt_, h2_hcalTowerSumEtConeDR04VsEta_, h2_hcalTowerSumEtConeDR04VsEtaBkg_, h2_hcalTowerSumEtConeDR04VsEtBkg_, h2_hOverEVsEt_, h2_hOverEVsEta_, h2_hOverEVsEtaBkg_, h2_hOverEVsEtBkg_, h2_isoTrkSolidConeDR04VsEt_, h2_isoTrkSolidConeDR04VsEta_, h2_isoTrkSolidConeDR04VsEtaBkg_, h2_isoTrkSolidConeDR04VsEtBkg_, h2_nTrkSolidConeDR04VsEt_, h2_nTrkSolidConeDR04VsEta_, h2_nTrkSolidConeDR04VsEtaBkg_, h2_nTrkSolidConeDR04VsEtBkg_, h2_PoverPtrueVsEoverP_, h2_PoverPtrueVsEta_, h2_PtRecVsPtSim_, h2_PtRecVsPtSimMixProv_, h2_r1VsEt_, h2_r1VsEta_, h2_r1VsEtaBkg_, h2_r1VsEtBkg_, h2_r2VsEt_, h2_r2VsEta_, h2_r2VsEtaBkg_, h2_r2VsEtBkg_, h2_r9VsEt_, h2_r9VsEtaBkg_, h2_r9VsEtBkg_, h2_sceResVsR9_, h2_sigmaIetaIetaVsEt_, h2_sigmaIetaIetaVsEta_, h2_sigmaIetaIetaVsEtaBkg_, h2_sigmaIetaIetaVsEtBkg_, h2_TkPtPull_, h_AllSimConv_, h_chHadIso_, h_chHadIso_miniAOD_, h_convAlgo_, h_convERes_, h_convEta_, h_convEtaBkg_, h_convPhi_, h_convPhiBkg_, h_convPtRes_, h_convQuality_, h_convSLVtxRvsZ_, h_convVtxdEta_, h_convVtxdPhi_, h_convVtxdR_, h_convVtxdR_barrel_, h_convVtxdR_endcap_, h_convVtxdX_, h_convVtxdX_barrel_, h_convVtxdX_endcap_, h_convVtxdY_, h_convVtxdY_barrel_, h_convVtxdY_endcap_, h_convVtxdZ_, h_convVtxdZ_barrel_, h_convVtxdZ_endcap_, h_convVtxRvsZ_, h_convVtxRvsZ_zoom_, h_convVtxRvsZBkg_, h_convVtxYvsX_, h_convVtxYvsX_zoom_, h_convVtxYvsXBkg_, h_DCotTracks_, h_DCotTracksBkg_, h_DEtaTracksAtEcal_, h_distMinAppTracks_, h_DPhiTracksAtEcal_, h_DPhiTracksAtVtx_, h_DPhiTracksAtVtxBkg_, h_dRPhoPFcand_ChHad_Cleaned_, h_dRPhoPFcand_ChHad_unCleaned_, h_dRPhoPFcand_NeuHad_Cleaned_, h_dRPhoPFcand_NeuHad_unCleaned_, h_dRPhoPFcand_Pho_Cleaned_, h_dRPhoPFcand_Pho_unCleaned_, h_dzPVFromTracks_, h_ecalRecHitSumEtConeDR04_, h_ecalRecHitSumEtConeDR04_miniAOD_, h_ecalRecHitSumEtConeDR04Bkg_, h_EoverP_SL_, h_EoverPTracks_, h_EoverPTracksBkg_, h_etOutsideMustache_, h_EtR9Less093_, h_full5x5_r9_miniAOD_, h_full5x5_sigmaIetaIeta_miniAOD_, h_gamgamMass_, h_gamgamMassRegr1_, h_gamgamMassRegr2_, h_hcalTowerBcSumEtConeDR04_, h_hcalTowerBcSumEtConeDR04_miniAOD_, h_hcalTowerSumEtConeDR04_, h_hcalTowerSumEtConeDR04_miniAOD_, h_hcalTowerSumEtConeDR04Bkg_, h_hOverE_, h_hOverE_miniAOD_, h_hOverEBkg_, h_invMass_, h_IOinnermostHitR_, h_isoTrkSolidConeDR04_, h_isoTrkSolidConeDR04_miniAOD_, h_isoTrkSolidConeDR04Bkg_, h_MatchedSimJet_, h_MatchedSimJetBadCh_, h_MatchedSimPho_, h_MatchedSimPhoBadCh_, h_mvaOut_, h_mvaOutBkg_, h_nCluOutsideMustache_, h_nConv_, h_newhOverE_, h_newhOverE_miniAOD_, h_nHadIso_, h_nHadIso_miniAOD_, h_nPho_, h_nRecoVtx_, h_nSimConv_, h_nSimPho_, h_nTrkSolidConeDR04_, h_nTrkSolidConeDR04_miniAOD_, h_nTrkSolidConeDR04Bkg_, h_OIinnermostHitR_, h_pfMva_, h_phoBkgDEta_, h_phoBkgDPhi_, h_phoBkgE_, h_phoBkgEt_, h_phoBkgEta_, h_phoBkgPhi_, h_phoDEta_, h_phoDPhi_, h_phoE_, h_phoE_miniAOD_, h_phoERes_, h_phoERes_miniAOD_, h_phoEResRegr1_, h_phoEResRegr2_, h_phoEt_, h_phoEt_miniAOD_, h_phoEta_, h_phoIso_, h_phoIso_miniAOD_, h_phoPhi_, h_phoPixSeedSize_, h_phoSigmaEoE_, h_phoSigmaEoE_miniAOD_, h_PoverETracks_, h_PoverETracksBkg_, h_psE_, h_r1_, h_r1_miniAOD_, h_r1Bkg_, h_r2_, h_r2_miniAOD_, h_r2Bkg_, h_r9_, h_r9_miniAOD_, h_r9Bkg_, h_r9VsNofTracks_, h_RecoConvTwoMTracks_, h_RecoConvTwoTracks_, h_scBkgE_, h_scBkgEt_, h_scBkgEta_, h_scBkgPhi_, h_scE_, h_scEt_, h_scEta_, h_scEta_miniAOD_, h_scEtaWidth_, h_scPhi_, h_scPhi_miniAOD_, h_scPhiWidth_, h_sigmaIetaIeta_, h_sigmaIetaIeta_miniAOD_, h_sigmaIetaIetaBkg_, h_SimConvEtaPix_, h_SimConvOneMTracks_, h_SimConvOneTracks_, h_SimConvTwoMTracks_, h_SimConvTwoMTracksAndVtxPGT0005_, h_SimConvTwoMTracksAndVtxPGT0_, h_SimConvTwoTracks_, h_simConvVtxRvsZ_, h_simConvVtxYvsX_, h_SimJet_, h_SimPho_, h_SimPhoMotherEt_, h_SimPhoMotherEta_, h_simTkEta_, h_simTkPt_, h_SumPtOverPhoPt_ChHad_Cleaned_, h_SumPtOverPhoPt_ChHad_unCleaned_, h_SumPtOverPhoPt_NeuHad_Cleaned_, h_SumPtOverPhoPt_NeuHad_unCleaned_, h_SumPtOverPhoPt_Pho_Cleaned_, h_SumPtOverPhoPt_Pho_unCleaned_, h_tkChi2_, h_tkChi2Large_, h_tkChi2SL_, h_TkD0_, h_TkPtPull_, h_trkAlgo_, h_trkProv_, h_VisSimConv_, h_vtxChi2_, h_vtxChi2Prob_, h_zPVFromTracks_, hBCEnergyOverTrackPout_, isRunCentrally_, nHitsVsEta_, nHitsVsR_, p_Chi2VsEta_, p_Chi2VsR_, p_convVtxdRVsEta_, p_convVtxdRVsR_, p_convVtxdXVsX_, p_convVtxdYVsY_, p_convVtxdZVsZ_, p_DCotTracksVsEta_, p_DCotTracksVsR_, p_DPhiTracksAtEcalVsEta_, p_DPhiTracksAtEcalVsR_, p_DPhiTracksAtVtxVsEta_, p_DPhiTracksAtVtxVsR_, p_dzPVVsEta_, p_dzPVVsR_, p_ecalRecHitSumEtConeDR04VsEt_, p_ecalRecHitSumEtConeDR04VsEta_, p_ecalRecHitSumEtConeDR04VsEtaBkg_, p_ecalRecHitSumEtConeDR04VsEtBkg_, p_EoverEtrueVsEta_, p_EoverEtrueVsR_, p_EoverPVsEta_, p_EoverPVsR_, p_eResVsEt_, p_eResVsEta_, p_eResVsNVtx_, p_eResVsR9_, p_eResVsR_, p_hcalTowerBcSumEtConeDR04VsEt_, p_hcalTowerBcSumEtConeDR04VsEta_, p_hcalTowerSumEtConeDR04VsEt_, p_hcalTowerSumEtConeDR04VsEta_, p_hcalTowerSumEtConeDR04VsEtaBkg_, p_hcalTowerSumEtConeDR04VsEtBkg_, p_hOverEVsEt_, p_hOverEVsEta_, p_hOverEVsEtaBkg_, p_hOverEVsEtBkg_, p_isoTrkSolidConeDR04VsEtaBkg_, p_isoTrkSolidConeDR04VsEtBkg_, p_newhOverEVsEt_, p_newhOverEVsEta_, p_nHitsVsEta_, p_nHitsVsEtaSL_, p_nHitsVsR_, p_nHitsVsRSL_, p_nTrkSolidConeDR04VsEtaBkg_, p_nTrkSolidConeDR04VsEtBkg_, p_PoverPtrueVsEta_, p_r1VsEtaBkg_, p_r1VsEtBkg_, p_r2VsEtaBkg_, p_r2VsEtBkg_, p_r9VsEta_, p_sceResVsR9_, p_sigmaEoEVsEt_, p_sigmaEoEVsEta_, p_sigmaEoEVsNVtx_, p_sigmaIetaIetaVsEtaBkg_, p_sigmaIetaIetaVsEtBkg_, p_TkPtPull_, parameters_, 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.

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";
376  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #eta", etaBin2, etaMin, etaMax);
377  histname = "h_SimConvTwoMTracksPhiAndVtxPGT0";
379  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #phi", phiBin, phiMin, phiMax);
380  histname = "h_SimConvTwoMTracksRAndVtxPGT0";
382  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated R", rBin, rMin, rMax);
383  histname = "h_SimConvTwoMTracksZAndVtxPGT0";
385  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Z", zBin, zMin, zMax);
386  histname = "h_SimConvTwoMTracksEtAndVtxPGT0";
388  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Et", etBin, etMin, etMax);
389  //
390  histname = "h_SimConvTwoMTracksEtaAndVtxPGT0005";
392  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #eta", etaBin2, etaMin, etaMax);
393  histname = "h_SimConvTwoMTracksPhiAndVtxPGT0005";
395  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated #phi", phiBin, phiMin, phiMax);
396  histname = "h_SimConvTwoMTracksRAndVtxPGT0005";
398  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated R", rBin, rMin, rMax);
399  histname = "h_SimConvTwoMTracksZAndVtxPGT0005";
401  histname, " All vis conversions with 2 reco-matching tracks + vertex: simulated Z", zBin, zMin, zMax);
402  histname = "h_SimConvTwoMTracksEtAndVtxPGT0005";
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_)
563  histname + "All", " Bkg photons sigmaIetaIeta vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 0.1);
564  histname = "pSigmaIetaIetaVsEtaBkg";
565  if (!isRunCentrally_)
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_)
583  histname + "All", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
584  if (!isRunCentrally_)
586  histname + "Barrel", " Bkg photons sigmaIetaIeta vs Et: all Ecal ", etBin, etMin, etMax, 100, 0., 0.1);
587  if (!isRunCentrally_)
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_)
883  histname + "All", " Bkg photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
884  histname = "p_nTrkSolidConeDR04VsEtaBkg";
885  if (!isRunCentrally_)
887  histname + "All", " Bkg photons nTrkSolidConeDR04 vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 20, 0., 20);
888  //
889  histname = "nTrkSolidConeDR04VsEtBkg";
890  if (!isRunCentrally_)
892  histname + "All", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
893  if (!isRunCentrally_)
895  histname + "Barrel", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
896  if (!isRunCentrally_)
898  histname + "Endcap", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
899  //
900  histname = "pnTrkSolidConeDR04VsEtBkg";
901  if (!isRunCentrally_)
903  histname + "All", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
904  if (!isRunCentrally_)
906  histname + "Barrel", "Bkg photons nTrkSolidConeDR04 vs Et: all Ecal ", etBin, etMin, etMax, 20, 0., 20);
907  if (!isRunCentrally_)
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, 50.);
1195  iBooker.book1D(histname + "Barrel", "ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 50.);
1197  iBooker.book1D(histname + "Endcap", "ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 50.);
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, 50.);
1300  iBooker.book1D(histname + "Barrel", "hcalTowerSumEtConeDR04: Barrel ", etBin, etMin, 50.);
1302  iBooker.book1D(histname + "Endcap", "hcalTowerSumEtConeDR04: Endcap ", etBin, etMin, 50.);
1303  //
1304  histname = "hcalTowerBcSumEtConeDR04";
1305  if (!isRunCentrally_)
1307  iBooker.book1D(histname + "All", "hcalTowerBcSumEtConeDR04: All Ecal", etBin, etMin, 50.);
1309  iBooker.book1D(histname + "Barrel", "hcalTowerBcSumEtConeDR04: Barrel ", etBin, etMin, 50.);
1311  iBooker.book1D(histname + "Endcap", "hcalTowerBcSumEtConeDR04: Endcap ", etBin, etMin, 50.);
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);
2036  iBooker.book1D(histname + "Barrel_1", "dR(pho,cand) Neutral Hadrons : Barrel |eta| <=1", etBin, etMin, 0.7);
2038  iBooker.book1D(histname + "Barrel_2", "dR(pho,cand) Neutral Hadrons : Barrel |eta | > 1", etBin, etMin, 0.7);
2039  histname = "dRPhoPFcand_Pho_Cleaned";
2041  iBooker.book1D(histname + "All", "dR(pho,cand) Photons : All Ecal", etBin, etMin, 0.7);
2043  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons : Barrel", etBin, etMin, 0.7);
2045  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons : Endcap", etBin, etMin, 0.7);
2046 
2047  //
2048  histname = "SumPtOverPhoPt_ChHad_unCleaned";
2050  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Charged Hadrons : All Ecal", etBin, etMin, 2.);
2052  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Charged Hadrons: Barrel", etBin, etMin, 2.);
2054  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Charged Hadrons: Endcap", etBin, etMin, 2.);
2055  histname = "SumPtOverPhoPt_NeuHad_unCleaned";
2057  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Neutral Hadrons : All Ecal", etBin, etMin, 2.);
2059  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Barrel", etBin, etMin, 2.);
2061  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Endcap", etBin, etMin, 2.);
2062  histname = "SumPtOverPhoPt_Pho_unCleaned";
2064  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Photons: All Ecal", etBin, etMin, 2.);
2066  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Photons: Barrel", etBin, etMin, 2.);
2068  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Photons: Endcap", etBin, etMin, 2.);
2069  histname = "dRPhoPFcand_ChHad_unCleaned";
2071  iBooker.book1D(histname + "All", "dR(pho,cand) Charged Hadrons : All Ecal", etBin, etMin, 0.7);
2073  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Charged Hadrons : Barrel", etBin, etMin, 0.7);
2075  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Charged Hadrons : Endcap", etBin, etMin, 0.7);
2076 
2077  histname = "dRPhoPFcand_NeuHad_unCleaned";
2079  iBooker.book1D(histname + "All", "dR(pho,cand) Neutral Hadrons : All Ecal", etBin, etMin, 0.7);
2081  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Neutral Hadrons : Barrel", etBin, etMin, 0.7);
2083  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Neutral Hadrons : Endcap", etBin, etMin, 0.7);
2085  iBooker.book1D(histname + "Barrel_1", "dR(pho,cand) Neutral Hadrons : Barrel |eta| <=1 ", etBin, etMin, 0.7);
2087  iBooker.book1D(histname + "Barrel_2", "dR(pho,cand) Neutral Hadrons : Barrel |eta| > 1", etBin, etMin, 0.7);
2088 
2089  histname = "dRPhoPFcand_Pho_unCleaned";
2091  iBooker.book1D(histname + "All", "dR(pho,cand) Photons: All Ecal", etBin, etMin, 0.7);
2093  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons: Barrel", etBin, etMin, 0.7);
2095  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons: Endcap", etBin, etMin, 0.7);
2096 
2097  // if ( ! isRunCentrally_ ) {
2098  // Photon pair invariant mass
2099  histname = "gamgamMass";
2100  h_gamgamMass_[0][0] =
2101  iBooker.book1D(histname + "All", "2 photons invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2102  h_gamgamMass_[0][1] =
2103  iBooker.book1D(histname + "Barrel", "2 photons invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2104  h_gamgamMass_[0][2] =
2105  iBooker.book1D(histname + "Endcap", "2 photons invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2106  //
2107  histname = "gamgamMassNoConv";
2108  h_gamgamMass_[1][0] = iBooker.book1D(
2109  histname + "All", "2 photons with no conversion invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2110  h_gamgamMass_[1][1] = iBooker.book1D(
2111  histname + "Barrel", "2 photons with no conversion invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2112  h_gamgamMass_[1][2] = iBooker.book1D(
2113  histname + "Endcap", "2 photons with no conversion invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2114  //
2115  histname = "gamgamMassConv";
2116  h_gamgamMass_[2][0] = iBooker.book1D(
2117  histname + "All", "2 photons with conversion invariant mass: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2118  h_gamgamMass_[2][1] = iBooker.book1D(
2119  histname + "Barrel", "2 photons with conversion invariant mass: Barrel ", ggMassBin, ggMassMin, ggMassMax);
2120  h_gamgamMass_[2][2] = iBooker.book1D(
2121  histname + "Endcap", "2 photons with conversion invariant mass: Endcap ", ggMassBin, ggMassMin, ggMassMax);
2122  // with energy regression1
2123  histname = "gamgamMassRegr1";
2124  h_gamgamMassRegr1_[0][0] =
2125  iBooker.book1D(histname + "All", "2 photons invariant mass Regr1 : All ecal ", ggMassBin, ggMassMin, ggMassMax);
2126  h_gamgamMassRegr1_[0][1] =
2127  iBooker.book1D(histname + "Barrel", "2 photons invariant mass Regr1 : Barrel ", ggMassBin, ggMassMin, ggMassMax);
2128  h_gamgamMassRegr1_[0][2] =
2129  iBooker.book1D(histname + "Endcap", "2 photons invariant mass Regr1 : Endcap ", ggMassBin, ggMassMin, ggMassMax);
2130  //
2131  histname = "gamgamMassRegr1NoConv";
2132  h_gamgamMassRegr1_[1][0] = iBooker.book1D(
2133  histname + "All", "2 photons with no conversion invariant mass Regr1: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2134  h_gamgamMassRegr1_[1][1] = iBooker.book1D(histname + "Barrel",
2135  "2 photons with no conversion invariant mass Regr1: Barrel ",
2136  ggMassBin,
2137  ggMassMin,
2138  ggMassMax);
2139  h_gamgamMassRegr1_[1][2] = iBooker.book1D(histname + "Endcap",
2140  "2 photons with no conversion invariant mass Regr1: Endcap ",
2141  ggMassBin,
2142  ggMassMin,
2143  ggMassMax);
2144  //
2145  histname = "gamgamMassRegr1Conv";
2146  h_gamgamMassRegr1_[2][0] = iBooker.book1D(
2147  histname + "All", "2 photons with conversion invariant mass Regr1: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2148  h_gamgamMassRegr1_[2][1] = iBooker.book1D(histname + "Barrel",
2149  "2 photons with conversion invariant mass Regr1: Barrel ",
2150  ggMassBin,
2151  ggMassMin,
2152  ggMassMax);
2153  h_gamgamMassRegr1_[2][2] = iBooker.book1D(histname + "Endcap",
2154  "2 photons with conversion invariant mass Regr1: Endcap ",
2155  ggMassBin,
2156  ggMassMin,
2157  ggMassMax);
2158  // with energy regression2
2159  histname = "gamgamMassRegr2";
2160  h_gamgamMassRegr2_[0][0] =
2161  iBooker.book1D(histname + "All", "2 photons invariant mass Regr2 : All ecal ", ggMassBin, ggMassMin, ggMassMax);
2162  h_gamgamMassRegr2_[0][1] =
2163  iBooker.book1D(histname + "Barrel", "2 photons invariant mass Regr2 : Barrel ", ggMassBin, ggMassMin, ggMassMax);
2164  h_gamgamMassRegr2_[0][2] =
2165  iBooker.book1D(histname + "Endcap", "2 photons invariant mass Regr2 : Endcap ", ggMassBin, ggMassMin, ggMassMax);
2166  //
2167  histname = "gamgamMassRegr2NoConv";
2168  h_gamgamMassRegr2_[1][0] = iBooker.book1D(
2169  histname + "All", "2 photons with no conversion invariant mass Regr2: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2170  h_gamgamMassRegr2_[1][1] = iBooker.book1D(histname + "Barrel",
2171  "2 photons with no conversion invariant mass Regr2: Barrel ",
2172  ggMassBin,
2173  ggMassMin,
2174  ggMassMax);
2175  h_gamgamMassRegr2_[1][2] = iBooker.book1D(histname + "Endcap",
2176  "2 photons with no conversion invariant mass Regr2: Endcap ",
2177  ggMassBin,
2178  ggMassMin,
2179  ggMassMax);
2180  //
2181  histname = "gamgamMassRegr2Conv";
2182  h_gamgamMassRegr2_[2][0] = iBooker.book1D(
2183  histname + "All", "2 photons with conversion invariant mass Regr2: All ecal ", ggMassBin, ggMassMin, ggMassMax);
2184  h_gamgamMassRegr2_[2][1] = iBooker.book1D(histname + "Barrel",
2185  "2 photons with conversion invariant mass Regr2: Barrel ",
2186  ggMassBin,
2187  ggMassMin,
2188  ggMassMax);
2189  h_gamgamMassRegr2_[2][2] = iBooker.book1D(histname + "Endcap",
2190  "2 photons with conversion invariant mass Regr2: Endcap ",
2191  ggMassBin,
2192  ggMassMin,
2193  ggMassMax);
2194 
2195  //}
2196 
2198 
2199  h_scEta_miniAOD_[0] = iBooker.book1D("scEta_miniAOD", " SC Eta ", etaBin, etaMin, etaMax);
2200  h_scPhi_miniAOD_[0] = iBooker.book1D("scPhi_miniAOD", " SC Phi ", phiBin, phiMin, phiMax);
2201  histname = "phoE";
2202  h_phoE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " Photon Energy: All ecal ", eBin, eMin, eMax);
2203  h_phoE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " Photon Energy: barrel ", eBin, eMin, eMax);
2204  h_phoE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " Photon Energy: Endcap ", eBin, eMin, eMax);
2205 
2206  histname = "phoEt";
2207  h_phoEt_miniAOD_[0][0] =
2208  iBooker.book1D(histname + "All_miniAOD", " Photon Transverse Energy: All ecal ", etBin, etMin, etMax);
2209  h_phoEt_miniAOD_[0][1] =
2210  iBooker.book1D(histname + "Barrel_miniAOD", " Photon Transverse Energy: Barrel ", etBin, etMin, etMax);
2211  h_phoEt_miniAOD_[0][2] =
2212  iBooker.book1D(histname + "Endcap_miniAOD", " Photon Transverse Energy: Endcap ", etBin, etMin, etMax);
2213 
2214  histname = "eRes";
2215  h_phoERes_miniAOD_[0][0] = iBooker.book1D(
2216  histname + "All_miniAOD", " Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
2217  h_phoERes_miniAOD_[0][1] = iBooker.book1D(
2218  histname + "Barrel_miniAOD", "Photon E/E_{true}: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
2219  h_phoERes_miniAOD_[0][2] = iBooker.book1D(
2220  histname + "Endcap_miniAOD", " Photon E/E_{true}: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
2221 
2222  histname = "sigmaEoE";
2223  h_phoSigmaEoE_miniAOD_[0][0] =
2224  iBooker.book1D(histname + "All_miniAOD", "#sigma_{E}/E: All ecal; #sigma_{E}/E", 100, 0., 0.08);
2225  h_phoSigmaEoE_miniAOD_[0][1] =
2226  iBooker.book1D(histname + "Barrel_miniAOD", "#sigma_{E}/E: Barrel; #sigma_{E}/E", 100, 0., 0.08);
2227  h_phoSigmaEoE_miniAOD_[0][2] =
2228  iBooker.book1D(histname + "Endcap_miniAOD", "#sigma_{E}/E: Endcap, #sigma_{E}/E", 100, 0., 0.08);
2229 
2230  histname = "r9";
2231  h_r9_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
2232  h_r9_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
2233  h_r9_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
2234  histname = "full5x5_r9";
2235  h_full5x5_r9_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
2236  h_full5x5_r9_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
2237  h_full5x5_r9_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
2238  histname = "r1";
2239  h_r1_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e1x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
2240  h_r1_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e1x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
2241  h_r1_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e1x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
2242  histname = "r2";
2243  h_r2_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e2x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
2244  h_r2_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e2x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
2245  h_r2_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e2x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
2246  histname = "hOverE";
2247  h_hOverE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "H/E: All Ecal", 100, 0., 0.2);
2248  h_hOverE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "H/E: Barrel ", 100, 0., 0.2);
2249  h_hOverE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "H/E: Endcap ", 100, 0., 0.2);
2250  //
2251  histname = "newhOverE";
2252  h_newhOverE_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "new H/E: All Ecal", 100, 0., 0.2);
2253  h_newhOverE_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "new H/E: Barrel ", 100, 0., 0.2);
2254  h_newhOverE_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "new H/E: Endcap ", 100, 0., 0.2);
2255  //
2256  histname = "sigmaIetaIeta";
2257  h_sigmaIetaIeta_miniAOD_[0][0] = iBooker.book1D(histname + "All_miniAOD", "sigmaIetaIeta: All Ecal", 100, 0., 0.1);
2258  h_sigmaIetaIeta_miniAOD_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "sigmaIetaIeta: Barrel ", 100, 0., 0.05);
2259  h_sigmaIetaIeta_miniAOD_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "sigmaIetaIeta: Endcap ", 100, 0., 0.1);
2260  histname = "full5x5_sigmaIetaIeta";
2262  iBooker.book1D(histname + "All_miniAOD", "Full5x5 sigmaIetaIeta: All Ecal", 100, 0., 0.1);
2264  iBooker.book1D(histname + "Barrel_miniAOD", "Full5x5 sigmaIetaIeta: Barrel ", 100, 0., 0.05);
2266  iBooker.book1D(histname + "Endcap_miniAOD", "Full5x5 sigmaIetaIeta: Endcap ", 100, 0., 0.1);
2267  //
2268  histname = "ecalRecHitSumEtConeDR04";
2270  iBooker.book1D(histname + "All_miniAOD", "ecalRecHitSumEtDR04: All Ecal", etBin, etMin, 50.);
2272  iBooker.book1D(histname + "Barrel_miniAOD", "ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 50.);
2274  iBooker.book1D(histname + "Endcap_miniAOD", "ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 50.);
2275  histname = "hcalTowerSumEtConeDR04";
2277  iBooker.book1D(histname + "All_miniAOD", "hcalTowerSumEtConeDR04: All Ecal", etBin, etMin, 50.);
2279  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerSumEtConeDR04: Barrel ", etBin, etMin, 50.);
2281  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerSumEtConeDR04: Endcap ", etBin, etMin, 50.);
2282  //
2283  histname = "hcalTowerBcSumEtConeDR04";
2285  iBooker.book1D(histname + "All_miniAOD", "hcalTowerBcSumEtConeDR04: All Ecal", etBin, etMin, 50.);
2287  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerBcSumEtConeDR04: Barrel ", etBin, etMin, 50.);
2289  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerBcSumEtConeDR04: Endcap ", etBin, etMin, 50.);
2290  histname = "isoTrkSolidConeDR04";
2292  iBooker.book1D(histname + "All_miniAOD", "isoTrkSolidConeDR04: All Ecal", etBin, etMin, etMax * 0.1);
2294  iBooker.book1D(histname + "Barrel_miniAOD", "isoTrkSolidConeDR04: Barrel ", etBin, etMin, etMax * 0.1);
2296  iBooker.book1D(histname + "Endcap_miniAOD", "isoTrkSolidConeDR04: Endcap ", etBin, etMin, etMax * 0.1);
2297  histname = "nTrkSolidConeDR04";
2299  iBooker.book1D(histname + "All_miniAOD", "nTrkSolidConeDR04: All Ecal", 20, 0., 20);
2301  iBooker.book1D(histname + "Barrel_miniAOD", "nTrkSolidConeDR04: Barrel ", 20, 0., 20);
2303  iBooker.book1D(histname + "Endcap_miniAOD", "nTrkSolidConeDR04: Endcap ", 20, 0., 20);
2304 
2305  // Infos from Particle Flow - isolation and ID
2306  histname = "chargedHadIso";
2307  h_chHadIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF chargedHadIso: All Ecal", etBin, etMin, 20.);
2308  h_chHadIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF chargedHadIso: Barrel", etBin, etMin, 20.);
2309  h_chHadIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF chargedHadIso: Endcap", etBin, etMin, 20.);
2310  histname = "neutralHadIso";
2311  h_nHadIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF neutralHadIso: All Ecal", etBin, etMin, 20.);
2312  h_nHadIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF neutralHadIso: Barrel", etBin, etMin, 20.);
2313  h_nHadIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF neutralHadIso: Endcap", etBin, etMin, 20.);
2314  histname = "photonIso";
2315  h_phoIso_miniAOD_[0] = iBooker.book1D(histname + "All_miniAOD", "PF photonIso: All Ecal", etBin, etMin, 20.);
2316  h_phoIso_miniAOD_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF photonIso: Barrel", etBin, etMin, 20.);
2317  h_phoIso_miniAOD_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF photonIso: Endcap", etBin, etMin, 20.);
2318 
2319  iBooker.setCurrentFolder("EgammaV/" + fName_ + "/ConversionInfo");
2320 
2321  histname = "nConv";
2322  h_nConv_[0][0] = iBooker.book1D(histname + "All",
2323  "Number Of two-tracks Conversions per isolated candidates per events: All Ecal ",
2324  10,
2325  -0.5,
2326  9.5);
2327  h_nConv_[0][1] = iBooker.book1D(histname + "Barrel",
2328  "Number Of two-tracks Conversions per isolated candidates per events: Ecal Barrel ",
2329  10,
2330  -0.5,
2331  9.5);
2332  h_nConv_[0][2] = iBooker.book1D(histname + "Endcap",
2333  "Number Of two-tracks Conversions per isolated candidates per events: Ecal Endcap ",
2334  10,
2335  -0.5,
2336  9.5);
2337  h_nConv_[1][0] = iBooker.book1D(histname + "OneLegAll",
2338  "Number Of single leg Conversions per isolated candidates per events: All Ecal ",
2339  10,
2340  -0.5,
2341  9.5);
2342  h_nConv_[1][1] = iBooker.book1D(histname + "OneLegBarrel",
2343  "Number Of single leg Conversions per isolated candidates per events: Ecal Barrel ",
2344  10,
2345  -0.5,
2346  9.5);
2347  h_nConv_[1][2] = iBooker.book1D(histname + "OneLegEndcap",
2348  "Number Of single leg Conversions per isolated candidates per events: Ecal Endcap ",
2349  10,
2350  -0.5,
2351  9.5);
2352 
2353  h_convEta_[0] = iBooker.book1D("convEta1", " converted Photon Eta >1 track", etaBin, etaMin, etaMax);
2354  h_convEta_[1] = iBooker.book1D("convEta2", " converted Photon Eta =2 tracks ", etaBin, etaMin, etaMax);
2355  h_convEta_[2] = iBooker.book1D("convEta2ass", " converted Photon Eta =2 tracks, both ass ", etaBin, etaMin, etaMax);
2356  h_convPhi_[0] = iBooker.book1D("convPhi", " converted Photon Phi ", phiBin, phiMin, phiMax);
2357 
2358  histname = "convERes";
2359  h_convERes_[0][0] =
2360  iBooker.book1D(histname + "All", " Conversion rec/true Energy: All ecal ", resBin, resMin, resMax);
2361  h_convERes_[0][1] =
2362  iBooker.book1D(histname + "Barrel", " Conversion rec/true Energy: Barrel ", resBin, resMin, resMax);
2363  h_convERes_[0][2] =
2364  iBooker.book1D(histname + "Endcap", " Conversion rec/true Energy: Endcap ", resBin, resMin, resMax);
2365 
2366  histname = "p_EResVsR";
2367  p_eResVsR_ = iBooker.bookProfile(
2368  histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 1.5, "");
2369 
2370  histname = "convPtRes";
2371  h_convPtRes_[1][0] =
2372  iBooker.book1D(histname + "All", " Conversion Pt rec/true from tracks : All ecal ", resBin, 0., 1.5);
2373  h_convPtRes_[1][1] =
2374  iBooker.book1D(histname + "Barrel", " Conversion Pt rec/true from tracks: Barrel ", resBin, 0., 1.5);
2375  h_convPtRes_[1][2] =
2376  iBooker.book1D(histname + "Endcap", " Conversion Pt rec/true from tracks: Endcap ", resBin, 0., 1.5);
2377 
2378  if (!isRunCentrally_) {
2379  histname = "r9VsTracks";
2380  h_r9VsNofTracks_[0][0] = iBooker.book2D(
2381  histname + "All", " photons r9 vs nTracks from conversions: All Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2382  h_r9VsNofTracks_[0][1] = iBooker.book2D(
2383  histname + "Barrel", " photons r9 vs nTracks from conversions: Barrel Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2384  h_r9VsNofTracks_[0][2] = iBooker.book2D(
2385  histname + "Endcap", " photons r9 vs nTracks from conversions: Endcap Ecal", r9Bin, r9Min, r9Max, 3, -0.5, 2.5);
2386  }
2387 
2388  histname = "mvaOut";
2389  h_mvaOut_[0] = iBooker.book1D(histname + "All", " mvaOut for all conversions : All Ecal", 100, 0., 1.);
2390  h_mvaOut_[1] = iBooker.book1D(histname + "Barrel", " mvaOut for all conversions : Barrel Ecal", 100, 0., 1.);
2391  h_mvaOut_[2] = iBooker.book1D(histname + "Endcap", " mvaOut for all conversions : Endcap Ecal", 100, 0., 1.);
2392 
2393  histname = "EoverPtracks";
2394  h_EoverPTracks_[0][0] =
2395  iBooker.book1D(histname + "BarrelPix", " photons conversion E/p: barrel pix", eoverpBin, eoverpMin, eoverpMax);
2396  h_EoverPTracks_[0][1] =
2397  iBooker.book1D(histname + "BarrelTib", " photons conversion E/p: barrel tib", eoverpBin, eoverpMin, eoverpMax);
2398  h_EoverPTracks_[0][2] =
2399  iBooker.book1D(histname + "BarrelTob", " photons conversion E/p: barrel tob ", eoverpBin, eoverpMin, eoverpMax);
2400 
2401  h_EoverPTracks_[1][0] = iBooker.book1D(histname + "All", " photons conversion E/p: all Ecal ", 100, 0., 5.);
2402  h_EoverPTracks_[1][1] = iBooker.book1D(histname + "Barrel", " photons conversion E/p: Barrel Ecal", 100, 0., 5.);
2403  h_EoverPTracks_[1][2] = iBooker.book1D(histname + "Endcap", " photons conversion E/p: Endcap Ecal ", 100, 0., 5.);
2404  histname = "EoverP_SL";
2405  h_EoverP_SL_[0] = iBooker.book1D(histname + "All", " photons single leg conversion E/p: all Ecal ", 100, 0., 5.);
2406  h_EoverP_SL_[1] = iBooker.book1D(histname + "Barrel", " photons single leg conversion E/p: Barrel Ecal", 100, 0., 5.);
2407  h_EoverP_SL_[2] =
2408  iBooker.book1D(histname + "Endcap", " photons single leg conversion E/p: Endcap Ecal ", 100, 0., 5.);
2409 
2410  histname = "PoverEtracks";
2411  h_PoverETracks_[1][0] =
2412  iBooker.book1D(histname + "All", " photons conversion p/E: all Ecal ", povereBin, povereMin, povereMax);
2413  h_PoverETracks_[1][1] =
2414  iBooker.book1D(histname + "Barrel", " photons conversion p/E: Barrel Ecal", povereBin, povereMin, povereMax);
2415  h_PoverETracks_[1][2] =
2416  iBooker.book1D(histname + "Endcap", " photons conversion p/E: Endcap Ecal ", povereBin, povereMin, povereMax);
2417 
2418  histname = "pEoverEtrueVsEta";
2419  p_EoverEtrueVsEta_[0] =
2420  iBooker.bookProfile(histname + "All",
2421  " photons conversion with 2 (associated) reco tracks E/Etrue vs #eta: all Ecal ",
2422  etaBin2,
2423  etaMin,
2424  etaMax,
2425  100,
2426  0.,
2427  2.5,
2428  "");
2429 
2430  histname = "pEoverEtrueVsR";
2431  p_EoverEtrueVsR_[0] = iBooker.bookProfile(
2432  histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 2.5, "");
2433 
2434  histname = "pEoverEtrueVsEta";
2435  p_EoverEtrueVsEta_[1] = iBooker.bookProfile(histname + "All2",
2436  " photons conversion 2 reco tracks E/Etrue vs #eta: all Ecal ",
2437  etaBin2,
2438  etaMin,
2439  etaMax,
2440  100,
2441  0.,
2442  2.5,
2443  "");
2444 
2445  histname = "pPoverPtrueVsEta";
2446  p_PoverPtrueVsEta_[0] = iBooker.bookProfile(
2447  histname + "All", " photons conversion P/Ptrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5., "");
2448 
2449  histname = "pEoverPVsEta";
2450  p_EoverPVsEta_[0] = iBooker.bookProfile(
2451  histname + "All", " photons conversion E/P vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5., "");
2452 
2453  if (!isRunCentrally_) {
2454  histname = "EoverEtrueVsEoverP";
2456  iBooker.book2D(histname + "All", " photons conversion E/Etrue vs E/P: all Ecal ", 100, 0., 5., 100, 0.5, 1.5);
2457  h2_EoverEtrueVsEoverP_[1] = iBooker.book2D(
2458  histname + "Barrel", " photons conversion E/Etrue vs E/: Barrel Ecal", 100, 0., 5., 100, 0.5, 1.5);
2459  h2_EoverEtrueVsEoverP_[2] = iBooker.book2D(
2460  histname + "Endcap", " photons conversion E/Etrue vs E/: Endcap Ecal ", 100, 0., 5., 100, 0.5, 1.5);
2461  histname = "PoverPtrueVsEoverP";
2463  iBooker.book2D(histname + "All", " photons conversion P/Ptrue vs E/P: all Ecal ", 100, 0., 5., 100, 0., 2.5);
2464  h2_PoverPtrueVsEoverP_[1] = iBooker.book2D(
2465  histname + "Barrel", " photons conversion P/Ptrue vs E/: Barrel Ecal", 100, 0., 5., 100, 0., 2.5);
2466  h2_PoverPtrueVsEoverP_[2] = iBooker.book2D(
2467  histname + "Endcap", " photons conversion P/Ptrue vs E/: Endcap Ecal ", 100, 0., 5., 100, 0., 2.5);
2468 
2469  histname = "EoverEtrueVsEta";
2470  h2_EoverEtrueVsEta_[0] =
2471  iBooker.book2D(histname + "All",
2472  " photons conversion with 2 (associated) reco tracks E/Etrue vs #eta: all Ecal ",
2473  etaBin2,
2474  etaMin,
2475  etaMax,
2476  100,
2477  0.,
2478  2.5);
2479 
2480  histname = "EoverEtrueVsEta";
2481  h2_EoverEtrueVsEta_[1] = iBooker.book2D(histname + "All2",
2482  " photons conversion 2 reco tracks E/Etrue vs #eta: all Ecal ",
2483  etaBin2,
2484  etaMin,
2485  etaMax,
2486  100,
2487  0.,
2488  2.5);
2489 
2490  histname = "EoverEtrueVsR";
2491  h2_EoverEtrueVsR_[0] =
2492  iBooker.book2D(histname + "All", " photons conversion E/Etrue vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 2.5);
2493 
2494  histname = "PoverPtrueVsEta";
2495  h2_PoverPtrueVsEta_[0] = iBooker.book2D(
2496  histname + "All", " photons conversion P/Ptrue vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5.);
2497 
2498  histname = "EoverPVsEta";
2499  h2_EoverPVsEta_[0] = iBooker.book2D(
2500  histname + "All", " photons conversion E/P vs #eta: all Ecal ", etaBin2, etaMin, etaMax, 100, 0., 5.);
2501 
2502  histname = "EoverPVsR";
2503  h2_EoverPVsR_[0] =
2504  iBooker.book2D(histname + "All", " photons conversion E/P vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 5.);
2505 
2506  histname = "etaVsRsim";
2507  h2_etaVsRsim_[0] = iBooker.book2D(histname + "All",
2508  " eta(sim) vs R (sim) for associated conversions: all Ecal ",
2509  etaBin,
2510  etaMin,
2511  etaMax,
2512  rBin,
2513  rMin,
2514  rMax);
2515  histname = "etaVsRreco";
2516  h2_etaVsRreco_[0] = iBooker.book2D(histname + "All",
2517  " eta(reco) vs R (reco) for associated conversions: all Ecal ",
2518  etaBin,
2519  etaMin,
2520  etaMax,
2521  rBin,
2522  rMin,
2523  rMax);
2524  }
2525 
2526  histname = "pEoverPVsR";
2527  p_EoverPVsR_[0] = iBooker.bookProfile(
2528  histname + "All", " photons conversion E/P vs R: all Ecal ", rBin, rMin, rMax, 100, 0., 5., "");
2529 
2530  histname = "hInvMass";
2531  h_invMass_[0][0] = iBooker.book1D(
2532  histname + "All_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
2533  h_invMass_[0][1] = iBooker.book1D(
2534  histname + "Barrel_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ", 100, 0., 1.5);
2535  h_invMass_[0][2] = iBooker.book1D(
2536  histname + "Endcap_AllTracks", " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ", 100, 0., 1.5);
2537  histname = "hInvMass";
2538  h_invMass_[1][0] = iBooker.book1D(
2539  histname + "All_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
2540  h_invMass_[1][1] = iBooker.book1D(
2541  histname + "Barrel_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ", 100, 0., 1.5);
2542  h_invMass_[1][2] = iBooker.book1D(
2543  histname + "Endcap_AssTracks", " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ", 100, 0., 1.5);
2544 
2545  histname = "hDPhiTracksAtVtx";
2546  h_DPhiTracksAtVtx_[1][0] = iBooker.book1D(histname + "All",
2547  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
2548  dPhiTracksBin,
2549  dPhiTracksMin,
2550  dPhiTracksMax);
2551  h_DPhiTracksAtVtx_[1][1] =
2552  iBooker.book1D(histname + "Barrel",
2553  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
2554  dPhiTracksBin,
2555  dPhiTracksMin,
2556  dPhiTracksMax);
2557  h_DPhiTracksAtVtx_[1][2] =
2558  iBooker.book1D(histname + "Endcap",
2559  " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
2560  dPhiTracksBin,
2561  dPhiTracksMin,
2562  dPhiTracksMax);
2563 
2564  if (!isRunCentrally_) {
2565  histname = "hDPhiTracksAtVtxVsEta";
2566  h2_DPhiTracksAtVtxVsEta_ = iBooker.book2D(histname + "All",
2567  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta",
2568  etaBin2,
2569  etaMin,
2570  etaMax,
2571  100,
2572  -0.5,
2573  0.5);
2574 
2575  histname = "hDPhiTracksAtVtxVsR";
2576  h2_DPhiTracksAtVtxVsR_ = iBooker.book2D(histname + "All",
2577  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R",
2578  rBin,
2579  rMin,
2580  rMax,
2581  100,
2582  -0.5,
2583  0.5);
2584 
2585  histname = "hDCotTracksVsEta";
2586  h2_DCotTracksVsEta_ = iBooker.book2D(histname + "All",
2587  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta",
2588  etaBin2,
2589  etaMin,
2590  etaMax,
2591  100,
2592  -0.2,
2593  0.2);
2594 
2595  histname = "hDCotTracksVsR";
2596  h2_DCotTracksVsR_ = iBooker.book2D(histname + "All",
2597  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R",
2598  rBin,
2599  rMin,
2600  rMax,
2601  100,
2602  -0.2,
2603  0.2);
2604 
2605  histname = "h2_DPhiTracksAtEcalVsR";
2606  if (fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
2607  h2_DPhiTracksAtEcalVsR_ = iBooker.book2D(histname + "All",
2608  " Photons:Tracks from conversions: #delta#phi at Ecal vs R : all Ecal ",
2609  rBin,
2610  rMin,
2611  rMax,
2612  dPhiTracksBin,
2613  0.,
2614  dPhiTracksMax);
2615 
2616  histname = "h2_DPhiTracksAtEcalVsEta";
2617  if (fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator")
2619  iBooker.book2D(histname + "All",
2620  " Photons:Tracks from conversions: #delta#phi at Ecal vs #eta : all Ecal ",
2621  etaBin2,
2622  etaMin,
2623  etaMax,
2624  dPhiTracksBin,
2625  0.,
2626  dPhiTracksMax);
2627  }
2628 
2629  histname = "pDPhiTracksAtVtxVsEta";
2631  iBooker.bookProfile(histname + "All",
2632  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta ",
2633  etaBin2,
2634  etaMin,
2635  etaMax,
2636  100,
2637  -0.5,
2638  0.5,
2639  "");
2640 
2641  histname = "pDPhiTracksAtVtxVsR";
2642  p_DPhiTracksAtVtxVsR_ = iBooker.bookProfile(histname + "All",
2643  " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R ",
2644  rBin,
2645  rMin,
2646  rMax,
2647  100,
2648  -0.5,
2649  0.5,
2650  "");
2651 
2652  histname = "hDCotTracks";
2653  h_DCotTracks_[1][0] = iBooker.book1D(histname + "All",
2654  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
2655  dCotTracksBin,
2656  dCotTracksMin,
2657  dCotTracksMax);
2658  h_DCotTracks_[1][1] = iBooker.book1D(histname + "Barrel",
2659  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
2660  dCotTracksBin,
2661  dCotTracksMin,
2662  dCotTracksMax);
2663  h_DCotTracks_[1][2] = iBooker.book1D(histname + "Endcap",
2664  " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
2665  dCotTracksBin,
2666  dCotTracksMin,
2667  dCotTracksMax);
2668 
2669  histname = "pDCotTracksVsEta";
2670  p_DCotTracksVsEta_ = iBooker.bookProfile(histname + "All",
2671  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta ",
2672  etaBin2,
2673  etaMin,
2674  etaMax,
2675  100,
2676  -0.2,
2677  0.2,
2678  "");
2679 
2680  histname = "pDCotTracksVsR";
2682  iBooker.bookProfile(histname + "All",
2683  " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R ",
2684  rBin,
2685  rMin,
2686  rMax,
2687  100,
2688  -0.2,
2689  0.2,
2690  "");
2691 
2692  histname = "hDistMinAppTracks";
2693  h_distMinAppTracks_[1][0] = iBooker.book1D(histname + "All",
2694  " Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ",
2695  dEtaTracksBin,
2696  -0.1,
2697  0.6);
2698  h_distMinAppTracks_[1][1] = iBooker.book1D(histname + "Barrel",
2699  " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
2700  dEtaTracksBin,
2701  -0.1,
2702  0.6);
2703  h_distMinAppTracks_[1][2] = iBooker.book1D(histname + "Endcap",
2704  " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
2705  dEtaTracksBin,
2706  -0.1,
2707  0.6);
2708 
2709  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator" ) {
2710  histname = "hDPhiTracksAtEcal";
2711  h_DPhiTracksAtEcal_[1][0] = iBooker.book1D(histname + "All",
2712  " Photons:Tracks from conversions: #delta#phi at Ecal : all Ecal ",
2713  dPhiTracksBin,
2714  0.,
2715  dPhiTracksMax);
2716  h_DPhiTracksAtEcal_[1][1] = iBooker.book1D(histname + "Barrel",
2717  " Photons:Tracks from conversions: #delta#phi at Ecal : Barrel Ecal ",
2718  dPhiTracksBin,
2719  0.,
2720  dPhiTracksMax);
2721  h_DPhiTracksAtEcal_[1][2] = iBooker.book1D(histname + "Endcap",
2722  " Photons:Tracks from conversions: #delta#phi at Ecal : Endcap Ecal ",
2723  dPhiTracksBin,
2724  0.,
2725  dPhiTracksMax);
2726 
2727  histname = "pDPhiTracksAtEcalVsR";
2728  p_DPhiTracksAtEcalVsR_ = iBooker.bookProfile(histname + "All",
2729  " Photons:Tracks from conversions: #delta#phi at Ecal vs R ",
2730  rBin,
2731  rMin,
2732  rMax,
2733  dPhiTracksBin,
2734  0.,
2735  dPhiTracksMax,
2736  "");
2737 
2738  histname = "pDPhiTracksAtEcalVsEta";
2739  p_DPhiTracksAtEcalVsEta_ = iBooker.bookProfile(histname + "All",
2740  " Photons:Tracks from conversions: #delta#phi at Ecal vs #eta ",
2741  etaBin2,
2742  etaMin,
2743  etaMax,
2744  dPhiTracksBin,
2745  0.,
2746  dPhiTracksMax,
2747  "");
2748 
2749  histname = "hDEtaTracksAtEcal";
2750  h_DEtaTracksAtEcal_[1][0] = iBooker.book1D(histname + "All",
2751  " Photons:Tracks from conversions: #delta#eta at Ecal : all Ecal ",
2752  dEtaTracksBin,
2753  dEtaTracksMin,
2754  dEtaTracksMax);
2755  h_DEtaTracksAtEcal_[1][1] = iBooker.book1D(histname + "Barrel",
2756  " Photons:Tracks from conversions: #delta#eta at Ecal : Barrel Ecal ",
2757  dEtaTracksBin,
2758  dEtaTracksMin,
2759  dEtaTracksMax);
2760  h_DEtaTracksAtEcal_[1][2] = iBooker.book1D(histname + "Endcap",
2761  " Photons:Tracks from conversions: #delta#eta at Ecal : Endcap Ecal ",
2762  dEtaTracksBin,
2763  dEtaTracksMin,
2764  dEtaTracksMax);
2765 
2766  // }
2767 
2768  h_convVtxRvsZ_[0] = iBooker.book2D("convVtxRvsZAll",
2769  " Photon Reco conversion vtx position",
2770  zBinForXray,
2771  zMinForXray,
2772  zMaxForXray,
2773  rBinForXray,
2774  rMinForXray,
2775  rMaxForXray);
2776  h_convVtxRvsZ_[1] = iBooker.book2D("convVtxRvsZBarrel",
2777  " Photon Reco conversion vtx position",
2778  zBinForXray,
2779  zMinForXray,
2780  zMaxForXray,
2781  rBinForXray,
2782  rMinForXray,
2783  rMaxForXray);
2784  h_convVtxRvsZ_[2] = iBooker.book2D("convVtxRvsZEndcap",
2785  " Photon Reco conversion vtx position",
2786  zBin2ForXray,
2787  zMinForXray,
2788  zMaxForXray,
2789  rBinForXray,
2790  rMinForXray,
2791  rMaxForXray);
2792  h_convVtxYvsX_ = iBooker.book2D(
2793  "convVtxYvsXTrkBarrel", " Photon Reco conversion vtx position, (x,y) eta<1 ", 100, -80., 80., 100, -80., 80.);
2794  //
2795  h_convSLVtxRvsZ_[0] = iBooker.book2D("convSLVtxRvsZAll",
2796  " Photon Reco single leg conversion innermost hit position",
2797  zBinForXray,
2798  zMinForXray,
2799  zMaxForXray,
2800  rBinForXray,
2801  rMinForXray,
2802  rMaxForXray);
2803  h_convSLVtxRvsZ_[1] = iBooker.book2D("convSLVtxRvsZBarrel",
2804  " Photon Reco single leg conversion innermost hit position",
2805  zBinForXray,
2806  zMinForXray,
2807  zMaxForXray,
2808  rBinForXray,
2809  rMinForXray,
2810  rMaxForXray);
2811  h_convSLVtxRvsZ_[2] = iBooker.book2D("convSLVtxRvsZEndcap",
2812  " Photon Reco single leg conversion innermost hit position",
2813  zBin2ForXray,
2814  zMinForXray,
2815  zMaxForXray,
2816  rBinForXray,
2817  rMinForXray,
2818  rMaxForXray);
2819 
2821  if (!isRunCentrally_) {
2822  h_convVtxRvsZ_zoom_[0] = iBooker.book2D("convVtxRvsZBarrelZoom1",
2823  " Photon Reco conversion vtx position",
2824  zBinForXray,
2825  zMinForXray,
2826  zMaxForXray,
2827  rBinForXray,
2828  -10.,
2829  40.);
2830  h_convVtxRvsZ_zoom_[1] = iBooker.book2D("convVtxRvsZBarrelZoom2",
2831  " Photon Reco conversion vtx position",
2832  zBinForXray,
2833  zMinForXray,
2834  zMaxForXray,
2835  rBinForXray,
2836  -10.,
2837  20.);
2838  h_convVtxYvsX_zoom_[0] = iBooker.book2D("convVtxYvsXTrkBarrelZoom1",
2839  " Photon Reco conversion vtx position, (x,y) eta<1 ",
2840  100,
2841  -40.,
2842  40.,
2843  100,
2844  -40.,
2845  40.);
2846  h_convVtxYvsX_zoom_[1] = iBooker.book2D("convVtxYvsXTrkBarrelZoom2",
2847  " Photon Reco conversion vtx position, (x,y) eta<1 ",
2848  100,
2849  -20.,
2850  20.,
2851  100,
2852  -20.,
2853  20.);
2854  }
2855 
2856  h_convVtxdX_ = iBooker.book1D("convVtxdX", " Photon Reco conversion vtx dX", 100, -20., 20.);
2857  h_convVtxdY_ = iBooker.book1D("convVtxdY", " Photon Reco conversion vtx dY", 100, -20., 20.);
2858  h_convVtxdZ_ = iBooker.book1D("convVtxdZ", " Photon Reco conversion vtx dZ", 100, -20., 20.);
2859  h_convVtxdR_ = iBooker.book1D("convVtxdR", " Photon Reco conversion vtx dR", 100, -20., 20.);
2860 
2862  iBooker.book1D("convVtxdX_barrel", " Photon Reco conversion vtx dX, |eta|<=1.2", 100, -20., 20.);
2864  iBooker.book1D("convVtxdY_barrel", " Photon Reco conversion vtx dY, |eta|<=1.2 ", 100, -20., 20.);
2866  iBooker.book1D("convVtxdZ_barrel", " Photon Reco conversion vtx dZ, |eta|<=1.2,", 100, -20., 20.);
2868  iBooker.book1D("convVtxdR_barrel", " Photon Reco conversion vtx dR, |eta|<=1.2", 100, -20., 20.);
2870  iBooker.book1D("convVtxdX_endcap", " Photon Reco conversion vtx dX, |eta|>1.2", 100, -20., 20.);
2872  iBooker.book1D("convVtxdY_endcap", " Photon Reco conversion vtx dY, |eta|>1.2", 100, -20., 20.);
2874  iBooker.book1D("convVtxdZ_endcap", " Photon Reco conversion vtx dZ, |eta|>1.2", 100, -20., 20.);
2876  iBooker.book1D("convVtxdR_endcap", " Photon Reco conversion vtx dR, |eta|>1.2 ", 100, -20., 20.);
2877 
2878  h_convVtxdPhi_ = iBooker.book1D("convVtxdPhi", " Photon Reco conversion vtx dPhi", 100, -0.005, 0.005);
2879  h_convVtxdEta_ = iBooker.book1D("convVtxdEta", " Photon Reco conversion vtx dEta", 100, -0.5, 0.5);
2880 
2881  if (!isRunCentrally_) {
2883  iBooker.book2D("h2ConvVtxdRVsR", "Photon Reco conversion vtx dR vsR", rBin, rMin, rMax, 100, -20., 20.);
2884  h2_convVtxdRVsEta_ = iBooker.book2D(
2885  "h2ConvVtxdRVsEta", "Photon Reco conversion vtx dR vs Eta", etaBin2, etaMin, etaMax, 100, -20., 20.);
2886  }
2887 
2888  p_convVtxdRVsR_ =
2889  iBooker.bookProfile("pConvVtxdRVsR", "Photon Reco conversion vtx dR vsR", rBin, rMin, rMax, 100, -20., 20., "");
2890  p_convVtxdRVsEta_ = iBooker.bookProfile(
2891  "pConvVtxdRVsEta", "Photon Reco conversion vtx dR vs Eta", etaBin2, etaMin, etaMax, 100, -20., 20., "");
2892  p_convVtxdXVsX_ = iBooker.bookProfile("pConvVtxdXVsX", "Conversion vtx dX vs X", 120, -60, 60, 100, -20., 20., "");
2893  p_convVtxdYVsY_ = iBooker.bookProfile("pConvVtxdYVsY", "Conversion vtx dY vs Y", 120, -60, 60, 100, -20., 20., "");
2894  p_convVtxdZVsZ_ =
2895  iBooker.bookProfile("pConvVtxdZVsZ", "Conversion vtx dZ vs Z", zBin, zMin, zMax, 100, -20., 20., "");
2896 
2897  if (!isRunCentrally_) {
2898  h2_convVtxRrecVsTrue_ = iBooker.book2D(
2899  "h2ConvVtxRrecVsTrue", "Photon Reco conversion vtx R rec vs true", rBin, rMin, rMax, rBin, rMin, rMax);
2900  }
2901 
2902  histname = "vtxChi2";
2903  h_vtxChi2_[0] = iBooker.book1D(histname + "All", "vertex #chi^{2} all", 100, chi2Min, chi2Max);
2904  h_vtxChi2_[1] = iBooker.book1D(histname + "Barrel", "vertex #chi^{2} barrel", 100, chi2Min, chi2Max);
2905  h_vtxChi2_[2] = iBooker.book1D(histname + "Endcap", "vertex #chi^{2} endcap", 100, chi2Min, chi2Max);
2906  histname = "vtxChi2Prob";
2907  h_vtxChi2Prob_[0] = iBooker.book1D(histname + "All", "vertex #chi^{2} all", 100, 0., 1.);
2908  h_vtxChi2Prob_[1] = iBooker.book1D(histname + "Barrel", "vertex #chi^{2} barrel", 100, 0., 1.);
2909  h_vtxChi2Prob_[2] = iBooker.book1D(histname + "Endcap", "vertex #chi^{2} endcap", 100, 0., 1.);
2910 
2911  histname = "zPVFromTracks";
2912  h_zPVFromTracks_[0] = iBooker.book1D(histname + "All", " Photons: PV z from conversion tracks", 100, -30., 30.);
2913  h_zPVFromTracks_[1] = iBooker.book1D(histname + "Barrel", " Photons: PV z from conversion tracks", 100, -30., 30.);
2914  h_zPVFromTracks_[2] = iBooker.book1D(histname + "Endcap", " Photons: PV z from conversion tracks", 100, -30., 30.);
2915  h_zPVFromTracks_[3] = iBooker.book1D(histname + "EndcapP", " Photons: PV z from conversion tracks", 100, -30., 30.);
2916  h_zPVFromTracks_[4] = iBooker.book1D(histname + "EndcapM", " Photons: PV z from conversion tracks", 100, -30., 30.);
2917  histname = "dzPVFromTracks";
2918  h_dzPVFromTracks_[0] =
2919  iBooker.book1D(histname + "All", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2920  h_dzPVFromTracks_[1] =
2921  iBooker.book1D(histname + "Barrel", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2922  h_dzPVFromTracks_[2] =
2923  iBooker.book1D(histname + "Endcap", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2924  h_dzPVFromTracks_[3] =
2925  iBooker.book1D(histname + "EndcapP", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2926  h_dzPVFromTracks_[4] =
2927  iBooker.book1D(histname + "EndcapM", " Photons: PV Z_rec - Z_true from conversion tracks", 100, -10., 10.);
2928  p_dzPVVsR_ =
2929  iBooker.bookProfile("pdzPVVsR", "Photon Reco conversions: dz(PV) vs R", rBin, rMin, rMax, 100, -3., 3., "");
2930  p_dzPVVsEta_ = iBooker.bookProfile(
2931  "pdzPVVsEta", "Photon Reco conversions: dz(PV) vs Eta", etaBin, etaMin, etaMax, 100, -3., 3., "");
2932 
2933  if (!isRunCentrally_) {
2934  h2_dzPVVsR_ = iBooker.book2D("h2dzPVVsR", "Photon Reco conversions: dz(PV) vs R", rBin, rMin, rMax, 100, -3., 3.);
2935  }
2936 
2938  if (!isRunCentrally_) {
2939  histname = "nHitsVsEta";
2940  nHitsVsEta_[0] = iBooker.book2D(histname + "AllTracks",
2941  "Photons:Tracks from conversions: # of hits vs #eta all tracks",
2942  etaBin,
2943  etaMin,
2944  etaMax,
2945  25,
2946  0.,
2947  25.);
2948 
2949  histname = "nHitsVsEta";
2950  nHitsVsEta_[1] = iBooker.book2D(histname + "AssTracks",
2951  "Photons:Tracks from conversions: # of hits vs #eta associated tracks",
2952  etaBin,
2953  etaMin,
2954  etaMax,
2955  25,
2956  0.,
2957  25.);
2958 
2959  histname = "nHitsVsR";
2960  nHitsVsR_[0] = iBooker.book2D(histname + "AllTracks",
2961  "Photons:Tracks from conversions: # of hits vs radius all tracks",
2962  rBin,
2963  rMin,
2964  rMax,
2965  25,
2966  0.,
2967  25);
2968 
2969  histname = "nHitsVsR";
2970  nHitsVsR_[1] = iBooker.book2D(histname + "AssTracks",
2971  "Photons:Tracks from conversions: # of hits vs radius associated tracks",
2972  rBin,
2973  rMin,
2974  rMax,
2975  25,
2976  0.,
2977  25);
2978 
2979  histname = "h2Chi2VsEta";
2980  h2_Chi2VsEta_[0] = iBooker.book2D(
2981  histname + "All", " Reco Track #chi^{2} vs #eta: All ", etaBin2, etaMin, etaMax, 100, chi2Min, chi2Max);
2982 
2983  histname = "h2Chi2VsR";
2984  h2_Chi2VsR_[0] =
2985  iBooker.book2D(histname + "All", " Reco Track #chi^{2} vs R: All ", rBin, rMin, rMax, 100, chi2Min, chi2Max);
2986  }
2987 
2988  histname = "h_nHitsVsEta";
2989  p_nHitsVsEta_[0] = iBooker.bookProfile(histname + "AllTracks",
2990  "Photons:Tracks from conversions: # of hits vs #eta all tracks",
2991  etaBin,
2992  etaMin,
2993  etaMax,
2994  25,
2995  -0.5,
2996  24.5,
2997  "");
2998 
2999  histname = "h_nHitsVsEta";
3000  p_nHitsVsEta_[1] = iBooker.bookProfile(histname + "AssTracks",
3001  "Photons:Tracks from conversions: # of hits vs #eta associated tracks",
3002  etaBin,
3003  etaMin,
3004  etaMax,
3005  25,
3006  -0.5,
3007  24.5,
3008  "");
3009 
3010  histname = "p_nHitsVsEtaSL";
3011  p_nHitsVsEtaSL_[0] = iBooker.bookProfile(histname + "AllTracks",
3012  "Photons:Tracks from single leg conversions: # of hits vs #eta all tracks",
3013  etaBin,
3014  etaMin,
3015  etaMax,
3016  25,
3017  -0.5,
3018  24.5,
3019  "");
3020 
3021  histname = "h_nHitsVsR";
3022  p_nHitsVsR_[0] = iBooker.bookProfile(histname + "AllTracks",
3023  "Photons:Tracks from conversions: # of hits vs radius all tracks",
3024  rBin,
3025  rMin,
3026  rMax,
3027  25,
3028  -0.5,
3029  24.5,
3030  "");
3031  histname = "p_nHitsVsRSL";
3032  p_nHitsVsRSL_[0] = iBooker.bookProfile(histname + "AllTracks",
3033  "Photons:Tracks from single leg conversions: # of hits vs radius all tracks",
3034  rBin,
3035  rMin,
3036  rMax,
3037  25,
3038  -0.5,
3039  24.5,
3040  "");
3041 
3042  histname = "tkChi2";
3043  h_tkChi2_[0] = iBooker.book1D(
3044  histname + "AllTracks", "Photons:Tracks from conversions: #chi^{2} of all tracks", 100, chi2Min, chi2Max);
3045  histname = "tkChi2SL";
3046  h_tkChi2SL_[0] = iBooker.book1D(histname + "AllTracks",
3047  "Photons:Tracks from single leg conversions: #chi^{2} of associated tracks",
3048  100,
3049  chi2Min,
3050  chi2Max);
3051  histname = "tkChi2Large";
3052  h_tkChi2Large_[0] = iBooker.book1D(
3053  histname + "AllTracks", "Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
3054 
3055  histname = "h_nHitsVsR";
3056  p_nHitsVsR_[1] = iBooker.bookProfile(histname + "AssTracks",
3057  "Photons:Tracks from conversions: # of hits vs radius associated tracks",
3058  rBin,
3059  rMin,
3060  rMax,
3061  25,
3062  -0.5,
3063  24.5,
3064  "");
3065 
3066  histname = "tkChi2";
3067  h_tkChi2_[1] = iBooker.book1D(
3068  histname + "AssTracks", "Photons:Tracks from conversions: #chi^{2} of associated tracks", 100, chi2Min, chi2Max);
3069  histname = "tkChi2Large";
3070  h_tkChi2Large_[1] = iBooker.book1D(
3071  histname + "AssTracks", "Photons:Tracks from conversions: #chi^{2} of associated tracks", 1000, 0., 5000.0);
3072 
3073  histname = "pChi2VsEta";
3074  p_Chi2VsEta_[0] = iBooker.bookProfile(
3075  histname + "All", " Reco Track #chi^{2} vs #eta : All ", etaBin2, etaMin, etaMax, 100, chi2Min, chi2Max, "");
3076 
3077  histname = "pChi2VsR";
3078  p_Chi2VsR_[0] = iBooker.bookProfile(
3079  histname + "All", " Reco Track #chi^{2} vas R : All ", rBin, rMin, rMax, 100, chi2Min, chi2Max, "");
3080 
3081  histname = "hTkD0";
3082  h_TkD0_[0] = iBooker.book1D(histname + "All", " Reco Track D0*q: All ", 100, -0.1, 0.6);
3083  h_TkD0_[1] = iBooker.book1D(histname + "Barrel", " Reco Track D0*q: Barrel ", 100, -0.1, 0.6);
3084  h_TkD0_[2] = iBooker.book1D(histname + "Endcap", " Reco Track D0*q: Endcap ", 100, -0.1, 0.6);
3085 
3086  histname = "hTkPtPull";
3087  h_TkPtPull_[0] = iBooker.book1D(histname + "All", " Reco Track Pt pull: All ", 100, -10., 10.);
3088  histname = "hTkPtPull";
3089  h_TkPtPull_[1] = iBooker.book1D(histname + "Barrel", " Reco Track Pt pull: Barrel ", 100, -10., 10.);
3090  histname = "hTkPtPull";
3091  h_TkPtPull_[2] = iBooker.book1D(histname + "Endcap", " Reco Track Pt pull: Endcap ", 100, -10., 10.);
3092 
3093  histname = "pTkPtPullEta";
3094  p_TkPtPull_[0] =
3095  iBooker.bookProfile(histname + "All", " Reco Track Pt pull: All ", etaBin2, etaMin, etaMax, 100, -10., 10., " ");
3096 
3097  if (!isRunCentrally_) {
3098  histname = "h2TkPtPullEta";
3099  h2_TkPtPull_[0] =
3100  iBooker.book2D(histname + "All", " Reco Track Pt pull: All ", etaBin2, etaMin, etaMax, 100, -10., 10.);
3101 
3102  histname = "PtRecVsPtSim";
3103  h2_PtRecVsPtSim_[0] =
3104  iBooker.book2D(histname + "All", "Pt Rec vs Pt sim: All ", etBin, etMin, etMax, etBin, etMin, etMax);
3105  h2_PtRecVsPtSim_[1] =
3106  iBooker.book2D(histname + "Barrel", "Pt Rec vs Pt sim: Barrel ", etBin, etMin, etMax, etBin, etMin, etMax);
3107  h2_PtRecVsPtSim_[2] =
3108  iBooker.book2D(histname + "Endcap", "Pt Rec vs Pt sim: Endcap ", etBin, etMin, etMax, etBin, etMin, etMax);
3109  histname = "PtRecVsPtSimMixProv";
3110  h2_PtRecVsPtSimMixProv_ = iBooker.book2D(
3111  histname + "All", "Pt Rec vs Pt sim All for mix with general tracks ", etBin, etMin, etMax, etBin, etMin, etMax);
3112  }
3113 
3114  // if ( fName_ != "pfPhotonValidator" && fName_ != "oldpfPhotonValidator" ) {
3115  histname = "eBcOverTkPout";
3116  hBCEnergyOverTrackPout_[0] = iBooker.book1D(histname + "All", "Matrching BC E/P_out: all Ecal ", 100, 0., 5.);
3117  hBCEnergyOverTrackPout_[1] = iBooker.book1D(histname + "Barrel", "Matrching BC E/P_out: Barrel ", 100, 0., 5.);
3118  hBCEnergyOverTrackPout_[2] = iBooker.book1D(histname + "Endcap", "Matrching BC E/P_out: Endcap ", 100, 0., 5.);
3119  // }
3120 
3122  h_OIinnermostHitR_ = iBooker.book1D("OIinnermostHitR", " R innermost hit for OI tracks ", 50, 0., 25);
3123  h_IOinnermostHitR_ = iBooker.book1D("IOinnermostHitR", " R innermost hit for IO tracks ", 50, 0., 25);
3124 
3126  h_trkProv_[0] = iBooker.book1D("allTrkProv", " Track pair provenance ", 4, 0., 4.);
3127  h_trkProv_[1] = iBooker.book1D("assTrkProv", " Track pair provenance ", 4, 0., 4.);
3128  //
3129  h_trkAlgo_ = iBooker.book1D("allTrackAlgo",
3130  " Track Algo ",
3132  -0.5,
3133  static_cast<double>(reco::TrackBase::algoSize) - 0.5);
3134  h_convAlgo_ = iBooker.book1D("allConvAlgo", " Conv Algo ", 5, -0.5, 4.5);
3135  h_convQuality_ = iBooker.book1D("allConvQuality", "Conv quality ", 11, -0.5, 11.);
3136 
3137  // histos for fake rate
3138  histname = "h_RecoConvTwoTracksEta";
3140  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated #eta", etaBin2, etaMin, etaMax);
3141  histname = "h_RecoConvTwoTracksPhi";
3143  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated #phi", phiBin, phiMin, phiMax);
3144  histname = "h_RecoConvTwoTracksR";
3146  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated R", rBin, rMin, rMax);
3147  histname = "h_RecoConvTwoTracksZ";
3149  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated Z", zBin, zMin, zMax);
3150  histname = "h_RecoConvTwoTracksEt";
3152  iBooker.book1D(histname, " All reco conversions with 2 reco tracks: simulated Et", etBin, etMin, etMax);
3153  //
3154  histname = "h_RecoConvTwoMTracksEta";
3156  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated #eta", etaBin2, etaMin, etaMax);
3157  histname = "h_RecoConvTwoMTracksPhi";
3159  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated #phi", phiBin, phiMin, phiMax);
3160  histname = "h_RecoConvTwoMTracksR";
3162  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated R", rBin, rMin, rMax);
3163  histname = "h_RecoConvTwoMTracksZ";
3165  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated Z", zBin, zMin, zMax);
3166  histname = "h_RecoConvTwoMTracksEt";
3168  iBooker.book1D(histname, " All reco conversions with 2 reco-ass tracks: simulated Et", etBin, etMin, etMax);
3169 }
MonitorElement * p_DCotTracksVsR_
MonitorElement * p_sigmaEoEVsEta_[3]
MonitorElement * h_convVtxdX_endcap_
MonitorElement * h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
MonitorElement * h_zPVFromTracks_[5]
MonitorElement * h_hOverE_miniAOD_[3][3]
MonitorElement * h_OIinnermostHitR_
MonitorElement * h2_nTrkSolidConeDR04VsEta_[3]
MonitorElement * p_hOverEVsEtBkg_
MonitorElement * h_nSimPho_[2]
MonitorElement * p_DPhiTracksAtEcalVsR_
MonitorElement * h_scBkgPhi_
MonitorElement * h2_Chi2VsR_[3]
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * h_sigmaIetaIeta_[3][3]
MonitorElement * p_sceResVsR9_[3]
MonitorElement * h_DPhiTracksAtEcal_[2][3]
MonitorElement * h_scPhi_miniAOD_[2]
MonitorElement * h2_hcalTowerSumEtConeDR04VsEta_[3]
MonitorElement * h_IOinnermostHitR_
MonitorElement * h_phoBkgDPhi_
MonitorElement * p_nHitsVsEtaSL_[2]
MonitorElement * h_DPhiTracksAtVtx_[2][3]
MonitorElement * p_EoverEtrueVsEta_[3]
MonitorElement * p_EoverPVsEta_[3]
MonitorElement * h_convVtxdZ_
MonitorElement * h_dRPhoPFcand_Pho_Cleaned_[3]
MonitorElement * h_newhOverE_[3][3]
MonitorElement * h_phoBkgPhi_
MonitorElement * h_chHadIso_[3]
MonitorElement * h_phoPhi_[2]
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
MonitorElement * h2_PoverPtrueVsEoverP_[3]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * h_mvaOut_[3]
MonitorElement * h_scE_[2][3]
MonitorElement * h_nRecoVtx_
MonitorElement * h_convVtxRvsZ_zoom_[2]
MonitorElement * h2_hOverEVsEt_[3]
MonitorElement * h_hcalTowerSumEtConeDR04_miniAOD_[3][3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
MonitorElement * p_hcalTowerSumEtConeDR04VsEt_[3]
std::string fName_
MonitorElement * p_isoTrkSolidConeDR04VsEtBkg_[3]
MonitorElement * h_DPhiTracksAtVtxBkg_[3]
MonitorElement * h2_EoverPVsR_[3]
MonitorElement * h_phoEt_[2][3]
MonitorElement * h_DEtaTracksAtEcal_[2][3]
MonitorElement * h_phoEResRegr2_[3][3]
MonitorElement * p_convVtxdYVsY_
MonitorElement * h_phoDEta_[2]
MonitorElement * h_SimJet_[3]
MonitorElement * h2_convVtxdRVsEta_
MonitorElement * h_RecoConvTwoMTracks_[5]
MonitorElement * h_convVtxdY_
MonitorElement * h_psE_
MonitorElement * h_scEtaWidth_[2]
MonitorElement * h2_hOverEVsEtaBkg_
MonitorElement * h2_DCotTracksVsEta_
MonitorElement * h2_etaVsRsim_[3]
MonitorElement * h2_PtRecVsPtSim_[3]
MonitorElement * h2_PoverPtrueVsEta_[3]
MonitorElement * h_convVtxdZ_endcap_
MonitorElement * h_scEt_[2][3]
MonitorElement * h_dzPVFromTracks_[5]
MonitorElement * p_EoverEtrueVsR_[3]
MonitorElement * h2_sigmaIetaIetaVsEtBkg_[3]
MonitorElement * h_ecalRecHitSumEtConeDR04Bkg_[3]
MonitorElement * h_simConvVtxRvsZ_[4]
MonitorElement * h2_hcalTowerSumEtConeDR04VsEt_[3]
MonitorElement * h_MatchedSimJet_[3]
MonitorElement * p_nHitsVsRSL_[2]
MonitorElement * p_r2VsEtBkg_
MonitorElement * h2_isoTrkSolidConeDR04VsEtaBkg_
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0005_[5]
MonitorElement * h2_r1VsEtaBkg_
MonitorElement * h2_isoTrkSolidConeDR04VsEtBkg_[3]
MonitorElement * h_TkD0_[3]
MonitorElement * h_dRPhoPFcand_ChHad_Cleaned_[3]
MonitorElement * h_chHadIso_miniAOD_[3]
MonitorElement * h_convVtxdY_endcap_
MonitorElement * h_EoverP_SL_[3]
MonitorElement * p_eResVsR9_[3]
MonitorElement * h_etOutsideMustache_[3]
MonitorElement * h2_DPhiTracksAtVtxVsEta_
MonitorElement * p_DPhiTracksAtVtxVsR_
MonitorElement * h_SumPtOverPhoPt_ChHad_Cleaned_[3]
MonitorElement * p_sigmaEoEVsEt_[3][3]
MonitorElement * h_convVtxdR_endcap_
MonitorElement * h_convSLVtxRvsZ_[3]
MonitorElement * h_phoEt_miniAOD_[2][3]
MonitorElement * p_newhOverEVsEta_[3]
MonitorElement * h2_convVtxRrecVsTrue_
MonitorElement * h2_DCotTracksVsR_
MonitorElement * h2_PtRecVsPtSimMixProv_
MonitorElement * h_SumPtOverPhoPt_ChHad_unCleaned_[3]
MonitorElement * h_convEtaBkg_
MonitorElement * h_phoE_miniAOD_[2][3]
MonitorElement * h_scPhi_[2]
MonitorElement * h2_r2VsEtaBkg_
MonitorElement * h_convVtxdPhi_
MonitorElement * h_scBkgE_[3]
MonitorElement * h_convERes_[2][3]
MonitorElement * p_Chi2VsR_[3]
MonitorElement * h_SimPho_[3]
Denominator for efficiencies.
MonitorElement * h2_r2VsEtBkg_
MonitorElement * p_r2VsEtaBkg_
MonitorElement * h_convVtxRvsZ_[3]
MonitorElement * h_nTrkSolidConeDR04_miniAOD_[3][3]
MonitorElement * h_convPhi_[2]
MonitorElement * h_nConv_[2][3]
info per conversion
MonitorElement * h2_isoTrkSolidConeDR04VsEt_[3]
MonitorElement * h_full5x5_r9_miniAOD_[3][3]
MonitorElement * h_r9_[3][3]
eBin
CAREFULL for the time being only Loos exists 1 => Tight Photon = GoodCandidate.
MonitorElement * h2_sigmaIetaIetaVsEta_[3]
MonitorElement * h_dRPhoPFcand_Pho_unCleaned_[3]
MonitorElement * p_EoverPVsR_[3]
MonitorElement * h2_sceResVsR9_[3]
MonitorElement * h_phoEta_[2]
MonitorElement * h2_Chi2VsEta_[3]
MonitorElement * h_simTkPt_
MonitorElement * h_mvaOutBkg_[3]
MonitorElement * h_trkAlgo_
MonitorElement * h2_dzPVVsR_
MonitorElement * h_scEta_[2]
MonitorElement * h_convVtxdX_barrel_
MonitorElement * h2_hOverEVsEta_[3]
MonitorElement * p_eResVsR_
MonitorElement * p_hcalTowerSumEtConeDR04VsEtBkg_[3]
MonitorElement * h_tkChi2Large_[2]
MonitorElement * h2_r1VsEt_[3]
MonitorElement * h_trkProv_[2]
MonitorElement * p_sigmaIetaIetaVsEtaBkg_
edm::ParameterSet parameters_
MonitorElement * p_convVtxdRVsEta_
MonitorElement * h_r1_[3][3]
MonitorElement * h_EoverPTracks_[2][3]
MonitorElement * h_phoSigmaEoE_miniAOD_[3][3]
MonitorElement * h_scPhiWidth_[2]
MonitorElement * h2_etaVsRreco_[3]
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:408
MonitorElement * h2_r1VsEta_[3]
MonitorElement * p_ecalRecHitSumEtConeDR04VsEtaBkg_
MonitorElement * h2_r2VsEta_[3]
MonitorElement * h_nHadIso_miniAOD_[3]
MonitorElement * h_isoTrkSolidConeDR04_[3][3]
MonitorElement * p_hOverEVsEt_[3]
MonitorElement * h_EtR9Less093_[3][3]
MonitorElement * h_tkChi2SL_[2]
MonitorElement * h2_eResVsEt_[3][3]
MonitorElement * h_r9VsNofTracks_[2][3]
MonitorElement * h_ecalRecHitSumEtConeDR04_[3][3]
MonitorElement * h_ecalRecHitSumEtConeDR04_miniAOD_[3][3]
MonitorElement * h_phoEResRegr1_[3][3]
MonitorElement * h2_r9VsEtBkg_
MonitorElement * p_hOverEVsEta_[3]
MonitorElement * h2_TkPtPull_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_Cleaned_[5]
MonitorElement * h_SumPtOverPhoPt_Pho_Cleaned_[3]
MonitorElement * h_MatchedSimPhoBadCh_[3]
MonitorElement * h_MatchedSimJetBadCh_[3]
MonitorElement * h_convVtxdEta_
MonitorElement * h_r2_[3][3]
MonitorElement * p_nHitsVsEta_[2]
MonitorElement * h_convVtxdY_barrel_
MonitorElement * p_sigmaIetaIetaVsEtBkg_[3]
MonitorElement * h2_EoverEtrueVsEta_[3]
MonitorElement * h_phoBkgDEta_
MonitorElement * h_phoIso_miniAOD_[3]
MonitorElement * h_simTkEta_
MonitorElement * nHitsVsEta_[2]
MonitorElement * p_nTrkSolidConeDR04VsEtaBkg_
MonitorElement * h2_sigmaIetaIetaVsEtaBkg_
MonitorElement * h_gamgamMassRegr1_[3][3]
MonitorElement * p_convVtxdXVsX_
MonitorElement * p_dzPVVsR_
MonitorElement * hBCEnergyOverTrackPout_[3]
MonitorElement * h_PoverETracksBkg_[3]
MonitorElement * h_invMass_[2][3]
MonitorElement * h2_EoverEtrueVsEoverP_[3]
MonitorElement * h_phoE_[2][3]
MonitorElement * h_simConvVtxYvsX_
MonitorElement * h_hOverE_[3][3]
MonitorElement * p_TkPtPull_[3]
MonitorElement * h_hOverEBkg_[3]
MonitorElement * h_SimPhoMotherEt_[2]
MonitorElement * h2_eResVsR9_[3]
MonitorElement * nHitsVsR_[2]
MonitorElement * h_r1Bkg_[3]
MonitorElement * h_scEta_miniAOD_[2]
Histos for comparison with miniAOD content.
MonitorElement * h_convVtxdX_
MonitorElement * p_isoTrkSolidConeDR04VsEtaBkg_
MonitorElement * h2_DPhiTracksAtVtxVsR_
MonitorElement * h_convVtxYvsXBkg_
MonitorElement * h_TkPtPull_[3]
MonitorElement * h2_EoverPVsEta_[3]
MonitorElement * h_nTrkSolidConeDR04Bkg_[3]
MonitorElement * p_DCotTracksVsEta_
MonitorElement * h_convPtRes_[2][3]
MonitorElement * h2_nTrkSolidConeDR04VsEtaBkg_
MonitorElement * h_r2Bkg_[3]
MonitorElement * h_MatchedSimPho_[3]
Numerator for efficiencies.
MonitorElement * p_convVtxdRVsR_
MonitorElement * h_convVtxRvsZBkg_[2]
MonitorElement * p_Chi2VsEta_[3]
MonitorElement * h_nHadIso_[3]
MonitorElement * h2_hOverEVsEtBkg_
MonitorElement * p_sigmaEoEVsNVtx_[3][3]
MonitorElement * p_eResVsNVtx_[3][3]
MonitorElement * h_SumPtOverPhoPt_Pho_unCleaned_[3]
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEtBkg_[3]
MonitorElement * h_nSimConv_[2]
MonitorElement * h_nTrkSolidConeDR04_[3][3]
MonitorElement * h_sigmaIetaIetaBkg_[3]
MonitorElement * h2_EoverEtrueVsR_[3]
MonitorElement * p_hcalTowerBcSumEtConeDR04VsEta_[3]
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0_[5]
MonitorElement * h_gamgamMass_[3][3]
MonitorElement * h_distMinAppTracks_[2][3]
MonitorElement * h_nPho_
MonitorElement * p_PoverPtrueVsEta_[3]
MonitorElement * h_r9Bkg_[3]
MonitorElement * h_phoERes_[3][3]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * h_isoTrkSolidConeDR04Bkg_[3]
MonitorElement * h2_r9VsEtaBkg_
MonitorElement * h_convVtxYvsX_zoom_[2]
MonitorElement * h_convAlgo_
MonitorElement * h_nCluOutsideMustache_[3]
MonitorElement * h_hcalTowerSumEtConeDR04_[3][3]
MonitorElement * h2_nTrkSolidConeDR04VsEt_[3]
MonitorElement * h2_hcalTowerSumEtConeDR04VsEtBkg_[3]
MonitorElement * h_convQuality_
MonitorElement * h2_r1VsEtBkg_
MonitorElement * h_DCotTracksBkg_[3]
MonitorElement * h_phoIso_[3]
MonitorElement * p_ecalRecHitSumEtConeDR04VsEta_[3]
MonitorElement * p_r1VsEtaBkg_
MonitorElement * h_PoverETracks_[2][3]
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEt_[3]
MonitorElement * h_phoPixSeedSize_[2]
MonitorElement * h_vtxChi2_[3]
MonitorElement * p_nTrkSolidConeDR04VsEtBkg_[3]
MonitorElement * p_hcalTowerBcSumEtConeDR04VsEt_[3]
MonitorElement * h_pfMva_[3]
MonitorElement * p_ecalRecHitSumEtConeDR04VsEtBkg_[3]
MonitorElement * h_hcalTowerSumEtConeDR04Bkg_[3]
MonitorElement * p_convVtxdZVsZ_
MonitorElement * p_hcalTowerSumEtConeDR04VsEta_[3]
MonitorElement * h_r1_miniAOD_[3][3]
MonitorElement * p_r1VsEtBkg_
MonitorElement * h_phoBkgEt_[3]
MonitorElement * h2_isoTrkSolidConeDR04VsEta_[3]
MonitorElement * h_SimPhoMotherEta_[2]
MonitorElement * h_EoverPTracksBkg_[3]
MonitorElement * h_convVtxdR_barrel_
MonitorElement * h_VisSimConv_[6]
MonitorElement * h_SimConvTwoMTracks_[5]
MonitorElement * h2_nTrkSolidConeDR04VsEtBkg_[3]
MonitorElement * h2_hcalTowerSumEtConeDR04VsEtaBkg_
MonitorElement * p_eResVsEt_[3][3]
MonitorElement * h_dRPhoPFcand_NeuHad_unCleaned_[5]
MonitorElement * h_convVtxYvsX_
MonitorElement * h_phoBkgE_[3]
MonitorElement * p_hOverEVsEtaBkg_
MonitorElement * h_r2_miniAOD_[3][3]
MonitorElement * h_phoSigmaEoE_[3][3]
MonitorElement * h_RecoConvTwoTracks_[5]
MonitorElement * p_r9VsEta_[3]
MonitorElement * h_DCotTracks_[2][3]
MonitorElement * h_phoERes_miniAOD_[3][3]
MonitorElement * h2_DPhiTracksAtEcalVsR_
MonitorElement * p_eResVsEta_[3]
MonitorElement * h_newhOverE_miniAOD_[3][3]
MonitorElement * h_dRPhoPFcand_ChHad_unCleaned_[3]
MonitorElement * h_AllSimConv_[5]
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * h_vtxChi2Prob_[3]
MonitorElement * h_scBkgEta_
MonitorElement * p_nHitsVsR_[2]
MonitorElement * h_hcalTowerBcSumEtConeDR04_miniAOD_[3][3]
MonitorElement * h_r9_miniAOD_[3][3]
MonitorElement * h2_convVtxdRVsR_
MonitorElement * h_gamgamMassRegr2_[3][3]
MonitorElement * p_newhOverEVsEt_[3]
MonitorElement * h2_r2VsEt_[3]
MonitorElement * h_convVtxdR_
MonitorElement * h_convVtxdZ_barrel_
MonitorElement * h_SimConvOneTracks_[5]
MonitorElement * h_full5x5_sigmaIetaIeta_miniAOD_[3][3]
MonitorElement * h_convEta_[3]
MonitorElement * p_hcalTowerSumEtConeDR04VsEtaBkg_
MonitorElement * p_ecalRecHitSumEtConeDR04VsEt_[3]
MonitorElement * h_SimConvTwoTracks_[5]
MonitorElement * h2_sigmaIetaIetaVsEt_[3]
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEtaBkg_
MonitorElement * h_scBkgEt_[3]
MonitorElement * h2_DPhiTracksAtEcalVsEta_
MonitorElement * h_sigmaIetaIeta_miniAOD_[3][3]
MonitorElement * h2_ecalRecHitSumEtConeDR04VsEta_[3]
MonitorElement * h_SimConvEtaPix_[2]
MonitorElement * h2_eResVsEta_[3]
MonitorElement * p_DPhiTracksAtVtxVsEta_
MonitorElement * p_DPhiTracksAtEcalVsEta_
MonitorElement * h_phoDPhi_[2]
MonitorElement * h_convPhiBkg_
MonitorElement * h_phoBkgEta_
MonitorElement * h2_r9VsEt_[3]
MonitorElement * h_tkChi2_[2]
MonitorElement * p_dzPVVsEta_
MonitorElement * h_SimConvOneMTracks_[5]
MonitorElement * h_isoTrkSolidConeDR04_miniAOD_[3][3]

◆ dqmBeginRun()

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

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3171 of file PhotonValidator.cc.

References edm::EventSetup::getHandle(), magneticFieldToken_, theMF_, and thePhotonMCTruthFinder_.

3171  {
3172  //get magnetic field
3173  edm::LogInfo("ConvertedPhotonProducer") << " get magnetic field"
3174  << "\n";
3175  theMF_ = theEventSetup.getHandle(magneticFieldToken_);
3176 
3177  thePhotonMCTruthFinder_ = std::make_unique<PhotonMCTruthFinder>();
3178 }
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
std::unique_ptr< PhotonMCTruthFinder > thePhotonMCTruthFinder_
edm::ESHandle< MagneticField > theMF_
Log< level::Info, false > LogInfo

◆ dqmEndRun()

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

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 3180 of file PhotonValidator.cc.

References thePhotonMCTruthFinder_.

3180 { thePhotonMCTruthFinder_.reset(); }
std::unique_ptr< PhotonMCTruthFinder > thePhotonMCTruthFinder_

◆ etaTransformation()

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

Definition at line 5486 of file PhotonValidator.cc.

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

Referenced by analyze().

5486  {
5487  //---Definitions
5488  const float PI = 3.1415927;
5489 
5490  //---Definitions for ECAL
5491  const float R_ECAL = 136.5;
5492  const float Z_Endcap = 328.0;
5493  const float etaBarrelEndcap = 1.479;
5494 
5495  //---ETA correction
5496 
5497  float Theta = 0.0;
5498  float ZEcal = R_ECAL * sinh(EtaParticle) + Zvertex;
5499 
5500  if (ZEcal != 0.0)
5501  Theta = atan(R_ECAL / ZEcal);
5502  if (Theta < 0.0)
5503  Theta = Theta + PI;
5504  float ETA = -log(tan(0.5 * Theta));
5505 
5506  if (fabs(ETA) > etaBarrelEndcap) {
5507  float Zend = Z_Endcap;
5508  if (EtaParticle < 0.0)
5509  Zend = -Zend;
5510  float Zlen = Zend - Zvertex;
5511  float RR = Zlen / sinh(EtaParticle);
5512  Theta = atan(RR / Zend);
5513  if (Theta < 0.0)
5514  Theta = Theta + PI;
5515  ETA = -log(tan(0.5 * Theta));
5516  }
5517  //---Return the result
5518  return ETA;
5519  //---end
5520 }
static constexpr float R_ECAL
#define ETA
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
static constexpr float etaBarrelEndcap
#define PI
Definition: QcdUeDQM.h:37
static constexpr float Z_Endcap

◆ phiNormalization()

float PhotonValidator::phiNormalization ( float &  a)
private

Definition at line 5471 of file PhotonValidator.cc.

References phi, PI, and TWOPI.

Referenced by analyze().

5471  {
5472  //---Definitions
5473  const float PI = 3.1415927;
5474  const float TWOPI = 2.0 * PI;
5475 
5476  if (phi > PI) {
5477  phi = phi - TWOPI;
5478  }
5479  if (phi < -PI) {
5480  phi = phi + TWOPI;
5481  }
5482 
5483  return phi;
5484 }
#define TWOPI
#define PI
Definition: QcdUeDQM.h:37

Member Data Documentation

◆ barrelEcalHits_

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

Definition at line 107 of file PhotonValidator.h.

Referenced by analyze().

◆ bcBarrelCollection_

edm::InputTag PhotonValidator::bcBarrelCollection_
private

Definition at line 103 of file PhotonValidator.h.

◆ bcEndcapCollection_

edm::InputTag PhotonValidator::bcEndcapCollection_
private

Definition at line 104 of file PhotonValidator.h.

◆ bcEtLow_

double PhotonValidator::bcEtLow_
private

Definition at line 141 of file PhotonValidator.h.

◆ caloGeometryToken_

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> PhotonValidator::caloGeometryToken_
private

Definition at line 125 of file PhotonValidator.h.

Referenced by analyze().

◆ conversionIOTrackPr_Token_

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

Definition at line 115 of file PhotonValidator.h.

Referenced by analyze().

◆ conversionIOTrackProducer_

edm::InputTag PhotonValidator::conversionIOTrackProducer_
private

Definition at line 112 of file PhotonValidator.h.

◆ conversionOITrackPr_Token_

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

Definition at line 114 of file PhotonValidator.h.

Referenced by analyze().

◆ conversionOITrackProducer_

edm::InputTag PhotonValidator::conversionOITrackProducer_
private

Definition at line 111 of file PhotonValidator.h.

◆ convTrackMinPtCut_

double PhotonValidator::convTrackMinPtCut_
private

Definition at line 134 of file PhotonValidator.h.

Referenced by analyze().

◆ dCotCutOn_

bool PhotonValidator::dCotCutOn_
private

Definition at line 149 of file PhotonValidator.h.

Referenced by analyze().

◆ dCotCutValue_

double PhotonValidator::dCotCutValue_
private

Definition at line 150 of file PhotonValidator.h.

Referenced by analyze().

◆ dCotHardCutValue_

double PhotonValidator::dCotHardCutValue_
private

Definition at line 151 of file PhotonValidator.h.

Referenced by analyze().

◆ ecalEtSumCut_

double PhotonValidator::ecalEtSumCut_
private

Definition at line 147 of file PhotonValidator.h.

◆ ecalIsolRadius_

double PhotonValidator::ecalIsolRadius_
private

Definition at line 140 of file PhotonValidator.h.

◆ endcapEcalHits_

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

Definition at line 108 of file PhotonValidator.h.

Referenced by analyze().

◆ famos_simTk_Token_

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

Definition at line 119 of file PhotonValidator.h.

Referenced by analyze().

◆ famos_simVtx_Token_

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

Definition at line 120 of file PhotonValidator.h.

Referenced by analyze().

◆ fastSim_

bool PhotonValidator::fastSim_
private

Definition at line 130 of file PhotonValidator.h.

Referenced by analyze().

◆ fName_

std::string PhotonValidator::fName_
private

Definition at line 77 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ g4_simTk_Token_

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

Definition at line 117 of file PhotonValidator.h.

Referenced by analyze().

◆ g4_simVtx_Token_

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

Definition at line 118 of file PhotonValidator.h.

Referenced by analyze().

◆ genjets_Token_

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

Definition at line 122 of file PhotonValidator.h.

Referenced by analyze().

◆ genpartToken_

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

Definition at line 105 of file PhotonValidator.h.

Referenced by analyze().

◆ h2_Chi2VsEta_

MonitorElement* PhotonValidator::h2_Chi2VsEta_[3]
private

Definition at line 498 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_Chi2VsR_

MonitorElement* PhotonValidator::h2_Chi2VsR_[3]
private

Definition at line 500 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_convVtxdRVsEta_

MonitorElement* PhotonValidator::h2_convVtxdRVsEta_
private

Definition at line 471 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_convVtxdRVsR_

MonitorElement* PhotonValidator::h2_convVtxdRVsR_
private

Definition at line 469 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_convVtxRrecVsTrue_

MonitorElement* PhotonValidator::h2_convVtxRrecVsTrue_
private

Definition at line 477 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DCotTracksVsEta_

MonitorElement* PhotonValidator::h2_DCotTracksVsEta_
private

Definition at line 430 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DCotTracksVsR_

MonitorElement* PhotonValidator::h2_DCotTracksVsR_
private

Definition at line 432 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DPhiTracksAtEcalVsEta_

MonitorElement* PhotonValidator::h2_DPhiTracksAtEcalVsEta_
private

Definition at line 440 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DPhiTracksAtEcalVsR_

MonitorElement* PhotonValidator::h2_DPhiTracksAtEcalVsR_
private

Definition at line 438 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DPhiTracksAtVtxVsEta_

MonitorElement* PhotonValidator::h2_DPhiTracksAtVtxVsEta_
private

Definition at line 424 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_DPhiTracksAtVtxVsR_

MonitorElement* PhotonValidator::h2_DPhiTracksAtVtxVsR_
private

Definition at line 426 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_dzPVVsR_

MonitorElement* PhotonValidator::h2_dzPVVsR_
private

Definition at line 484 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_ecalRecHitSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEt_[3]
private

Definition at line 275 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_ecalRecHitSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEta_[3]
private

Definition at line 273 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_ecalRecHitSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtaBkg_
private

Definition at line 563 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_ecalRecHitSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_ecalRecHitSumEtConeDR04VsEtBkg_[3]
private

Definition at line 565 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_EoverEtrueVsEoverP_

MonitorElement* PhotonValidator::h2_EoverEtrueVsEoverP_[3]
private

Definition at line 407 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_EoverEtrueVsEta_

MonitorElement* PhotonValidator::h2_EoverEtrueVsEta_[3]
private

Definition at line 415 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_EoverEtrueVsR_

MonitorElement* PhotonValidator::h2_EoverEtrueVsR_[3]
private

Definition at line 417 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_EoverPVsEta_

MonitorElement* PhotonValidator::h2_EoverPVsEta_[3]
private

Definition at line 410 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_EoverPVsR_

MonitorElement* PhotonValidator::h2_EoverPVsR_[3]
private

Definition at line 412 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_eResVsEt_

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

Definition at line 313 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_eResVsEta_

MonitorElement* PhotonValidator::h2_eResVsEta_[3]
private

Definition at line 310 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_eResVsR9_

MonitorElement* PhotonValidator::h2_eResVsR9_[3]
private

Definition at line 320 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_etaVsRreco_

MonitorElement* PhotonValidator::h2_etaVsRreco_[3]
private

Definition at line 405 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_etaVsRsim_

MonitorElement* PhotonValidator::h2_etaVsRsim_[3]
private

Definition at line 404 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hcalTowerSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEt_[3]
private

Definition at line 281 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hcalTowerSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEta_[3]
private

Definition at line 279 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hcalTowerSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtaBkg_
private

Definition at line 569 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hcalTowerSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_hcalTowerSumEtConeDR04VsEtBkg_[3]
private

Definition at line 571 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hOverEVsEt_

MonitorElement* PhotonValidator::h2_hOverEVsEt_[3]
private

Definition at line 264 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hOverEVsEta_

MonitorElement* PhotonValidator::h2_hOverEVsEta_[3]
private

Definition at line 262 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hOverEVsEtaBkg_

MonitorElement* PhotonValidator::h2_hOverEVsEtaBkg_
private

Definition at line 557 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_hOverEVsEtBkg_

MonitorElement* PhotonValidator::h2_hOverEVsEtBkg_
private

Definition at line 558 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_isoTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEt_[3]
private

Definition at line 291 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_isoTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEta_[3]
private

Definition at line 289 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_isoTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEtaBkg_
private

Definition at line 575 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_isoTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_isoTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 577 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_nTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEt_[3]
private

Definition at line 297 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_nTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEta_[3]
private

Definition at line 295 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_nTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEtaBkg_
private

Definition at line 581 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_nTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::h2_nTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 583 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_PoverPtrueVsEoverP_

MonitorElement* PhotonValidator::h2_PoverPtrueVsEoverP_[3]
private

Definition at line 408 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_PoverPtrueVsEta_

MonitorElement* PhotonValidator::h2_PoverPtrueVsEta_[3]
private

Definition at line 420 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_PtRecVsPtSim_

MonitorElement* PhotonValidator::h2_PtRecVsPtSim_[3]
private

Definition at line 508 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_PtRecVsPtSimMixProv_

MonitorElement* PhotonValidator::h2_PtRecVsPtSimMixProv_
private

Definition at line 509 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r1VsEt_

MonitorElement* PhotonValidator::h2_r1VsEt_[3]
private

Definition at line 246 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r1VsEta_

MonitorElement* PhotonValidator::h2_r1VsEta_[3]
private

Definition at line 244 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r1VsEtaBkg_

MonitorElement* PhotonValidator::h2_r1VsEtaBkg_
private

Definition at line 541 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r1VsEtBkg_

MonitorElement* PhotonValidator::h2_r1VsEtBkg_
private

Definition at line 542 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r2VsEt_

MonitorElement* PhotonValidator::h2_r2VsEt_[3]
private

Definition at line 252 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r2VsEta_

MonitorElement* PhotonValidator::h2_r2VsEta_[3]
private

Definition at line 250 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r2VsEtaBkg_

MonitorElement* PhotonValidator::h2_r2VsEtaBkg_
private

Definition at line 546 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r2VsEtBkg_

MonitorElement* PhotonValidator::h2_r2VsEtBkg_
private

Definition at line 547 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r9VsEt_

MonitorElement* PhotonValidator::h2_r9VsEt_[3]
private

Definition at line 240 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r9VsEtaBkg_

MonitorElement* PhotonValidator::h2_r9VsEtaBkg_
private

Definition at line 538 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_r9VsEtBkg_

MonitorElement* PhotonValidator::h2_r9VsEtBkg_
private

Definition at line 539 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_sceResVsR9_

MonitorElement* PhotonValidator::h2_sceResVsR9_[3]
private

Definition at line 322 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_sigmaIetaIetaVsEt_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEt_[3]
private

Definition at line 258 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_sigmaIetaIetaVsEta_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEta_[3]
private

Definition at line 256 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_sigmaIetaIetaVsEtaBkg_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEtaBkg_
private

Definition at line 552 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_sigmaIetaIetaVsEtBkg_

MonitorElement* PhotonValidator::h2_sigmaIetaIetaVsEtBkg_[3]
private

Definition at line 554 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h2_TkPtPull_

MonitorElement* PhotonValidator::h2_TkPtPull_[3]
private

Definition at line 506 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_AllSimConv_

MonitorElement* PhotonValidator::h_AllSimConv_[5]
private

Definition at line 193 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_chHadIso_

MonitorElement* PhotonValidator::h_chHadIso_[3]
private

Definition at line 337 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_chHadIso_miniAOD_

MonitorElement* PhotonValidator::h_chHadIso_miniAOD_[3]
private

Definition at line 383 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convAlgo_

MonitorElement* PhotonValidator::h_convAlgo_
private

Definition at line 220 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convERes_

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

Definition at line 391 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convEta_

MonitorElement* PhotonValidator::h_convEta_[3]
private

Definition at line 389 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convEtaBkg_

MonitorElement* PhotonValidator::h_convEtaBkg_
private

Definition at line 586 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convPhi_

MonitorElement* PhotonValidator::h_convPhi_[2]
private

Definition at line 390 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convPhiBkg_

MonitorElement* PhotonValidator::h_convPhiBkg_
private

Definition at line 587 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convPtRes_

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

Definition at line 394 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convQuality_

MonitorElement* PhotonValidator::h_convQuality_
private

Definition at line 221 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ h_convSLVtxRvsZ_

MonitorElement* PhotonValidator::h_convSLVtxRvsZ_[3]
private

Definition at line 449 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdEta_

MonitorElement* PhotonValidator::h_convVtxdEta_
private

Definition at line 466 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdPhi_

MonitorElement* PhotonValidator::h_convVtxdPhi_
private

Definition at line 467 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdR_

MonitorElement* PhotonValidator::h_convVtxdR_
private

Definition at line 454 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdR_barrel_

MonitorElement* PhotonValidator::h_convVtxdR_barrel_
private

Definition at line 459 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdR_endcap_

MonitorElement* PhotonValidator::h_convVtxdR_endcap_
private

Definition at line 464 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdX_

MonitorElement* PhotonValidator::h_convVtxdX_
private

Definition at line 451 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdX_barrel_

MonitorElement* PhotonValidator::h_convVtxdX_barrel_
private

Definition at line 456 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdX_endcap_

MonitorElement* PhotonValidator::h_convVtxdX_endcap_
private

Definition at line 461 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdY_

MonitorElement* PhotonValidator::h_convVtxdY_
private

Definition at line 452 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdY_barrel_

MonitorElement* PhotonValidator::h_convVtxdY_barrel_
private

Definition at line 457 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdY_endcap_

MonitorElement* PhotonValidator::h_convVtxdY_endcap_
private

Definition at line 462 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdZ_

MonitorElement* PhotonValidator::h_convVtxdZ_
private

Definition at line 453 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdZ_barrel_

MonitorElement* PhotonValidator::h_convVtxdZ_barrel_
private

Definition at line 458 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxdZ_endcap_

MonitorElement* PhotonValidator::h_convVtxdZ_endcap_
private

Definition at line 463 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxRvsZ_

MonitorElement* PhotonValidator::h_convVtxRvsZ_[3]
private

Definition at line 445 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxRvsZ_zoom_

MonitorElement* PhotonValidator::h_convVtxRvsZ_zoom_[2]
private

Definition at line 447 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxRvsZBkg_

MonitorElement* PhotonValidator::h_convVtxRvsZBkg_[2]
private

Definition at line 596 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxYvsX_

MonitorElement* PhotonValidator::h_convVtxYvsX_
private

Definition at line 446 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxYvsX_zoom_

MonitorElement* PhotonValidator::h_convVtxYvsX_zoom_[2]
private

Definition at line 448 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_convVtxYvsXBkg_

MonitorElement* PhotonValidator::h_convVtxYvsXBkg_
private

Definition at line 595 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_DCotTracks_

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

Definition at line 429 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_DCotTracksBkg_

MonitorElement* PhotonValidator::h_DCotTracksBkg_[3]
private

Definition at line 594 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_DEtaTracksAtEcal_

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

Definition at line 443 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_distMinAppTracks_

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

Definition at line 435 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ h_DPhiTracksAtEcal_

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

Definition at line 437 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_DPhiTracksAtVtx_

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

Definition at line 423 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_DPhiTracksAtVtxBkg_

MonitorElement* PhotonValidator::h_DPhiTracksAtVtxBkg_[3]
private

Definition at line 593 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_ChHad_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_ChHad_Cleaned_[3]
private

Definition at line 345 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_ChHad_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_ChHad_unCleaned_[3]
private

Definition at line 348 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_NeuHad_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_NeuHad_Cleaned_[5]
private

Definition at line 346 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_NeuHad_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_NeuHad_unCleaned_[5]
private

Definition at line 349 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_Pho_Cleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_Pho_Cleaned_[3]
private

Definition at line 347 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dRPhoPFcand_Pho_unCleaned_

MonitorElement* PhotonValidator::h_dRPhoPFcand_Pho_unCleaned_[3]
private

Definition at line 350 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_dzPVFromTracks_

MonitorElement* PhotonValidator::h_dzPVFromTracks_[5]
private

Definition at line 483 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_ecalRecHitSumEtConeDR04_

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

Definition at line 272 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_ecalRecHitSumEtConeDR04_miniAOD_

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

Definition at line 370 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_ecalRecHitSumEtConeDR04Bkg_

MonitorElement* PhotonValidator::h_ecalRecHitSumEtConeDR04Bkg_[3]
private

Definition at line 562 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_EoverP_SL_

MonitorElement* PhotonValidator::h_EoverP_SL_[3]
private

Definition at line 401 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_EoverPTracks_

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

Definition at line 398 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_EoverPTracksBkg_

MonitorElement* PhotonValidator::h_EoverPTracksBkg_[3]
private

Definition at line 591 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_etOutsideMustache_

MonitorElement* PhotonValidator::h_etOutsideMustache_[3]
private

Definition at line 342 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_EtR9Less093_

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

Definition at line 237 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_full5x5_r9_miniAOD_

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

Definition at line 363 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_full5x5_sigmaIetaIeta_miniAOD_

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

Definition at line 365 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_gamgamMass_

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

Definition at line 301 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_gamgamMassRegr1_

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

Definition at line 302 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_gamgamMassRegr2_

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

Definition at line 303 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hcalTowerBcSumEtConeDR04_

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

Definition at line 284 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hcalTowerBcSumEtConeDR04_miniAOD_

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

Definition at line 372 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hcalTowerSumEtConeDR04_

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

Definition at line 278 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hcalTowerSumEtConeDR04_miniAOD_

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

Definition at line 371 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hcalTowerSumEtConeDR04Bkg_

MonitorElement* PhotonValidator::h_hcalTowerSumEtConeDR04Bkg_[3]
private

Definition at line 568 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hOverE_

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

Definition at line 261 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hOverE_miniAOD_

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

Definition at line 368 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_hOverEBkg_

MonitorElement* PhotonValidator::h_hOverEBkg_[3]
private

Definition at line 536 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_invMass_

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

Definition at line 396 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_IOinnermostHitR_

MonitorElement* PhotonValidator::h_IOinnermostHitR_
private

Definition at line 217 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ h_isoTrkSolidConeDR04_

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

Definition at line 288 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_isoTrkSolidConeDR04_miniAOD_

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

Definition at line 373 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_isoTrkSolidConeDR04Bkg_

MonitorElement* PhotonValidator::h_isoTrkSolidConeDR04Bkg_[3]
private

Definition at line 574 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_MatchedSimJet_

MonitorElement* PhotonValidator::h_MatchedSimJet_[3]
private

Definition at line 515 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_MatchedSimJetBadCh_

MonitorElement* PhotonValidator::h_MatchedSimJetBadCh_[3]
private

Definition at line 516 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_MatchedSimPho_

MonitorElement* PhotonValidator::h_MatchedSimPho_[3]
private

Numerator for efficiencies.

Definition at line 197 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_MatchedSimPhoBadCh_

MonitorElement* PhotonValidator::h_MatchedSimPhoBadCh_[3]
private

Definition at line 198 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_mvaOut_

MonitorElement* PhotonValidator::h_mvaOut_[3]
private

Definition at line 403 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_mvaOutBkg_

MonitorElement* PhotonValidator::h_mvaOutBkg_[3]
private

Definition at line 588 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nCluOutsideMustache_

MonitorElement* PhotonValidator::h_nCluOutsideMustache_[3]
private

Definition at line 341 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nConv_

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

info per conversion

Definition at line 388 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_newhOverE_

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

Definition at line 267 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_newhOverE_miniAOD_

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

Definition at line 369 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nHadIso_

MonitorElement* PhotonValidator::h_nHadIso_[3]
private

Definition at line 338 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nHadIso_miniAOD_

MonitorElement* PhotonValidator::h_nHadIso_miniAOD_[3]
private

Definition at line 384 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nPho_

MonitorElement* PhotonValidator::h_nPho_
private

Definition at line 519 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nRecoVtx_

MonitorElement* PhotonValidator::h_nRecoVtx_
private

Definition at line 174 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nSimConv_

MonitorElement* PhotonValidator::h_nSimConv_[2]
private

Definition at line 182 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nSimPho_

MonitorElement* PhotonValidator::h_nSimPho_[2]
private

Definition at line 176 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nTrkSolidConeDR04_

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

Definition at line 294 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nTrkSolidConeDR04_miniAOD_

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

Definition at line 374 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_nTrkSolidConeDR04Bkg_

MonitorElement* PhotonValidator::h_nTrkSolidConeDR04Bkg_[3]
private

Definition at line 580 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_OIinnermostHitR_

MonitorElement* PhotonValidator::h_OIinnermostHitR_
private

Definition at line 216 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ h_pfMva_

MonitorElement* PhotonValidator::h_pfMva_[3]
private

Definition at line 343 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgDEta_

MonitorElement* PhotonValidator::h_phoBkgDEta_
private

Definition at line 525 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgDPhi_

MonitorElement* PhotonValidator::h_phoBkgDPhi_
private

Definition at line 526 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgE_

MonitorElement* PhotonValidator::h_phoBkgE_[3]
private

Definition at line 527 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgEt_

MonitorElement* PhotonValidator::h_phoBkgEt_[3]
private

Definition at line 528 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgEta_

MonitorElement* PhotonValidator::h_phoBkgEta_
private

Definition at line 523 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoBkgPhi_

MonitorElement* PhotonValidator::h_phoBkgPhi_
private

Definition at line 524 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoDEta_

MonitorElement* PhotonValidator::h_phoDEta_[2]
private

Definition at line 223 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoDPhi_

MonitorElement* PhotonValidator::h_phoDPhi_[2]
private

Definition at line 224 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoE_

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

Definition at line 305 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoE_miniAOD_

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

Definition at line 376 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoERes_

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

Definition at line 307 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoERes_miniAOD_

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

Definition at line 378 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoEResRegr1_

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

Definition at line 329 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoEResRegr2_

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

Definition at line 330 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoEt_

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

Definition at line 306 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoEt_miniAOD_

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

Definition at line 377 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoEta_

MonitorElement* PhotonValidator::h_phoEta_[2]
private

Definition at line 325 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoIso_

MonitorElement* PhotonValidator::h_phoIso_[3]
private

Definition at line 339 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoIso_miniAOD_

MonitorElement* PhotonValidator::h_phoIso_miniAOD_[3]
private

Definition at line 385 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoPhi_

MonitorElement* PhotonValidator::h_phoPhi_[2]
private

Definition at line 326 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoPixSeedSize_

MonitorElement* PhotonValidator::h_phoPixSeedSize_[2]
private

Definition at line 333 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoSigmaEoE_

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

Definition at line 308 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_phoSigmaEoE_miniAOD_

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

Definition at line 379 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_PoverETracks_

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

Definition at line 399 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_PoverETracksBkg_

MonitorElement* PhotonValidator::h_PoverETracksBkg_[3]
private

Definition at line 592 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_psE_

MonitorElement* PhotonValidator::h_psE_
private

Definition at line 235 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r1_

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

Definition at line 243 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r1_miniAOD_

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

Definition at line 366 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r1Bkg_

MonitorElement* PhotonValidator::h_r1Bkg_[3]
private

Definition at line 534 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r2_

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

Definition at line 249 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r2_miniAOD_

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

Definition at line 367 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r2Bkg_

MonitorElement* PhotonValidator::h_r2Bkg_[3]
private

Definition at line 535 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r9_

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

Definition at line 238 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r9_miniAOD_

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

Definition at line 362 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r9Bkg_

MonitorElement* PhotonValidator::h_r9Bkg_[3]
private

Definition at line 533 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_r9VsNofTracks_

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

Definition at line 397 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_RecoConvTwoMTracks_

MonitorElement* PhotonValidator::h_RecoConvTwoMTracks_[5]
private

Definition at line 210 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_RecoConvTwoTracks_

MonitorElement* PhotonValidator::h_RecoConvTwoTracks_[5]
private

Definition at line 208 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scBkgE_

MonitorElement* PhotonValidator::h_scBkgE_[3]
private

Definition at line 530 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scBkgEt_

MonitorElement* PhotonValidator::h_scBkgEt_[3]
private

Definition at line 531 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scBkgEta_

MonitorElement* PhotonValidator::h_scBkgEta_
private

Definition at line 521 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scBkgPhi_

MonitorElement* PhotonValidator::h_scBkgPhi_
private

Definition at line 522 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scE_

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

Definition at line 232 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scEt_

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

Definition at line 233 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scEta_

MonitorElement* PhotonValidator::h_scEta_[2]
private

Definition at line 226 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scEta_miniAOD_

MonitorElement* PhotonValidator::h_scEta_miniAOD_[2]
private

Histos for comparison with miniAOD content.

Definition at line 359 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scEtaPhi_

MonitorElement* PhotonValidator::h_scEtaPhi_[2]
private

Definition at line 230 of file PhotonValidator.h.

◆ h_scEtaWidth_

MonitorElement* PhotonValidator::h_scEtaWidth_[2]
private

Definition at line 227 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scPhi_

MonitorElement* PhotonValidator::h_scPhi_[2]
private

Definition at line 228 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scPhi_miniAOD_

MonitorElement* PhotonValidator::h_scPhi_miniAOD_[2]
private

Definition at line 360 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_scPhiWidth_

MonitorElement* PhotonValidator::h_scPhiWidth_[2]
private

Definition at line 229 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_sigmaIetaIeta_

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

Definition at line 255 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_sigmaIetaIeta_miniAOD_

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

Definition at line 364 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_sigmaIetaIetaBkg_

MonitorElement* PhotonValidator::h_sigmaIetaIetaBkg_[3]
private

Definition at line 551 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvEtaPix_

MonitorElement* PhotonValidator::h_SimConvEtaPix_[2]
private

Definition at line 183 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvMTotal_

MonitorElement* PhotonValidator::h_SimConvMTotal_[5]
private

Definition at line 203 of file PhotonValidator.h.

◆ h_SimConvOneMTracks_

MonitorElement* PhotonValidator::h_SimConvOneMTracks_[5]
private

Definition at line 200 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvOneTracks_

MonitorElement* PhotonValidator::h_SimConvOneTracks_[5]
private

Definition at line 199 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ h_SimConvTwoMTracks_

MonitorElement* PhotonValidator::h_SimConvTwoMTracks_[5]
private

Definition at line 202 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvTwoMTracksAndVtxPGT0005_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0005_[5]
private

Definition at line 205 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvTwoMTracksAndVtxPGT01_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT01_[5]
private

Definition at line 206 of file PhotonValidator.h.

◆ h_SimConvTwoMTracksAndVtxPGT0_

MonitorElement* PhotonValidator::h_SimConvTwoMTracksAndVtxPGT0_[5]
private

Definition at line 204 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimConvTwoTracks_

MonitorElement* PhotonValidator::h_SimConvTwoTracks_[5]
private

Definition at line 201 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_simConvVtxRvsZ_

MonitorElement* PhotonValidator::h_simConvVtxRvsZ_[4]
private

Definition at line 188 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_simConvVtxYvsX_

MonitorElement* PhotonValidator::h_simConvVtxYvsX_
private

Definition at line 189 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimJet_

MonitorElement* PhotonValidator::h_SimJet_[3]
private

Definition at line 514 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimPho_

MonitorElement* PhotonValidator::h_SimPho_[3]
private

Denominator for efficiencies.

Definition at line 192 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimPhoEtaSmallR9_

MonitorElement* PhotonValidator::h_SimPhoEtaSmallR9_
private

Definition at line 180 of file PhotonValidator.h.

◆ h_SimPhoMotherEt_

MonitorElement* PhotonValidator::h_SimPhoMotherEt_[2]
private

Definition at line 178 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimPhoMotherEta_

MonitorElement* PhotonValidator::h_SimPhoMotherEta_[2]
private

Definition at line 179 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SimPhoMotherType_

MonitorElement* PhotonValidator::h_SimPhoMotherType_[2]
private

Definition at line 177 of file PhotonValidator.h.

◆ h_simTkEta_

MonitorElement* PhotonValidator::h_simTkEta_
private

Definition at line 186 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_simTkPt_

MonitorElement* PhotonValidator::h_simTkPt_
private

Definition at line 185 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_ChHad_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_ChHad_Cleaned_[3]
private

Definition at line 351 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_ChHad_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_ChHad_unCleaned_[3]
private

Definition at line 354 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_NeuHad_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
private

Definition at line 352 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_NeuHad_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
private

Definition at line 355 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_Pho_Cleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_Pho_Cleaned_[3]
private

Definition at line 353 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_SumPtOverPhoPt_Pho_unCleaned_

MonitorElement* PhotonValidator::h_SumPtOverPhoPt_Pho_unCleaned_[3]
private

Definition at line 356 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_tkChi2_

MonitorElement* PhotonValidator::h_tkChi2_[2]
private

Definition at line 495 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_tkChi2Bkg_

MonitorElement* PhotonValidator::h_tkChi2Bkg_
private

Definition at line 590 of file PhotonValidator.h.

◆ h_tkChi2Large_

MonitorElement* PhotonValidator::h_tkChi2Large_[2]
private

Definition at line 497 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_tkChi2SL_

MonitorElement* PhotonValidator::h_tkChi2SL_[2]
private

Definition at line 496 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_TkD0_

MonitorElement* PhotonValidator::h_TkD0_[3]
private

Definition at line 503 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_TkPtPull_

MonitorElement* PhotonValidator::h_TkPtPull_[3]
private

Definition at line 505 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_trkAlgo_

MonitorElement* PhotonValidator::h_trkAlgo_
private

Definition at line 219 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_trkProv_

MonitorElement* PhotonValidator::h_trkProv_[2]
private

Definition at line 218 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_VisSimConv_

MonitorElement* PhotonValidator::h_VisSimConv_[6]
private

Definition at line 194 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_VisSimConvLarge_

MonitorElement* PhotonValidator::h_VisSimConvLarge_
private

Definition at line 195 of file PhotonValidator.h.

◆ h_vtxChi2_

MonitorElement* PhotonValidator::h_vtxChi2_[3]
private

Definition at line 479 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_vtxChi2Prob_

MonitorElement* PhotonValidator::h_vtxChi2Prob_[3]
private

Definition at line 480 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ h_zPVFromTracks_

MonitorElement* PhotonValidator::h_zPVFromTracks_[5]
private

Definition at line 482 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ hBCEnergyOverTrackPout_

MonitorElement* PhotonValidator::hBCEnergyOverTrackPout_[3]
private

Definition at line 511 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ hcalEtSumCut_

double PhotonValidator::hcalEtSumCut_
private

Definition at line 148 of file PhotonValidator.h.

◆ hcalHitEtLow_

double PhotonValidator::hcalHitEtLow_
private

Definition at line 144 of file PhotonValidator.h.

◆ hcalIsolExtRadius_

double PhotonValidator::hcalIsolExtRadius_
private

Definition at line 142 of file PhotonValidator.h.

◆ hcalIsolInnRadius_

double PhotonValidator::hcalIsolInnRadius_
private

Definition at line 143 of file PhotonValidator.h.

◆ hepMC_Token_

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

Definition at line 121 of file PhotonValidator.h.

Referenced by analyze().

◆ isRunCentrally_

bool PhotonValidator::isRunCentrally_
private

Definition at line 131 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ likelihoodCut_

double PhotonValidator::likelihoodCut_
private

Definition at line 135 of file PhotonValidator.h.

Referenced by analyze().

◆ lip_

double PhotonValidator::lip_
private

Definition at line 139 of file PhotonValidator.h.

◆ magneticFieldToken_

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> PhotonValidator::magneticFieldToken_
private

Definition at line 124 of file PhotonValidator.h.

Referenced by dqmBeginRun().

◆ mcConvEta_

double PhotonValidator::mcConvEta_
private

Definition at line 161 of file PhotonValidator.h.

Referenced by analyze().

◆ mcConvPhi_

double PhotonValidator::mcConvPhi_
private

Definition at line 160 of file PhotonValidator.h.

Referenced by analyze().

◆ mcConvR_

double PhotonValidator::mcConvR_
private

Definition at line 156 of file PhotonValidator.h.

Referenced by analyze().

◆ mcConvX_

double PhotonValidator::mcConvX_
private

Definition at line 159 of file PhotonValidator.h.

Referenced by analyze().

◆ mcConvY_

double PhotonValidator::mcConvY_
private

Definition at line 158 of file PhotonValidator.h.

Referenced by analyze().

◆ mcConvZ_

double PhotonValidator::mcConvZ_
private

Definition at line 157 of file PhotonValidator.h.

Referenced by analyze().

◆ mcEta_

double PhotonValidator::mcEta_
private

Definition at line 155 of file PhotonValidator.h.

Referenced by analyze().

◆ mcJetEta_

double PhotonValidator::mcJetEta_
private

Definition at line 162 of file PhotonValidator.h.

Referenced by analyze().

◆ mcJetPhi_

double PhotonValidator::mcJetPhi_
private

Definition at line 163 of file PhotonValidator.h.

Referenced by analyze().

◆ mcPhi_

double PhotonValidator::mcPhi_
private

global variable for the MC photon

Definition at line 154 of file PhotonValidator.h.

Referenced by analyze().

◆ minPhoEtCut_

double PhotonValidator::minPhoEtCut_
private

Definition at line 133 of file PhotonValidator.h.

Referenced by analyze().

◆ nEntry_

int PhotonValidator::nEntry_
private

Definition at line 82 of file PhotonValidator.h.

◆ nEvt_

int PhotonValidator::nEvt_
private

Definition at line 81 of file PhotonValidator.h.

Referenced by analyze().

◆ nHitsVsEta_

MonitorElement* PhotonValidator::nHitsVsEta_[2]
private

Definition at line 491 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ nHitsVsEtaBkg_

MonitorElement* PhotonValidator::nHitsVsEtaBkg_
private

Definition at line 589 of file PhotonValidator.h.

◆ nHitsVsR_

MonitorElement* PhotonValidator::nHitsVsR_[2]
private

Definition at line 494 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ nInvalidPCA_

int PhotonValidator::nInvalidPCA_
private

Definition at line 90 of file PhotonValidator.h.

◆ nMatched_

int PhotonValidator::nMatched_
private

Definition at line 85 of file PhotonValidator.h.

◆ nRecConv_

int PhotonValidator::nRecConv_
private

Definition at line 86 of file PhotonValidator.h.

Referenced by analyze().

◆ nRecConvAss_

int PhotonValidator::nRecConvAss_
private

Definition at line 87 of file PhotonValidator.h.

Referenced by analyze().

◆ nRecConvAssWithEcal_

int PhotonValidator::nRecConvAssWithEcal_
private

Definition at line 88 of file PhotonValidator.h.

Referenced by analyze().

◆ nSimConv_

int PhotonValidator::nSimConv_[2]
private

Definition at line 84 of file PhotonValidator.h.

Referenced by analyze().

◆ nSimPho_

int PhotonValidator::nSimPho_[2]
private

Definition at line 83 of file PhotonValidator.h.

Referenced by analyze().

◆ numOfTracksInCone_

int PhotonValidator::numOfTracksInCone_
private

Definition at line 145 of file PhotonValidator.h.

◆ offline_pvToken_

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

Definition at line 102 of file PhotonValidator.h.

Referenced by analyze().

◆ p_Chi2VsEta_

MonitorElement* PhotonValidator::p_Chi2VsEta_[3]
private

Definition at line 499 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_Chi2VsR_

MonitorElement* PhotonValidator::p_Chi2VsR_[3]
private

Definition at line 501 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_convVtxdRVsEta_

MonitorElement* PhotonValidator::p_convVtxdRVsEta_
private

Definition at line 472 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_convVtxdRVsR_

MonitorElement* PhotonValidator::p_convVtxdRVsR_
private

Definition at line 470 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_convVtxdXVsX_

MonitorElement* PhotonValidator::p_convVtxdXVsX_
private

Definition at line 473 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_convVtxdYVsY_

MonitorElement* PhotonValidator::p_convVtxdYVsY_
private

Definition at line 474 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_convVtxdZVsZ_

MonitorElement* PhotonValidator::p_convVtxdZVsZ_
private

Definition at line 475 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DCotTracksVsEta_

MonitorElement* PhotonValidator::p_DCotTracksVsEta_
private

Definition at line 431 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DCotTracksVsR_

MonitorElement* PhotonValidator::p_DCotTracksVsR_
private

Definition at line 433 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DPhiTracksAtEcalVsEta_

MonitorElement* PhotonValidator::p_DPhiTracksAtEcalVsEta_
private

Definition at line 441 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DPhiTracksAtEcalVsR_

MonitorElement* PhotonValidator::p_DPhiTracksAtEcalVsR_
private

Definition at line 439 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DPhiTracksAtVtxVsEta_

MonitorElement* PhotonValidator::p_DPhiTracksAtVtxVsEta_
private

Definition at line 425 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_DPhiTracksAtVtxVsR_

MonitorElement* PhotonValidator::p_DPhiTracksAtVtxVsR_
private

Definition at line 427 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_dzPVVsEta_

MonitorElement* PhotonValidator::p_dzPVVsEta_
private

Definition at line 486 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_dzPVVsR_

MonitorElement* PhotonValidator::p_dzPVVsR_
private

Definition at line 485 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_ecalRecHitSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEt_[3]
private

Definition at line 276 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_ecalRecHitSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEta_[3]
private

Definition at line 274 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_ecalRecHitSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtaBkg_
private

Definition at line 564 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_ecalRecHitSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_ecalRecHitSumEtConeDR04VsEtBkg_[3]
private

Definition at line 566 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_EoverEtrueVsEta_

MonitorElement* PhotonValidator::p_EoverEtrueVsEta_[3]
private

Definition at line 416 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_EoverEtrueVsR_

MonitorElement* PhotonValidator::p_EoverEtrueVsR_[3]
private

Definition at line 418 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_EoverPVsEta_

MonitorElement* PhotonValidator::p_EoverPVsEta_[3]
private

Definition at line 411 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_EoverPVsR_

MonitorElement* PhotonValidator::p_EoverPVsR_[3]
private

Definition at line 413 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_eResVsEt_

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

Definition at line 314 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_eResVsEta_

MonitorElement* PhotonValidator::p_eResVsEta_[3]
private

Definition at line 311 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_eResVsNVtx_

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

Definition at line 315 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_eResVsR9_

MonitorElement* PhotonValidator::p_eResVsR9_[3]
private

Definition at line 321 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_eResVsR_

MonitorElement* PhotonValidator::p_eResVsR_
private

Definition at line 392 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerBcSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEt_[3]
private

Definition at line 286 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerBcSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_hcalTowerBcSumEtConeDR04VsEta_[3]
private

Definition at line 285 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerSumEtConeDR04VsEt_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEt_[3]
private

Definition at line 282 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerSumEtConeDR04VsEta_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEta_[3]
private

Definition at line 280 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerSumEtConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEtaBkg_
private

Definition at line 570 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hcalTowerSumEtConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_hcalTowerSumEtConeDR04VsEtBkg_[3]
private

Definition at line 572 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hOverEVsEt_

MonitorElement* PhotonValidator::p_hOverEVsEt_[3]
private

Definition at line 265 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hOverEVsEta_

MonitorElement* PhotonValidator::p_hOverEVsEta_[3]
private

Definition at line 263 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hOverEVsEtaBkg_

MonitorElement* PhotonValidator::p_hOverEVsEtaBkg_
private

Definition at line 559 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_hOverEVsEtBkg_

MonitorElement* PhotonValidator::p_hOverEVsEtBkg_
private

Definition at line 560 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_isoTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEt_[3]
private

Definition at line 292 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEta_[3]
private

Definition at line 290 of file PhotonValidator.h.

◆ p_isoTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEtaBkg_
private

Definition at line 576 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_isoTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_isoTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 578 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_newhOverEVsEt_

MonitorElement* PhotonValidator::p_newhOverEVsEt_[3]
private

Definition at line 269 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_newhOverEVsEta_

MonitorElement* PhotonValidator::p_newhOverEVsEta_[3]
private

Definition at line 268 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nHitsVsEta_

MonitorElement* PhotonValidator::p_nHitsVsEta_[2]
private

Definition at line 489 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nHitsVsEtaSL_

MonitorElement* PhotonValidator::p_nHitsVsEtaSL_[2]
private

Definition at line 490 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nHitsVsR_

MonitorElement* PhotonValidator::p_nHitsVsR_[2]
private

Definition at line 492 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nHitsVsRSL_

MonitorElement* PhotonValidator::p_nHitsVsRSL_[2]
private

Definition at line 493 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nTrkSolidConeDR04VsEt_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEt_[3]
private

Definition at line 298 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEta_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEta_[3]
private

Definition at line 296 of file PhotonValidator.h.

◆ p_nTrkSolidConeDR04VsEtaBkg_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEtaBkg_
private

Definition at line 582 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_nTrkSolidConeDR04VsEtBkg_

MonitorElement* PhotonValidator::p_nTrkSolidConeDR04VsEtBkg_[3]
private

Definition at line 584 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_PoverPtrueVsEta_

MonitorElement* PhotonValidator::p_PoverPtrueVsEta_[3]
private

Definition at line 421 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_r1VsEt_

MonitorElement* PhotonValidator::p_r1VsEt_[3]
private

Definition at line 247 of file PhotonValidator.h.

◆ p_r1VsEta_

MonitorElement* PhotonValidator::p_r1VsEta_[3]
private

Definition at line 245 of file PhotonValidator.h.

◆ p_r1VsEtaBkg_

MonitorElement* PhotonValidator::p_r1VsEtaBkg_
private

Definition at line 543 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_r1VsEtBkg_

MonitorElement* PhotonValidator::p_r1VsEtBkg_
private

Definition at line 544 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_r2VsEt_

MonitorElement* PhotonValidator::p_r2VsEt_[3]
private

Definition at line 253 of file PhotonValidator.h.

◆ p_r2VsEta_

MonitorElement* PhotonValidator::p_r2VsEta_[3]
private

Definition at line 251 of file PhotonValidator.h.

◆ p_r2VsEtaBkg_

MonitorElement* PhotonValidator::p_r2VsEtaBkg_
private

Definition at line 548 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_r2VsEtBkg_

MonitorElement* PhotonValidator::p_r2VsEtBkg_
private

Definition at line 549 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_r9VsEt_

MonitorElement* PhotonValidator::p_r9VsEt_[3]
private

Definition at line 241 of file PhotonValidator.h.

◆ p_r9VsEta_

MonitorElement* PhotonValidator::p_r9VsEta_[3]
private

Definition at line 239 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sceResVsR9_

MonitorElement* PhotonValidator::p_sceResVsR9_[3]
private

Definition at line 323 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sigmaEoEVsEt_

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

Definition at line 317 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sigmaEoEVsEta_

MonitorElement* PhotonValidator::p_sigmaEoEVsEta_[3]
private

Definition at line 312 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sigmaEoEVsNVtx_

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

Definition at line 318 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sigmaIetaIetaVsEt_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEt_[3]
private

Definition at line 259 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEta_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEta_[3]
private

Definition at line 257 of file PhotonValidator.h.

◆ p_sigmaIetaIetaVsEtaBkg_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEtaBkg_
private

Definition at line 553 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_sigmaIetaIetaVsEtBkg_

MonitorElement* PhotonValidator::p_sigmaIetaIetaVsEtBkg_[3]
private

Definition at line 555 of file PhotonValidator.h.

Referenced by analyze(), and bookHistograms().

◆ p_TkPtPull_

MonitorElement* PhotonValidator::p_TkPtPull_[3]
private

Definition at line 507 of file PhotonValidator.h.

Referenced by bookHistograms().

◆ parameters_

edm::ParameterSet PhotonValidator::parameters_
private

◆ particleBasedIso_token

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

Definition at line 101 of file PhotonValidator.h.

Referenced by analyze().

◆ pfCandidates_

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

Definition at line 99 of file PhotonValidator.h.

Referenced by analyze().

◆ photonCollection_

std::string PhotonValidator::photonCollection_
private

Definition at line 97 of file PhotonValidator.h.

◆ photonCollectionProducer_

std::string PhotonValidator::photonCollectionProducer_
private

Definition at line 96 of file PhotonValidator.h.

◆ photonCollectionToken_

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

Definition at line 98 of file PhotonValidator.h.

Referenced by analyze().

◆ recMaxPt_

double PhotonValidator::recMaxPt_
private

Definition at line 173 of file PhotonValidator.h.

◆ recMinPt_

double PhotonValidator::recMinPt_
private

Global variables for reco Photon.

Definition at line 172 of file PhotonValidator.h.

◆ simMaxPt_

double PhotonValidator::simMaxPt_
private

Definition at line 169 of file PhotonValidator.h.

◆ simMinPt_

double PhotonValidator::simMinPt_
private

Definition at line 168 of file PhotonValidator.h.

◆ th1f_SimConvMTotal_

TH1F* PhotonValidator::th1f_SimConvMTotal_[5]
private

Definition at line 213 of file PhotonValidator.h.

◆ theCaloGeom_

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

Definition at line 93 of file PhotonValidator.h.

Referenced by analyze().

◆ theCaloTopo_

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

Definition at line 94 of file PhotonValidator.h.

◆ theConvTP_

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

Definition at line 165 of file PhotonValidator.h.

Referenced by analyze().

◆ theMF_

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

Definition at line 78 of file PhotonValidator.h.

Referenced by dqmBeginRun().

◆ thePhotonMCTruthFinder_

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

Definition at line 128 of file PhotonValidator.h.

Referenced by analyze(), dqmBeginRun(), and dqmEndRun().

◆ token_tp_

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

Definition at line 109 of file PhotonValidator.h.

Referenced by analyze().

◆ transientTrackBuilderToken_

const edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> PhotonValidator::transientTrackBuilderToken_
private

Definition at line 126 of file PhotonValidator.h.

Referenced by analyze().

◆ trkIsolExtRadius_

double PhotonValidator::trkIsolExtRadius_
private

Definition at line 136 of file PhotonValidator.h.

◆ trkIsolInnRadius_

double PhotonValidator::trkIsolInnRadius_
private

Definition at line 137 of file PhotonValidator.h.

◆ trkPtLow_

double PhotonValidator::trkPtLow_
private

Definition at line 138 of file PhotonValidator.h.

◆ trkPtSumCut_

double PhotonValidator::trkPtSumCut_
private

Definition at line 146 of file PhotonValidator.h.

◆ valueMapPhoPFCandIso_

std::string PhotonValidator::valueMapPhoPFCandIso_
private

Definition at line 100 of file PhotonValidator.h.

◆ verbosity_

int PhotonValidator::verbosity_
private

Definition at line 80 of file PhotonValidator.h.