CMS 3D CMS Logo

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

#include <ElectronMcMiniAODSignalValidator.h>

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

Public Member Functions

 ElectronMcSignalValidatorMiniAOD (const edm::ParameterSet &)
 
bool isAncestor (const reco::Candidate *ancestor, const reco::Candidate *particle)
 
 ~ElectronMcSignalValidatorMiniAOD () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

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< pat::ElectronCollectionelectronToken_
 
int eta2D_nbin
 
double eta_max
 
double eta_min
 
int eta_nbin
 
double fhits_max
 
int fhits_nbin
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_chargedHadronRelativeIso_mAOD_recomp
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD_barrel
 
MonitorElementh1_ele_dEtaSc_propVtx_mAOD_endcaps
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD_barrel
 
MonitorElementh1_ele_dPhiCl_propOut_mAOD_endcaps
 
MonitorElementh1_ele_fbrem_mAOD
 
MonitorElementh1_ele_fbrem_mAOD_barrel
 
MonitorElementh1_ele_fbrem_mAOD_endcaps
 
MonitorElementh1_ele_HoE_mAOD
 
MonitorElementh1_ele_HoE_mAOD_barrel
 
MonitorElementh1_ele_HoE_mAOD_endcaps
 
MonitorElementh1_ele_mee_all
 
MonitorElementh1_ele_mee_os
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_neutralHadronRelativeIso_mAOD_recomp
 
MonitorElementh1_ele_photonRelativeIso_mAOD
 
MonitorElementh1_ele_photonRelativeIso_mAOD_barrel
 
MonitorElementh1_ele_photonRelativeIso_mAOD_endcaps
 
MonitorElementh1_ele_photonRelativeIso_mAOD_recomp
 
MonitorElementh1_ele_vertexEta
 
MonitorElementh1_ele_vertexPt
 
MonitorElementh1_ele_vertexPt_nocut
 
MonitorElementh1_recEleNum
 
MonitorElementh1_scl_SigIEtaIEta_mAOD
 
MonitorElementh1_scl_SigIEtaIEta_mAOD_barrel
 
MonitorElementh1_scl_SigIEtaIEta_mAOD_endcaps
 
MonitorElementh2_ele_foundHitsVsEta
 
MonitorElementh2_ele_foundHitsVsEta_mAOD
 
MonitorElementh2_ele_PoPtrueVsEta
 
MonitorElementh2_ele_sigmaIetaIetaVsPt
 
double hoe_max
 
double hoe_min
 
int hoe_nbin
 
std::vector< int > matchingIDs_
 
std::vector< int > matchingMotherIDs_
 
double maxAbsEta_
 
double maxPt_
 
edm::EDGetTokenT< edm::View< reco::GenParticle > > mcTruthCollection_
 
double mee_max
 
double mee_min
 
int mee_nbin
 
std::string outputInternalPath_
 
edm::EDGetTokenT< edm::ValueMap< float > > pfSumChargedHadronPtTmp_
 
edm::EDGetTokenT< edm::ValueMap< float > > pfSumNeutralHadronEtTmp_
 
edm::EDGetTokenT< edm::ValueMap< float > > pfSumPhotonEtTmp_
 
int phi2D_nbin
 
double phi_max
 
double phi_min
 
int phi_nbin
 
double poptrue_max
 
double poptrue_min
 
int poptrue_nbin
 
int pt2D_nbin
 
float pt_
 
double pt_max
 
int pt_nbin
 
int pteff_nbin
 
float relisoChargedHadronPt_recomp
 
float relisoNeutralHadronPt_recomp
 
float relisoPhotonPt_recomp
 
bool set_EfficiencyFlag
 
bool set_StatOverflowFlag
 
float sumChargedHadronPt_recomp
 
float sumNeutralHadronPt_recomp
 
float sumPhotonPt_recomp
 
int xyz_nbin
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from 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")
 
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
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 19 of file ElectronMcMiniAODSignalValidator.h.

Constructor & Destructor Documentation

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

Definition at line 15 of file ElectronMcMiniAODSignalValidator.cc.

References deltaR2_, deltaR_, detamatch2D_nbin, detamatch_max, detamatch_min, detamatch_nbin, dphi_max, dphi_min, dphi_nbin, dphimatch2D_nbin, dphimatch_max, dphimatch_min, dphimatch_nbin, electronToken_, eta2D_nbin, eta_max, eta_min, eta_nbin, fhits_max, fhits_nbin, edm::ParameterSet::getParameter(), h1_ele_chargedHadronRelativeIso_mAOD, h1_ele_chargedHadronRelativeIso_mAOD_barrel, h1_ele_chargedHadronRelativeIso_mAOD_endcaps, h1_ele_chargedHadronRelativeIso_mAOD_recomp, h1_ele_dEtaSc_propVtx_mAOD, h1_ele_dEtaSc_propVtx_mAOD_barrel, h1_ele_dEtaSc_propVtx_mAOD_endcaps, h1_ele_dPhiCl_propOut_mAOD, h1_ele_dPhiCl_propOut_mAOD_barrel, h1_ele_dPhiCl_propOut_mAOD_endcaps, h1_ele_fbrem_mAOD, h1_ele_fbrem_mAOD_barrel, h1_ele_fbrem_mAOD_endcaps, h1_ele_HoE_mAOD, h1_ele_HoE_mAOD_barrel, h1_ele_HoE_mAOD_endcaps, h1_ele_mee_all, h1_ele_mee_os, h1_ele_neutralHadronRelativeIso_mAOD, h1_ele_neutralHadronRelativeIso_mAOD_barrel, h1_ele_neutralHadronRelativeIso_mAOD_endcaps, h1_ele_neutralHadronRelativeIso_mAOD_recomp, h1_ele_photonRelativeIso_mAOD, h1_ele_photonRelativeIso_mAOD_barrel, h1_ele_photonRelativeIso_mAOD_endcaps, h1_ele_photonRelativeIso_mAOD_recomp, h1_ele_vertexEta, h1_ele_vertexPt, h1_ele_vertexPt_nocut, h1_recEleNum, h1_scl_SigIEtaIEta_mAOD, h1_scl_SigIEtaIEta_mAOD_barrel, h1_scl_SigIEtaIEta_mAOD_endcaps, h2_ele_foundHitsVsEta, h2_ele_foundHitsVsEta_mAOD, h2_ele_PoPtrueVsEta, h2_ele_sigmaIetaIetaVsPt, hoe_max, hoe_min, hoe_nbin, matchingIDs_, matchingMotherIDs_, maxAbsEta_, maxPt_, mcTruthCollection_, mee_max, mee_min, mee_nbin, outputInternalPath_, pfSumChargedHadronPtTmp_, pfSumNeutralHadronEtTmp_, pfSumPhotonEtTmp_, poptrue_max, poptrue_min, poptrue_nbin, pt2D_nbin, pt_max, pt_nbin, pteff_nbin, set_EfficiencyFlag, set_StatOverflowFlag, AlCaHLTBitMon_QueryRunRegistry::string, and xyz_nbin.

16  : ElectronDqmAnalyzerBase(iConfig) {
17  mcTruthCollection_ = consumes<edm::View<reco::GenParticle> >(
18  iConfig.getParameter<edm::InputTag>("mcTruthCollection")); // prunedGenParticles
20  consumes<pat::ElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons")); // slimmedElectrons
21 
22  edm::ParameterSet histosSet = iConfig.getParameter<edm::ParameterSet>("histosCfg");
23  edm::ParameterSet isolationSet = iConfig.getParameter<edm::ParameterSet>("isolationCfg");
24 
25  //recomp
27  consumes<edm::ValueMap<float> >(isolationSet.getParameter<edm::InputTag>("pfSumChargedHadronPtTmp")); // iConfig
29  consumes<edm::ValueMap<float> >(isolationSet.getParameter<edm::InputTag>("pfSumNeutralHadronEtTmp")); // iConfig
31  consumes<edm::ValueMap<float> >(isolationSet.getParameter<edm::InputTag>("pfSumPhotonEtTmp")); // iConfig
32 
33  maxPt_ = iConfig.getParameter<double>("MaxPt");
34  maxAbsEta_ = iConfig.getParameter<double>("MaxAbsEta");
35  deltaR_ = iConfig.getParameter<double>("DeltaR");
37  matchingIDs_ = iConfig.getParameter<std::vector<int> >("MatchingID");
38  matchingMotherIDs_ = iConfig.getParameter<std::vector<int> >("MatchingMotherID");
39  outputInternalPath_ = iConfig.getParameter<std::string>("OutputFolderName");
40 
41  // histos bining and limits
42 
43  xyz_nbin = histosSet.getParameter<int>("Nbinxyz");
44 
45  pt_nbin = histosSet.getParameter<int>("Nbinpt");
46  pt2D_nbin = histosSet.getParameter<int>("Nbinpt2D");
47  pteff_nbin = histosSet.getParameter<int>("Nbinpteff");
48  pt_max = histosSet.getParameter<double>("Ptmax");
49 
50  fhits_nbin = histosSet.getParameter<int>("Nbinfhits");
51  fhits_max = histosSet.getParameter<double>("Fhitsmax");
52 
53  eta_nbin = histosSet.getParameter<int>("Nbineta");
54  eta2D_nbin = histosSet.getParameter<int>("Nbineta2D");
55  eta_min = histosSet.getParameter<double>("Etamin");
56  eta_max = histosSet.getParameter<double>("Etamax");
57 
58  detamatch_nbin = histosSet.getParameter<int>("Nbindetamatch");
59  detamatch2D_nbin = histosSet.getParameter<int>("Nbindetamatch2D");
60  detamatch_min = histosSet.getParameter<double>("Detamatchmin");
61  detamatch_max = histosSet.getParameter<double>("Detamatchmax");
62 
63  dphi_nbin = histosSet.getParameter<int>("Nbindphi");
64  dphi_min = histosSet.getParameter<double>("Dphimin");
65  dphi_max = histosSet.getParameter<double>("Dphimax");
66 
67  dphimatch_nbin = histosSet.getParameter<int>("Nbindphimatch");
68  dphimatch2D_nbin = histosSet.getParameter<int>("Nbindphimatch2D");
69  dphimatch_min = histosSet.getParameter<double>("Dphimatchmin");
70  dphimatch_max = histosSet.getParameter<double>("Dphimatchmax");
71 
72  hoe_nbin = histosSet.getParameter<int>("Nbinhoe");
73  hoe_min = histosSet.getParameter<double>("Hoemin");
74  hoe_max = histosSet.getParameter<double>("Hoemax");
75 
76  mee_nbin = histosSet.getParameter<int>("Nbinmee");
77  mee_min = histosSet.getParameter<double>("Meemin");
78  mee_max = histosSet.getParameter<double>("Meemax");
79 
80  poptrue_nbin = histosSet.getParameter<int>("Nbinpoptrue");
81  poptrue_min = histosSet.getParameter<double>("Poptruemin");
82  poptrue_max = histosSet.getParameter<double>("Poptruemax");
83 
84  set_EfficiencyFlag = histosSet.getParameter<bool>("EfficiencyFlag");
85  set_StatOverflowFlag = histosSet.getParameter<bool>("StatOverflowFlag");
86 
87  // so to please coverity...
88 
89  h1_recEleNum = nullptr;
90 
91  h1_ele_vertexPt = nullptr;
92  h1_ele_vertexEta = nullptr;
93  h1_ele_vertexPt_nocut = nullptr;
94 
95  h1_scl_SigIEtaIEta_mAOD = nullptr;
98 
99  h2_ele_foundHitsVsEta = nullptr;
100  h2_ele_foundHitsVsEta_mAOD = nullptr;
101 
102  h2_ele_PoPtrueVsEta = nullptr;
103  h2_ele_sigmaIetaIetaVsPt = nullptr;
104 
105  h1_ele_HoE_mAOD = nullptr;
106  h1_ele_HoE_mAOD_barrel = nullptr;
107  h1_ele_HoE_mAOD_endcaps = nullptr;
108  h1_ele_mee_all = nullptr;
109  h1_ele_mee_os = nullptr;
110 
111  h1_ele_fbrem_mAOD = nullptr;
112  h1_ele_fbrem_mAOD_barrel = nullptr;
113  h1_ele_fbrem_mAOD_endcaps = nullptr;
114 
115  h1_ele_dEtaSc_propVtx_mAOD = nullptr;
118  h1_ele_dPhiCl_propOut_mAOD = nullptr;
121 
131 
135 }
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::ValueMap< float > > pfSumPhotonEtTmp_
edm::EDGetTokenT< edm::ValueMap< float > > pfSumNeutralHadronEtTmp_
edm::EDGetTokenT< edm::View< reco::GenParticle > > mcTruthCollection_
ElectronDqmAnalyzerBase(const edm::ParameterSet &conf)
edm::EDGetTokenT< pat::ElectronCollection > electronToken_
edm::EDGetTokenT< edm::ValueMap< float > > pfSumChargedHadronPtTmp_
ElectronMcSignalValidatorMiniAOD::~ElectronMcSignalValidatorMiniAOD ( )
override

Definition at line 137 of file ElectronMcMiniAODSignalValidator.cc.

137 {}

Member Function Documentation

void ElectronMcSignalValidatorMiniAOD::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 459 of file ElectronMcMiniAODSignalValidator.cc.

References funct::abs(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo(), HLTMuonOfflineAnalyzer_cfi::deltaR2, deltaR2_, pwdgSkimBPark_cfi::electrons, electronToken_, PVValHelper::eta, reco::LeafCandidate::eta(), reco::GsfElectron::fbrem(), dqm::impl::MonitorElement::Fill(), genParticles2HepMC_cfi::genParticles, edm::Event::getByToken(), pat::Electron::gsfTrack(), h1_ele_chargedHadronRelativeIso_mAOD, h1_ele_chargedHadronRelativeIso_mAOD_barrel, h1_ele_chargedHadronRelativeIso_mAOD_endcaps, h1_ele_chargedHadronRelativeIso_mAOD_recomp, h1_ele_dEtaSc_propVtx_mAOD, h1_ele_dEtaSc_propVtx_mAOD_barrel, h1_ele_dEtaSc_propVtx_mAOD_endcaps, h1_ele_dPhiCl_propOut_mAOD, h1_ele_dPhiCl_propOut_mAOD_barrel, h1_ele_dPhiCl_propOut_mAOD_endcaps, h1_ele_fbrem_mAOD, h1_ele_fbrem_mAOD_barrel, h1_ele_fbrem_mAOD_endcaps, h1_ele_HoE_mAOD, h1_ele_HoE_mAOD_barrel, h1_ele_HoE_mAOD_endcaps, h1_ele_mee_all, h1_ele_mee_os, h1_ele_neutralHadronRelativeIso_mAOD, h1_ele_neutralHadronRelativeIso_mAOD_barrel, h1_ele_neutralHadronRelativeIso_mAOD_endcaps, h1_ele_neutralHadronRelativeIso_mAOD_recomp, h1_ele_photonRelativeIso_mAOD, h1_ele_photonRelativeIso_mAOD_barrel, h1_ele_photonRelativeIso_mAOD_endcaps, h1_ele_photonRelativeIso_mAOD_recomp, h1_ele_vertexEta, h1_ele_vertexPt, h1_ele_vertexPt_nocut, h1_recEleNum, h1_scl_SigIEtaIEta_mAOD, h1_scl_SigIEtaIEta_mAOD_barrel, h1_scl_SigIEtaIEta_mAOD_endcaps, h2_ele_foundHitsVsEta, h2_ele_foundHitsVsEta_mAOD, h2_ele_PoPtrueVsEta, h2_ele_sigmaIetaIetaVsPt, reco::GsfElectron::hcalOverEcal(), mps_fire::i, edm::EventBase::id(), cuy::ii, reco::GsfElectron::isEB(), reco::GsfElectron::isEE(), matchingMotherIDs_, maxAbsEta_, maxPt_, mcTruthCollection_, reco::Candidate::mother(), reco::Candidate::numberOfDaughters(), reco::LeafCandidate::p(), reco::GsfElectron::p4(), EgammaValidation_cff::pdgId, reco::Candidate::pdgId(), reco::GsfElectron::pfIsolationVariables(), ElectronMcSignalValidatorMiniAOD_cfi::pfSumChargedHadronPtTmp, pfSumChargedHadronPtTmp_, ElectronMcSignalValidatorMiniAOD_cfi::pfSumNeutralHadronEtTmp, pfSumNeutralHadronEtTmp_, ElectronMcSignalValidatorMiniAOD_cfi::pfSumPhotonEtTmp, pfSumPhotonEtTmp_, reco::LeafCandidate::phi(), pi, edm::Handle< T >::product(), reco::LeafCandidate::pt(), pt_, relisoChargedHadronPt_recomp, relisoNeutralHadronPt_recomp, relisoPhotonPt_recomp, reco::GsfElectron::scSigmaIEtaIEta(), mathSSE::sqrt(), reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt, sumChargedHadronPt_recomp, reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt, sumNeutralHadronPt_recomp, reco::GsfElectron::PflowIsolationVariables::sumPhotonEt, and sumPhotonPt_recomp.

459  {
460  // get collections
462  iEvent.getByToken(electronToken_, electrons);
463 
465  iEvent.getByToken(mcTruthCollection_, genParticles);
466 
467  //recomp
471 
472  //recomp
473  iEvent.getByToken(pfSumChargedHadronPtTmp_, pfSumChargedHadronPtTmp);
474  iEvent.getByToken(pfSumNeutralHadronEtTmp_, pfSumNeutralHadronEtTmp);
475  iEvent.getByToken(pfSumPhotonEtTmp_, pfSumPhotonEtTmp);
476 
477  edm::LogInfo("ElectronMcSignalValidatorMiniAOD::analyze")
478  << "Treating event " << iEvent.id() << " with " << electrons.product()->size() << " electrons";
479  h1_recEleNum->Fill((*electrons).size());
480 
481  //===============================================
482  // all rec electrons
483  //===============================================
484 
485  pat::Electron gsfElectron;
486 
487  pat::ElectronCollection::const_iterator el1;
488  pat::ElectronCollection::const_iterator el2;
489  for (el1 = electrons->begin(); el1 != electrons->end(); el1++) {
490  for (el2 = el1 + 1; el2 != electrons->end(); el2++) {
491  math::XYZTLorentzVector p12 = el1->p4() + el2->p4();
492  float mee2 = p12.Dot(p12);
493  h1_ele_mee_all->Fill(sqrt(mee2));
494  if (el1->charge() * el2->charge() < 0.) {
495  h1_ele_mee_os->Fill(sqrt(mee2));
496  }
497  }
498  }
499 
500  //===============================================
501  // charge mis-ID
502  //===============================================
503 
504  int mcNum = 0, gamNum = 0, eleNum = 0;
505  // bool matchingID;//, matchingMotherID ;
506  bool matchingMotherID;
507 
508  //===============================================
509  // association mc-reco
510  //===============================================
511 
512  for (size_t i = 0; i < genParticles->size(); i++) {
513  /* // DEBUG LINES - KEEP IT !
514  std::cout << "\nevt ID = " << iEvent.id() ;
515  std::cout << ", mcIter position : " << i << std::endl;
516  std::cout << "pdgID : " << (*genParticles)[i].pdgId() << ", Pt : " << (*genParticles)[i].pt() ;
517  std::cout << ", eta : " << (*genParticles)[i].eta() << ", phi : " << (*genParticles)[i].phi() << std::endl;
518  // DEBUG LINES - KEEP IT ! */
519 
520  // number of mc particles
521  mcNum++;
522 
523  // counts photons
524  if ((*genParticles)[i].pdgId() == 22) {
525  gamNum++;
526  }
527 
528  // select requested mother matching gen particle
529  // always include single particle with no mother
530  const Candidate* mother = (*genParticles)[i].mother(0);
531  matchingMotherID = false;
532  for (unsigned int ii = 0; ii < matchingMotherIDs_.size(); ii++) {
533  /* // DEBUG LINES - KEEP IT !
534  std::cout << "Matching : matchingMotherID[" << ii << "] : "<< matchingMotherIDs_[ii] << ", evt ID = " << iEvent.id() << ", mother : " << mother ;
535  if (mother != 0) {
536  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
537  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
538  }
539  else {
540  std::cout << std::endl;
541  }
542  // DEBUG LINES - KEEP IT ! */
543 
544  if (mother == nullptr) {
545  matchingMotherID = true;
546  } else if (mother->pdgId() == matchingMotherIDs_[ii]) {
547  if (mother->numberOfDaughters() <= 2) {
548  matchingMotherID = true;
549  //std::cout << "evt ID = " << iEvent.id() ; // debug lines
550  //std::cout << " - nb of Daughters : " << mother->numberOfDaughters() << " - pdgId() : " << mother->pdgId() << std::endl; // debug lines
551  }
552  } // end of mother if test
553 
554  /* // DEBUG LINES - KEEP IT !
555  if (mother != 0) {
556  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
557  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
558  }
559  // DEBUG LINES - KEEP IT ! */
560  } // end of for loop
561  if (!matchingMotherID) {
562  continue;
563  }
564 
565  // electron preselection
566  if ((*genParticles)[i].pt() > maxPt_ || std::abs((*genParticles)[i].eta()) > maxAbsEta_) {
567  continue;
568  }
569  eleNum++;
570 
571  // find best matched electron
572  bool okGsfFound = false;
573  bool passMiniAODSelection = true;
574  double gsfOkRatio = 999999.;
575  pat::Electron bestGsfElectron;
576  for (const pat::Electron& el : *electrons) {
577  double dphi = el.phi() - (*genParticles)[i].phi();
578  if (std::abs(dphi) > CLHEP::pi) {
579  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
580  }
581  double deltaR2 = (el.eta() - (*genParticles)[i].eta()) * (el.eta() - (*genParticles)[i].eta()) + dphi * dphi;
582  if (deltaR2 < deltaR2_) {
583  if ((((*genParticles)[i].pdgId() == 11) && (el.charge() < 0.)) ||
584  (((*genParticles)[i].pdgId() == -11) && (el.charge() > 0.))) {
585  double tmpGsfRatio = el.p() / (*genParticles)[i].p();
586  if (std::abs(tmpGsfRatio - 1) < std::abs(gsfOkRatio - 1)) {
587  gsfOkRatio = tmpGsfRatio;
588  bestGsfElectron = el;
589  PatElectronPtr elePtr(electrons, &el - &(*electrons)[0]);
590  pt_ = elePtr->pt();
591  sumChargedHadronPt_recomp = (*pfSumChargedHadronPtTmp)[elePtr];
593 
594  sumNeutralHadronPt_recomp = (*pfSumNeutralHadronEtTmp)[elePtr];
596 
597  sumPhotonPt_recomp = (*pfSumPhotonEtTmp)[elePtr];
599 
600  okGsfFound = true;
601 
602  // DEBUG LINES - KEEP IT !
603  // std::cout << "evt ID : " << iEvent.id() << " - Pt : " << bestGsfElectron.pt() << " - eta : " << bestGsfElectron.eta() << " - phi : " << bestGsfElectron.phi() << std::endl;
604  // DEBUG LINES - KEEP IT ! /**/
605  }
606  }
607  }
608  }
609 
610  if (!okGsfFound)
611  continue;
612 
613  //------------------------------------
614  // analysis when the mc track is found
615  //------------------------------------
616  passMiniAODSelection = bestGsfElectron.pt() >= 5.;
617 
618  // electron related distributions
619  h1_ele_vertexPt->Fill(bestGsfElectron.pt());
620  h1_ele_vertexEta->Fill(bestGsfElectron.eta());
621  if ((bestGsfElectron.scSigmaIEtaIEta() == 0.) && (bestGsfElectron.fbrem() == 0.))
622  h1_ele_vertexPt_nocut->Fill(bestGsfElectron.pt());
623 
624  // generated distributions for matched electrons
625  h2_ele_PoPtrueVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.p() / (*genParticles)[i].p());
626  if (passMiniAODSelection) { // Pt > 5.
627  h2_ele_sigmaIetaIetaVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.scSigmaIEtaIEta());
628  }
629 
630  // supercluster related distributions
631  if (passMiniAODSelection) { // Pt > 5.
632  h1_scl_SigIEtaIEta_mAOD->Fill(bestGsfElectron.scSigmaIEtaIEta());
635  if (bestGsfElectron.isEB()) {
639  }
640  if (bestGsfElectron.isEE()) {
644  }
645  }
646 
647  // track related distributions
648  h2_ele_foundHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
649  if (passMiniAODSelection) { // Pt > 5.
650  h2_ele_foundHitsVsEta_mAOD->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
651  }
652 
653  // match distributions
654  if (passMiniAODSelection) { // Pt > 5.
655  h1_ele_HoE_mAOD->Fill(bestGsfElectron.hcalOverEcal());
656  if (bestGsfElectron.isEB())
657  h1_ele_HoE_mAOD_barrel->Fill(bestGsfElectron.hcalOverEcal());
658  if (bestGsfElectron.isEE())
659  h1_ele_HoE_mAOD_endcaps->Fill(bestGsfElectron.hcalOverEcal());
660  }
661 
662  // fbrem
663 
664  // double fbrem_mode = bestGsfElectron.fbrem();
665  if (passMiniAODSelection) { // Pt > 5.
666  h1_ele_fbrem_mAOD->Fill(bestGsfElectron.fbrem());
667  if (bestGsfElectron.isEB())
668  h1_ele_fbrem_mAOD_barrel->Fill(bestGsfElectron.fbrem());
669  if (bestGsfElectron.isEE())
670  h1_ele_fbrem_mAOD_endcaps->Fill(bestGsfElectron.fbrem());
671 
672  // -- pflow over pT
673  double one_over_pt = 1. / bestGsfElectron.pt();
674 
676  one_over_pt);
678  one_over_pt);
679  h1_ele_photonRelativeIso_mAOD->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt * one_over_pt);
680 
681  if (bestGsfElectron.isEB()) {
683  one_over_pt);
685  one_over_pt);
687  }
688 
689  if (bestGsfElectron.isEE()) {
691  one_over_pt);
693  one_over_pt);
695  }
696 
697  // -- recomputed pflow over pT
701  }
702 
703  } // fin boucle size_t i
704 }
const PflowIsolationVariables & pfIsolationVariables() const
Definition: GsfElectron.h:650
double eta() const final
momentum pseudorapidity
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:211
edm::EDGetTokenT< edm::ValueMap< float > > pfSumPhotonEtTmp_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
double pt() const final
transverse momentum
virtual const Candidate * mother(size_type i=0) const =0
return pointer to mother
float fbrem() const
Definition: GsfElectron.h:726
edm::EDGetTokenT< edm::ValueMap< float > > pfSumNeutralHadronEtTmp_
bool isEE() const
Definition: GsfElectron.h:329
bool isEB() const
Definition: GsfElectron.h:328
const Double_t pi
void Fill(long long x)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
edm::EDGetTokenT< edm::View< reco::GenParticle > > mcTruthCollection_
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:225
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:229
virtual int pdgId() const =0
PDG identifier.
T sqrt(T t)
Definition: SSEVec.h:19
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:602
float hcalOverEcal() const
Definition: GsfElectron.h:419
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:601
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:464
ii
Definition: cuy.py:590
double p() const final
magnitude of momentum vector
T const * product() const
Definition: Handle.h:69
Analysis-level electron class.
Definition: Electron.h:51
edm::EventID id() const
Definition: EventBase.h:59
reco::GsfTrackRef gsfTrack() const override
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster ...
edm::EDGetTokenT< pat::ElectronCollection > electronToken_
virtual size_type numberOfDaughters() const =0
number of daughters
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
Definition: GsfElectron.h:600
double phi() const final
momentum azimuthal angle
edm::EDGetTokenT< edm::ValueMap< float > > pfSumChargedHadronPtTmp_
void ElectronMcSignalValidatorMiniAOD::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 139 of file ElectronMcMiniAODSignalValidator.cc.

References ElectronDqmAnalyzerBase::bookH1(), ElectronDqmAnalyzerBase::bookH1withSumw2(), ElectronDqmAnalyzerBase::bookH2(), ElectronDqmAnalyzerBase::bookH2withSumw2(), detamatch_max, detamatch_min, detamatch_nbin, dphimatch_max, dphimatch_min, dphimatch_nbin, eta2D_nbin, eta_max, eta_min, eta_nbin, fhits_max, fhits_nbin, h1_ele_chargedHadronRelativeIso_mAOD, h1_ele_chargedHadronRelativeIso_mAOD_barrel, h1_ele_chargedHadronRelativeIso_mAOD_endcaps, h1_ele_chargedHadronRelativeIso_mAOD_recomp, h1_ele_dEtaSc_propVtx_mAOD, h1_ele_dEtaSc_propVtx_mAOD_barrel, h1_ele_dEtaSc_propVtx_mAOD_endcaps, h1_ele_dPhiCl_propOut_mAOD, h1_ele_dPhiCl_propOut_mAOD_barrel, h1_ele_dPhiCl_propOut_mAOD_endcaps, h1_ele_fbrem_mAOD, h1_ele_fbrem_mAOD_barrel, h1_ele_fbrem_mAOD_endcaps, h1_ele_HoE_mAOD, h1_ele_HoE_mAOD_barrel, h1_ele_HoE_mAOD_endcaps, h1_ele_mee_all, h1_ele_mee_os, h1_ele_neutralHadronRelativeIso_mAOD, h1_ele_neutralHadronRelativeIso_mAOD_barrel, h1_ele_neutralHadronRelativeIso_mAOD_endcaps, h1_ele_neutralHadronRelativeIso_mAOD_recomp, h1_ele_photonRelativeIso_mAOD, h1_ele_photonRelativeIso_mAOD_barrel, h1_ele_photonRelativeIso_mAOD_endcaps, h1_ele_photonRelativeIso_mAOD_recomp, h1_ele_vertexEta, h1_ele_vertexPt, h1_ele_vertexPt_nocut, h1_recEleNum, h1_scl_SigIEtaIEta_mAOD, h1_scl_SigIEtaIEta_mAOD_barrel, h1_scl_SigIEtaIEta_mAOD_endcaps, h2_ele_foundHitsVsEta, h2_ele_foundHitsVsEta_mAOD, h2_ele_PoPtrueVsEta, h2_ele_sigmaIetaIetaVsPt, hoe_max, hoe_min, hoe_nbin, mee_max, mee_min, mee_nbin, outputInternalPath_, poptrue_max, poptrue_min, pt_max, pt_nbin, set_EfficiencyFlag, set_StatOverflowFlag, ElectronDqmAnalyzerBase::setBookEfficiencyFlag(), ElectronDqmAnalyzerBase::setBookIndex(), ElectronDqmAnalyzerBase::setBookPrefix(), ElectronDqmAnalyzerBase::setBookStatOverflowFlag(), and dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder().

141  {
142  iBooker.setCurrentFolder(outputInternalPath_);
143 
144  setBookIndex(-1);
145  setBookPrefix("h");
148 
149  // rec event collections sizes
150  h1_recEleNum = bookH1(iBooker, "recEleNum", "# rec electrons", 11, -0.5, 10.5, "N_{ele}");
151  // matched electrons
152  setBookPrefix("h_mc");
153  setBookPrefix("h_ele");
155  bookH1withSumw2(iBooker, "vertexPt", "ele transverse momentum", pt_nbin, 0., pt_max, "p_{T vertex} (GeV/c)");
156  h1_ele_vertexEta = bookH1withSumw2(iBooker, "vertexEta", "ele momentum eta", eta_nbin, eta_min, eta_max, "#eta");
158  bookH1withSumw2(iBooker, "vertexPt_nocut", "pT of prunned electrons", pt_nbin, 0., 20., "p_{T vertex} (GeV/c)");
160  "PoPtrueVsEta",
161  "ele momentum / gen momentum vs eta",
162  eta2D_nbin,
163  eta_min,
164  eta_max,
165  50,
166  poptrue_min,
167  poptrue_max);
168  // h2_ele_sigmaIetaIetaVsPt = bookH2(iBooker,"sigmaIetaIetaVsPt","SigmaIetaIeta vs pt",pt_nbin,0.,pt_max,100,0.,0.05);
170  bookH2(iBooker, "sigmaIetaIetaVsPt", "SigmaIetaIeta vs pt", 100, 0., pt_max, 100, 0., 0.05);
171 
172  // all electrons
173  setBookPrefix("h_ele");
175  "mee_all",
176  "ele pairs invariant mass, all reco electrons",
177  mee_nbin,
178  mee_min,
179  mee_max,
180  "m_{ee} (GeV/c^{2})",
181  "Events",
182  "ELE_LOGY E1 P");
183  h1_ele_mee_os = bookH1withSumw2(iBooker,
184  "mee_os",
185  "ele pairs invariant mass, opp. sign",
186  mee_nbin,
187  mee_min,
188  mee_max,
189  "m_{e^{+}e^{-}} (GeV/c^{2})",
190  "Events",
191  "ELE_LOGY E1 P");
192 
193  // matched electron, superclusters
194  setBookPrefix("h_scl");
196  "SigIEtaIEta_mAOD",
197  "ele supercluster sigma ieta ieta",
198  100,
199  0.,
200  0.05,
201  "#sigma_{i#eta i#eta}",
202  "Events",
203  "ELE_LOGY E1 P");
205  "SigIEtaIEta_mAOD_barrel",
206  "ele supercluster sigma ieta ieta, barrel",
207  100,
208  0.,
209  0.05,
210  "#sigma_{i#eta i#eta}",
211  "Events",
212  "ELE_LOGY E1 P");
214  "SigIEtaIEta_mAOD_endcaps",
215  "ele supercluster sigma ieta ieta, endcaps",
216  100,
217  0.,
218  0.05,
219  "#sigma_{i#eta i#eta}",
220  "Events",
221  "ELE_LOGY E1 P");
222 
223  // matched electron, gsf tracks
224  setBookPrefix("h_ele");
225  h2_ele_foundHitsVsEta = bookH2(iBooker,
226  "foundHitsVsEta",
227  "ele track # found hits vs eta",
228  eta2D_nbin,
229  eta_min,
230  eta_max,
231  fhits_nbin,
232  0.,
233  fhits_max);
235  "foundHitsVsEta_mAOD",
236  "ele track # found hits vs eta",
237  eta2D_nbin,
238  eta_min,
239  eta_max,
240  fhits_nbin,
241  0.,
242  fhits_max);
243 
244  // matched electrons, matching
245  setBookPrefix("h_ele");
247  "HoE_mAOD",
248  "ele hadronic energy / em energy",
249  hoe_nbin,
250  hoe_min,
251  hoe_max,
252  "H/E",
253  "Events",
254  "ELE_LOGY E1 P");
256  "HoE_mAOD_barrel",
257  "ele hadronic energy / em energy, barrel",
258  hoe_nbin,
259  hoe_min,
260  hoe_max,
261  "H/E",
262  "Events",
263  "ELE_LOGY E1 P");
265  "HoE_mAOD_endcaps",
266  "ele hadronic energy / em energy, endcaps",
267  hoe_nbin,
268  hoe_min,
269  hoe_max,
270  "H/E",
271  "Events",
272  "ELE_LOGY E1 P");
274  "dEtaSc_propVtx_mAOD",
275  "ele #eta_{sc} - #eta_{tr}, prop from vertex",
279  "#eta_{sc} - #eta_{tr}",
280  "Events",
281  "ELE_LOGY E1 P");
283  "dEtaSc_propVtx_mAOD_barrel",
284  "ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel",
288  "#eta_{sc} - #eta_{tr}",
289  "Events",
290  "ELE_LOGY E1 P");
292  "dEtaSc_propVtx_mAOD_endcaps",
293  "ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps",
297  "#eta_{sc} - #eta_{tr}",
298  "Events",
299  "ELE_LOGY E1 P");
301  "dPhiCl_propOut_mAOD",
302  "ele #phi_{cl} - #phi_{tr}, prop from outermost",
306  "#phi_{seedcl} - #phi_{tr} (rad)",
307  "Events",
308  "ELE_LOGY E1 P");
310  "dPhiCl_propOut_mAOD_barrel",
311  "ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel",
315  "#phi_{seedcl} - #phi_{tr} (rad)",
316  "Events",
317  "ELE_LOGY E1 P");
319  "dPhiCl_propOut_mAOD_endcaps",
320  "ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps",
324  "#phi_{seedcl} - #phi_{tr} (rad)",
325  "Events",
326  "ELE_LOGY E1 P");
327 
328  // fbrem
330  iBooker, "fbrem_mAOD", "ele brem fraction, mode of GSF components", 100, 0., 1., "P_{in} - P_{out} / P_{in}");
332  "fbrem_mAOD_barrel",
333  "ele brem fraction for barrel, mode of GSF components",
334  100,
335  0.,
336  1.,
337  "P_{in} - P_{out} / P_{in}");
339  "fbrem_mAOD_endcaps",
340  "ele brem franction for endcaps, mode of GSF components",
341  100,
342  0.,
343  1.,
344  "P_{in} - P_{out} / P_{in}");
345 
346  // -- pflow over pT
348  "chargedHadronRelativeIso_mAOD",
349  "chargedHadronRelativeIso",
350  100,
351  0.0,
352  2.,
353  "chargedHadronRelativeIso",
354  "Events",
355  "ELE_LOGY E1 P");
357  "chargedHadronRelativeIso_mAOD_barrel",
358  "chargedHadronRelativeIso for barrel",
359  100,
360  0.0,
361  2.,
362  "chargedHadronRelativeIso_barrel",
363  "Events",
364  "ELE_LOGY E1 P");
366  "chargedHadronRelativeIso_mAOD_endcaps",
367  "chargedHadronRelativeIso for endcaps",
368  100,
369  0.0,
370  2.,
371  "chargedHadronRelativeIso_endcaps",
372  "Events",
373  "ELE_LOGY E1 P");
375  "neutralHadronRelativeIso_mAOD",
376  "neutralHadronRelativeIso",
377  100,
378  0.0,
379  2.,
380  "neutralHadronRelativeIso",
381  "Events",
382  "ELE_LOGY E1 P");
384  "neutralHadronRelativeIso_mAOD_barrel",
385  "neutralHadronRelativeIso for barrel",
386  100,
387  0.0,
388  2.,
389  "neutralHadronRelativeIso_barrel",
390  "Events",
391  "ELE_LOGY E1 P");
393  "neutralHadronRelativeIso_mAOD_endcaps",
394  "neutralHadronRelativeIso for endcaps",
395  100,
396  0.0,
397  2.,
398  "neutralHadronRelativeIso_endcaps",
399  "Events",
400  "ELE_LOGY E1 P");
402  "photonRelativeIso_mAOD",
403  "photonRelativeIso",
404  100,
405  0.0,
406  2.,
407  "photonRelativeIso",
408  "Events",
409  "ELE_LOGY E1 P");
411  "photonRelativeIso_mAOD_barrel",
412  "photonRelativeIso for barrel",
413  100,
414  0.0,
415  2.,
416  "photonRelativeIso_barrel",
417  "Events",
418  "ELE_LOGY E1 P");
420  "photonRelativeIso_mAOD_endcaps",
421  "photonRelativeIso for endcaps",
422  100,
423  0.0,
424  2.,
425  "photonRelativeIso_endcaps",
426  "Events",
427  "ELE_LOGY E1 P");
428 
429  // -- recomputed pflow over pT
431  "chargedHadronRelativeIso_mAOD_recomp",
432  "recomputed chargedHadronRelativeIso",
433  100,
434  0.0,
435  2.,
436  "chargedHadronRelativeIso",
437  "Events",
438  "ELE_LOGY E1 P");
440  "neutralHadronRelativeIso_mAOD_recomp",
441  "recomputed neutralHadronRelativeIso",
442  100,
443  0.0,
444  2.,
445  "neutralHadronRelativeIso",
446  "Events",
447  "ELE_LOGY E1 P");
449  "photonRelativeIso_mAOD_recomp",
450  "recomputed photonRelativeIso",
451  100,
452  0.0,
453  2.,
454  "photonRelativeIso",
455  "Events",
456  "ELE_LOGY E1 P");
457 }
MonitorElement * bookH1(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")
void setBookPrefix(const std::string &)
void setBookEfficiencyFlag(const bool &)
MonitorElement * bookH2withSumw2(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")
MonitorElement * bookH2(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")
MonitorElement * bookH1withSumw2(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")
void setBookStatOverflowFlag(const bool &)
bool ElectronMcSignalValidatorMiniAOD::isAncestor ( const reco::Candidate ancestor,
const reco::Candidate particle 
)

Member Data Documentation

double ElectronMcSignalValidatorMiniAOD::deltaR2_
private

Definition at line 40 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::deltaR_
private

Definition at line 40 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::deta_max
private

Definition at line 67 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::deta_min
private

Definition at line 66 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::deta_nbin
private

Definition at line 65 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::detamatch2D_nbin
private

Definition at line 69 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::detamatch_max
private
double ElectronMcSignalValidatorMiniAOD::detamatch_min
private
int ElectronMcSignalValidatorMiniAOD::detamatch_nbin
private
double ElectronMcSignalValidatorMiniAOD::dphi_max
private

Definition at line 78 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::dphi_min
private

Definition at line 77 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::dphi_nbin
private

Definition at line 76 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::dphimatch2D_nbin
private

Definition at line 80 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::dphimatch_max
private
double ElectronMcSignalValidatorMiniAOD::dphimatch_min
private
int ElectronMcSignalValidatorMiniAOD::dphimatch_nbin
private
edm::EDGetTokenT<pat::ElectronCollection> ElectronMcSignalValidatorMiniAOD::electronToken_
private

Definition at line 31 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::eta2D_nbin
private
double ElectronMcSignalValidatorMiniAOD::eta_max
private
double ElectronMcSignalValidatorMiniAOD::eta_min
private
int ElectronMcSignalValidatorMiniAOD::eta_nbin
private
double ElectronMcSignalValidatorMiniAOD::fhits_max
private
int ElectronMcSignalValidatorMiniAOD::fhits_nbin
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD_recomp
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_mee_all
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_mee_os
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD_recomp
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD_recomp
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_vertexEta
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_vertexPt
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_ele_vertexPt_nocut
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_recEleNum
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD_barrel
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD_endcaps
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h2_ele_foundHitsVsEta
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h2_ele_foundHitsVsEta_mAOD
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h2_ele_PoPtrueVsEta
private
MonitorElement* ElectronMcSignalValidatorMiniAOD::h2_ele_sigmaIetaIetaVsPt
private
double ElectronMcSignalValidatorMiniAOD::hoe_max
private
double ElectronMcSignalValidatorMiniAOD::hoe_min
private
int ElectronMcSignalValidatorMiniAOD::hoe_nbin
private
std::vector<int> ElectronMcSignalValidatorMiniAOD::matchingIDs_
private

Definition at line 41 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

std::vector<int> ElectronMcSignalValidatorMiniAOD::matchingMotherIDs_
private

Definition at line 42 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::maxAbsEta_
private

Definition at line 39 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::maxPt_
private

Definition at line 38 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

edm::EDGetTokenT<edm::View<reco::GenParticle> > ElectronMcSignalValidatorMiniAOD::mcTruthCollection_
private

Definition at line 30 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::mee_max
private
double ElectronMcSignalValidatorMiniAOD::mee_min
private
int ElectronMcSignalValidatorMiniAOD::mee_nbin
private
std::string ElectronMcSignalValidatorMiniAOD::outputInternalPath_
private
edm::EDGetTokenT<edm::ValueMap<float> > ElectronMcSignalValidatorMiniAOD::pfSumChargedHadronPtTmp_
private

Definition at line 33 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

edm::EDGetTokenT<edm::ValueMap<float> > ElectronMcSignalValidatorMiniAOD::pfSumNeutralHadronEtTmp_
private

Definition at line 34 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

edm::EDGetTokenT<edm::ValueMap<float> > ElectronMcSignalValidatorMiniAOD::pfSumPhotonEtTmp_
private

Definition at line 35 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze(), and ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::phi2D_nbin
private

Definition at line 73 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::phi_max
private

Definition at line 75 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::phi_min
private

Definition at line 74 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::phi_nbin
private

Definition at line 72 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::poptrue_max
private
double ElectronMcSignalValidatorMiniAOD::poptrue_min
private
int ElectronMcSignalValidatorMiniAOD::poptrue_nbin
private

Definition at line 89 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::pt2D_nbin
private

Definition at line 56 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

float ElectronMcSignalValidatorMiniAOD::pt_
private

Definition at line 36 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

double ElectronMcSignalValidatorMiniAOD::pt_max
private
int ElectronMcSignalValidatorMiniAOD::pt_nbin
private
int ElectronMcSignalValidatorMiniAOD::pteff_nbin
private

Definition at line 57 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

float ElectronMcSignalValidatorMiniAOD::relisoChargedHadronPt_recomp
private

Definition at line 48 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

float ElectronMcSignalValidatorMiniAOD::relisoNeutralHadronPt_recomp
private

Definition at line 49 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

float ElectronMcSignalValidatorMiniAOD::relisoPhotonPt_recomp
private

Definition at line 50 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

bool ElectronMcSignalValidatorMiniAOD::set_EfficiencyFlag
private
bool ElectronMcSignalValidatorMiniAOD::set_StatOverflowFlag
private
float ElectronMcSignalValidatorMiniAOD::sumChargedHadronPt_recomp
private

Definition at line 45 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

float ElectronMcSignalValidatorMiniAOD::sumNeutralHadronPt_recomp
private

Definition at line 46 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

float ElectronMcSignalValidatorMiniAOD::sumPhotonPt_recomp
private

Definition at line 47 of file ElectronMcMiniAODSignalValidator.h.

Referenced by analyze().

int ElectronMcSignalValidatorMiniAOD::xyz_nbin
private

Definition at line 54 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().