CMS 3D CMS Logo

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

#include <ElectronMcSignalValidator.h>

Inheritance diagram for ElectronMcSignalValidator:
ElectronDqmAnalyzerBase one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 ElectronMcSignalValidator (const edm::ParameterSet &conf)
 
 ~ElectronMcSignalValidator () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotbeamSpotTag_
 
double deltaR2_
 
double deltaR_
 
double deta_max
 
double deta_min
 
int deta_nbin
 
int detamatch2D_nbin
 
double detamatch_max
 
double detamatch_min
 
int detamatch_nbin
 
double dphi_max
 
double dphi_min
 
int dphi_nbin
 
int dphimatch2D_nbin
 
double dphimatch_max
 
double dphimatch_min
 
int dphimatch_nbin
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronCollection_
 
edm::EDGetTokenT< reco::GsfElectronCoreCollectionelectronCoreCollection_
 
edm::EDGetTokenT< reco::ElectronSeedCollectionelectronSeedCollection_
 
edm::EDGetTokenT< reco::GsfTrackCollectionelectronTrackCollection_
 
double enerror_max
 
int eop2D_nbin
 
double eop_max
 
int eop_nbin
 
double eopmaxsht
 
int error_nbin
 
int eta2D_nbin
 
double eta_max
 
double eta_min
 
int eta_nbin
 
double fhits_max
 
int fhits_nbin
 
MonitorElementh1_ele_ambiguousTracks
 
MonitorElementh1_ele_charge
 
MonitorElementh1_ele_chargedHadronIso
 
MonitorElementh1_ele_chargedHadronIso_barrel
 
MonitorElementh1_ele_chargedHadronIso_endcaps
 
MonitorElementh1_ele_chargedHadronRelativeIso
 
MonitorElementh1_ele_chargedHadronRelativeIso_barrel
 
MonitorElementh1_ele_chargedHadronRelativeIso_endcaps
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_chargeInfo
 
MonitorElementh1_ele_ChargeMnChargeTrue
 
MonitorElementh1_ele_chi2
 
MonitorElementh1_ele_chi2_barrel
 
MonitorElementh1_ele_chi2_endcaps
 
MonitorElementh1_ele_classes
 
MonitorElementh1_ele_combinedP4Error
 
MonitorElementh1_ele_combinedP4Error_barrel
 
MonitorElementh1_ele_combinedP4Error_endcaps
 
MonitorElementh1_ele_convDcot
 
MonitorElementh1_ele_convDcot_all
 
MonitorElementh1_ele_convDist
 
MonitorElementh1_ele_convDist_all
 
MonitorElementh1_ele_convFlags
 
MonitorElementh1_ele_convFlags_all
 
MonitorElementh1_ele_convRadius
 
MonitorElementh1_ele_convRadius_all
 
MonitorElementh1_ele_dEtaCl_propOut
 
MonitorElementh1_ele_dEtaCl_propOut_all
 
MonitorElementh1_ele_dEtaCl_propOut_all_barrel
 
MonitorElementh1_ele_dEtaCl_propOut_all_endcaps
 
MonitorElementh1_ele_dEtaCl_propOut_barrel
 
MonitorElementh1_ele_dEtaCl_propOut_endcaps
 
MonitorElementh1_ele_dEtaEleCl_propOut
 
MonitorElementh1_ele_dEtaEleCl_propOut_barrel
 
MonitorElementh1_ele_dEtaEleCl_propOut_endcaps
 
MonitorElementh1_ele_dEtaSc_propVtx
 
MonitorElementh1_ele_dEtaSc_propVtx_all
 
MonitorElementh1_ele_dEtaSc_propVtx_all_barrel
 
MonitorElementh1_ele_dEtaSc_propVtx_all_endcaps
 
MonitorElementh1_ele_dEtaSc_propVtx_barrel
 
MonitorElementh1_ele_dEtaSc_propVtx_endcaps
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD_barrel
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD_endcaps
 
MonitorElementh1_ele_dPhiCl_propOut
 
MonitorElementh1_ele_dPhiCl_propOut_all
 
MonitorElementh1_ele_dPhiCl_propOut_all_barrel
 
MonitorElementh1_ele_dPhiCl_propOut_all_endcaps
 
MonitorElementh1_ele_dPhiCl_propOut_barrel
 
MonitorElementh1_ele_dPhiCl_propOut_endcaps
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD_barrel
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD_endcaps
 
MonitorElementh1_ele_dPhiEleCl_propOut
 
MonitorElementh1_ele_dPhiEleCl_propOut_barrel
 
MonitorElementh1_ele_dPhiEleCl_propOut_endcaps
 
MonitorElementh1_ele_dPhiSc_propVtx
 
MonitorElementh1_ele_dPhiSc_propVtx_all
 
MonitorElementh1_ele_dPhiSc_propVtx_all_barrel
 
MonitorElementh1_ele_dPhiSc_propVtx_all_endcaps
 
MonitorElementh1_ele_dPhiSc_propVtx_barrel
 
MonitorElementh1_ele_dPhiSc_propVtx_endcaps
 
MonitorElementh1_ele_ecalEnergyError
 
MonitorElementh1_ele_ecalEnergyError_barrel
 
MonitorElementh1_ele_ecalEnergyError_endcaps
 
MonitorElementh1_ele_ecalRecHitSumEt_dr03
 
MonitorElementh1_ele_ecalRecHitSumEt_dr03_barrel
 
MonitorElementh1_ele_ecalRecHitSumEt_dr03_endcaps
 
MonitorElementh1_ele_ecalRecHitSumEt_dr04
 
MonitorElementh1_ele_ecalRecHitSumEt_dr04_barrel
 
MonitorElementh1_ele_ecalRecHitSumEt_dr04_endcaps
 
MonitorElementh1_ele_EeleOPout
 
MonitorElementh1_ele_EeleOPout_all
 
MonitorElementh1_ele_EeleOPout_all_barrel
 
MonitorElementh1_ele_EeleOPout_all_endcaps
 
MonitorElementh1_ele_EeleOPout_barrel
 
MonitorElementh1_ele_EeleOPout_endcaps
 
MonitorElementh1_ele_EoP
 
MonitorElementh1_ele_EoP_barrel
 
MonitorElementh1_ele_EoP_endcaps
 
MonitorElementh1_ele_EoPout
 
MonitorElementh1_ele_EoPout_all
 
MonitorElementh1_ele_EoPout_all_barrel
 
MonitorElementh1_ele_EoPout_all_endcaps
 
MonitorElementh1_ele_EoPout_barrel
 
MonitorElementh1_ele_EoPout_endcaps
 
MonitorElementh1_ele_EoverP_all
 
MonitorElementh1_ele_EoverP_all_barrel
 
MonitorElementh1_ele_EoverP_all_endcaps
 
MonitorElementh1_ele_EseedOP
 
MonitorElementh1_ele_EseedOP_all
 
MonitorElementh1_ele_EseedOP_all_barrel
 
MonitorElementh1_ele_EseedOP_all_endcaps
 
MonitorElementh1_ele_EseedOP_barrel
 
MonitorElementh1_ele_EseedOP_endcaps
 
MonitorElementh1_ele_Et
 
MonitorElementh1_ele_Et_all
 
MonitorElementh1_ele_eta
 
MonitorElementh1_ele_eta_bbrem
 
MonitorElementh1_ele_eta_golden
 
MonitorElementh1_ele_eta_shower
 
MonitorElementh1_ele_EtaMnEtaTrue
 
MonitorElementh1_ele_EtaMnEtaTrue_barrel
 
MonitorElementh1_ele_EtaMnEtaTrue_endcaps
 
MonitorElementh1_ele_fbrem
 
MonitorElementh1_ele_fbrem_barrel
 
MonitorElementh1_ele_fbrem_endcaps
 
MonitorElementh1_ele_fbrem_mAOD
 
MonitorElementh1_ele_fbrem_mAOD_barrel
 
MonitorElementh1_ele_fbrem_mAOD_endcaps
 
MonitorElementh1_ele_foundHits
 
MonitorElementh1_ele_foundHits_barrel
 
MonitorElementh1_ele_foundHits_endcaps
 
MonitorElementh1_ele_hcalDepth1OverEcalBc
 
MonitorElementh1_ele_hcalDepth1OverEcalBc_barrel
 
MonitorElementh1_ele_hcalDepth1OverEcalBc_endcaps
 
MonitorElementh1_ele_hcalDepth2OverEcalBc
 
MonitorElementh1_ele_hcalDepth2OverEcalBc_barrel
 
MonitorElementh1_ele_hcalDepth2OverEcalBc_endcaps
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth1
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth1_barrel
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth1_endcaps
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth2
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth2_barrel
 
MonitorElementh1_ele_hcalTowerSumEt_dr03_depth2_endcaps
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth1
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth1_barrel
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth1_endcaps
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth2
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth2_barrel
 
MonitorElementh1_ele_hcalTowerSumEt_dr04_depth2_endcaps
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth1
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth1_barrel
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth1_endcaps
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth2
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth2_barrel
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr03_depth2_endcaps
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth1
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth1_barrel
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth1_endcaps
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth2
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth2_barrel
 
MonitorElementh1_ele_hcalTowerSumEtBc_dr04_depth2_endcaps
 
MonitorElementh1_ele_HoE
 
MonitorElementh1_ele_HoE_all
 
MonitorElementh1_ele_HoE_all_barrel
 
MonitorElementh1_ele_HoE_all_endcaps
 
MonitorElementh1_ele_HoE_barrel
 
MonitorElementh1_ele_HoE_bc
 
MonitorElementh1_ele_HoE_bc_all
 
MonitorElementh1_ele_HoE_bc_barrel
 
MonitorElementh1_ele_HoE_bc_endcaps
 
MonitorElementh1_ele_HoE_endcaps
 
MonitorElementh1_ele_HoE_fiducial
 
MonitorElementh1_ele_HoE_mAOD
 
MonitorElementh1_ele_HoE_mAOD_barrel
 
MonitorElementh1_ele_HoE_mAOD_endcaps
 
MonitorElementh1_ele_lostHits
 
MonitorElementh1_ele_lostHits_barrel
 
MonitorElementh1_ele_lostHits_endcaps
 
MonitorElementh1_ele_mee_all
 
MonitorElementh1_ele_mee_os
 
MonitorElementh1_ele_mee_os_bb
 
MonitorElementh1_ele_mee_os_ebeb
 
MonitorElementh1_ele_mee_os_ebee
 
MonitorElementh1_ele_mee_os_eeee
 
MonitorElementh1_ele_mee_os_gb
 
MonitorElementh1_ele_mee_os_gg
 
MonitorElementh1_ele_mva
 
MonitorElementh1_ele_mva_barrel
 
MonitorElementh1_ele_mva_barrel_isolated
 
MonitorElementh1_ele_mva_endcaps
 
MonitorElementh1_ele_mva_endcaps_isolated
 
MonitorElementh1_ele_mva_isolated
 
MonitorElementh1_ele_neutralHadronIso
 
MonitorElementh1_ele_neutralHadronIso_barrel
 
MonitorElementh1_ele_neutralHadronIso_endcaps
 
MonitorElementh1_ele_neutralHadronRelativeIso
 
MonitorElementh1_ele_neutralHadronRelativeIso_barrel
 
MonitorElementh1_ele_neutralHadronRelativeIso_endcaps
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_outerP
 
MonitorElementh1_ele_outerP_mode
 
MonitorElementh1_ele_outerPt
 
MonitorElementh1_ele_outerPt_mode
 
MonitorElementh1_ele_PhiMnPhiTrue
 
MonitorElementh1_ele_PhiMnPhiTrue2
 
MonitorElementh1_ele_PhiMnPhiTrue_barrel
 
MonitorElementh1_ele_PhiMnPhiTrue_endcaps
 
MonitorElementh1_ele_photonIso
 
MonitorElementh1_ele_photonIso_barrel
 
MonitorElementh1_ele_photonIso_endcaps
 
MonitorElementh1_ele_photonRelativeIso
 
MonitorElementh1_ele_photonRelativeIso_barrel
 
MonitorElementh1_ele_photonRelativeIso_endcaps
 
MonitorElementh1_ele_photonRelativeIso_mAOD
 
MonitorElementh1_ele_photonRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_photonRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_PinMnPout
 
MonitorElementh1_ele_PinMnPout_mode
 
MonitorElementh1_ele_PoPtrue
 
MonitorElementh1_ele_PoPtrue_barrel
 
MonitorElementh1_ele_PoPtrue_endcaps
 
MonitorElementh1_ele_PoPtrue_golden_barrel
 
MonitorElementh1_ele_PoPtrue_golden_endcaps
 
MonitorElementh1_ele_PoPtrue_showering_barrel
 
MonitorElementh1_ele_PoPtrue_showering_endcaps
 
MonitorElementh1_ele_provenance
 
MonitorElementh1_ele_provenance_barrel
 
MonitorElementh1_ele_provenance_endcaps
 
MonitorElementh1_ele_PtoPttrue
 
MonitorElementh1_ele_PtoPttrue_barrel
 
MonitorElementh1_ele_PtoPttrue_endcaps
 
MonitorElementh1_ele_seed_dphi2
 
MonitorElementh1_ele_seed_dphi2pos
 
MonitorElementh1_ele_seed_drz2
 
MonitorElementh1_ele_seed_drz2pos
 
MonitorElementh1_ele_seed_mask
 
MonitorElementh1_ele_seed_mask_bpix
 
MonitorElementh1_ele_seed_mask_fpix
 
MonitorElementh1_ele_seed_mask_tec
 
MonitorElementh1_ele_seed_subdet2
 
MonitorElementh1_ele_superclusterfbrem
 
MonitorElementh1_ele_superclusterfbrem_barrel
 
MonitorElementh1_ele_superclusterfbrem_endcaps
 
MonitorElementh1_ele_TIP_all
 
MonitorElementh1_ele_TIP_all_barrel
 
MonitorElementh1_ele_TIP_all_endcaps
 
MonitorElementh1_ele_tkSumPt_dr03
 
MonitorElementh1_ele_tkSumPt_dr03_barrel
 
MonitorElementh1_ele_tkSumPt_dr03_endcaps
 
MonitorElementh1_ele_tkSumPt_dr04
 
MonitorElementh1_ele_tkSumPt_dr04_barrel
 
MonitorElementh1_ele_tkSumPt_dr04_endcaps
 
MonitorElementh1_ele_vertexAbsEta
 
MonitorElementh1_ele_vertexEta
 
MonitorElementh1_ele_vertexEta_all
 
MonitorElementh1_ele_vertexP
 
MonitorElementh1_ele_vertexPhi
 
MonitorElementh1_ele_vertexPt
 
MonitorElementh1_ele_vertexPt_5100
 
MonitorElementh1_ele_vertexPt_all
 
MonitorElementh1_ele_vertexPt_nocut
 
MonitorElementh1_ele_vertexTIP
 
MonitorElementh1_ele_vertexX
 
MonitorElementh1_ele_vertexY
 
MonitorElementh1_ele_vertexZ
 
MonitorElementh1_eleNum
 
MonitorElementh1_gamNum
 
MonitorElementh1_mc_AbsEta
 
MonitorElementh1_mc_AbsEta_matched
 
MonitorElementh1_mc_AbsEta_matched_qmisid
 
MonitorElementh1_mc_Eta
 
MonitorElementh1_mc_Eta_matched
 
MonitorElementh1_mc_Eta_matched_qmisid
 
MonitorElementh1_mc_P
 
MonitorElementh1_mc_Phi
 
MonitorElementh1_mc_Phi_matched
 
MonitorElementh1_mc_Phi_matched_qmisid
 
MonitorElementh1_mc_Pt
 
MonitorElementh1_mc_Pt_matched
 
MonitorElementh1_mc_Pt_matched_qmisid
 
MonitorElementh1_mc_Z
 
MonitorElementh1_mc_Z_matched
 
MonitorElementh1_mc_Z_matched_qmisid
 
MonitorElementh1_mcNum
 
MonitorElementh1_recCoreNum
 
MonitorElementh1_recEleNum
 
MonitorElementh1_recOfflineVertices
 
MonitorElementh1_recSeedNum
 
MonitorElementh1_recTrackNum
 
MonitorElementh1_scl_bcl_EtotoEtrue
 
MonitorElementh1_scl_bcl_EtotoEtrue_barrel
 
MonitorElementh1_scl_bcl_EtotoEtrue_endcaps
 
MonitorElementh1_scl_E1x5
 
MonitorElementh1_scl_E1x5_barrel
 
MonitorElementh1_scl_E1x5_endcaps
 
MonitorElementh1_scl_E2x5max
 
MonitorElementh1_scl_E2x5max_barrel
 
MonitorElementh1_scl_E2x5max_endcaps
 
MonitorElementh1_scl_E5x5
 
MonitorElementh1_scl_E5x5_barrel
 
MonitorElementh1_scl_E5x5_endcaps
 
MonitorElementh1_scl_En
 
MonitorElementh1_scl_EoEtrue_barrel
 
MonitorElementh1_scl_EoEtrue_barrel_etagap
 
MonitorElementh1_scl_EoEtrue_barrel_new
 
MonitorElementh1_scl_EoEtrue_barrel_new_etagap
 
MonitorElementh1_scl_EoEtrue_barrel_new_phigap
 
MonitorElementh1_scl_EoEtrue_barrel_phigap
 
MonitorElementh1_scl_EoEtrue_ebeegap
 
MonitorElementh1_scl_EoEtrue_ebeegap_new
 
MonitorElementh1_scl_EoEtrue_endcaps
 
MonitorElementh1_scl_EoEtrue_endcaps_deegap
 
MonitorElementh1_scl_EoEtrue_endcaps_new
 
MonitorElementh1_scl_EoEtrue_endcaps_new_deegap
 
MonitorElementh1_scl_EoEtrue_endcaps_new_ringgap
 
MonitorElementh1_scl_EoEtrue_endcaps_ringgap
 
MonitorElementh1_scl_EoEtrueGolden_barrel
 
MonitorElementh1_scl_EoEtrueGolden_endcaps
 
MonitorElementh1_scl_EoEtrueShowering_barrel
 
MonitorElementh1_scl_EoEtrueShowering_endcaps
 
MonitorElementh1_scl_ESFrac_endcaps
 
MonitorElementh1_scl_Et
 
MonitorElementh1_scl_Eta
 
MonitorElementh1_scl_full5x5_sigmaIetaIeta
 
MonitorElementh1_scl_full5x5_sigmaIetaIeta_barrel
 
MonitorElementh1_scl_full5x5_sigmaIetaIeta_endcaps
 
MonitorElementh1_scl_Phi
 
MonitorElementh1_scl_SigEtaEta
 
MonitorElementh1_scl_SigEtaEta_barrel
 
MonitorElementh1_scl_SigEtaEta_endcaps
 
MonitorElementh1_scl_SigIEtaIEta
 
MonitorElementh1_scl_SigIEtaIEta_barrel
 
MonitorElementh1_scl_SigIEtaIEta_endcaps
 
MonitorElementh1_scl_SigIEtaIEta_mAOD
 
MonitorElementh1_scl_SigIEtaIEta_mAOD_barrel
 
MonitorElementh1_scl_SigIEtaIEta_mAOD_endcaps
 
MonitorElementh2_ele_ambiguousTracksVsEta
 
MonitorElementh2_ele_ambiguousTracksVsPhi
 
MonitorElementh2_ele_ambiguousTracksVsPt
 
MonitorElementh2_ele_chargeVsEta
 
MonitorElementh2_ele_chargeVsPhi
 
MonitorElementh2_ele_chargeVsPt
 
MonitorElementh2_ele_chi2VsEta
 
MonitorElementh2_ele_chi2VsPhi
 
MonitorElementh2_ele_chi2VsPt
 
MonitorElementh2_ele_dEtaClVsEta_propOut
 
MonitorElementh2_ele_dEtaClVsPhi_propOut
 
MonitorElementh2_ele_dEtaClVsPt_propOut
 
MonitorElementh2_ele_dEtaEleClVsEta_propOut
 
MonitorElementh2_ele_dEtaEleClVsPhi_propOut
 
MonitorElementh2_ele_dEtaEleClVsPt_propOut
 
MonitorElementh2_ele_dEtaScVsEta_propVtx
 
MonitorElementh2_ele_dEtaScVsPhi_propVtx
 
MonitorElementh2_ele_dEtaScVsPt_propVtx
 
MonitorElementh2_ele_dPhiClVsEta_propOut
 
MonitorElementh2_ele_dPhiClVsPhi_propOut
 
MonitorElementh2_ele_dPhiClVsPt_propOut
 
MonitorElementh2_ele_dPhiEleClVsEta_propOut
 
MonitorElementh2_ele_dPhiEleClVsPhi_propOut
 
MonitorElementh2_ele_dPhiEleClVsPt_propOut
 
MonitorElementh2_ele_dPhiScVsEta_propVtx
 
MonitorElementh2_ele_dPhiScVsPhi_propVtx
 
MonitorElementh2_ele_dPhiScVsPt_propVtx
 
MonitorElementh2_ele_E2mnE1vsMee_all
 
MonitorElementh2_ele_E2mnE1vsMee_egeg_all
 
MonitorElementh2_ele_EeleOPoutVsE
 
MonitorElementh2_ele_EeleOPoutVsEta
 
MonitorElementh2_ele_EeleOPoutVsPhi
 
MonitorElementh2_ele_EoPoutVsE
 
MonitorElementh2_ele_EoPoutVsEta
 
MonitorElementh2_ele_EoPoutVsPhi
 
MonitorElementh2_ele_EoPVsE
 
MonitorElementh2_ele_EoPVsEta
 
MonitorElementh2_ele_EoPVsPhi
 
MonitorElementh2_ele_EseedOPVsE
 
MonitorElementh2_ele_EseedOPVsEta
 
MonitorElementh2_ele_EseedOPVsPhi
 
MonitorElementh2_ele_EtaMnEtaTrueVsEta
 
MonitorElementh2_ele_EtaMnEtaTrueVsPhi
 
MonitorElementh2_ele_EtaMnEtaTrueVsPt
 
MonitorElementh2_ele_foundHitsVsEta
 
MonitorElementh2_ele_foundHitsVsEta_mAOD
 
MonitorElementh2_ele_foundHitsVsPhi
 
MonitorElementh2_ele_foundHitsVsPt
 
MonitorElementh2_ele_HoEVsE
 
MonitorElementh2_ele_HoEVsEta
 
MonitorElementh2_ele_HoEVsPhi
 
MonitorElementh2_ele_lostHitsVsEta
 
MonitorElementh2_ele_lostHitsVsPhi
 
MonitorElementh2_ele_lostHitsVsPt
 
MonitorElementh2_ele_outerPtVsEta_mode
 
MonitorElementh2_ele_outerPtVsPhi_mode
 
MonitorElementh2_ele_outerPtVsPt_mode
 
MonitorElementh2_ele_outerPVsEta_mode
 
MonitorElementh2_ele_PhiMnPhiTrueVsEta
 
MonitorElementh2_ele_PhiMnPhiTrueVsPhi
 
MonitorElementh2_ele_PhiMnPhiTrueVsPt
 
MonitorElementh2_ele_PinMnPoutVsChi2_mode
 
MonitorElementh2_ele_PinMnPoutVsE_mode
 
MonitorElementh2_ele_PinMnPoutVsEta_mode
 
MonitorElementh2_ele_PinMnPoutVsPhi_mode
 
MonitorElementh2_ele_PinMnPoutVsPt_mode
 
MonitorElementh2_ele_PinVsPoutGolden_mean
 
MonitorElementh2_ele_PinVsPoutGolden_mode
 
MonitorElementh2_ele_PinVsPoutShowering_mean
 
MonitorElementh2_ele_PinVsPoutShowering_mode
 
MonitorElementh2_ele_PoPtrueVsEta
 
MonitorElementh2_ele_PoPtrueVsPhi
 
MonitorElementh2_ele_PoPtrueVsPt
 
MonitorElementh2_ele_PtinVsPtoutGolden_mean
 
MonitorElementh2_ele_PtinVsPtoutGolden_mode
 
MonitorElementh2_ele_PtinVsPtoutShowering_mean
 
MonitorElementh2_ele_PtinVsPtoutShowering_mode
 
MonitorElementh2_ele_seed_dphi2posVsEta
 
MonitorElementh2_ele_seed_dphi2posVsPt
 
MonitorElementh2_ele_seed_dphi2VsEta
 
MonitorElementh2_ele_seed_dphi2VsPt
 
MonitorElementh2_ele_seed_drz2posVsEta
 
MonitorElementh2_ele_seed_drz2posVsPt
 
MonitorElementh2_ele_seed_drz2VsEta
 
MonitorElementh2_ele_seed_drz2VsPt
 
MonitorElementh2_ele_sigmaIetaIetaVsPt
 
MonitorElementh2_ele_vertexEtaVsPhi
 
MonitorElementh2_ele_vertexPtVsEta
 
MonitorElementh2_ele_vertexPtVsPhi
 
MonitorElementh2_ele_vertexTIPVsEta
 
MonitorElementh2_ele_vertexTIPVsPhi
 
MonitorElementh2_ele_vertexTIPVsPt
 
MonitorElementh2_mc_PtEta
 
MonitorElementh2_mc_PtEta_matched
 
MonitorElementh2_scl_EoEtruePfVsEg
 
MonitorElementh2_scl_EoEtrueVsrecOfflineVertices
 
MonitorElementh2_scl_EoEtrueVsrecOfflineVertices_barrel
 
MonitorElementh2_scl_EoEtrueVsrecOfflineVertices_endcaps
 
MonitorElementh2_scl_EtaVsPhi
 
MonitorElementh2_scl_EtVsEta
 
MonitorElementh2_scl_EtVsPhi
 
double hoe_max
 
double hoe_min
 
int hoe_nbin
 
std::string inputFile_
 
std::string inputInternalPath_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull03Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull04Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced03Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced04Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal03Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal04Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk03Tag_
 
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk04Tag_
 
double lhits_max
 
int lhits_nbin
 
std::vector< int > matchingIDs_
 
std::vector< int > matchingMotherIDs_
 
double maxAbsEta_
 
double maxPt_
 
float mcEnergy [10]
 
float mcEta [10]
 
float mcPhi [10]
 
float mcPt [10]
 
float mcQ [10]
 
edm::EDGetTokenT< reco::GenParticleCollectionmcTruthCollection_
 
double mee_max
 
double mee_min
 
int mee_nbin
 
edm::EDGetTokenT< reco::VertexCollectionofflineVerticesCollection_
 
std::string outputFile_
 
std::string outputInternalPath_
 
MonitorElementp1_ele_fbremVsEta_mean
 
MonitorElementp1_ele_fbremVsEta_mode
 
int p2D_nbin
 
double p_max
 
int p_nbin
 
edm::ESHandle< TrackerGeometrypDD
 
int phi2D_nbin
 
double phi_max
 
double phi_min
 
int phi_nbin
 
double poptrue_max
 
double poptrue_min
 
int poptrue_nbin
 
int pt2D_nbin
 
double pt_max
 
int pt_nbin
 
int pteff_nbin
 
bool readAOD_
 
float seedEta [10]
 
float seedMomentum [10]
 
float seedPhi [10]
 
float seedPt [10]
 
float seedQ [10]
 
bool set_EfficiencyFlag
 
bool set_StatOverflowFlag
 
float superclusterEnergy [10]
 
float superclusterEt [10]
 
float superclusterEta [10]
 
float superclusterPhi [10]
 
edm::ESHandle< MagneticFieldtheMagField
 
int xyz_nbin
 

Additional Inherited Members

- Protected Member Functions inherited from ElectronDqmAnalyzerBase
void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
MonitorElementbookH1 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
 
MonitorElementbookH1withSumw2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
 
MonitorElementbookH2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
 
MonitorElementbookH2withSumw2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
MonitorElementbookP1 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="E1 P")
 
MonitorElementcloneH1 (DQMStore::IBooker &iBooker, const std::string &name, MonitorElement *original, const std::string &title="")
 
MonitorElementcloneH1 (DQMStore::IBooker &iBooker, const std::string &name, const std::string &original, const std::string &title="")
 
 ElectronDqmAnalyzerBase (const edm::ParameterSet &conf)
 
void setBookEfficiencyFlag (const bool &)
 
void setBookIndex (short)
 
void setBookPrefix (const std::string &)
 
void setBookStatOverflowFlag (const bool &)
 
int verbosity ()
 
 ~ElectronDqmAnalyzerBase () override
 

Detailed Description

Definition at line 23 of file ElectronMcSignalValidator.h.

Constructor & Destructor Documentation

ElectronMcSignalValidator::ElectronMcSignalValidator ( const edm::ParameterSet conf)
explicit

Definition at line 46 of file ElectronMcSignalValidator.cc.

References beamSpotTag_, deltaR2_, deltaR_, deta_max, deta_min, deta_nbin, detamatch2D_nbin, detamatch_max, detamatch_min, detamatch_nbin, dphi_max, dphi_min, dphi_nbin, dphimatch2D_nbin, dphimatch_max, dphimatch_min, dphimatch_nbin, electronCollection_, electronCoreCollection_, electronSeedCollection_, electronTrackCollection_, enerror_max, eop2D_nbin, eop_max, eop_nbin, eopmaxsht, error_nbin, eta2D_nbin, eta_max, eta_min, eta_nbin, fhits_max, fhits_nbin, edm::ParameterSet::getParameter(), h1_ele_ambiguousTracks, h1_ele_charge, h1_ele_chargedHadronRelativeIso_mAOD, h1_ele_chargedHadronRelativeIso_mAOD_barrel, h1_ele_chargedHadronRelativeIso_mAOD_endcaps, h1_ele_ChargeMnChargeTrue, h1_ele_chi2, h1_ele_chi2_barrel, h1_ele_chi2_endcaps, h1_ele_classes, h1_ele_convDcot, h1_ele_convDcot_all, h1_ele_convDist, h1_ele_convDist_all, h1_ele_convFlags, h1_ele_convFlags_all, h1_ele_convRadius, h1_ele_convRadius_all, h1_ele_dEtaCl_propOut, h1_ele_dEtaCl_propOut_all, h1_ele_dEtaCl_propOut_all_barrel, h1_ele_dEtaCl_propOut_all_endcaps, h1_ele_dEtaCl_propOut_barrel, h1_ele_dEtaCl_propOut_endcaps, h1_ele_dEtaEleCl_propOut, h1_ele_dEtaEleCl_propOut_barrel, h1_ele_dEtaEleCl_propOut_endcaps, h1_ele_dEtaSc_propVtx, h1_ele_dEtaSc_propVtx_all, h1_ele_dEtaSc_propVtx_all_barrel, h1_ele_dEtaSc_propVtx_all_endcaps, h1_ele_dEtaSc_propVtx_barrel, h1_ele_dEtaSc_propVtx_endcaps, h1_ele_dEtaSc_propVtx_mAOD, h1_ele_dEtaSc_propVtx_mAOD_barrel, h1_ele_dEtaSc_propVtx_mAOD_endcaps, h1_ele_dPhiCl_propOut, h1_ele_dPhiCl_propOut_all, h1_ele_dPhiCl_propOut_all_barrel, h1_ele_dPhiCl_propOut_all_endcaps, h1_ele_dPhiCl_propOut_barrel, h1_ele_dPhiCl_propOut_endcaps, h1_ele_dPhiCl_propOut_mAOD, h1_ele_dPhiCl_propOut_mAOD_barrel, h1_ele_dPhiCl_propOut_mAOD_endcaps, h1_ele_dPhiEleCl_propOut, h1_ele_dPhiEleCl_propOut_barrel, h1_ele_dPhiEleCl_propOut_endcaps, h1_ele_dPhiSc_propVtx, h1_ele_dPhiSc_propVtx_all, h1_ele_dPhiSc_propVtx_all_barrel, h1_ele_dPhiSc_propVtx_all_endcaps, h1_ele_dPhiSc_propVtx_barrel, h1_ele_dPhiSc_propVtx_endcaps, h1_ele_ecalRecHitSumEt_dr03, h1_ele_ecalRecHitSumEt_dr03_barrel, h1_ele_ecalRecHitSumEt_dr03_endcaps, h1_ele_ecalRecHitSumEt_dr04, h1_ele_ecalRecHitSumEt_dr04_barrel, h1_ele_ecalRecHitSumEt_dr04_endcaps, h1_ele_EeleOPout, h1_ele_EeleOPout_all, h1_ele_EeleOPout_all_barrel, h1_ele_EeleOPout_all_endcaps, h1_ele_EeleOPout_barrel, h1_ele_EeleOPout_endcaps, h1_ele_EoP, h1_ele_EoP_barrel, h1_ele_EoP_endcaps, h1_ele_EoPout, h1_ele_EoPout_all, h1_ele_EoPout_all_barrel, h1_ele_EoPout_all_endcaps, h1_ele_EoPout_barrel, h1_ele_EoPout_endcaps, h1_ele_EoverP_all, h1_ele_EoverP_all_barrel, h1_ele_EoverP_all_endcaps, h1_ele_EseedOP, h1_ele_EseedOP_all, h1_ele_EseedOP_all_barrel, h1_ele_EseedOP_all_endcaps, h1_ele_EseedOP_barrel, h1_ele_EseedOP_endcaps, h1_ele_Et, h1_ele_Et_all, h1_ele_eta, h1_ele_eta_bbrem, h1_ele_eta_golden, h1_ele_eta_shower, h1_ele_EtaMnEtaTrue, h1_ele_EtaMnEtaTrue_barrel, h1_ele_EtaMnEtaTrue_endcaps, h1_ele_fbrem, h1_ele_fbrem_barrel, h1_ele_fbrem_endcaps, h1_ele_fbrem_mAOD, h1_ele_fbrem_mAOD_barrel, h1_ele_fbrem_mAOD_endcaps, h1_ele_foundHits, h1_ele_foundHits_barrel, h1_ele_foundHits_endcaps, h1_ele_hcalTowerSumEt_dr03_depth1, h1_ele_hcalTowerSumEt_dr03_depth1_barrel, h1_ele_hcalTowerSumEt_dr03_depth1_endcaps, h1_ele_hcalTowerSumEt_dr03_depth2, h1_ele_hcalTowerSumEt_dr04_depth1, h1_ele_hcalTowerSumEt_dr04_depth1_barrel, h1_ele_hcalTowerSumEt_dr04_depth1_endcaps, h1_ele_hcalTowerSumEt_dr04_depth2, h1_ele_HoE, h1_ele_HoE_all, h1_ele_HoE_all_barrel, h1_ele_HoE_all_endcaps, h1_ele_HoE_barrel, h1_ele_HoE_endcaps, h1_ele_HoE_fiducial, h1_ele_HoE_mAOD, h1_ele_HoE_mAOD_barrel, h1_ele_HoE_mAOD_endcaps, h1_ele_lostHits, h1_ele_lostHits_barrel, h1_ele_lostHits_endcaps, h1_ele_mee_all, h1_ele_mee_os, h1_ele_mee_os_bb, h1_ele_mee_os_ebeb, h1_ele_mee_os_ebee, h1_ele_mee_os_eeee, h1_ele_mee_os_gb, h1_ele_mee_os_gg, h1_ele_mva, h1_ele_mva_isolated, h1_ele_neutralHadronRelativeIso_mAOD, h1_ele_neutralHadronRelativeIso_mAOD_barrel, h1_ele_neutralHadronRelativeIso_mAOD_endcaps, h1_ele_outerP, h1_ele_outerP_mode, h1_ele_outerPt, h1_ele_outerPt_mode, h1_ele_PhiMnPhiTrue, h1_ele_PhiMnPhiTrue2, h1_ele_PhiMnPhiTrue_barrel, h1_ele_PhiMnPhiTrue_endcaps, h1_ele_photonRelativeIso_mAOD, h1_ele_photonRelativeIso_mAOD_barrel, h1_ele_photonRelativeIso_mAOD_endcaps, h1_ele_PinMnPout, h1_ele_PinMnPout_mode, h1_ele_PoPtrue, h1_ele_PoPtrue_barrel, h1_ele_PoPtrue_endcaps, h1_ele_PoPtrue_golden_barrel, h1_ele_PoPtrue_golden_endcaps, h1_ele_PoPtrue_showering_barrel, h1_ele_PoPtrue_showering_endcaps, h1_ele_provenance, h1_ele_PtoPttrue, h1_ele_PtoPttrue_barrel, h1_ele_PtoPttrue_endcaps, h1_ele_seed_dphi2, h1_ele_seed_dphi2pos, h1_ele_seed_drz2, h1_ele_seed_drz2pos, h1_ele_seed_mask, h1_ele_seed_mask_bpix, h1_ele_seed_mask_fpix, h1_ele_seed_mask_tec, h1_ele_seed_subdet2, h1_ele_superclusterfbrem, h1_ele_superclusterfbrem_barrel, h1_ele_superclusterfbrem_endcaps, h1_ele_TIP_all, h1_ele_TIP_all_barrel, h1_ele_TIP_all_endcaps, h1_ele_tkSumPt_dr03, h1_ele_tkSumPt_dr03_barrel, h1_ele_tkSumPt_dr03_endcaps, h1_ele_tkSumPt_dr04, h1_ele_tkSumPt_dr04_barrel, h1_ele_tkSumPt_dr04_endcaps, h1_ele_vertexAbsEta, h1_ele_vertexEta, h1_ele_vertexEta_all, h1_ele_vertexP, h1_ele_vertexPhi, h1_ele_vertexPt, h1_ele_vertexPt_5100, h1_ele_vertexPt_all, h1_ele_vertexPt_nocut, h1_ele_vertexTIP, h1_ele_vertexX, h1_ele_vertexY, h1_ele_vertexZ, h1_eleNum, h1_gamNum, h1_mc_AbsEta, h1_mc_AbsEta_matched, h1_mc_AbsEta_matched_qmisid, h1_mc_Eta, h1_mc_Eta_matched, h1_mc_Eta_matched_qmisid, h1_mc_P, h1_mc_Phi, h1_mc_Phi_matched, h1_mc_Phi_matched_qmisid, h1_mc_Pt, h1_mc_Pt_matched, h1_mc_Pt_matched_qmisid, h1_mc_Z, h1_mc_Z_matched, h1_mc_Z_matched_qmisid, h1_mcNum, h1_recCoreNum, h1_recEleNum, h1_recOfflineVertices, h1_recSeedNum, h1_recTrackNum, h1_scl_bcl_EtotoEtrue, h1_scl_bcl_EtotoEtrue_barrel, h1_scl_bcl_EtotoEtrue_endcaps, h1_scl_E1x5, h1_scl_E1x5_barrel, h1_scl_E1x5_endcaps, h1_scl_E2x5max, h1_scl_E2x5max_barrel, h1_scl_E2x5max_endcaps, h1_scl_E5x5, h1_scl_E5x5_barrel, h1_scl_E5x5_endcaps, h1_scl_En, h1_scl_EoEtrue_barrel, h1_scl_EoEtrue_barrel_etagap, h1_scl_EoEtrue_barrel_new, h1_scl_EoEtrue_barrel_new_etagap, h1_scl_EoEtrue_barrel_new_phigap, h1_scl_EoEtrue_barrel_phigap, h1_scl_EoEtrue_ebeegap, h1_scl_EoEtrue_ebeegap_new, h1_scl_EoEtrue_endcaps, h1_scl_EoEtrue_endcaps_deegap, h1_scl_EoEtrue_endcaps_new, h1_scl_EoEtrue_endcaps_new_deegap, h1_scl_EoEtrue_endcaps_new_ringgap, h1_scl_EoEtrue_endcaps_ringgap, h1_scl_EoEtrueGolden_barrel, h1_scl_EoEtrueGolden_endcaps, h1_scl_EoEtrueShowering_barrel, h1_scl_EoEtrueShowering_endcaps, h1_scl_ESFrac_endcaps, h1_scl_Et, h1_scl_Eta, h1_scl_full5x5_sigmaIetaIeta, h1_scl_full5x5_sigmaIetaIeta_barrel, h1_scl_full5x5_sigmaIetaIeta_endcaps, h1_scl_Phi, h1_scl_SigEtaEta, h1_scl_SigEtaEta_barrel, h1_scl_SigEtaEta_endcaps, h1_scl_SigIEtaIEta, h1_scl_SigIEtaIEta_barrel, h1_scl_SigIEtaIEta_endcaps, h1_scl_SigIEtaIEta_mAOD, h1_scl_SigIEtaIEta_mAOD_barrel, h1_scl_SigIEtaIEta_mAOD_endcaps, h2_ele_ambiguousTracksVsEta, h2_ele_ambiguousTracksVsPhi, h2_ele_ambiguousTracksVsPt, h2_ele_chargeVsEta, h2_ele_chargeVsPhi, h2_ele_chargeVsPt, h2_ele_chi2VsEta, h2_ele_chi2VsPhi, h2_ele_chi2VsPt, h2_ele_dEtaClVsEta_propOut, h2_ele_dEtaClVsPhi_propOut, h2_ele_dEtaClVsPt_propOut, h2_ele_dEtaEleClVsEta_propOut, h2_ele_dEtaEleClVsPhi_propOut, h2_ele_dEtaEleClVsPt_propOut, h2_ele_dEtaScVsEta_propVtx, h2_ele_dEtaScVsPhi_propVtx, h2_ele_dEtaScVsPt_propVtx, h2_ele_dPhiClVsEta_propOut, h2_ele_dPhiClVsPhi_propOut, h2_ele_dPhiClVsPt_propOut, h2_ele_dPhiEleClVsEta_propOut, h2_ele_dPhiEleClVsPhi_propOut, h2_ele_dPhiEleClVsPt_propOut, h2_ele_dPhiScVsEta_propVtx, h2_ele_dPhiScVsPhi_propVtx, h2_ele_dPhiScVsPt_propVtx, h2_ele_E2mnE1vsMee_all, h2_ele_E2mnE1vsMee_egeg_all, h2_ele_EeleOPoutVsE, h2_ele_EeleOPoutVsEta, h2_ele_EeleOPoutVsPhi, h2_ele_EoPoutVsE, h2_ele_EoPoutVsEta, h2_ele_EoPoutVsPhi, h2_ele_EoPVsE, h2_ele_EoPVsEta, h2_ele_EoPVsPhi, h2_ele_EseedOPVsE, h2_ele_EseedOPVsEta, h2_ele_EseedOPVsPhi, h2_ele_EtaMnEtaTrueVsEta, h2_ele_EtaMnEtaTrueVsPhi, h2_ele_EtaMnEtaTrueVsPt, h2_ele_foundHitsVsEta, h2_ele_foundHitsVsEta_mAOD, h2_ele_foundHitsVsPhi, h2_ele_foundHitsVsPt, h2_ele_HoEVsE, h2_ele_HoEVsEta, h2_ele_HoEVsPhi, h2_ele_lostHitsVsEta, h2_ele_lostHitsVsPhi, h2_ele_lostHitsVsPt, h2_ele_outerPtVsEta_mode, h2_ele_outerPtVsPhi_mode, h2_ele_outerPtVsPt_mode, h2_ele_outerPVsEta_mode, h2_ele_PhiMnPhiTrueVsEta, h2_ele_PhiMnPhiTrueVsPhi, h2_ele_PhiMnPhiTrueVsPt, h2_ele_PinMnPoutVsChi2_mode, h2_ele_PinMnPoutVsE_mode, h2_ele_PinMnPoutVsEta_mode, h2_ele_PinMnPoutVsPhi_mode, h2_ele_PinMnPoutVsPt_mode, h2_ele_PinVsPoutGolden_mean, h2_ele_PinVsPoutGolden_mode, h2_ele_PinVsPoutShowering_mean, h2_ele_PinVsPoutShowering_mode, h2_ele_PoPtrueVsEta, h2_ele_PoPtrueVsPhi, h2_ele_PoPtrueVsPt, h2_ele_PtinVsPtoutGolden_mean, h2_ele_PtinVsPtoutGolden_mode, h2_ele_PtinVsPtoutShowering_mean, h2_ele_PtinVsPtoutShowering_mode, h2_ele_seed_dphi2posVsEta, h2_ele_seed_dphi2posVsPt, h2_ele_seed_dphi2VsEta, h2_ele_seed_dphi2VsPt, h2_ele_seed_drz2posVsEta, h2_ele_seed_drz2posVsPt, h2_ele_seed_drz2VsEta, h2_ele_seed_drz2VsPt, h2_ele_sigmaIetaIetaVsPt, h2_ele_vertexEtaVsPhi, h2_ele_vertexPtVsEta, h2_ele_vertexPtVsPhi, h2_ele_vertexTIPVsEta, h2_ele_vertexTIPVsPhi, h2_ele_vertexTIPVsPt, h2_mc_PtEta, h2_mc_PtEta_matched, h2_scl_EoEtruePfVsEg, h2_scl_EoEtrueVsrecOfflineVertices, h2_scl_EoEtrueVsrecOfflineVertices_barrel, h2_scl_EoEtrueVsrecOfflineVertices_endcaps, h2_scl_EtaVsPhi, h2_scl_EtVsEta, h2_scl_EtVsPhi, hoe_max, hoe_min, hoe_nbin, inputFile_, inputInternalPath_, isoFromDepsEcalFull03Tag_, isoFromDepsEcalFull04Tag_, isoFromDepsEcalReduced03Tag_, isoFromDepsEcalReduced04Tag_, isoFromDepsHcal03Tag_, isoFromDepsHcal04Tag_, isoFromDepsTk03Tag_, isoFromDepsTk04Tag_, lhits_max, lhits_nbin, matchingIDs_, matchingMotherIDs_, maxAbsEta_, maxPt_, mcTruthCollection_, mee_max, mee_min, mee_nbin, nullptr, offlineVerticesCollection_, outputFile_, outputInternalPath_, p1_ele_fbremVsEta_mean, p1_ele_fbremVsEta_mode, p2D_nbin, p_max, p_nbin, phi2D_nbin, phi_max, phi_min, phi_nbin, poptrue_max, poptrue_min, poptrue_nbin, pt2D_nbin, pt_max, pt_nbin, pteff_nbin, readAOD_, set_EfficiencyFlag, set_StatOverflowFlag, AlCaHLTBitMon_QueryRunRegistry::string, and xyz_nbin.

48  {
49  mcTruthCollection_ = consumes<reco::GenParticleCollection> (
50  conf.getParameter<edm::InputTag>("mcTruthCollection"));
51  electronCollection_ = consumes<reco::GsfElectronCollection> (
52  conf.getParameter<edm::InputTag>("electronCollection"));
53  electronCoreCollection_ = consumes<reco::GsfElectronCoreCollection> (
54  conf.getParameter<edm::InputTag>("electronCoreCollection"));
55  electronTrackCollection_ = consumes<reco::GsfTrackCollection> (
56  conf.getParameter<edm::InputTag>("electronTrackCollection"));
57  electronSeedCollection_ = consumes<reco::ElectronSeedCollection> (
58  conf.getParameter<edm::InputTag>("electronSeedCollection"));
59  /* new 03/02/2015 */
60  offlineVerticesCollection_ = consumes<reco::VertexCollection> (
61  conf.getParameter<edm::InputTag>("offlinePrimaryVertices"));
62  /* fin new */
63  beamSpotTag_ = consumes<reco::BeamSpot> (
64  conf.getParameter<edm::InputTag>("beamSpot"));
65 
66  readAOD_ = conf.getParameter<bool>("readAOD");
67 
68  isoFromDepsTk03Tag_ = consumes<edm::ValueMap<double> > (
69  conf.getParameter<edm::InputTag>( "isoFromDepsTk03"));
70  isoFromDepsTk04Tag_ = consumes<edm::ValueMap<double> > (
71  conf.getParameter<edm::InputTag>( "isoFromDepsTk04"));
72  isoFromDepsEcalFull03Tag_ = consumes<edm::ValueMap<double> > (
73  conf.getParameter<edm::InputTag>( "isoFromDepsEcalFull03"));
74  isoFromDepsEcalFull04Tag_ = consumes<edm::ValueMap<double> > (
75  conf.getParameter<edm::InputTag>( "isoFromDepsEcalFull04"));
76  isoFromDepsEcalReduced03Tag_ = consumes<edm::ValueMap<double> >(
77  conf.getParameter<edm::InputTag>( "isoFromDepsEcalReduced03"));
78  isoFromDepsEcalReduced04Tag_ = consumes<edm::ValueMap<double> > (
79  conf.getParameter<edm::InputTag>( "isoFromDepsEcalReduced04"));
80  isoFromDepsHcal03Tag_ = consumes<edm::ValueMap<double> > (
81  conf.getParameter<edm::InputTag>( "isoFromDepsHcal03"));
82  isoFromDepsHcal04Tag_ = consumes<edm::ValueMap<double> > (
83  conf.getParameter<edm::InputTag>( "isoFromDepsHcal04"));
84 
85  maxPt_ = conf.getParameter<double>("MaxPt");
86  maxAbsEta_ = conf.getParameter<double>("MaxAbsEta");
87  deltaR_ = conf.getParameter<double>("DeltaR");
89  matchingIDs_ = conf.getParameter<std::vector<int> >("MatchingID");
90  matchingMotherIDs_ = conf.getParameter<std::vector<int> >("MatchingMotherID");
91  inputFile_ = conf.getParameter<std::string>("InputFile") ;
92  outputFile_ = conf.getParameter<std::string>("OutputFile") ;
93  inputInternalPath_ = conf.getParameter<std::string>("InputFolderName") ;
94  outputInternalPath_ = conf.getParameter<std::string>("OutputFolderName") ;
95 
96  // histos bining and limits
97 
98  edm::ParameterSet histosSet = conf.getParameter<edm::ParameterSet>("histosCfg") ;
99 
100  xyz_nbin=histosSet.getParameter<int>("Nbinxyz");
101 
102  p_nbin=histosSet.getParameter<int>("Nbinp");
103  p2D_nbin=histosSet.getParameter<int>("Nbinp2D");
104  p_max=histosSet.getParameter<double>("Pmax");
105 
106  pt_nbin=histosSet.getParameter<int>("Nbinpt");
107  pt2D_nbin=histosSet.getParameter<int>("Nbinpt2D");
108  pteff_nbin=histosSet.getParameter<int>("Nbinpteff");
109  pt_max=histosSet.getParameter<double>("Ptmax");
110 
111  fhits_nbin=histosSet.getParameter<int>("Nbinfhits");
112  fhits_max=histosSet.getParameter<double>("Fhitsmax");
113 
114  lhits_nbin=histosSet.getParameter<int>("Nbinlhits");
115  lhits_max=histosSet.getParameter<double>("Lhitsmax");
116 
117  eop_nbin=histosSet.getParameter<int>("Nbineop");
118  eop2D_nbin=histosSet.getParameter<int>("Nbineop2D");
119  eop_max=histosSet.getParameter<double>("Eopmax");
120  eopmaxsht=histosSet.getParameter<double>("Eopmaxsht");
121 
122  eta_nbin=histosSet.getParameter<int>("Nbineta");
123  eta2D_nbin=histosSet.getParameter<int>("Nbineta2D");
124  eta_min=histosSet.getParameter<double>("Etamin");
125  eta_max=histosSet.getParameter<double>("Etamax");
126 
127  deta_nbin=histosSet.getParameter<int>("Nbindeta");
128  deta_min=histosSet.getParameter<double>("Detamin");
129  deta_max=histosSet.getParameter<double>("Detamax");
130 
131  phi_nbin=histosSet.getParameter<int>("Nbinphi");
132  phi2D_nbin=histosSet.getParameter<int>("Nbinphi2D");
133  phi_min=histosSet.getParameter<double>("Phimin");
134  phi_max=histosSet.getParameter<double>("Phimax");
135 
136  detamatch_nbin=histosSet.getParameter<int>("Nbindetamatch");
137  detamatch2D_nbin=histosSet.getParameter<int>("Nbindetamatch2D");
138  detamatch_min=histosSet.getParameter<double>("Detamatchmin");
139  detamatch_max=histosSet.getParameter<double>("Detamatchmax");
140 
141  dphi_nbin=histosSet.getParameter<int>("Nbindphi");
142  dphi_min=histosSet.getParameter<double>("Dphimin");
143  dphi_max=histosSet.getParameter<double>("Dphimax");
144 
145  dphimatch_nbin=histosSet.getParameter<int>("Nbindphimatch");
146  dphimatch2D_nbin=histosSet.getParameter<int>("Nbindphimatch2D");
147  dphimatch_min=histosSet.getParameter<double>("Dphimatchmin");
148  dphimatch_max=histosSet.getParameter<double>("Dphimatchmax");
149 
150  poptrue_nbin= histosSet.getParameter<int>("Nbinpoptrue");
151  poptrue_min=histosSet.getParameter<double>("Poptruemin");
152  poptrue_max=histosSet.getParameter<double>("Poptruemax");
153 
154  mee_nbin= histosSet.getParameter<int>("Nbinmee");
155  mee_min=histosSet.getParameter<double>("Meemin");
156  mee_max=histosSet.getParameter<double>("Meemax");
157 
158  hoe_nbin= histosSet.getParameter<int>("Nbinhoe");
159  hoe_min=histosSet.getParameter<double>("Hoemin");
160  hoe_max=histosSet.getParameter<double>("Hoemax");
161 
162  error_nbin=histosSet.getParameter<int>("Nbinerror");
163  enerror_max=histosSet.getParameter<double>("Energyerrormax");
164 
165  set_EfficiencyFlag=histosSet.getParameter<bool>("EfficiencyFlag");
166  set_StatOverflowFlag=histosSet.getParameter<bool>("StatOverflowFlag");
167 
168  // so to please coverity...
169  h1_mcNum = nullptr ;
170  h1_eleNum = nullptr ;
171  h1_gamNum = nullptr ;
172 
178 
179  h1_mc_Eta = nullptr ;
181  h1_mc_P = nullptr ;
182  h1_mc_Pt = nullptr ;
183  h1_mc_Phi = nullptr ;
184  h1_mc_Z = nullptr ;
185  h2_mc_PtEta = nullptr ;
186 
193 
199 
241 
244 
252  h1_ele_Et = nullptr ;
267 
268  h1_scl_En = nullptr ;
282  h2_scl_EoEtrueVsrecOfflineVertices = nullptr ; // new 2015.15.05
286  h1_scl_Et = nullptr ;
290  h1_scl_Eta = nullptr ;
291  h1_scl_Phi = nullptr ;
292 // h1_scl_ESFrac = 0 ;
294 
296 
309  h1_scl_E1x5 = nullptr ;
315  h1_scl_E5x5 = nullptr ;
321 
339  h1_ele_chi2 = nullptr ;
345 
349 
354 
383 
392  h1_ele_EoP = nullptr ;
416 
459 
477 
479  h1_ele_eta = nullptr ;
483 
484  h1_ele_HoE = nullptr ;
494 
504 
519 
520  h1_ele_mva = nullptr ;
521  h1_ele_mva_isolated = nullptr;
523 
524  // isolation
545 
546  // conversions
555 
556  // PF
566 
567  }
MonitorElement * h1_scl_EoEtrue_endcaps_ringgap
T getParameter(std::string const &) const
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1_endcaps
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1_barrel
MonitorElement * h1_ele_ecalRecHitSumEt_dr04_barrel
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1_barrel
MonitorElement * h1_ele_ecalRecHitSumEt_dr03_endcaps
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull04Tag_
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
MonitorElement * h1_ele_photonRelativeIso_mAOD
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth2
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk03Tag_
MonitorElement * h1_scl_bcl_EtotoEtrue_endcaps
MonitorElement * h1_ele_photonRelativeIso_mAOD_barrel
MonitorElement * h1_ele_dPhiEleCl_propOut_endcaps
MonitorElement * h2_ele_dEtaEleClVsEta_propOut
#define nullptr
edm::EDGetTokenT< reco::GenParticleCollection > mcTruthCollection_
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_all_endcaps
MonitorElement * h1_ele_dPhiCl_propOut_all_endcaps
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal04Tag_
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced03Tag_
MonitorElement * h2_ele_PtinVsPtoutShowering_mode
MonitorElement * h1_ele_PoPtrue_showering_barrel
MonitorElement * h2_scl_EoEtrueVsrecOfflineVertices_endcaps
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1_endcaps
MonitorElement * h2_ele_dPhiEleClVsPhi_propOut
MonitorElement * h2_ele_PtinVsPtoutGolden_mean
MonitorElement * h2_ele_dEtaEleClVsPhi_propOut
MonitorElement * h1_ele_dPhiSc_propVtx_all_endcaps
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1
edm::EDGetTokenT< reco::GsfElectronCoreCollection > electronCoreCollection_
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth2
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_PoPtrue_showering_endcaps
MonitorElement * h2_ele_PtinVsPtoutGolden_mode
edm::EDGetTokenT< reco::VertexCollection > offlineVerticesCollection_
MonitorElement * h1_ele_dEtaEleCl_propOut_endcaps
MonitorElement * h1_ele_dPhiCl_propOut_mAOD_endcaps
MonitorElement * h1_ele_dPhiSc_propVtx_endcaps
MonitorElement * h2_ele_dPhiEleClVsEta_propOut
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
MonitorElement * h1_scl_EoEtrueShowering_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_all_barrel
MonitorElement * h1_ele_dPhiCl_propOut_mAOD_barrel
MonitorElement * h1_scl_SigIEtaIEta_mAOD_endcaps
ElectronDqmAnalyzerBase(const edm::ParameterSet &conf)
edm::EDGetTokenT< reco::GsfTrackCollection > electronTrackCollection_
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1
MonitorElement * h1_ele_dPhiSc_propVtx_all_barrel
MonitorElement * h1_scl_EoEtrueShowering_barrel
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD_barrel
MonitorElement * h1_ele_superclusterfbrem_endcaps
MonitorElement * h1_ele_dPhiEleCl_propOut_barrel
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk04Tag_
MonitorElement * h2_scl_EoEtrueVsrecOfflineVertices
MonitorElement * h1_scl_EoEtrue_barrel_new_etagap
MonitorElement * h1_scl_full5x5_sigmaIetaIeta_endcaps
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD_barrel
MonitorElement * h1_ele_photonRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_dEtaCl_propOut_endcaps
MonitorElement * h2_ele_PinVsPoutShowering_mean
MonitorElement * h1_ele_dPhiCl_propOut_all_barrel
MonitorElement * h1_ele_dEtaCl_propOut_all_barrel
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull03Tag_
MonitorElement * h1_ele_superclusterfbrem_barrel
MonitorElement * h1_ele_ecalRecHitSumEt_dr03_barrel
MonitorElement * h1_scl_EoEtrue_endcaps_new_deegap
MonitorElement * h1_ele_dEtaSc_propVtx_mAOD_barrel
MonitorElement * h2_ele_PinVsPoutShowering_mode
MonitorElement * h1_scl_full5x5_sigmaIetaIeta_barrel
MonitorElement * h1_ele_ecalRecHitSumEt_dr04_endcaps
MonitorElement * h1_ele_dEtaCl_propOut_all_endcaps
MonitorElement * h1_scl_SigIEtaIEta_mAOD_barrel
MonitorElement * h1_scl_EoEtrue_barrel_new_phigap
MonitorElement * h2_ele_PtinVsPtoutShowering_mean
MonitorElement * h1_scl_EoEtrue_endcaps_new_ringgap
MonitorElement * h1_scl_EoEtrue_endcaps_deegap
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD
MonitorElement * h1_ele_dEtaEleCl_propOut_barrel
edm::EDGetTokenT< reco::ElectronSeedCollection > electronSeedCollection_
MonitorElement * h1_ele_dEtaSc_propVtx_mAOD_endcaps
MonitorElement * h2_scl_EoEtrueVsrecOfflineVertices_barrel
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced04Tag_
MonitorElement * h1_ele_dPhiCl_propOut_endcaps
MonitorElement * h1_ele_PoPtrue_golden_endcaps
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal03Tag_
ElectronMcSignalValidator::~ElectronMcSignalValidator ( )
override

Definition at line 1057 of file ElectronMcSignalValidator.cc.

1058  {}

Member Function Documentation

void ElectronMcSignalValidator::analyze ( const edm::Event e,
const edm::EventSetup c 
)
override

Definition at line 1060 of file ElectronMcSignalValidator.cc.

References funct::abs(), reco::GsfElectron::ambiguousGsfTracksSize(), beamSpotTag_, reco::GsfElectron::caloEnergy(), edm::RefToBase< T >::castTo(), reco::LeafCandidate::charge(), reco::GsfElectron::classification(), reco::GsfElectron::convDcot(), reco::GsfElectron::convDist(), reco::GsfElectron::convFlags(), reco::GsfElectron::convRadius(), reco::GsfElectron::correctedEcalEnergyError(), edmIntegrityCheck::d, reco::GsfElectron::deltaEtaEleClusterTrackAtCalo(), reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiEleClusterTrackAtCalo(), reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo(), reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx(), reco::deltaR2(), deltaR2_, reco::GsfElectron::dr03EcalRecHitSumEt(), reco::GsfElectron::dr03HcalDepth1TowerSumEt(), reco::GsfElectron::dr03HcalDepth1TowerSumEtBc(), reco::GsfElectron::dr03HcalDepth2TowerSumEt(), reco::GsfElectron::dr03HcalDepth2TowerSumEtBc(), reco::GsfElectron::dr03TkSumPt(), reco::GsfElectron::dr04EcalRecHitSumEt(), reco::GsfElectron::dr04HcalDepth1TowerSumEt(), reco::GsfElectron::dr04HcalDepth1TowerSumEtBc(), reco::GsfElectron::dr04HcalDepth2TowerSumEt(), reco::GsfElectron::dr04HcalDepth2TowerSumEtBc(), reco::GsfElectron::dr04TkSumPt(), reco::GsfElectron::ecalDrivenSeed(), reco::GsfElectron::ecalEnergy(), reco::GsfElectron::eEleClusterOverPout(), electronCollection_, electronCoreCollection_, electronSeedCollection_, electronTrackCollection_, reco::GsfElectron::eSeedClusterOverP(), reco::GsfElectron::eSeedClusterOverPout(), reco::GsfElectron::eSuperClusterOverP(), reco::LeafCandidate::eta(), funct::false, reco::GsfElectron::fbrem(), MonitorElement::Fill(), HcalObjRepresent::Fill(), flags, reco::GsfElectron::full5x5_sigmaIetaIeta(), GenHFHadronMatcher_cfi::genParticles, edm::Event::getByToken(), gsfElectronCores_cfi::gsfElectronCores, gsfElectrons_cfi::gsfElectrons, reco::GsfElectron::gsfTrack(), h1_ele_ambiguousTracks, h1_ele_charge, h1_ele_chargedHadronIso, h1_ele_chargedHadronIso_barrel, h1_ele_chargedHadronIso_endcaps, h1_ele_chargedHadronRelativeIso, h1_ele_chargedHadronRelativeIso_barrel, h1_ele_chargedHadronRelativeIso_endcaps, h1_ele_chargedHadronRelativeIso_mAOD, h1_ele_chargedHadronRelativeIso_mAOD_barrel, h1_ele_chargedHadronRelativeIso_mAOD_endcaps, h1_ele_chargeInfo, h1_ele_ChargeMnChargeTrue, h1_ele_chi2, h1_ele_chi2_barrel, h1_ele_chi2_endcaps, h1_ele_classes, h1_ele_combinedP4Error, h1_ele_combinedP4Error_barrel, h1_ele_combinedP4Error_endcaps, h1_ele_convDcot, h1_ele_convDcot_all, h1_ele_convDist, h1_ele_convDist_all, h1_ele_convFlags, h1_ele_convFlags_all, h1_ele_convRadius, h1_ele_convRadius_all, h1_ele_dEtaCl_propOut, h1_ele_dEtaCl_propOut_all, h1_ele_dEtaCl_propOut_barrel, h1_ele_dEtaCl_propOut_endcaps, h1_ele_dEtaEleCl_propOut, h1_ele_dEtaEleCl_propOut_barrel, h1_ele_dEtaEleCl_propOut_endcaps, h1_ele_dEtaSc_propVtx, h1_ele_dEtaSc_propVtx_all, h1_ele_dEtaSc_propVtx_barrel, h1_ele_dEtaSc_propVtx_endcaps, h1_ele_dEtaSc_propVtx_mAOD, h1_ele_dEtaSc_propVtx_mAOD_barrel, h1_ele_dEtaSc_propVtx_mAOD_endcaps, h1_ele_dPhiCl_propOut, h1_ele_dPhiCl_propOut_all, h1_ele_dPhiCl_propOut_barrel, h1_ele_dPhiCl_propOut_endcaps, h1_ele_dPhiCl_propOut_mAOD, h1_ele_dPhiCl_propOut_mAOD_barrel, h1_ele_dPhiCl_propOut_mAOD_endcaps, h1_ele_dPhiEleCl_propOut, h1_ele_dPhiEleCl_propOut_barrel, h1_ele_dPhiEleCl_propOut_endcaps, h1_ele_dPhiSc_propVtx, h1_ele_dPhiSc_propVtx_all, h1_ele_dPhiSc_propVtx_barrel, h1_ele_dPhiSc_propVtx_endcaps, h1_ele_ecalEnergyError, h1_ele_ecalEnergyError_barrel, h1_ele_ecalEnergyError_endcaps, h1_ele_ecalRecHitSumEt_dr03, h1_ele_ecalRecHitSumEt_dr03_barrel, h1_ele_ecalRecHitSumEt_dr03_endcaps, h1_ele_ecalRecHitSumEt_dr04, h1_ele_ecalRecHitSumEt_dr04_barrel, h1_ele_ecalRecHitSumEt_dr04_endcaps, h1_ele_EeleOPout, h1_ele_EeleOPout_all, h1_ele_EeleOPout_barrel, h1_ele_EeleOPout_endcaps, h1_ele_EoP, h1_ele_EoP_barrel, h1_ele_EoP_endcaps, h1_ele_EoPout, h1_ele_EoPout_all, h1_ele_EoPout_barrel, h1_ele_EoPout_endcaps, h1_ele_EoverP_all, h1_ele_EseedOP, h1_ele_EseedOP_all, h1_ele_EseedOP_barrel, h1_ele_EseedOP_endcaps, h1_ele_Et, h1_ele_Et_all, h1_ele_eta, h1_ele_eta_bbrem, h1_ele_eta_golden, h1_ele_eta_shower, h1_ele_EtaMnEtaTrue, h1_ele_EtaMnEtaTrue_barrel, h1_ele_EtaMnEtaTrue_endcaps, h1_ele_fbrem, h1_ele_fbrem_barrel, h1_ele_fbrem_endcaps, h1_ele_fbrem_mAOD, h1_ele_fbrem_mAOD_barrel, h1_ele_fbrem_mAOD_endcaps, h1_ele_foundHits, h1_ele_foundHits_barrel, h1_ele_foundHits_endcaps, h1_ele_hcalDepth1OverEcalBc, h1_ele_hcalDepth1OverEcalBc_barrel, h1_ele_hcalDepth1OverEcalBc_endcaps, h1_ele_hcalDepth2OverEcalBc, h1_ele_hcalDepth2OverEcalBc_barrel, h1_ele_hcalDepth2OverEcalBc_endcaps, h1_ele_hcalTowerSumEt_dr03_depth1, h1_ele_hcalTowerSumEt_dr03_depth1_barrel, h1_ele_hcalTowerSumEt_dr03_depth1_endcaps, h1_ele_hcalTowerSumEt_dr03_depth2, h1_ele_hcalTowerSumEt_dr03_depth2_barrel, h1_ele_hcalTowerSumEt_dr03_depth2_endcaps, h1_ele_hcalTowerSumEt_dr04_depth1, h1_ele_hcalTowerSumEt_dr04_depth1_barrel, h1_ele_hcalTowerSumEt_dr04_depth1_endcaps, h1_ele_hcalTowerSumEt_dr04_depth2, h1_ele_hcalTowerSumEt_dr04_depth2_barrel, h1_ele_hcalTowerSumEt_dr04_depth2_endcaps, h1_ele_hcalTowerSumEtBc_dr03_depth1, h1_ele_hcalTowerSumEtBc_dr03_depth1_barrel, h1_ele_hcalTowerSumEtBc_dr03_depth1_endcaps, h1_ele_hcalTowerSumEtBc_dr03_depth2, h1_ele_hcalTowerSumEtBc_dr03_depth2_barrel, h1_ele_hcalTowerSumEtBc_dr03_depth2_endcaps, h1_ele_hcalTowerSumEtBc_dr04_depth1, h1_ele_hcalTowerSumEtBc_dr04_depth1_barrel, h1_ele_hcalTowerSumEtBc_dr04_depth1_endcaps, h1_ele_hcalTowerSumEtBc_dr04_depth2, h1_ele_hcalTowerSumEtBc_dr04_depth2_barrel, h1_ele_hcalTowerSumEtBc_dr04_depth2_endcaps, h1_ele_HoE, h1_ele_HoE_all, h1_ele_HoE_barrel, h1_ele_HoE_bc, h1_ele_HoE_bc_all, h1_ele_HoE_bc_barrel, h1_ele_HoE_bc_endcaps, h1_ele_HoE_endcaps, h1_ele_HoE_fiducial, h1_ele_HoE_mAOD, h1_ele_HoE_mAOD_barrel, h1_ele_HoE_mAOD_endcaps, h1_ele_lostHits, h1_ele_lostHits_barrel, h1_ele_lostHits_endcaps, h1_ele_mee_all, h1_ele_mee_os, h1_ele_mee_os_bb, h1_ele_mee_os_ebeb, h1_ele_mee_os_ebee, h1_ele_mee_os_eeee, h1_ele_mee_os_gb, h1_ele_mee_os_gg, h1_ele_mva, h1_ele_mva_barrel, h1_ele_mva_barrel_isolated, h1_ele_mva_endcaps, h1_ele_mva_endcaps_isolated, h1_ele_mva_isolated, h1_ele_neutralHadronIso, h1_ele_neutralHadronIso_barrel, h1_ele_neutralHadronIso_endcaps, h1_ele_neutralHadronRelativeIso, h1_ele_neutralHadronRelativeIso_barrel, h1_ele_neutralHadronRelativeIso_endcaps, h1_ele_neutralHadronRelativeIso_mAOD, h1_ele_neutralHadronRelativeIso_mAOD_barrel, h1_ele_neutralHadronRelativeIso_mAOD_endcaps, h1_ele_outerP, h1_ele_outerP_mode, h1_ele_outerPt, h1_ele_outerPt_mode, h1_ele_PhiMnPhiTrue, h1_ele_PhiMnPhiTrue2, h1_ele_PhiMnPhiTrue_barrel, h1_ele_PhiMnPhiTrue_endcaps, h1_ele_photonIso, h1_ele_photonIso_barrel, h1_ele_photonIso_endcaps, h1_ele_photonRelativeIso, h1_ele_photonRelativeIso_barrel, h1_ele_photonRelativeIso_endcaps, h1_ele_photonRelativeIso_mAOD, h1_ele_photonRelativeIso_mAOD_barrel, h1_ele_photonRelativeIso_mAOD_endcaps, h1_ele_PinMnPout, h1_ele_PinMnPout_mode, h1_ele_PoPtrue, h1_ele_PoPtrue_barrel, h1_ele_PoPtrue_endcaps, h1_ele_PoPtrue_golden_barrel, h1_ele_PoPtrue_golden_endcaps, h1_ele_PoPtrue_showering_barrel, h1_ele_PoPtrue_showering_endcaps, h1_ele_provenance, h1_ele_provenance_barrel, h1_ele_provenance_endcaps, h1_ele_PtoPttrue, h1_ele_PtoPttrue_barrel, h1_ele_PtoPttrue_endcaps, h1_ele_seed_dphi2, h1_ele_seed_dphi2pos, h1_ele_seed_drz2, h1_ele_seed_drz2pos, h1_ele_seed_mask, h1_ele_seed_mask_bpix, h1_ele_seed_mask_fpix, h1_ele_seed_mask_tec, h1_ele_seed_subdet2, h1_ele_superclusterfbrem, h1_ele_superclusterfbrem_barrel, h1_ele_superclusterfbrem_endcaps, h1_ele_TIP_all, h1_ele_tkSumPt_dr03, h1_ele_tkSumPt_dr03_barrel, h1_ele_tkSumPt_dr03_endcaps, h1_ele_tkSumPt_dr04, h1_ele_tkSumPt_dr04_barrel, h1_ele_tkSumPt_dr04_endcaps, h1_ele_vertexEta, h1_ele_vertexEta_all, h1_ele_vertexP, h1_ele_vertexPhi, h1_ele_vertexPt, h1_ele_vertexPt_all, h1_ele_vertexPt_nocut, h1_ele_vertexTIP, h1_ele_vertexX, h1_ele_vertexY, h1_ele_vertexZ, h1_eleNum, h1_mc_AbsEta, h1_mc_AbsEta_matched, h1_mc_AbsEta_matched_qmisid, h1_mc_Eta, h1_mc_Eta_matched, h1_mc_Eta_matched_qmisid, h1_mc_P, h1_mc_Phi, h1_mc_Phi_matched, h1_mc_Phi_matched_qmisid, h1_mc_Pt, h1_mc_Pt_matched, h1_mc_Pt_matched_qmisid, h1_mc_Z, h1_mc_Z_matched, h1_mc_Z_matched_qmisid, h1_mcNum, h1_recCoreNum, h1_recEleNum, h1_recOfflineVertices, h1_recSeedNum, h1_recTrackNum, h1_scl_bcl_EtotoEtrue, h1_scl_bcl_EtotoEtrue_barrel, h1_scl_bcl_EtotoEtrue_endcaps, h1_scl_E1x5, h1_scl_E1x5_barrel, h1_scl_E1x5_endcaps, h1_scl_E2x5max, h1_scl_E2x5max_barrel, h1_scl_E2x5max_endcaps, h1_scl_E5x5, h1_scl_E5x5_barrel, h1_scl_E5x5_endcaps, h1_scl_En, h1_scl_EoEtrue_barrel, h1_scl_EoEtrue_barrel_etagap, h1_scl_EoEtrue_barrel_new, h1_scl_EoEtrue_barrel_new_etagap, h1_scl_EoEtrue_barrel_new_phigap, h1_scl_EoEtrue_barrel_phigap, h1_scl_EoEtrue_ebeegap, h1_scl_EoEtrue_ebeegap_new, h1_scl_EoEtrue_endcaps, h1_scl_EoEtrue_endcaps_deegap, h1_scl_EoEtrue_endcaps_new, h1_scl_EoEtrue_endcaps_new_deegap, h1_scl_EoEtrue_endcaps_new_ringgap, h1_scl_EoEtrue_endcaps_ringgap, h1_scl_EoEtrueGolden_barrel, h1_scl_EoEtrueGolden_endcaps, h1_scl_EoEtrueShowering_barrel, h1_scl_EoEtrueShowering_endcaps, h1_scl_ESFrac_endcaps, h1_scl_Et, h1_scl_Eta, h1_scl_full5x5_sigmaIetaIeta, h1_scl_full5x5_sigmaIetaIeta_barrel, h1_scl_full5x5_sigmaIetaIeta_endcaps, h1_scl_Phi, h1_scl_SigEtaEta, h1_scl_SigEtaEta_barrel, h1_scl_SigEtaEta_endcaps, h1_scl_SigIEtaIEta, h1_scl_SigIEtaIEta_barrel, h1_scl_SigIEtaIEta_endcaps, h1_scl_SigIEtaIEta_mAOD, h1_scl_SigIEtaIEta_mAOD_barrel, h1_scl_SigIEtaIEta_mAOD_endcaps, h2_ele_ambiguousTracksVsEta, h2_ele_ambiguousTracksVsPhi, h2_ele_ambiguousTracksVsPt, h2_ele_chargeVsEta, h2_ele_chargeVsPhi, h2_ele_chargeVsPt, h2_ele_chi2VsEta, h2_ele_chi2VsPhi, h2_ele_chi2VsPt, h2_ele_dEtaClVsEta_propOut, h2_ele_dEtaClVsPhi_propOut, h2_ele_dEtaClVsPt_propOut, h2_ele_dEtaEleClVsEta_propOut, h2_ele_dEtaEleClVsPhi_propOut, h2_ele_dEtaEleClVsPt_propOut, h2_ele_dEtaScVsEta_propVtx, h2_ele_dEtaScVsPhi_propVtx, h2_ele_dEtaScVsPt_propVtx, h2_ele_dPhiClVsEta_propOut, h2_ele_dPhiClVsPhi_propOut, h2_ele_dPhiClVsPt_propOut, h2_ele_dPhiEleClVsEta_propOut, h2_ele_dPhiEleClVsPhi_propOut, h2_ele_dPhiEleClVsPt_propOut, h2_ele_dPhiScVsEta_propVtx, h2_ele_dPhiScVsPhi_propVtx, h2_ele_dPhiScVsPt_propVtx, h2_ele_E2mnE1vsMee_all, h2_ele_E2mnE1vsMee_egeg_all, h2_ele_EeleOPoutVsE, h2_ele_EeleOPoutVsEta, h2_ele_EeleOPoutVsPhi, h2_ele_EoPoutVsE, h2_ele_EoPoutVsEta, h2_ele_EoPoutVsPhi, h2_ele_EoPVsE, h2_ele_EoPVsEta, h2_ele_EoPVsPhi, h2_ele_EseedOPVsE, h2_ele_EseedOPVsEta, h2_ele_EseedOPVsPhi, h2_ele_EtaMnEtaTrueVsEta, h2_ele_EtaMnEtaTrueVsPhi, h2_ele_EtaMnEtaTrueVsPt, h2_ele_foundHitsVsEta, h2_ele_foundHitsVsEta_mAOD, h2_ele_foundHitsVsPhi, h2_ele_foundHitsVsPt, h2_ele_HoEVsE, h2_ele_HoEVsEta, h2_ele_HoEVsPhi, h2_ele_lostHitsVsEta, h2_ele_lostHitsVsPhi, h2_ele_lostHitsVsPt, h2_ele_outerPtVsEta_mode, h2_ele_outerPtVsPhi_mode, h2_ele_outerPtVsPt_mode, h2_ele_outerPVsEta_mode, h2_ele_PhiMnPhiTrueVsEta, h2_ele_PhiMnPhiTrueVsPhi, h2_ele_PhiMnPhiTrueVsPt, h2_ele_PinMnPoutVsChi2_mode, h2_ele_PinMnPoutVsE_mode, h2_ele_PinMnPoutVsEta_mode, h2_ele_PinMnPoutVsPhi_mode, h2_ele_PinMnPoutVsPt_mode, h2_ele_PinVsPoutGolden_mean, h2_ele_PinVsPoutGolden_mode, h2_ele_PinVsPoutShowering_mean, h2_ele_PinVsPoutShowering_mode, h2_ele_PoPtrueVsEta, h2_ele_PoPtrueVsPhi, h2_ele_PoPtrueVsPt, h2_ele_PtinVsPtoutGolden_mean, h2_ele_PtinVsPtoutGolden_mode, h2_ele_PtinVsPtoutShowering_mean, h2_ele_PtinVsPtoutShowering_mode, h2_ele_seed_dphi2posVsEta, h2_ele_seed_dphi2posVsPt, h2_ele_seed_dphi2VsEta, h2_ele_seed_dphi2VsPt, h2_ele_seed_drz2posVsEta, h2_ele_seed_drz2posVsPt, h2_ele_seed_drz2VsEta, h2_ele_seed_drz2VsPt, h2_ele_sigmaIetaIetaVsPt, h2_ele_vertexEtaVsPhi, h2_ele_vertexPtVsEta, h2_ele_vertexPtVsPhi, h2_ele_vertexTIPVsEta, h2_ele_vertexTIPVsPhi, h2_ele_vertexTIPVsPt, h2_mc_PtEta, h2_mc_PtEta_matched, h2_scl_EoEtruePfVsEg, h2_scl_EoEtrueVsrecOfflineVertices, h2_scl_EoEtrueVsrecOfflineVertices_barrel, h2_scl_EoEtrueVsrecOfflineVertices_endcaps, h2_scl_EtaVsPhi, h2_scl_EtVsEta, h2_scl_EtVsPhi, reco::GsfElectron::hcalDepth1OverEcalBc(), reco::GsfElectron::hcalDepth2OverEcalBc(), reco::GsfElectron::hcalOverEcal(), reco::GsfElectron::hcalOverEcalBc(), mps_fire::i, edm::EventBase::id(), infinity, reco::GsfElectron::isEB(), reco::GsfElectron::isEBEEGap(), reco::GsfElectron::isEBEtaGap(), reco::GsfElectron::isEBPhiGap(), reco::GsfElectron::isEE(), reco::GsfElectron::isEEDeeGap(), reco::GsfElectron::isEERingGap(), reco::GsfElectron::isGsfCtfChargeConsistent(), reco::GsfElectron::isGsfCtfScPixChargeConsistent(), reco::GsfElectron::isGsfScPixChargeConsistent(), edm::Ref< C, T, F >::isNull(), isoFromDepsEcalFull03Tag_, isoFromDepsEcalFull04Tag_, isoFromDepsEcalReduced03Tag_, isoFromDepsEcalReduced04Tag_, isoFromDepsHcal03Tag_, isoFromDepsHcal04Tag_, isoFromDepsTk03Tag_, isoFromDepsTk04Tag_, edm::HandleBase::isValid(), matchingIDs_, matchingMotherIDs_, maxAbsEta_, maxPt_, mcTruthCollection_, reco::Candidate::mother(), reco::GsfElectron::mva_e_pi(), reco::GsfElectron::mva_Isolated(), reco::Candidate::numberOfDaughters(), offlineVerticesCollection_, reco::LeafCandidate::p(), p1_ele_fbremVsEta_mean, p1_ele_fbremVsEta_mode, reco::GsfElectron::P4_COMBINATION, reco::GsfElectron::p4Error(), reco::GsfElectron::parentSuperCluster(), reco::Candidate::pdgId(), perp(), reco::GsfElectron::pfIsolationVariables(), reco::LeafCandidate::phi(), pi, reco::BeamSpot::position(), edm::Handle< T >::product(), reco::LeafCandidate::pt(), reco::LeafCandidate::py(), dttmaxenums::R, readAOD_, reco::GsfElectron::scE1x5(), reco::GsfElectron::scE2x5Max(), reco::GsfElectron::scE5x5(), reco::GsfElectron::scSigmaEtaEta(), reco::GsfElectron::scSigmaIEtaIEta(), SurveyInfoScenario_cff::seed, mathSSE::sqrt(), reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt, reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt, reco::GsfElectron::PflowIsolationVariables::sumPhotonEt, reco::GsfElectron::superCluster(), reco::GsfElectron::superClusterFbrem(), reco::GsfElectron::trackerDrivenSeed(), reco::GsfElectron::trackMomentumAtVtx(), reco::GsfElectron::trackMomentumOut(), funct::true, and reco::LeafCandidate::vertex().

1061  {
1062  // get collections
1064  iEvent.getByToken(electronCollection_, gsfElectrons) ;
1066  iEvent.getByToken(electronCoreCollection_,gsfElectronCores) ;
1067  edm::Handle<GsfTrackCollection> gsfElectronTracks ;
1068  iEvent.getByToken(electronTrackCollection_,gsfElectronTracks) ;
1069  edm::Handle<ElectronSeedCollection> gsfElectronSeeds ;
1070  iEvent.getByToken(electronSeedCollection_,gsfElectronSeeds) ;
1072  iEvent.getByToken(mcTruthCollection_, genParticles) ;
1073  edm::Handle<reco::BeamSpot> theBeamSpot ;
1074  iEvent.getByToken(beamSpotTag_,theBeamSpot) ;
1075 
1076  edm::Handle<edm::ValueMap<double> > isoFromDepsTk03Handle;
1077  iEvent.getByToken(isoFromDepsTk03Tag_, isoFromDepsTk03Handle);
1078 
1079  edm::Handle<edm::ValueMap<double> > isoFromDepsTk04Handle;
1080  iEvent.getByToken(isoFromDepsTk04Tag_, isoFromDepsTk04Handle);
1081 
1082  edm::Handle<edm::ValueMap<double> > isoFromDepsEcalFull03Handle;
1083  iEvent.getByToken( isoFromDepsEcalFull03Tag_, isoFromDepsEcalFull03Handle);
1084 
1085  edm::Handle<edm::ValueMap<double> > isoFromDepsEcalFull04Handle;
1086  iEvent.getByToken( isoFromDepsEcalFull04Tag_, isoFromDepsEcalFull04Handle);
1087 
1088  edm::Handle<edm::ValueMap<double> > isoFromDepsEcalReduced03Handle;
1089  iEvent.getByToken( isoFromDepsEcalReduced03Tag_, isoFromDepsEcalReduced03Handle);
1090 
1091  edm::Handle<edm::ValueMap<double> > isoFromDepsEcalReduced04Handle;
1092  iEvent.getByToken( isoFromDepsEcalReduced04Tag_, isoFromDepsEcalReduced04Handle);
1093 
1094  edm::Handle<edm::ValueMap<double> > isoFromDepsHcal03Handle;
1095  iEvent.getByToken( isoFromDepsHcal03Tag_, isoFromDepsHcal03Handle);
1096 
1097  edm::Handle<edm::ValueMap<double> > isoFromDepsHcal04Handle;
1098  iEvent.getByToken( isoFromDepsHcal04Tag_, isoFromDepsHcal04Handle);
1099 
1100  edm::Handle<reco::VertexCollection> vertexCollectionHandle;
1101  iEvent.getByToken(offlineVerticesCollection_, vertexCollectionHandle);
1102  if(!vertexCollectionHandle.isValid())
1103  {edm::LogInfo("ElectronMcSignalValidator::analyze") << "vertexCollectionHandle KO" ;}
1104  else
1105  {
1106  edm::LogInfo("ElectronMcSignalValidator::analyze") << "vertexCollectionHandle OK" ;
1107  }
1108 
1109  edm::LogInfo("ElectronMcSignalValidator::analyze")
1110  <<"Treating event "<<iEvent.id()
1111  <<" with "<<gsfElectrons.product()->size()<<" electrons" ;
1112  h1_recEleNum->Fill((*gsfElectrons).size()) ;
1113  h1_recCoreNum->Fill((*gsfElectronCores).size());
1114  h1_recTrackNum->Fill((*gsfElectronTracks).size());
1115  h1_recSeedNum->Fill((*gsfElectronSeeds).size());
1116  h1_recOfflineVertices->Fill((*vertexCollectionHandle).size());
1117 
1118 
1119  //===============================================
1120  // all rec electrons
1121  //===============================================
1122 
1123  reco::GsfElectronCollection::const_iterator gsfIter ;
1124  // mee only
1125  for ( gsfIter=gsfElectrons->begin() ; gsfIter!=gsfElectrons->end() ; gsfIter++ )
1126  {
1127  // preselect electrons
1128 // if (gsfIter->pt()>maxPt_ || std::abs(gsfIter->eta())>maxAbsEta_) continue ;
1129 
1130  //
1131  float enrj1=gsfIter->ecalEnergy();
1132 
1133  reco::GsfElectronCollection::const_iterator gsfIter2 ;
1134  for ( gsfIter2=gsfIter+1 ; gsfIter2!=gsfElectrons->end() ; gsfIter2++ )
1135  {
1136  math::XYZTLorentzVector p12 = (*gsfIter).p4()+(*gsfIter2).p4();
1137  float mee2 = p12.Dot(p12);
1138  float enrj2=gsfIter2->ecalEnergy() ;
1139  h1_ele_mee_all->Fill(sqrt(mee2));
1140  h2_ele_E2mnE1vsMee_all->Fill(sqrt(mee2),enrj2-enrj1);
1141  if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed())
1142  { h2_ele_E2mnE1vsMee_egeg_all->Fill(sqrt(mee2),enrj2-enrj1) ; }
1143  if (gsfIter->charge()*gsfIter2->charge()<0.)
1144  {
1145  h1_ele_mee_os->Fill(sqrt(mee2));
1146  if (gsfIter->isEB() && gsfIter2->isEB()) { h1_ele_mee_os_ebeb->Fill(sqrt(mee2)) ; }
1147  if ((gsfIter->isEB() && gsfIter2->isEE()) || (gsfIter->isEE() && gsfIter2->isEB())) h1_ele_mee_os_ebee -> Fill(sqrt(mee2));
1148  if (gsfIter->isEE() && gsfIter2->isEE()) { h1_ele_mee_os_eeee->Fill(sqrt(mee2)) ; }
1149  if
1150  ( (gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::GOLDEN) ||
1151  (gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::BIGBREM) ||
1152  (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::GOLDEN) ||
1153  (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::BIGBREM) )
1154  { h1_ele_mee_os_gg->Fill(sqrt(mee2)) ; }
1155  else if
1156  ( (gsfIter->classification()==GsfElectron::SHOWERING && gsfIter2->classification()==GsfElectron::SHOWERING) ||
1157  (gsfIter->classification()==GsfElectron::SHOWERING && gsfIter2->isGap()) ||
1158  (gsfIter->isGap() && gsfIter2->classification()==GsfElectron::SHOWERING) ||
1159  (gsfIter->isGap() && gsfIter2->isGap()) )
1160  { h1_ele_mee_os_bb->Fill(sqrt(mee2)) ; }
1161  else
1162  { h1_ele_mee_os_gb->Fill(sqrt(mee2)) ; }
1163  }
1164  }
1165 
1166  }
1167 
1168  for ( gsfIter=gsfElectrons->begin() ; gsfIter!=gsfElectrons->end() ; gsfIter++ )
1169  {
1170  // preselect electrons
1171  if (gsfIter->pt()>maxPt_ || std::abs(gsfIter->eta())>maxAbsEta_) continue ;
1172 
1173  //
1174  h1_ele_EoverP_all->Fill(gsfIter->eSuperClusterOverP()) ;
1175  h1_ele_EseedOP_all->Fill(gsfIter->eSeedClusterOverP()) ;
1176  h1_ele_EoPout_all->Fill(gsfIter->eSeedClusterOverPout()) ;
1177  h1_ele_EeleOPout_all->Fill( gsfIter->eEleClusterOverPout()) ;
1178  h1_ele_dEtaSc_propVtx_all->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx()) ;
1179  h1_ele_dPhiSc_propVtx_all->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx()) ;
1180  h1_ele_dEtaCl_propOut_all->Fill(gsfIter->deltaEtaSeedClusterTrackAtCalo()) ;
1181  h1_ele_dPhiCl_propOut_all->Fill(gsfIter->deltaPhiSeedClusterTrackAtCalo()) ;
1182  h1_ele_HoE_all->Fill(gsfIter->hcalOverEcal()) ;
1183  h1_ele_HoE_bc_all->Fill(gsfIter->hcalOverEcalBc()) ;
1184  h1_ele_TIP_all->Fill( EleRelPoint(gsfIter->vertex(),theBeamSpot->position()).perp() );
1185  h1_ele_vertexEta_all->Fill( gsfIter->eta() );
1186  h1_ele_vertexPt_all->Fill( gsfIter->pt() );
1187  h1_ele_Et_all->Fill( gsfIter->ecalEnergy()/cosh(gsfIter->superCluster()->eta()));
1188 
1189  // conversion rejection
1190  int flags = gsfIter->convFlags() ;
1191  if (flags==-9999) { flags=-1 ; }
1192  h1_ele_convFlags_all->Fill(flags);
1193  if (flags>=0.)
1194  {
1195  h1_ele_convDist_all->Fill( gsfIter->convDist() );
1196  h1_ele_convDcot_all->Fill( gsfIter->convDcot() );
1197  h1_ele_convRadius_all->Fill( gsfIter->convRadius() );
1198  }
1199  }
1200 
1201  //===============================================
1202  // charge mis-ID
1203  //===============================================
1204 
1205  int mcNum=0, gamNum=0, eleNum=0 ;
1206  bool matchingID, matchingMotherID ;
1207 
1208  reco::GenParticleCollection::const_iterator mcIter ;
1209  for
1210  ( mcIter=genParticles->begin() ; mcIter!=genParticles->end() ; mcIter++ )
1211  {
1212 /* // DEBUG LINES - KEEP IT !
1213  std::cout << "\nevt ID = " << iEvent.id() ;
1214  std::cout << ", mcIter position : " << mcIter - genParticles->begin() << std::endl ;
1215  std::cout << "pdgID : " << mcIter->pdgId() << ", Pt : " << mcIter->pt() << ", eta : " << mcIter->eta() << ", phi : " << mcIter->phi() << std::endl;
1216  // DEBUG LINES - KEEP IT ! */
1217 
1218  // select requested matching gen particle
1219  matchingID=false;
1220  for ( unsigned int i=0 ; i<matchingIDs_.size() ; i++ ) {
1221 
1222  if ( mcIter->pdgId() == matchingIDs_[i] )
1223  { matchingID=true ;
1224 /* // DEBUG LINES - KEEP IT !
1225  std::cout << "\nMatching mis-reco : matchingIDs_.size() = " << matchingIDs_.size() << ", evt ID = " << iEvent.id() ;
1226  std::cout << ", mcIter pdgID : " << mcIter->pdgId() << ", matchingID : " << matchingID << std::endl ;
1227  // DEBUG LINES - KEEP IT ! */
1228  }
1229  }
1230  if (matchingID) {
1231  // select requested mother matching gen particle
1232  // always include single particle with no mother
1233  const Candidate * mother = mcIter->mother() ;
1234  matchingMotherID = false ;
1235  for ( unsigned int i=0 ; i<matchingMotherIDs_.size() ; i++ )
1236  {
1237 /* // DEBUG LINES - KEEP IT !
1238  std::cout << "Matching : matchingMotherID[" << ii << "] : "<< matchingMotherIDs_[ii] << ", evt ID = " << iEvent.id() << ", mother : " << mother ;
1239  if (mother != 0) {
1240  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
1241  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
1242  }
1243  else {
1244  std::cout << std::endl;
1245  }
1246  // DEBUG LINES - KEEP IT ! */
1247 
1248  if ( mother == nullptr ) {
1249  matchingMotherID = true ;
1250  }
1251  else if ( mother->pdgId() == matchingMotherIDs_[i] ) {
1252  if ( mother->numberOfDaughters() <= 2 ) {
1253  matchingMotherID = true ;
1254 /* // DEBUG LINES - KEEP IT !
1255  std::cout << "Matching mis-reco : matchingMotherID[" << i << "] : " << matchingMotherIDs_[i] << ", evt ID = " << iEvent.id() << ", mother : " << mother ; // debug lines
1256  std::cout << "evt ID = " << iEvent.id() ; // debug lines
1257  std::cout << " - nb of Daughters : " << mother->numberOfDaughters() << " - pdgId() : " << mother->pdgId() << std::endl; // debug lines
1258  // DEBUG LINES - KEEP IT ! */
1259  }
1260  } // end of mother if test
1261 
1262  }
1263  if (matchingMotherID)
1264  {
1265  if ( mcIter->pt()>maxPt_ || std::abs(mcIter->eta())>maxAbsEta_ )
1266  { continue ; }
1267  // suppress the endcaps
1268  //if (std::abs(mcIter->eta()) > 1.5) continue;
1269  // select central z
1270  //if ( std::abs(mcIter->production_vertex()->position().z())>50.) continue;
1271 
1272  // looking for the best matching gsf electron
1273  bool okGsfFound = false ;
1274  double gsfOkRatio = 999999. ;
1275 
1276  // find best matched electron
1277  reco::GsfElectron bestGsfElectron ;
1278  reco::GsfElectronCollection::const_iterator gsfIter ;
1279  for
1280  ( gsfIter=gsfElectrons->begin() ; gsfIter!=gsfElectrons->end() ; gsfIter++ )
1281  {
1282  double dphi = gsfIter->phi()-mcIter->phi() ;
1283  if (std::abs(dphi)>CLHEP::pi)
1284  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
1285  double deltaR2 = (gsfIter->eta()-mcIter->eta()) * (gsfIter->eta()-mcIter->eta()) + dphi * dphi ;
1286  if ( deltaR2 < deltaR2_ )
1287  {
1288  double mc_charge = mcIter->pdgId() == 11 ? -1. : 1. ;
1289  h1_ele_ChargeMnChargeTrue->Fill( std::abs(gsfIter->charge()-mc_charge));
1290  // require here a charge mismatch
1291  if
1292  ( ( (mcIter->pdgId() == 11) && (gsfIter->charge() > 0.) ) ||
1293  ( (mcIter->pdgId() == -11) && (gsfIter->charge() < 0.) ) )
1294  {
1295  double tmpGsfRatio = gsfIter->p()/mcIter->p();
1296  if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) )
1297  {
1298  gsfOkRatio = tmpGsfRatio;
1299  bestGsfElectron=*gsfIter;
1300  okGsfFound = true;
1301  }
1302  }
1303  }
1304  } // loop over rec ele to look for the best one
1305 
1306  // analysis when the mc track is found
1307  if (okGsfFound) {
1308  // generated distributions for matched electrons
1309  h1_mc_Pt_matched_qmisid->Fill( mcIter->pt() ) ;
1310  h1_mc_Phi_matched_qmisid->Fill( mcIter->phi() ) ;
1311  h1_mc_AbsEta_matched_qmisid->Fill( std::abs(mcIter->eta()) ) ;
1312  h1_mc_Eta_matched_qmisid->Fill( mcIter->eta() ) ;
1313  h1_mc_Z_matched_qmisid->Fill( mcIter->vz() ) ;
1314  }
1315  }
1316  }
1317  }
1318 
1319  //===============================================
1320  // association mc-reco
1321  //===============================================
1322 
1323  for ( mcIter=genParticles->begin() ; mcIter!=genParticles->end() ; mcIter++ )
1324  {
1325  // number of mc particles
1326  mcNum++ ;
1327 
1328  // counts photons
1329  if (mcIter->pdgId() == 22 )
1330  { gamNum++ ; }
1331 
1332  // select requested matching gen particle
1333  matchingID = false ;
1334  for ( unsigned int i=0 ; i<matchingIDs_.size() ; i++ )
1335  {
1336  if ( mcIter->pdgId() == matchingIDs_[i] )
1337  { matchingID=true ; }
1338  }
1339  if (!matchingID) continue ;
1340 
1341  // select requested mother matching gen particle
1342  // always include single particle with no mother
1343  const Candidate * mother = mcIter->mother() ;
1344  matchingMotherID = false ;
1345  for ( unsigned int i=0 ; i<matchingMotherIDs_.size() ; i++ )
1346  {
1347  if ( (mother == nullptr) || ((mother != nullptr) && mother->pdgId() == matchingMotherIDs_[i]) )
1348  { matchingMotherID = true ;
1349 /* // DEBUG LINES - KEEP IT !
1350  std::cout << "Matching mc-reco : matchingMotherID[" << i << "] : " << matchingMotherIDs_[i] << ", evt ID = " << iEvent.id() << ", mother : " << mother ;
1351  if (mother != 0) {
1352  std::cout << ", mother pdgID : " << mother->pdgId() << std::endl ;
1353  }
1354  else {
1355  std::cout << std::endl ;
1356  }
1357  // DEBUG LINES - KEEP IT ! */
1358  }
1359  }
1360  if (!matchingMotherID) continue ;
1361 
1362  // electron preselection
1363  if (mcIter->pt()> maxPt_ || std::abs(mcIter->eta())> maxAbsEta_)
1364  { continue ; }
1365 
1366  // suppress the endcaps
1367  //if (std::abs(mcIter->eta()) > 1.5) continue;
1368  // select central z
1369  //if ( std::abs(mcIter->production_vertex()->position().z())>50.) continue;
1370 
1371  eleNum++;
1372  h1_mc_Eta->Fill( mcIter->eta() );
1373  h1_mc_AbsEta->Fill( std::abs(mcIter->eta()) );
1374  h1_mc_P->Fill( mcIter->p() );
1375  h1_mc_Pt->Fill( mcIter->pt() );
1376  h1_mc_Phi->Fill( mcIter->phi() );
1377  h1_mc_Z->Fill( mcIter->vz() );
1378  h2_mc_PtEta->Fill( mcIter->eta(),mcIter->pt() );
1379 
1380  // find best matched electron
1381  bool okGsfFound = false ;
1382  bool passMiniAODSelection = true ;
1383  double gsfOkRatio = 999999. ;
1384  reco::GsfElectron bestGsfElectron ;
1385  reco::GsfElectronRef bestGsfElectronRef ;
1386  reco::GsfElectronCollection::const_iterator gsfIter ;
1388  for ( gsfIter=gsfElectrons->begin(), iElectron=0 ; gsfIter!=gsfElectrons->end() ; gsfIter++, iElectron++ )
1389  {
1390  // temporary cut for pt < 5.
1391  double dphi = gsfIter->phi()-mcIter->phi() ;
1392  if (std::abs(dphi)>CLHEP::pi)
1393  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
1394  double deltaR2 = (gsfIter->eta()-mcIter->eta()) * (gsfIter->eta()-mcIter->eta()) + dphi * dphi;
1395  if ( deltaR2 < deltaR2_ )
1396  {
1397  if ( ( (mcIter->pdgId() == 11) && (gsfIter->charge() < 0.) ) ||
1398  ( (mcIter->pdgId() == -11) && (gsfIter->charge() > 0.) ) )
1399  {
1400  double tmpGsfRatio = gsfIter->p()/mcIter->p() ;
1401  if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) )
1402  {
1403  gsfOkRatio = tmpGsfRatio;
1404  bestGsfElectron=*gsfIter;
1405  bestGsfElectronRef=reco::GsfElectronRef(gsfElectrons,iElectron);
1406  okGsfFound = true;
1407 
1408  //std::cout << "evt ID : " << iEvent.id() << " - Pt : " << bestGsfElectron.pt() << " - eta : " << bestGsfElectron.eta() << " - phi : " << bestGsfElectron.phi() << std::endl; // debug lines
1409  }
1410  }
1411  }
1412  } // loop over rec ele to look for the best one
1413  if (! okGsfFound) continue ;
1414 
1415  //------------------------------------
1416  // analysis when the mc track is found
1417  //------------------------------------
1418  passMiniAODSelection = bestGsfElectron.pt() >= 5.;
1419 
1420  // electron related distributions
1421  h1_ele_charge->Fill( bestGsfElectron.charge() );
1422  h2_ele_chargeVsEta->Fill( bestGsfElectron.eta(),bestGsfElectron.charge() );
1423  h2_ele_chargeVsPhi->Fill( bestGsfElectron.phi(),bestGsfElectron.charge() );
1424  h2_ele_chargeVsPt->Fill( bestGsfElectron.pt(),bestGsfElectron.charge() );
1425  h1_ele_vertexP->Fill( bestGsfElectron.p() );
1426  h1_ele_vertexPt->Fill( bestGsfElectron.pt() );
1427  if (bestGsfElectron.scSigmaIEtaIEta()==0.) h1_ele_vertexPt_nocut->Fill( bestGsfElectron.pt() );
1428  h1_ele_Et->Fill( bestGsfElectron.ecalEnergy()/cosh(bestGsfElectron.superCluster()->eta()));
1429  h2_ele_vertexPtVsEta->Fill( bestGsfElectron.eta(),bestGsfElectron.pt() );
1430  h2_ele_vertexPtVsPhi->Fill( bestGsfElectron.phi(),bestGsfElectron.pt() );
1431  h1_ele_vertexEta->Fill( bestGsfElectron.eta() );
1432 
1433  h2_scl_EoEtrueVsrecOfflineVertices->Fill( (*vertexCollectionHandle).size(), bestGsfElectron.ecalEnergy()/mcIter->p() );
1434  if (bestGsfElectron.isEB()) h2_scl_EoEtrueVsrecOfflineVertices_barrel->Fill( (*vertexCollectionHandle).size(),bestGsfElectron.ecalEnergy()/mcIter->p() );
1435  if (bestGsfElectron.isEE()) h2_scl_EoEtrueVsrecOfflineVertices_endcaps->Fill( (*vertexCollectionHandle).size(),bestGsfElectron.ecalEnergy()/mcIter->p() );
1436 
1437  // generated distributions for matched electrons
1438  h1_mc_Pt_matched->Fill( mcIter->pt() );
1439  h1_mc_Phi_matched->Fill( mcIter->phi() );
1440  h1_mc_AbsEta_matched->Fill( std::abs(mcIter->eta()) );
1441  h1_mc_Eta_matched->Fill( mcIter->eta() );
1442  h2_mc_PtEta_matched->Fill( mcIter->eta(),mcIter->pt() );
1443  h2_ele_vertexEtaVsPhi->Fill( bestGsfElectron.phi(),bestGsfElectron.eta() );
1444  h1_ele_vertexPhi->Fill( bestGsfElectron.phi() );
1445  h1_ele_vertexX->Fill( bestGsfElectron.vertex().x() );
1446  h1_ele_vertexY->Fill( bestGsfElectron.vertex().y() );
1447  h1_ele_vertexZ->Fill( bestGsfElectron.vertex().z() );
1448  h1_mc_Z_matched->Fill( mcIter->vz() );
1449  double d =
1450  (bestGsfElectron.vertex().x()-mcIter->vx())*(bestGsfElectron.vertex().x()-mcIter->vx()) +
1451  (bestGsfElectron.vertex().y()-mcIter->vy())*(bestGsfElectron.vertex().y()-mcIter->vy()) ;
1452  d = sqrt(d) ;
1453  h1_ele_vertexTIP->Fill( d );
1454  h2_ele_vertexTIPVsEta->Fill( bestGsfElectron.eta(), d );
1455  h2_ele_vertexTIPVsPhi->Fill( bestGsfElectron.phi(), d );
1456  h2_ele_vertexTIPVsPt->Fill( bestGsfElectron.pt(), d );
1457  h1_ele_EtaMnEtaTrue->Fill( bestGsfElectron.eta()-mcIter->eta());
1458  if (bestGsfElectron.isEB()) h1_ele_EtaMnEtaTrue_barrel->Fill( bestGsfElectron.eta()-mcIter->eta());
1459  if (bestGsfElectron.isEE()) h1_ele_EtaMnEtaTrue_endcaps->Fill( bestGsfElectron.eta()-mcIter->eta());
1460  h2_ele_EtaMnEtaTrueVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.eta()-mcIter->eta());
1461  h2_ele_EtaMnEtaTrueVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.eta()-mcIter->eta());
1462  h2_ele_EtaMnEtaTrueVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.eta()-mcIter->eta());
1463  h1_ele_PhiMnPhiTrue->Fill( bestGsfElectron.phi()-mcIter->phi());
1464  if (bestGsfElectron.isEB()) h1_ele_PhiMnPhiTrue_barrel->Fill( bestGsfElectron.phi()-mcIter->phi());
1465  if (bestGsfElectron.isEE()) h1_ele_PhiMnPhiTrue_endcaps->Fill( bestGsfElectron.phi()-mcIter->phi());
1466  h1_ele_PhiMnPhiTrue2->Fill( bestGsfElectron.phi()-mcIter->phi());
1467  h2_ele_PhiMnPhiTrueVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.phi()-mcIter->phi());
1468  h2_ele_PhiMnPhiTrueVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.phi()-mcIter->phi());
1469  h2_ele_PhiMnPhiTrueVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.phi()-mcIter->phi());
1470  h1_ele_PoPtrue->Fill( bestGsfElectron.p()/mcIter->p());
1471  h1_ele_PtoPttrue->Fill( bestGsfElectron.pt()/mcIter->pt());
1472  h2_ele_PoPtrueVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.p()/mcIter->p());
1473  h2_ele_PoPtrueVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.p()/mcIter->p());
1474  h2_ele_PoPtrueVsPt->Fill( bestGsfElectron.py(), bestGsfElectron.p()/mcIter->p());
1475 // if (passMiniAODSelection) { // Pt > 5.
1476  h2_ele_sigmaIetaIetaVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.scSigmaIEtaIEta());
1477 // }
1478  if (bestGsfElectron.isEB()) h1_ele_PoPtrue_barrel->Fill( bestGsfElectron.p()/mcIter->p());
1479  if (bestGsfElectron.isEE()) h1_ele_PoPtrue_endcaps->Fill( bestGsfElectron.p()/mcIter->p());
1480  if (bestGsfElectron.isEB() && bestGsfElectron.classification() == GsfElectron::GOLDEN) h1_ele_PoPtrue_golden_barrel->Fill( bestGsfElectron.p()/mcIter->p());
1481  if (bestGsfElectron.isEE() && bestGsfElectron.classification() == GsfElectron::GOLDEN) h1_ele_PoPtrue_golden_endcaps->Fill( bestGsfElectron.p()/mcIter->p());
1482  if (bestGsfElectron.isEB() && bestGsfElectron.classification() == GsfElectron::SHOWERING) h1_ele_PoPtrue_showering_barrel->Fill( bestGsfElectron.p()/mcIter->p());
1483  if (bestGsfElectron.isEE() && bestGsfElectron.classification() == GsfElectron::SHOWERING) h1_ele_PoPtrue_showering_endcaps->Fill( bestGsfElectron.p()/mcIter->p());
1484  if (bestGsfElectron.isEB()) h1_ele_PtoPttrue_barrel->Fill( bestGsfElectron.pt()/mcIter->pt());
1485  if (bestGsfElectron.isEE()) h1_ele_PtoPttrue_endcaps->Fill( bestGsfElectron.pt()/mcIter->pt());
1487  if (bestGsfElectron.isEB()) h1_ele_ecalEnergyError_barrel->Fill(bestGsfElectron.correctedEcalEnergyError());
1488  if (bestGsfElectron.isEE()) h1_ele_ecalEnergyError_endcaps->Fill(bestGsfElectron.correctedEcalEnergyError());
1489  h1_ele_combinedP4Error->Fill(bestGsfElectron.p4Error(bestGsfElectron.P4_COMBINATION));
1490  if (bestGsfElectron.isEB()) h1_ele_combinedP4Error_barrel->Fill(bestGsfElectron.p4Error(bestGsfElectron.P4_COMBINATION));
1491  if (bestGsfElectron.isEE()) h1_ele_combinedP4Error_endcaps->Fill(bestGsfElectron.p4Error(bestGsfElectron.P4_COMBINATION));
1492 
1493  // supercluster related distributions
1494  reco::SuperClusterRef sclRef = bestGsfElectron.superCluster();
1495 
1496  h1_scl_En->Fill(bestGsfElectron.ecalEnergy());
1497  if (bestGsfElectron.isEB()) h1_scl_EoEtrue_barrel->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1498  if (bestGsfElectron.isEE()) h1_scl_EoEtrue_endcaps->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1499  if (bestGsfElectron.isEB() && bestGsfElectron.isEBEtaGap()) h1_scl_EoEtrue_barrel_etagap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1500  if (bestGsfElectron.isEB() && bestGsfElectron.isEBPhiGap()) h1_scl_EoEtrue_barrel_phigap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1501  if (bestGsfElectron.isEBEEGap()) h1_scl_EoEtrue_ebeegap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1502  if (bestGsfElectron.isEE() && bestGsfElectron.isEEDeeGap()) h1_scl_EoEtrue_endcaps_deegap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1503  if (bestGsfElectron.isEE() && bestGsfElectron.isEERingGap()) h1_scl_EoEtrue_endcaps_ringgap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1504  if (bestGsfElectron.isEB()) h1_scl_EoEtrue_barrel_new->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1505  if (bestGsfElectron.isEE()) h1_scl_EoEtrue_endcaps_new->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1506  if (bestGsfElectron.isEB() && bestGsfElectron.isEBEtaGap()) h1_scl_EoEtrue_barrel_new_etagap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1507  if (bestGsfElectron.isEB() && bestGsfElectron.isEBPhiGap()) h1_scl_EoEtrue_barrel_new_phigap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1508  if (bestGsfElectron.isEBEEGap()) h1_scl_EoEtrue_ebeegap_new->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1509  if (bestGsfElectron.isEE() && bestGsfElectron.isEEDeeGap()) h1_scl_EoEtrue_endcaps_new_deegap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1510  if (bestGsfElectron.isEE() && bestGsfElectron.isEERingGap()) h1_scl_EoEtrue_endcaps_new_ringgap->Fill(bestGsfElectron.ecalEnergy()/mcIter->p());
1511 
1512  double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
1513  double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
1514  h1_scl_Et->Fill(sclRef->energy()*(Rt/R));
1515  h2_scl_EtVsEta->Fill(sclRef->eta(),sclRef->energy()*(Rt/R));
1516  h2_scl_EtVsPhi->Fill(sclRef->phi(),sclRef->energy()*(Rt/R));
1517  h1_scl_Eta->Fill(sclRef->eta());
1518  h2_scl_EtaVsPhi->Fill(sclRef->phi(),sclRef->eta());
1519  h1_scl_Phi->Fill(sclRef->phi());
1520  h1_scl_SigEtaEta->Fill(bestGsfElectron.scSigmaEtaEta());
1521  if (bestGsfElectron.isEB()) h1_scl_SigEtaEta_barrel->Fill(bestGsfElectron.scSigmaEtaEta());
1522  if (bestGsfElectron.isEE()) h1_scl_SigEtaEta_endcaps->Fill(bestGsfElectron.scSigmaEtaEta());
1523  h1_scl_SigIEtaIEta->Fill(bestGsfElectron.scSigmaIEtaIEta());
1524  if (bestGsfElectron.isEB()) h1_scl_SigIEtaIEta_barrel->Fill(bestGsfElectron.scSigmaIEtaIEta());
1525  if (bestGsfElectron.isEE()) h1_scl_SigIEtaIEta_endcaps->Fill(bestGsfElectron.scSigmaIEtaIEta());
1526  if (passMiniAODSelection) { // Pt > 5.
1527  h1_scl_SigIEtaIEta_mAOD->Fill(bestGsfElectron.scSigmaIEtaIEta());
1528  if (bestGsfElectron.isEB()) h1_scl_SigIEtaIEta_mAOD_barrel->Fill(bestGsfElectron.scSigmaIEtaIEta());
1529  if (bestGsfElectron.isEE()) h1_scl_SigIEtaIEta_mAOD_endcaps->Fill(bestGsfElectron.scSigmaIEtaIEta());
1530  }
1532  if (bestGsfElectron.isEB()) h1_scl_full5x5_sigmaIetaIeta_barrel->Fill(bestGsfElectron.full5x5_sigmaIetaIeta());
1533  if (bestGsfElectron.isEE()) h1_scl_full5x5_sigmaIetaIeta_endcaps->Fill(bestGsfElectron.full5x5_sigmaIetaIeta());
1534  h1_scl_E1x5->Fill(bestGsfElectron.scE1x5());
1535  if (bestGsfElectron.isEB()) h1_scl_E1x5_barrel->Fill(bestGsfElectron.scE1x5());
1536  if (bestGsfElectron.isEE()) h1_scl_E1x5_endcaps->Fill(bestGsfElectron.scE1x5());
1537  h1_scl_E2x5max->Fill(bestGsfElectron.scE2x5Max());
1538  if (bestGsfElectron.isEB()) h1_scl_E2x5max_barrel->Fill(bestGsfElectron.scE2x5Max());
1539  if (bestGsfElectron.isEE()) h1_scl_E2x5max_endcaps->Fill(bestGsfElectron.scE2x5Max());
1540  h1_scl_E5x5->Fill(bestGsfElectron.scE5x5());
1541  if (bestGsfElectron.isEB()) h1_scl_E5x5_barrel->Fill(bestGsfElectron.scE5x5());
1542  if (bestGsfElectron.isEE()) h1_scl_E5x5_endcaps->Fill(bestGsfElectron.scE5x5());
1543  float pfEnergy=0. ;
1544  if (!bestGsfElectron.parentSuperCluster().isNull()) pfEnergy = bestGsfElectron.parentSuperCluster()->energy();
1545  h2_scl_EoEtruePfVsEg->Fill(bestGsfElectron.ecalEnergy()/mcIter->p(),pfEnergy/mcIter->p());
1546  /*New from 06 05 2016*/
1547 // h1_scl_ESFrac->Fill( sclRef->preshowerEnergy() / sclRef->rawEnergy() );
1548  if (bestGsfElectron.isEE()) h1_scl_ESFrac_endcaps->Fill( sclRef->preshowerEnergy() / sclRef->rawEnergy() );
1549 
1550  float Etot = 0.;
1551  CaloCluster_iterator it = bestGsfElectron.superCluster()->clustersBegin();
1552  CaloCluster_iterator itend = bestGsfElectron.superCluster()->clustersEnd();
1553  for(; it !=itend;++it) {
1554  Etot += (*it)->energy();
1555  }
1556  h1_scl_bcl_EtotoEtrue->Fill( Etot/mcIter->p() );
1557  if (bestGsfElectron.isEB()) h1_scl_bcl_EtotoEtrue_barrel->Fill( Etot/mcIter->p() );
1558  if (bestGsfElectron.isEE()) h1_scl_bcl_EtotoEtrue_endcaps->Fill( Etot/mcIter->p() );
1559 
1560  // track related distributions
1561  h1_ele_ambiguousTracks->Fill( bestGsfElectron.ambiguousGsfTracksSize() );
1562  h2_ele_ambiguousTracksVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.ambiguousGsfTracksSize() );
1563  h2_ele_ambiguousTracksVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.ambiguousGsfTracksSize() );
1564  h2_ele_ambiguousTracksVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.ambiguousGsfTracksSize() );
1565  if (!readAOD_) // track extra does not exist in AOD
1566  {
1567  h1_ele_foundHits->Fill( bestGsfElectron.gsfTrack()->numberOfValidHits() );
1568  if (bestGsfElectron.isEB()) h1_ele_foundHits_barrel->Fill( bestGsfElectron.gsfTrack()->numberOfValidHits() );
1569  if (bestGsfElectron.isEE()) h1_ele_foundHits_endcaps->Fill( bestGsfElectron.gsfTrack()->numberOfValidHits() );
1570  h2_ele_foundHitsVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
1571  if (passMiniAODSelection) { // Pt > 5.
1572  h2_ele_foundHitsVsEta_mAOD->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
1573  }
1574  h2_ele_foundHitsVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
1575  h2_ele_foundHitsVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
1576  h1_ele_lostHits->Fill( bestGsfElectron.gsfTrack()->numberOfLostHits() );
1577  if (bestGsfElectron.isEB()) h1_ele_lostHits_barrel->Fill( bestGsfElectron.gsfTrack()->numberOfLostHits() );
1578  if (bestGsfElectron.isEE()) h1_ele_lostHits_endcaps->Fill( bestGsfElectron.gsfTrack()->numberOfLostHits() );
1579  h2_ele_lostHitsVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
1580  h2_ele_lostHitsVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
1581  h2_ele_lostHitsVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
1582  h1_ele_chi2->Fill( bestGsfElectron.gsfTrack()->normalizedChi2() );
1583  if (bestGsfElectron.isEB()) h1_ele_chi2_barrel->Fill( bestGsfElectron.gsfTrack()->normalizedChi2() );
1584  if (bestGsfElectron.isEE()) h1_ele_chi2_endcaps->Fill( bestGsfElectron.gsfTrack()->normalizedChi2() );
1585  h2_ele_chi2VsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->normalizedChi2() );
1586  h2_ele_chi2VsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->normalizedChi2() );
1587  h2_ele_chi2VsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->normalizedChi2() );
1588  }
1589  // from gsf track interface, hence using mean
1590  if (!readAOD_) // track extra does not exist in AOD
1591  {
1592  h1_ele_PinMnPout->Fill( bestGsfElectron.gsfTrack()->innerMomentum().R() - bestGsfElectron.gsfTrack()->outerMomentum().R() );
1593  h1_ele_outerP->Fill( bestGsfElectron.gsfTrack()->outerMomentum().R() );
1594  h1_ele_outerPt->Fill( bestGsfElectron.gsfTrack()->outerMomentum().Rho() );
1595  }
1596  // from electron interface, hence using mode
1597  h1_ele_PinMnPout_mode->Fill( bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
1598  h2_ele_PinMnPoutVsEta_mode->Fill( bestGsfElectron.eta(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
1599  h2_ele_PinMnPoutVsPhi_mode->Fill( bestGsfElectron.phi(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
1600  h2_ele_PinMnPoutVsPt_mode->Fill( bestGsfElectron.pt(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
1601  h2_ele_PinMnPoutVsE_mode->Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
1602  if (!readAOD_) // track extra does not exist in AOD
1603  {
1605  ( bestGsfElectron.gsfTrack()->normalizedChi2(),
1606  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() ) ;
1607  }
1608  h1_ele_outerP_mode->Fill( bestGsfElectron.trackMomentumOut().R() );
1609  h2_ele_outerPVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().R() );
1610  h1_ele_outerPt_mode->Fill( bestGsfElectron.trackMomentumOut().Rho() );
1611  h2_ele_outerPtVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().Rho() );
1612  h2_ele_outerPtVsPhi_mode->Fill(bestGsfElectron.phi(), bestGsfElectron.trackMomentumOut().Rho() );
1613  h2_ele_outerPtVsPt_mode->Fill(bestGsfElectron.pt(), bestGsfElectron.trackMomentumOut().Rho() );
1614 
1615  if (!readAOD_) // track extra does not exist in AOD
1616  {
1617  edm::RefToBase<TrajectorySeed> seed = bestGsfElectron.gsfTrack()->extra()->seedRef();
1618  ElectronSeedRef elseed=seed.castTo<ElectronSeedRef>();
1619  h1_ele_seed_subdet2->Fill(elseed->subDet2());
1620  h1_ele_seed_mask->Fill(elseed->hitsMask());
1621  if (elseed->subDet2()==1)
1622  { h1_ele_seed_mask_bpix->Fill(elseed->hitsMask()); }
1623  else if (elseed->subDet2()==2)
1624  { h1_ele_seed_mask_fpix->Fill(elseed->hitsMask()); }
1625  else if (elseed->subDet2()==6)
1626  { h1_ele_seed_mask_tec->Fill(elseed->hitsMask()); }
1627 
1628  if ( elseed->dPhi2() != std::numeric_limits<float>::infinity() ) {
1629  h1_ele_seed_dphi2->Fill(elseed->dPhi2());
1630  h2_ele_seed_dphi2VsEta->Fill(bestGsfElectron.eta(), elseed->dPhi2());
1631  h2_ele_seed_dphi2VsPt->Fill(bestGsfElectron.pt(), elseed->dPhi2());
1632  }
1633  else {
1634  }
1635  if ( elseed->dPhi2Pos() != std::numeric_limits<float>::infinity() ) {
1636  h1_ele_seed_dphi2pos->Fill(elseed->dPhi2Pos());
1637  h2_ele_seed_dphi2posVsEta->Fill(bestGsfElectron.eta(), elseed->dPhi2Pos());
1638  h2_ele_seed_dphi2posVsPt->Fill(bestGsfElectron.pt(), elseed->dPhi2Pos());
1639  }
1640  if ( elseed->dRz2() != std::numeric_limits<float>::infinity() ) {
1641  h1_ele_seed_drz2->Fill(elseed->dRz2());
1642  h2_ele_seed_drz2VsEta->Fill(bestGsfElectron.eta(), elseed->dRz2());
1643  h2_ele_seed_drz2VsPt->Fill(bestGsfElectron.pt(), elseed->dRz2());
1644  }
1645  if ( elseed->dRz2Pos() != std::numeric_limits<float>::infinity() ) {
1646  h1_ele_seed_drz2pos->Fill(elseed->dRz2Pos());
1647  h2_ele_seed_drz2posVsEta->Fill(bestGsfElectron.eta(), elseed->dRz2Pos());
1648  h2_ele_seed_drz2posVsPt->Fill(bestGsfElectron.pt(), elseed->dRz2Pos());
1649  }
1650  }
1651 
1652  // match distributions
1653  h1_ele_EoP->Fill( bestGsfElectron.eSuperClusterOverP() );
1654  if (bestGsfElectron.isEB()) h1_ele_EoP_barrel->Fill( bestGsfElectron.eSuperClusterOverP() );
1655  if (bestGsfElectron.isEE()) h1_ele_EoP_endcaps->Fill( bestGsfElectron.eSuperClusterOverP() );
1656  h2_ele_EoPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSuperClusterOverP() );
1657  h2_ele_EoPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSuperClusterOverP() );
1658  h2_ele_EoPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSuperClusterOverP() );
1659  h1_ele_EseedOP->Fill( bestGsfElectron.eSeedClusterOverP() );
1660  if (bestGsfElectron.isEB()) h1_ele_EseedOP_barrel->Fill( bestGsfElectron.eSeedClusterOverP() );
1661  if (bestGsfElectron.isEE()) h1_ele_EseedOP_endcaps->Fill( bestGsfElectron.eSeedClusterOverP() );
1662  h2_ele_EseedOPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverP() );
1663  h2_ele_EseedOPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverP() );
1664  h2_ele_EseedOPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverP() );
1665  h1_ele_EoPout->Fill( bestGsfElectron.eSeedClusterOverPout() );
1666  if (bestGsfElectron.isEB()) h1_ele_EoPout_barrel->Fill( bestGsfElectron.eSeedClusterOverPout() );
1667  if (bestGsfElectron.isEE()) h1_ele_EoPout_endcaps->Fill( bestGsfElectron.eSeedClusterOverPout() );
1668  h2_ele_EoPoutVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverPout() );
1669  h2_ele_EoPoutVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverPout() );
1670  h2_ele_EoPoutVsE->Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverPout() );
1671  h1_ele_EeleOPout->Fill( bestGsfElectron.eEleClusterOverPout() );
1672  if (bestGsfElectron.isEB()) h1_ele_EeleOPout_barrel->Fill( bestGsfElectron.eEleClusterOverPout() );
1673  if (bestGsfElectron.isEE()) h1_ele_EeleOPout_endcaps->Fill( bestGsfElectron.eEleClusterOverPout() );
1674  h2_ele_EeleOPoutVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.eEleClusterOverPout() );
1675  h2_ele_EeleOPoutVsPhi->Fill( bestGsfElectron.phi(), bestGsfElectron.eEleClusterOverPout() );
1676  h2_ele_EeleOPoutVsE->Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.eEleClusterOverPout() );
1678  if (passMiniAODSelection) { // Pt > 5.
1680  }
1681  if (bestGsfElectron.isEB()) h1_ele_dEtaSc_propVtx_barrel->Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1682  if (bestGsfElectron.isEE())h1_ele_dEtaSc_propVtx_endcaps->Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1683  if (passMiniAODSelection) { // Pt > 5.
1684  if (bestGsfElectron.isEB()) h1_ele_dEtaSc_propVtx_mAOD_barrel->Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1685  if (bestGsfElectron.isEE())h1_ele_dEtaSc_propVtx_mAOD_endcaps->Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1686  }
1687  h2_ele_dEtaScVsEta_propVtx->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1688  h2_ele_dEtaScVsPhi_propVtx->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1689  h2_ele_dEtaScVsPt_propVtx->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
1691  if (bestGsfElectron.isEB()) h1_ele_dPhiSc_propVtx_barrel->Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
1692  if (bestGsfElectron.isEE())h1_ele_dPhiSc_propVtx_endcaps->Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
1693  h2_ele_dPhiScVsEta_propVtx->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
1694  h2_ele_dPhiScVsPhi_propVtx->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
1695  h2_ele_dPhiScVsPt_propVtx->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
1697  if (bestGsfElectron.isEB()) h1_ele_dEtaCl_propOut_barrel->Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
1698  if (bestGsfElectron.isEE()) h1_ele_dEtaCl_propOut_endcaps->Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
1699  h2_ele_dEtaClVsEta_propOut->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
1700  h2_ele_dEtaClVsPhi_propOut->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
1701  h2_ele_dEtaClVsPt_propOut->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
1703  if (passMiniAODSelection) { // Pt > 5.
1705  }
1706  if (bestGsfElectron.isEB()) h1_ele_dPhiCl_propOut_barrel->Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1707  if (bestGsfElectron.isEE()) h1_ele_dPhiCl_propOut_endcaps->Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1708  if (passMiniAODSelection) { // Pt > 5.
1709  if (bestGsfElectron.isEB()) h1_ele_dPhiCl_propOut_mAOD_barrel->Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1710  if (bestGsfElectron.isEE()) h1_ele_dPhiCl_propOut_mAOD_endcaps->Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1711  }
1712  h2_ele_dPhiClVsEta_propOut->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1713  h2_ele_dPhiClVsPhi_propOut->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1714  h2_ele_dPhiClVsPt_propOut->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
1716  if (bestGsfElectron.isEB()) h1_ele_dEtaEleCl_propOut_barrel->Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
1717  if (bestGsfElectron.isEE()) h1_ele_dEtaEleCl_propOut_endcaps->Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
1718  h2_ele_dEtaEleClVsEta_propOut->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
1719  h2_ele_dEtaEleClVsPhi_propOut->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
1720  h2_ele_dEtaEleClVsPt_propOut->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
1722  if (bestGsfElectron.isEB()) h1_ele_dPhiEleCl_propOut_barrel->Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
1723  if (bestGsfElectron.isEE()) h1_ele_dPhiEleCl_propOut_endcaps->Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
1724  h2_ele_dPhiEleClVsEta_propOut->Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
1725  h2_ele_dPhiEleClVsPhi_propOut->Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
1726  h2_ele_dPhiEleClVsPt_propOut->Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
1727  h1_ele_HoE->Fill(bestGsfElectron.hcalOverEcal());
1728  if (passMiniAODSelection) { // Pt > 5.
1729  h1_ele_HoE_mAOD->Fill(bestGsfElectron.hcalOverEcal());
1730  }
1731  h1_ele_HoE_bc->Fill(bestGsfElectron.hcalOverEcalBc());
1732  if (bestGsfElectron.isEB()) h1_ele_HoE_bc_barrel->Fill(bestGsfElectron.hcalOverEcalBc());
1733  if (bestGsfElectron.isEE()) h1_ele_HoE_bc_endcaps->Fill(bestGsfElectron.hcalOverEcalBc());
1734  if (bestGsfElectron.isEB()) h1_ele_HoE_barrel->Fill(bestGsfElectron.hcalOverEcal());
1735  if (bestGsfElectron.isEE()) h1_ele_HoE_endcaps->Fill(bestGsfElectron.hcalOverEcal());
1736  if (passMiniAODSelection) { // Pt > 5.
1737  if (bestGsfElectron.isEB()) h1_ele_HoE_mAOD_barrel->Fill(bestGsfElectron.hcalOverEcal());
1738  if (bestGsfElectron.isEE()) h1_ele_HoE_mAOD_endcaps->Fill(bestGsfElectron.hcalOverEcal());
1739  }
1740  if (!bestGsfElectron.isEBEtaGap() && !bestGsfElectron.isEBPhiGap()&& !bestGsfElectron.isEBEEGap() &&
1741  !bestGsfElectron.isEERingGap() && !bestGsfElectron.isEEDeeGap()) h1_ele_HoE_fiducial->Fill(bestGsfElectron.hcalOverEcal());
1742  h2_ele_HoEVsEta->Fill( bestGsfElectron.eta(),bestGsfElectron.hcalOverEcal());
1743  h2_ele_HoEVsPhi->Fill(bestGsfElectron.phi(),bestGsfElectron.hcalOverEcal());
1744  h2_ele_HoEVsE->Fill(bestGsfElectron.caloEnergy(),bestGsfElectron.hcalOverEcal());
1745 
1746  //classes
1747  int eleClass = bestGsfElectron.classification();
1748  if (bestGsfElectron.isEE()) eleClass+=10;
1749  h1_ele_classes->Fill(eleClass);
1750 
1751  if (bestGsfElectron.classification() == GsfElectron::GOLDEN && bestGsfElectron.isEB()) h1_scl_EoEtrueGolden_barrel->Fill(sclRef->energy()/mcIter->p());
1752  if (bestGsfElectron.classification() == GsfElectron::GOLDEN && bestGsfElectron.isEE()) h1_scl_EoEtrueGolden_endcaps->Fill(sclRef->energy()/mcIter->p());
1753  if (bestGsfElectron.classification() == GsfElectron::SHOWERING && bestGsfElectron.isEB()) h1_scl_EoEtrueShowering_barrel->Fill(sclRef->energy()/mcIter->p());
1754  if (bestGsfElectron.classification() == GsfElectron::SHOWERING && bestGsfElectron.isEE()) h1_scl_EoEtrueShowering_endcaps->Fill(sclRef->energy()/mcIter->p());
1755 
1756  //eleClass = eleClass%100; // get rid of barrel/endcap distinction
1757  h1_ele_eta->Fill(std::abs(bestGsfElectron.eta()));
1758  if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h1_ele_eta_golden->Fill(std::abs(bestGsfElectron.eta()));
1759  if (bestGsfElectron.classification() == GsfElectron::BIGBREM) h1_ele_eta_bbrem->Fill(std::abs(bestGsfElectron.eta()));
1760  if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h1_ele_eta_shower->Fill(std::abs(bestGsfElectron.eta()));
1761 
1762  // fbrem
1763 
1764  double fbrem_mode = bestGsfElectron.fbrem();
1765  h1_ele_fbrem->Fill(fbrem_mode);
1766  if (passMiniAODSelection) { // Pt > 5.
1767  h1_ele_fbrem_mAOD->Fill(fbrem_mode);
1768  }
1769  if (bestGsfElectron.isEB())
1770  {
1771  double fbrem_mode_barrel = bestGsfElectron.fbrem();
1772  h1_ele_fbrem_barrel->Fill(fbrem_mode_barrel);
1773  if (passMiniAODSelection) { // Pt > 5.
1774  h1_ele_fbrem_mAOD_barrel->Fill(fbrem_mode_barrel);
1775  }
1776  }
1777 
1778  if (bestGsfElectron.isEE())
1779  {
1780  double fbrem_mode_endcaps = bestGsfElectron.fbrem();
1781  h1_ele_fbrem_endcaps->Fill(fbrem_mode_endcaps);
1782  if (passMiniAODSelection) { // Pt > 5.
1783  h1_ele_fbrem_mAOD_endcaps->Fill(fbrem_mode_endcaps);
1784  }
1785  }
1786 
1787  double superclusterfbrem_mode = bestGsfElectron.superClusterFbrem();
1788  h1_ele_superclusterfbrem->Fill(superclusterfbrem_mode);
1789 
1790  if (bestGsfElectron.isEB())
1791  {
1792  double superclusterfbrem_mode_barrel = bestGsfElectron.superClusterFbrem();
1793  h1_ele_superclusterfbrem_barrel->Fill(superclusterfbrem_mode_barrel);
1794  }
1795 
1796  if (bestGsfElectron.isEE())
1797  {
1798  double superclusterfbrem_mode_endcaps = bestGsfElectron.superClusterFbrem();
1799  h1_ele_superclusterfbrem_endcaps->Fill(superclusterfbrem_mode_endcaps);
1800  }
1801 
1802  p1_ele_fbremVsEta_mode->Fill(bestGsfElectron.eta(),fbrem_mode);
1803 
1804  if (!readAOD_) // track extra does not exist in AOD
1805  {
1806  double fbrem_mean = 1. - bestGsfElectron.gsfTrack()->outerMomentum().R()/bestGsfElectron.gsfTrack()->innerMomentum().R() ;
1807  p1_ele_fbremVsEta_mean->Fill(bestGsfElectron.eta(),fbrem_mean) ;
1808  }
1809 
1810  //
1811 
1812  if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h2_ele_PinVsPoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().R(), bestGsfElectron.trackMomentumAtVtx().R());
1813  if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h2_ele_PinVsPoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().R(), bestGsfElectron.trackMomentumAtVtx().R());
1814  if (!readAOD_) // track extra not available in AOD
1815  {
1816  if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h2_ele_PinVsPoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(), bestGsfElectron.gsfTrack()->innerMomentum().R());
1817  if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h2_ele_PinVsPoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(), bestGsfElectron.gsfTrack()->innerMomentum().R());
1818  }
1819  if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h2_ele_PtinVsPtoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(), bestGsfElectron.trackMomentumAtVtx().Rho());
1820  if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h2_ele_PtinVsPtoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(), bestGsfElectron.trackMomentumAtVtx().Rho());
1821  if (!readAOD_) // track extra not available in AOD
1822  {
1823  if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h2_ele_PtinVsPtoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(), bestGsfElectron.gsfTrack()->innerMomentum().Rho());
1824  if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h2_ele_PtinVsPtoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(), bestGsfElectron.gsfTrack()->innerMomentum().Rho());
1825  }
1826 
1827  // provenance and pflow data
1828  h1_ele_mva->Fill(bestGsfElectron.mva_e_pi());
1829  if (bestGsfElectron.isEB()) h1_ele_mva_barrel->Fill(bestGsfElectron.mva_e_pi());
1830  if (bestGsfElectron.isEE()) h1_ele_mva_endcaps->Fill(bestGsfElectron.mva_e_pi());
1831  h1_ele_mva_isolated->Fill(bestGsfElectron.mva_Isolated());
1832  if (bestGsfElectron.isEB()) h1_ele_mva_barrel_isolated->Fill(bestGsfElectron.mva_Isolated());
1833  if (bestGsfElectron.isEE()) h1_ele_mva_endcaps_isolated->Fill(bestGsfElectron.mva_Isolated());
1834  if (bestGsfElectron.ecalDrivenSeed()) h1_ele_provenance->Fill(1.);
1835  if (bestGsfElectron.trackerDrivenSeed()) h1_ele_provenance->Fill(-1.);
1836  if (bestGsfElectron.trackerDrivenSeed()||bestGsfElectron.ecalDrivenSeed()) h1_ele_provenance->Fill(0.);
1837  if (bestGsfElectron.trackerDrivenSeed()&&!bestGsfElectron.ecalDrivenSeed()) h1_ele_provenance->Fill(-2.);
1838  if (!bestGsfElectron.trackerDrivenSeed()&&bestGsfElectron.ecalDrivenSeed()) h1_ele_provenance->Fill(2.);
1839 
1840  if (bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB()) h1_ele_provenance_barrel->Fill(1.);
1841  if (bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.isEB()) h1_ele_provenance_barrel->Fill(-1.);
1842  if ((bestGsfElectron.trackerDrivenSeed()||bestGsfElectron.ecalDrivenSeed()) && bestGsfElectron.isEB()) h1_ele_provenance_barrel->Fill(0.);
1843  if (bestGsfElectron.trackerDrivenSeed()&&!bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB()) h1_ele_provenance_barrel->Fill(-2.);
1844  if (!bestGsfElectron.trackerDrivenSeed()&&bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB()) h1_ele_provenance_barrel->Fill(2.);
1845  if (bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE()) h1_ele_provenance_endcaps->Fill(1.);
1846  if (bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.isEE()) h1_ele_provenance_endcaps->Fill(-1.);
1847  if ((bestGsfElectron.trackerDrivenSeed()||bestGsfElectron.ecalDrivenSeed()) && bestGsfElectron.isEE()) h1_ele_provenance_endcaps->Fill(0.);
1848  if (bestGsfElectron.trackerDrivenSeed()&&!bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE()) h1_ele_provenance_endcaps->Fill(-2.);
1849  if (!bestGsfElectron.trackerDrivenSeed()&&bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE()) h1_ele_provenance_endcaps->Fill(2.);
1850 
1851  if (bestGsfElectron.isGsfCtfScPixChargeConsistent()) h1_ele_chargeInfo->Fill(-1.0);
1852  if (bestGsfElectron.isGsfScPixChargeConsistent()) h1_ele_chargeInfo->Fill(0.);
1853  if (bestGsfElectron.isGsfCtfChargeConsistent()) h1_ele_chargeInfo->Fill(1.0);
1854 
1855  // Pflow isolation
1857  if (bestGsfElectron.isEB()) h1_ele_chargedHadronIso_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt);
1858  if (bestGsfElectron.isEE()) h1_ele_chargedHadronIso_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt);
1859 
1861  if (bestGsfElectron.isEB()) h1_ele_neutralHadronIso_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt);
1862  if (bestGsfElectron.isEE()) h1_ele_neutralHadronIso_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt);
1863 
1865  if (bestGsfElectron.isEB()) h1_ele_photonIso_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt);
1866  if (bestGsfElectron.isEE()) h1_ele_photonIso_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt);
1867 
1868  // -- pflow over pT
1869  h1_ele_chargedHadronRelativeIso->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt / bestGsfElectron.pt());
1870  if (bestGsfElectron.isEB()) h1_ele_chargedHadronRelativeIso_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt / bestGsfElectron.pt());
1871  if (bestGsfElectron.isEE()) h1_ele_chargedHadronRelativeIso_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt / bestGsfElectron.pt());
1872  if (passMiniAODSelection) { // Pt > 5.
1874  if (bestGsfElectron.isEB()) h1_ele_chargedHadronRelativeIso_mAOD_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt / bestGsfElectron.pt());
1875  if (bestGsfElectron.isEE()) h1_ele_chargedHadronRelativeIso_mAOD_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumChargedHadronPt / bestGsfElectron.pt());
1876  }
1877 
1878  h1_ele_neutralHadronRelativeIso->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt / bestGsfElectron.pt());
1879  if (bestGsfElectron.isEB()) h1_ele_neutralHadronRelativeIso_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt / bestGsfElectron.pt());
1880  if (bestGsfElectron.isEE()) h1_ele_neutralHadronRelativeIso_endcaps->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt / bestGsfElectron.pt());
1881  if (passMiniAODSelection) { // Pt > 5.
1883  if (bestGsfElectron.isEB()) h1_ele_neutralHadronRelativeIso_mAOD_barrel->Fill(bestGsfElectron.pfIsolationVariables().sumNeutralHadronEt / bestGsfElectron.pt());
1884  if (bestGsfElectron.isEE()) h1_ele_neutralHadronRelativeIso_mAOD_endcaps->