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::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > 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 &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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
 
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)
 
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 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="")
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 ElectronDqmAnalyzerBase (const edm::ParameterSet &conf)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
bool finalStepDone ()
 
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::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 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, nullptr, 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.

15  : ElectronDqmAnalyzerBase(iConfig)
16 {
17  mcTruthCollection_ = consumes<edm::View<reco::GenParticle> >(iConfig.getParameter<edm::InputTag>("mcTruthCollection")); // prunedGenParticles
18  electronToken_ = consumes<pat::ElectronCollection> (iConfig.getParameter<edm::InputTag>("electrons")); // slimmedElectrons
19 
20  edm::ParameterSet histosSet = iConfig.getParameter<edm::ParameterSet>("histosCfg") ;
21  edm::ParameterSet isolationSet = iConfig.getParameter<edm::ParameterSet>("isolationCfg") ;
22 
23  //recomp
24  pfSumChargedHadronPtTmp_ = consumes<edm::ValueMap<float> > (isolationSet.getParameter<edm::InputTag>( "pfSumChargedHadronPtTmp" ) ) ; // iConfig
25  pfSumNeutralHadronEtTmp_ = consumes<edm::ValueMap<float> > (isolationSet.getParameter<edm::InputTag>( "pfSumNeutralHadronEtTmp" ) ) ; // iConfig
26  pfSumPhotonEtTmp_ = consumes<edm::ValueMap<float> > (isolationSet.getParameter<edm::InputTag>( "pfSumPhotonEtTmp" ) ) ; // iConfig
27 
28  maxPt_ = iConfig.getParameter<double>("MaxPt");
29  maxAbsEta_ = iConfig.getParameter<double>("MaxAbsEta");
30  deltaR_ = iConfig.getParameter<double>("DeltaR");
32  matchingIDs_ = iConfig.getParameter<std::vector<int> >("MatchingID");
33  matchingMotherIDs_ = iConfig.getParameter<std::vector<int> >("MatchingMotherID");
34  outputInternalPath_ = iConfig.getParameter<std::string>("OutputFolderName") ;
35 
36  // histos bining and limits
37 
38  xyz_nbin=histosSet.getParameter<int>("Nbinxyz");
39 
40  pt_nbin=histosSet.getParameter<int>("Nbinpt");
41  pt2D_nbin=histosSet.getParameter<int>("Nbinpt2D");
42  pteff_nbin=histosSet.getParameter<int>("Nbinpteff");
43  pt_max=histosSet.getParameter<double>("Ptmax");
44 
45  fhits_nbin=histosSet.getParameter<int>("Nbinfhits");
46  fhits_max=histosSet.getParameter<double>("Fhitsmax");
47 
48  eta_nbin=histosSet.getParameter<int>("Nbineta");
49  eta2D_nbin=histosSet.getParameter<int>("Nbineta2D");
50  eta_min=histosSet.getParameter<double>("Etamin");
51  eta_max=histosSet.getParameter<double>("Etamax");
52 
53  detamatch_nbin=histosSet.getParameter<int>("Nbindetamatch");
54  detamatch2D_nbin=histosSet.getParameter<int>("Nbindetamatch2D");
55  detamatch_min=histosSet.getParameter<double>("Detamatchmin");
56  detamatch_max=histosSet.getParameter<double>("Detamatchmax");
57 
58  dphi_nbin=histosSet.getParameter<int>("Nbindphi");
59  dphi_min=histosSet.getParameter<double>("Dphimin");
60  dphi_max=histosSet.getParameter<double>("Dphimax");
61 
62  dphimatch_nbin=histosSet.getParameter<int>("Nbindphimatch");
63  dphimatch2D_nbin=histosSet.getParameter<int>("Nbindphimatch2D");
64  dphimatch_min=histosSet.getParameter<double>("Dphimatchmin");
65  dphimatch_max=histosSet.getParameter<double>("Dphimatchmax");
66 
67  hoe_nbin= histosSet.getParameter<int>("Nbinhoe");
68  hoe_min=histosSet.getParameter<double>("Hoemin");
69  hoe_max=histosSet.getParameter<double>("Hoemax");
70 
71  mee_nbin= histosSet.getParameter<int>("Nbinmee");
72  mee_min=histosSet.getParameter<double>("Meemin");
73  mee_max=histosSet.getParameter<double>("Meemax");
74 
75  poptrue_nbin= histosSet.getParameter<int>("Nbinpoptrue");
76  poptrue_min=histosSet.getParameter<double>("Poptruemin");
77  poptrue_max=histosSet.getParameter<double>("Poptruemax");
78 
79  set_EfficiencyFlag=histosSet.getParameter<bool>("EfficiencyFlag");
80  set_StatOverflowFlag=histosSet.getParameter<bool>("StatOverflowFlag");
81 
82  // so to please coverity...
83 
85 
89 
93 
96 
99 
105 
109 
116 
126 
130 
131 }
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::ValueMap< float > > pfSumPhotonEtTmp_
edm::EDGetTokenT< edm::ValueMap< float > > pfSumNeutralHadronEtTmp_
#define nullptr
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 133 of file ElectronMcMiniAODSignalValidator.cc.

134 {
135 }

Member Function Documentation

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

Definition at line 209 of file ElectronMcMiniAODSignalValidator.cc.

References funct::abs(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo(), reco::deltaR2(), deltaR2_, nano_cff::electrons, electronToken_, PVValHelper::eta, reco::LeafCandidate::eta(), funct::false, reco::GsfElectron::fbrem(), MonitorElement::Fill(), GenHFHadronMatcher_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(), common_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, sumPhotonPt_recomp, and funct::true.

210 {
211  // get collections
213  iEvent.getByToken(electronToken_, electrons);
214 
216  iEvent.getByToken(mcTruthCollection_, genParticles) ;
217 
218  //recomp
222 
223  //recomp
224  iEvent.getByToken( pfSumChargedHadronPtTmp_ , pfSumChargedHadronPtTmp);
225  iEvent.getByToken( pfSumNeutralHadronEtTmp_ , pfSumNeutralHadronEtTmp);
226  iEvent.getByToken( pfSumPhotonEtTmp_ , pfSumPhotonEtTmp);
227 
228  edm::LogInfo("ElectronMcSignalValidatorMiniAOD::analyze") << "Treating event " << iEvent.id() << " with " << electrons.product()->size() << " electrons" ;
229  h1_recEleNum->Fill((*electrons).size()) ;
230 
231  //===============================================
232  // all rec electrons
233  //===============================================
234 
235  pat::Electron gsfElectron ;
236 
237  pat::ElectronCollection::const_iterator el1 ;
238  pat::ElectronCollection::const_iterator el2 ;
239  for(el1=electrons->begin(); el1!=electrons->end(); el1++) {
240  for (el2=el1+1 ; el2!=electrons->end() ; el2++ )
241  {
242  math::XYZTLorentzVector p12 = el1->p4()+el2->p4();
243  float mee2 = p12.Dot(p12);
244  h1_ele_mee_all->Fill(sqrt(mee2));
245  if ( el1->charge() * el2->charge() < 0. )
246  {
247  h1_ele_mee_os->Fill(sqrt(mee2));
248  }
249  }
250  }
251 
252  //===============================================
253  // charge mis-ID
254  //===============================================
255 
256  int mcNum=0, gamNum=0, eleNum=0 ;
257 // bool matchingID;//, matchingMotherID ;
258  bool matchingMotherID ;
259 
260  //===============================================
261  // association mc-reco
262  //===============================================
263 
264  for(size_t i=0; i<genParticles->size(); i++) {
265 /* // DEBUG LINES - KEEP IT !
266  std::cout << "\nevt ID = " << iEvent.id() ;
267  std::cout << ", mcIter position : " << i << std::endl;
268  std::cout << "pdgID : " << (*genParticles)[i].pdgId() << ", Pt : " << (*genParticles)[i].pt() ;
269  std::cout << ", eta : " << (*genParticles)[i].eta() << ", phi : " << (*genParticles)[i].phi() << std::endl;
270  // DEBUG LINES - KEEP IT ! */
271 
272  // number of mc particles
273  mcNum++ ;
274 
275  // counts photons
276  if ( (*genParticles)[i].pdgId() == 22 )
277  { gamNum++ ; }
278 
279  // select requested mother matching gen particle
280  // always include single particle with no mother
281  const Candidate * mother = (*genParticles)[i].mother(0) ;
282  matchingMotherID = false ;
283  for ( unsigned int ii=0 ; ii<matchingMotherIDs_.size() ; ii++ ) {
284 
285 /* // DEBUG LINES - KEEP IT !
286  std::cout << "Matching : matchingMotherID[" << ii << "] : "<< matchingMotherIDs_[ii] << ", evt ID = " << iEvent.id() << ", mother : " << mother ;
287  if (mother != 0) {
288  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
289  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
290  }
291  else {
292  std::cout << std::endl;
293  }
294  // DEBUG LINES - KEEP IT ! */
295 
296  if ( mother == nullptr ) {
297  matchingMotherID = true ;
298  }
299  else if ( mother->pdgId() == matchingMotherIDs_[ii] ) {
300  if ( mother->numberOfDaughters() <= 2 ) {
301  matchingMotherID = true ;
302  //std::cout << "evt ID = " << iEvent.id() ; // debug lines
303  //std::cout << " - nb of Daughters : " << mother->numberOfDaughters() << " - pdgId() : " << mother->pdgId() << std::endl; // debug lines
304  }
305  } // end of mother if test
306 
307 /* // DEBUG LINES - KEEP IT !
308  if (mother != 0) {
309  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
310  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
311  }
312  // DEBUG LINES - KEEP IT ! */
313  } // end of for loop
314  if (!matchingMotherID) {continue ;}
315 
316  // electron preselection
317  if ((*genParticles)[i].pt()> maxPt_ || std::abs((*genParticles)[i].eta())> maxAbsEta_)
318  { continue ; }
319  eleNum++;
320 
321  // find best matched electron
322  bool okGsfFound = false ;
323  bool passMiniAODSelection = true ;
324  double gsfOkRatio = 999999. ;
325  pat::Electron bestGsfElectron ;
326  for (const pat::Electron &el : *electrons ) {
327  double dphi = el.phi()-(*genParticles)[i].phi() ;
328  if (std::abs(dphi)>CLHEP::pi)
329  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
330  double deltaR2 = (el.eta()-(*genParticles)[i].eta()) * (el.eta()-(*genParticles)[i].eta()) + dphi * dphi;
331  if ( deltaR2 < deltaR2_ )
332  {
333  if ( ( ((*genParticles)[i].pdgId() == 11) && (el.charge() < 0.) ) ||
334  ( ((*genParticles)[i].pdgId() == -11) && (el.charge() > 0.) ) )
335  {
336  double tmpGsfRatio = el.p()/(*genParticles)[i].p() ;
337  if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) )
338  {
339  gsfOkRatio = tmpGsfRatio;
340  bestGsfElectron=el;
341  PatElectronPtr elePtr(electrons, &el-&(*electrons)[0]) ;
342  pt_ = elePtr->pt();
343  sumChargedHadronPt_recomp = (*pfSumChargedHadronPtTmp)[elePtr];
345 
346  sumNeutralHadronPt_recomp = (*pfSumNeutralHadronEtTmp)[elePtr];
348 
349  sumPhotonPt_recomp = (*pfSumPhotonEtTmp)[elePtr];
351 
352  okGsfFound = true;
353 
354  // DEBUG LINES - KEEP IT !
355  // std::cout << "evt ID : " << iEvent.id() << " - Pt : " << bestGsfElectron.pt() << " - eta : " << bestGsfElectron.eta() << " - phi : " << bestGsfElectron.phi() << std::endl;
356  // DEBUG LINES - KEEP IT ! /**/
357  }
358  }
359  }
360  }
361 
362  if (! okGsfFound) continue ;
363 
364  //------------------------------------
365  // analysis when the mc track is found
366  //------------------------------------
367  passMiniAODSelection = bestGsfElectron.pt() >= 5.;
368 
369  // electron related distributions
370  h1_ele_vertexPt->Fill( bestGsfElectron.pt() );
371  h1_ele_vertexEta->Fill( bestGsfElectron.eta() );
372  if ( (bestGsfElectron.scSigmaIEtaIEta()==0.) && (bestGsfElectron.fbrem()==0.) ) h1_ele_vertexPt_nocut->Fill( bestGsfElectron.pt() );
373 
374  // generated distributions for matched electrons
375  h2_ele_PoPtrueVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.p()/(*genParticles)[i].p());
376  if ( passMiniAODSelection ) { // Pt > 5.
377  h2_ele_sigmaIetaIetaVsPt->Fill( bestGsfElectron.pt(), bestGsfElectron.scSigmaIEtaIEta());
378  }
379 
380  // supercluster related distributions
381  if ( passMiniAODSelection ) { // Pt > 5.
382  h1_scl_SigIEtaIEta_mAOD->Fill(bestGsfElectron.scSigmaIEtaIEta());
385  if (bestGsfElectron.isEB()) {
389  }
390  if (bestGsfElectron.isEE()) {
394  }
395 
396  }
397 
398  // track related distributions
399  h2_ele_foundHitsVsEta->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
400  if (passMiniAODSelection) { // Pt > 5.
401  h2_ele_foundHitsVsEta_mAOD->Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
402  }
403 
404  // match distributions
405  if (passMiniAODSelection) { // Pt > 5.
406  h1_ele_HoE_mAOD->Fill(bestGsfElectron.hcalOverEcal());
407  if (bestGsfElectron.isEB()) h1_ele_HoE_mAOD_barrel->Fill(bestGsfElectron.hcalOverEcal());
408  if (bestGsfElectron.isEE()) h1_ele_HoE_mAOD_endcaps->Fill(bestGsfElectron.hcalOverEcal());
409  }
410 
411  // fbrem
412 
413  // double fbrem_mode = bestGsfElectron.fbrem();
414  if (passMiniAODSelection) { // Pt > 5.
415  h1_ele_fbrem_mAOD->Fill( bestGsfElectron.fbrem() );
416  if (bestGsfElectron.isEB()) h1_ele_fbrem_mAOD_barrel->Fill( bestGsfElectron.fbrem() );
417  if (bestGsfElectron.isEE()) h1_ele_fbrem_mAOD_endcaps->Fill( bestGsfElectron.fbrem() );
418 
419  // -- pflow over pT
420  double one_over_pt = 1. / bestGsfElectron.pt();
421 
424  h1_ele_photonRelativeIso_mAOD->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt * one_over_pt );
425 
426  if (bestGsfElectron.isEB()) {
430  }
431 
432  if (bestGsfElectron.isEE()) {
436  }
437 
438  // -- recomputed pflow over pT
442 
443  }
444 
445  } // fin boucle size_t i
446 
447 }
const PflowIsolationVariables & pfIsolationVariables() const
Definition: GsfElectron.h:677
double eta() const final
momentum pseudorapidity
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:225
edm::EDGetTokenT< edm::ValueMap< float > > pfSumPhotonEtTmp_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
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:761
edm::EDGetTokenT< edm::ValueMap< float > > pfSumNeutralHadronEtTmp_
bool isEE() const
Definition: GsfElectron.h:353
bool isEB() const
Definition: GsfElectron.h:352
void Fill(long long x)
const Double_t pi
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:249
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:253
virtual int pdgId() const =0
PDG identifier.
T sqrt(T t)
Definition: SSEVec.h:18
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:631
float hcalOverEcal() const
Definition: GsfElectron.h:444
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:630
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:487
ii
Definition: cuy.py:589
double p() const final
magnitude of momentum vector
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
T const * product() const
Definition: Handle.h:81
Analysis-level electron class.
Definition: Electron.h:52
edm::EventID id() const
Definition: EventBase.h:60
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:629
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 137 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 DQMStore::IBooker::setCurrentFolder().

138  {
140 
141  setBookIndex(-1) ;
142  setBookPrefix("h") ;
145 
146  // rec event collections sizes
147  h1_recEleNum = bookH1(iBooker, "recEleNum","# rec electrons",11, -0.5,10.5,"N_{ele}");
148  // matched electrons
149  setBookPrefix("h_mc") ;
150  setBookPrefix("h_ele") ;
151  h1_ele_vertexPt = bookH1withSumw2(iBooker, "vertexPt","ele transverse momentum",pt_nbin,0.,pt_max,"p_{T vertex} (GeV/c)");
152  h1_ele_vertexEta = bookH1withSumw2(iBooker, "vertexEta","ele momentum eta",eta_nbin,eta_min,eta_max,"#eta");
153  h1_ele_vertexPt_nocut = bookH1withSumw2(iBooker, "vertexPt_nocut","pT of prunned electrons",pt_nbin,0.,20.,"p_{T vertex} (GeV/c)");
154  h2_ele_PoPtrueVsEta = bookH2withSumw2(iBooker, "PoPtrueVsEta","ele momentum / gen momentum vs eta",eta2D_nbin,eta_min,eta_max,50,poptrue_min,poptrue_max);
155 // h2_ele_sigmaIetaIetaVsPt = bookH2(iBooker,"sigmaIetaIetaVsPt","SigmaIetaIeta vs pt",pt_nbin,0.,pt_max,100,0.,0.05);
156  h2_ele_sigmaIetaIetaVsPt = bookH2(iBooker,"sigmaIetaIetaVsPt","SigmaIetaIeta vs pt",100,0.,pt_max,100,0.,0.05);
157 
158  // all electrons
159  setBookPrefix("h_ele") ;
160  h1_ele_mee_all = bookH1withSumw2(iBooker, "mee_all","ele pairs invariant mass, all reco electrons",mee_nbin, mee_min, mee_max,"m_{ee} (GeV/c^{2})","Events","ELE_LOGY E1 P");
161  h1_ele_mee_os = bookH1withSumw2(iBooker, "mee_os","ele pairs invariant mass, opp. sign",mee_nbin, mee_min, mee_max,"m_{e^{+}e^{-}} (GeV/c^{2})","Events","ELE_LOGY E1 P");
162 
163  // matched electron, superclusters
164  setBookPrefix("h_scl") ;
165  h1_scl_SigIEtaIEta_mAOD = bookH1withSumw2(iBooker, "SigIEtaIEta_mAOD","ele supercluster sigma ieta ieta",100,0.,0.05,"#sigma_{i#eta i#eta}","Events","ELE_LOGY E1 P");
166  h1_scl_SigIEtaIEta_mAOD_barrel = bookH1withSumw2(iBooker, "SigIEtaIEta_mAOD_barrel","ele supercluster sigma ieta ieta, barrel",100,0.,0.05,"#sigma_{i#eta i#eta}","Events","ELE_LOGY E1 P");
167  h1_scl_SigIEtaIEta_mAOD_endcaps = bookH1withSumw2(iBooker, "SigIEtaIEta_mAOD_endcaps","ele supercluster sigma ieta ieta, endcaps",100,0.,0.05,"#sigma_{i#eta i#eta}","Events","ELE_LOGY E1 P");
168 
169  // matched electron, gsf tracks
170  setBookPrefix("h_ele") ;
171  h2_ele_foundHitsVsEta = bookH2(iBooker, "foundHitsVsEta","ele track # found hits vs eta",eta2D_nbin,eta_min,eta_max,fhits_nbin,0.,fhits_max);
172  h2_ele_foundHitsVsEta_mAOD = bookH2(iBooker, "foundHitsVsEta_mAOD","ele track # found hits vs eta",eta2D_nbin,eta_min,eta_max,fhits_nbin,0.,fhits_max);
173 
174  // matched electrons, matching
175  setBookPrefix("h_ele") ;
176  h1_ele_HoE_mAOD = bookH1withSumw2(iBooker, "HoE_mAOD","ele hadronic energy / em energy",hoe_nbin, hoe_min, hoe_max,"H/E","Events","ELE_LOGY E1 P") ;
177  h1_ele_HoE_mAOD_barrel = bookH1withSumw2(iBooker, "HoE_mAOD_barrel","ele hadronic energy / em energy, barrel",hoe_nbin, hoe_min, hoe_max,"H/E","Events","ELE_LOGY E1 P") ;
178  h1_ele_HoE_mAOD_endcaps = bookH1withSumw2(iBooker, "HoE_mAOD_endcaps","ele hadronic energy / em energy, endcaps",hoe_nbin, hoe_min, hoe_max,"H/E","Events","ELE_LOGY E1 P") ;
179  h1_ele_dEtaSc_propVtx_mAOD = bookH1withSumw2(iBooker, "dEtaSc_propVtx_mAOD","ele #eta_{sc} - #eta_{tr}, prop from vertex",detamatch_nbin,detamatch_min,detamatch_max,"#eta_{sc} - #eta_{tr}","Events","ELE_LOGY E1 P");
180  h1_ele_dEtaSc_propVtx_mAOD_barrel = bookH1withSumw2(iBooker, "dEtaSc_propVtx_mAOD_barrel","ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel",detamatch_nbin,detamatch_min,detamatch_max,"#eta_{sc} - #eta_{tr}","Events","ELE_LOGY E1 P");
181  h1_ele_dEtaSc_propVtx_mAOD_endcaps = bookH1withSumw2(iBooker, "dEtaSc_propVtx_mAOD_endcaps","ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps",detamatch_nbin,detamatch_min,detamatch_max,"#eta_{sc} - #eta_{tr}","Events","ELE_LOGY E1 P");
182  h1_ele_dPhiCl_propOut_mAOD = bookH1withSumw2(iBooker, "dPhiCl_propOut_mAOD","ele #phi_{cl} - #phi_{tr}, prop from outermost",dphimatch_nbin,dphimatch_min,dphimatch_max,"#phi_{seedcl} - #phi_{tr} (rad)","Events","ELE_LOGY E1 P");
183  h1_ele_dPhiCl_propOut_mAOD_barrel = bookH1withSumw2(iBooker, "dPhiCl_propOut_mAOD_barrel","ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel",dphimatch_nbin,dphimatch_min,dphimatch_max,"#phi_{seedcl} - #phi_{tr} (rad)","Events","ELE_LOGY E1 P");
184  h1_ele_dPhiCl_propOut_mAOD_endcaps = bookH1withSumw2(iBooker, "dPhiCl_propOut_mAOD_endcaps","ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps",dphimatch_nbin,dphimatch_min,dphimatch_max,"#phi_{seedcl} - #phi_{tr} (rad)","Events","ELE_LOGY E1 P");
185 
186  // fbrem
187  h1_ele_fbrem_mAOD = bookH1withSumw2(iBooker, "fbrem_mAOD","ele brem fraction, mode of GSF components",100,0.,1.,"P_{in} - P_{out} / P_{in}");
188  h1_ele_fbrem_mAOD_barrel = bookH1withSumw2(iBooker, "fbrem_mAOD_barrel","ele brem fraction for barrel, mode of GSF components", 100, 0.,1.,"P_{in} - P_{out} / P_{in}");
189  h1_ele_fbrem_mAOD_endcaps = bookH1withSumw2(iBooker, "fbrem_mAOD_endcaps", "ele brem franction for endcaps, mode of GSF components", 100, 0.,1.,"P_{in} - P_{out} / P_{in}");
190 
191  // -- pflow over pT
192  h1_ele_chargedHadronRelativeIso_mAOD = bookH1withSumw2(iBooker, "chargedHadronRelativeIso_mAOD","chargedHadronRelativeIso",100,0.0,2.,"chargedHadronRelativeIso","Events","ELE_LOGY E1 P");
193  h1_ele_chargedHadronRelativeIso_mAOD_barrel = bookH1withSumw2(iBooker, "chargedHadronRelativeIso_mAOD_barrel","chargedHadronRelativeIso for barrel",100,0.0,2.,"chargedHadronRelativeIso_barrel","Events","ELE_LOGY E1 P");
194  h1_ele_chargedHadronRelativeIso_mAOD_endcaps = bookH1withSumw2(iBooker, "chargedHadronRelativeIso_mAOD_endcaps","chargedHadronRelativeIso for endcaps",100,0.0,2.,"chargedHadronRelativeIso_endcaps","Events","ELE_LOGY E1 P");
195  h1_ele_neutralHadronRelativeIso_mAOD = bookH1withSumw2(iBooker, "neutralHadronRelativeIso_mAOD","neutralHadronRelativeIso",100,0.0,2.,"neutralHadronRelativeIso","Events","ELE_LOGY E1 P");
196  h1_ele_neutralHadronRelativeIso_mAOD_barrel = bookH1withSumw2(iBooker, "neutralHadronRelativeIso_mAOD_barrel","neutralHadronRelativeIso for barrel",100,0.0,2.,"neutralHadronRelativeIso_barrel","Events","ELE_LOGY E1 P");
197  h1_ele_neutralHadronRelativeIso_mAOD_endcaps = bookH1withSumw2(iBooker, "neutralHadronRelativeIso_mAOD_endcaps","neutralHadronRelativeIso for endcaps",100,0.0,2.,"neutralHadronRelativeIso_endcaps","Events","ELE_LOGY E1 P");
198  h1_ele_photonRelativeIso_mAOD = bookH1withSumw2(iBooker, "photonRelativeIso_mAOD","photonRelativeIso",100,0.0,2.,"photonRelativeIso","Events","ELE_LOGY E1 P");
199  h1_ele_photonRelativeIso_mAOD_barrel = bookH1withSumw2(iBooker, "photonRelativeIso_mAOD_barrel","photonRelativeIso for barrel",100,0.0,2.,"photonRelativeIso_barrel","Events","ELE_LOGY E1 P");
200  h1_ele_photonRelativeIso_mAOD_endcaps = bookH1withSumw2(iBooker, "photonRelativeIso_mAOD_endcaps","photonRelativeIso for endcaps",100,0.0,2.,"photonRelativeIso_endcaps","Events","ELE_LOGY E1 P");
201 
202  // -- recomputed pflow over pT
203  h1_ele_chargedHadronRelativeIso_mAOD_recomp = bookH1withSumw2(iBooker, "chargedHadronRelativeIso_mAOD_recomp","recomputed chargedHadronRelativeIso",100,0.0,2.,"chargedHadronRelativeIso","Events","ELE_LOGY E1 P");
204  h1_ele_neutralHadronRelativeIso_mAOD_recomp = bookH1withSumw2(iBooker, "neutralHadronRelativeIso_mAOD_recomp","recomputed neutralHadronRelativeIso",100,0.0,2.,"neutralHadronRelativeIso","Events","ELE_LOGY E1 P");
205  h1_ele_photonRelativeIso_mAOD_recomp = bookH1withSumw2(iBooker, "photonRelativeIso_mAOD_recomp","recomputed photonRelativeIso",100,0.0,2.,"photonRelativeIso","Events","ELE_LOGY E1 P");
206 
207  }
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 * 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")
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")
void setBookPrefix(const std::string &)
void setBookEfficiencyFlag(const bool &)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
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 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 58 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::deta_min
private

Definition at line 58 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::deta_nbin
private

Definition at line 58 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::detamatch2D_nbin
private

Definition at line 59 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 61 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

double ElectronMcSignalValidatorMiniAOD::dphi_min
private

Definition at line 61 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::dphi_nbin
private

Definition at line 61 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::dphimatch2D_nbin
private

Definition at line 62 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 60 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::phi_max
private

Definition at line 60 of file ElectronMcMiniAODSignalValidator.h.

double ElectronMcSignalValidatorMiniAOD::phi_min
private

Definition at line 60 of file ElectronMcMiniAODSignalValidator.h.

int ElectronMcSignalValidatorMiniAOD::phi_nbin
private

Definition at line 60 of file ElectronMcMiniAODSignalValidator.h.

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

Definition at line 65 of file ElectronMcMiniAODSignalValidator.h.

Referenced by ElectronMcSignalValidatorMiniAOD().

int ElectronMcSignalValidatorMiniAOD::pt2D_nbin
private

Definition at line 55 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 55 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().