CMS 3D CMS Logo

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

#include <ElectronAnalyzer.h>

Inheritance diagram for ElectronAnalyzer:
ElectronDqmAnalyzerBase DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 ElectronAnalyzer (const edm::ParameterSet &conf)
 
 ~ElectronAnalyzer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

float computeInvMass (const reco::GsfElectron &e1, const reco::GsfElectron &e2)
 
bool etCut (const reco::GsfElectronCollection::const_iterator &gsfIter)
 
bool generalCut (const reco::GsfElectronCollection::const_iterator &gsfIter)
 
bool idCut (const reco::GsfElectronCollection::const_iterator &gsfIter)
 
bool isolationCut (const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)
 
bool selected (const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotbeamSpotTag_
 
double deltaR_
 
double detamatchmax
 
double detamatchmin
 
double detamax
 
double dEtaMaxBarrel_
 
double dEtaMaxEndcaps_
 
double detamin
 
double dEtaMinBarrel_
 
double dEtaMinEndcaps_
 
double dphimatchmax
 
double dphimatchmin
 
double dphimax
 
double dPhiMaxBarrel_
 
double dPhiMaxEndcaps_
 
double dphimin
 
double dPhiMinBarrel_
 
double dPhiMinEndcaps_
 
double ecalIso03MaxBarrel_
 
double ecalIso03MaxEndcaps_
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronCollection_
 
double eopmax
 
double eopmaxsht
 
double eOverPMaxBarrel_
 
double eOverPMaxEndcaps_
 
double eOverPMinBarrel_
 
double eOverPMinEndcaps_
 
double etamax
 
double etamin
 
double fhitsmax
 
edm::EDGetTokenT< reco::GsfTrackCollectiongsftrackCollection_
 
MonitorElementh1_chi2
 
MonitorElementh1_classes
 
MonitorElementh1_dEtaEleCl_propOut_barrel
 
MonitorElementh1_dEtaEleCl_propOut_endcapsNeg
 
MonitorElementh1_dEtaEleCl_propOut_endcapsPos
 
MonitorElementh1_dEtaSc_propVtx_barrel
 
MonitorElementh1_dEtaSc_propVtx_endcapsNeg
 
MonitorElementh1_dEtaSc_propVtx_endcapsPos
 
MonitorElementh1_dPhiEleCl_propOut_barrel
 
MonitorElementh1_dPhiEleCl_propOut_endcapsNeg
 
MonitorElementh1_dPhiEleCl_propOut_endcapsPos
 
MonitorElementh1_dPhiSc_propVtx_barrel
 
MonitorElementh1_dPhiSc_propVtx_endcapsNeg
 
MonitorElementh1_dPhiSc_propVtx_endcapsPos
 
MonitorElementh1_ecalRecHitSumEt_dr03
 
MonitorElementh1_EeleOPout_barrel
 
MonitorElementh1_EeleOPout_endcaps
 
MonitorElementh1_Eop_barrel
 
MonitorElementh1_Eop_endcaps
 
MonitorElementh1_fbrem
 
MonitorElementh1_foundHits
 
MonitorElementh1_hcalTowerSumEt_dr03
 
MonitorElementh1_Hoe_barrel
 
MonitorElementh1_Hoe_endcaps
 
MonitorElementh1_lostHits
 
MonitorElementh1_matchedObject_Eta
 
MonitorElementh1_matchedObject_Phi
 
MonitorElementh1_matchedObject_Pt
 
MonitorElementh1_matchingObject_Eta
 
MonitorElementh1_matchingObject_Phi
 
MonitorElementh1_matchingObject_Pt
 
MonitorElementh1_mee
 
MonitorElementh1_mee_os
 
MonitorElementh1_mee_os_bb
 
MonitorElementh1_mee_os_eb
 
MonitorElementh1_mee_os_ee
 
MonitorElementh1_mva
 
MonitorElementh1_PFch_dr03
 
MonitorElementh1_PFem_dr03
 
MonitorElementh1_PFnh_dr03
 
MonitorElementh1_provenance
 
MonitorElementh1_sclEt
 
MonitorElementh1_sclSigEtaEta_barrel
 
MonitorElementh1_sclSigEtaEta_endcaps
 
MonitorElementh1_sigIEtaIEta5x5_barrel
 
MonitorElementh1_sigIEtaIEta5x5_endcaps
 
MonitorElementh1_tkSumPt_dr03
 
MonitorElementh1_triggers
 
MonitorElementh1_vertexEta
 
MonitorElementh1_vertexPt_barrel
 
MonitorElementh1_vertexPt_endcaps
 
MonitorElementh1_vertexZ
 
MonitorElementh2_beamSpotXvsY
 
MonitorElementh2_vertexEtaVsPhi
 
MonitorElementh2_vertexXvsY
 
double hadronicOverEmMaxBarrel_
 
double hadronicOverEmMaxEndcaps_
 
double hcalIso03Depth1MaxBarrel_
 
double hcalIso03Depth1MaxEndcaps_
 
double hcalIso03Depth2MaxEndcaps_
 
double hoemax
 
double hoemin
 
std::string inputFile_
 
std::string inputInternalPath_
 
bool isEB_
 
bool isEcalDriven_
 
bool isEE_
 
bool isNotEBEEGap_
 
bool isTrackerDriven_
 
double lhitsmax
 
std::string matchingCondition_
 
edm::EDGetTokenT< reco::SuperClusterCollectionmatchingObjectCollection_
 
double maxAbsEta_
 
double maxAbsEtaMatchingObject_
 
double maxPtMatchingObject_
 
float mcEnergy [10]
 
float mcEta [10]
 
float mcPhi [10]
 
float mcPt [10]
 
float mcQ [10]
 
double meemax
 
double meemin
 
double minEt_
 
double minPt_
 
double mvaMin_
 
int nbindeta
 
int nbindetamatch
 
int nbindetamatch2D
 
int nbindphi
 
int nbindphimatch
 
int nbindphimatch2D
 
int nbineop
 
int nbineop2D
 
int nbineta
 
int nbineta2D
 
int nbinfhits
 
int nbinhoe
 
int nbinlhits
 
int nbinmee
 
int nbinp
 
int nbinp2D
 
int nbinphi
 
int nbinphi2D
 
int nbinpoptrue
 
int nbinpt
 
int nbinpt2D
 
int nbinpteff
 
int nbinxyz
 
int nbinxyz2D
 
unsigned int nEvents_
 
std::string outputFile_
 
std::string outputInternalPath_
 
edm::ESHandle< TrackerGeometrypDD
 
double phimax
 
double phimin
 
double pmax
 
double poptruemax
 
double poptruemin
 
double ptmax
 
MonitorElementpy_chi2VsEta
 
MonitorElementpy_chi2VsPhi
 
MonitorElementpy_dEtaSc_propVtxVsPhi
 
MonitorElementpy_dPhiSc_propVtxVsPhi
 
MonitorElementpy_EopVsPhi
 
MonitorElementpy_fbremVsEta
 
MonitorElementpy_fbremVsPhi
 
MonitorElementpy_foundHitsVsEta
 
MonitorElementpy_foundHitsVsPhi
 
MonitorElementpy_HoeVsPhi
 
MonitorElementpy_lostHitsVsEta
 
MonitorElementpy_lostHitsVsPhi
 
MonitorElementpy_nClustersVsLs
 
MonitorElementpy_nElectronsVsLs
 
MonitorElementpy_nGsfTracksVsLs
 
MonitorElementpy_nTracksVsLs
 
MonitorElementpy_nVerticesVsLs
 
bool readAOD_
 
float seedEta [10]
 
float seedMomentum [10]
 
float seedPhi [10]
 
float seedPt [10]
 
float seedQ [10]
 
int Selection_
 
double sigIetaIetaMaxBarrel_
 
double sigIetaIetaMaxEndcaps_
 
double sigIetaIetaMinBarrel_
 
double sigIetaIetaMinEndcaps_
 
float superclusterEnergy [10]
 
float superclusterEt [10]
 
float superclusterEta [10]
 
float superclusterPhi [10]
 
edm::ESHandle< MagneticFieldtheMagField
 
double tipMaxBarrel_
 
double tipMaxEndcaps_
 
double tkIso03Max_
 
edm::EDGetTokenT< reco::TrackCollectiontrackCollection_
 
edm::InputTag triggerResults_
 
edm::EDGetTokenT< reco::VertexCollectionvertexCollection_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from ElectronDqmAnalyzerBase
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 DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 35 of file ElectronAnalyzer.h.

Constructor & Destructor Documentation

◆ ElectronAnalyzer()

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

Definition at line 26 of file ElectronAnalyzer.cc.

References cms::cuda::assert(), beamSpotTag_, deltaR_, detamatchmax, detamatchmin, detamax, dEtaMaxBarrel_, dEtaMaxEndcaps_, detamin, dEtaMinBarrel_, dEtaMinEndcaps_, dphimatchmax, dphimatchmin, dphimax, dPhiMaxBarrel_, dPhiMaxEndcaps_, dphimin, dPhiMinBarrel_, dPhiMinEndcaps_, ecalIso03MaxBarrel_, ecalIso03MaxEndcaps_, electronCollection_, eopmax, eopmaxsht, eOverPMaxBarrel_, eOverPMaxEndcaps_, eOverPMinBarrel_, eOverPMinEndcaps_, etamax, etamin, fhitsmax, edm::ParameterSet::getParameter(), gsftrackCollection_, hadronicOverEmMaxBarrel_, hadronicOverEmMaxEndcaps_, hcalIso03Depth1MaxBarrel_, hcalIso03Depth1MaxEndcaps_, hcalIso03Depth2MaxEndcaps_, hoemax, hoemin, isEB_, isEcalDriven_, isEE_, isNotEBEEGap_, isTrackerDriven_, lhitsmax, matchingCondition_, matchingObjectCollection_, maxAbsEta_, maxAbsEtaMatchingObject_, maxPtMatchingObject_, meemax, meemin, minEt_, minPt_, mvaMin_, nbindeta, nbindetamatch, nbindetamatch2D, nbindphi, nbindphimatch, nbindphimatch2D, nbineop, nbineop2D, nbineta, nbineta2D, nbinfhits, nbinhoe, nbinlhits, nbinmee, nbinp, nbinp2D, nbinphi, nbinphi2D, nbinpoptrue, nbinpt, nbinpt2D, nbinpteff, nbinxyz, nbinxyz2D, phimax, phimin, pmax, poptruemax, poptruemin, ptmax, readAOD_, Selection_, sigIetaIetaMaxBarrel_, sigIetaIetaMaxEndcaps_, sigIetaIetaMinBarrel_, sigIetaIetaMinEndcaps_, AlCaHLTBitMon_QueryRunRegistry::string, tipMaxBarrel_, tipMaxEndcaps_, tkIso03Max_, trackCollection_, triggerResults_, and vertexCollection_.

26  : ElectronDqmAnalyzerBase(conf) {
27  // general, collections
28  Selection_ = conf.getParameter<int>("Selection");
29  electronCollection_ = consumes<GsfElectronCollection>(conf.getParameter<edm::InputTag>("ElectronCollection"));
31  consumes<SuperClusterCollection>(conf.getParameter<edm::InputTag>("MatchingObjectCollection"));
32  trackCollection_ = consumes<TrackCollection>(conf.getParameter<edm::InputTag>("TrackCollection"));
33  vertexCollection_ = consumes<VertexCollection>(conf.getParameter<edm::InputTag>("VertexCollection"));
34  gsftrackCollection_ = consumes<GsfTrackCollection>(conf.getParameter<edm::InputTag>("GsfTrackCollection"));
35  beamSpotTag_ = consumes<BeamSpot>(conf.getParameter<edm::InputTag>("BeamSpot"));
36  readAOD_ = conf.getParameter<bool>("ReadAOD");
37 
38  // matching
39  matchingCondition_ = conf.getParameter<std::string>("MatchingCondition");
40  assert(matchingCondition_ == "Cone");
41  maxPtMatchingObject_ = conf.getParameter<double>("MaxPtMatchingObject");
42  maxAbsEtaMatchingObject_ = conf.getParameter<double>("MaxAbsEtaMatchingObject");
43  deltaR_ = conf.getParameter<double>("DeltaR");
44 
45  // electron selection
46  minEt_ = conf.getParameter<double>("MinEt");
47  minPt_ = conf.getParameter<double>("MinPt");
48  maxAbsEta_ = conf.getParameter<double>("MaxAbsEta");
49  isEB_ = conf.getParameter<bool>("SelectEb");
50  isEE_ = conf.getParameter<bool>("SelectEe");
51  isNotEBEEGap_ = conf.getParameter<bool>("SelectNotEbEeGap");
52  isEcalDriven_ = conf.getParameter<bool>("SelectEcalDriven");
53  isTrackerDriven_ = conf.getParameter<bool>("SelectTrackerDriven");
54  eOverPMinBarrel_ = conf.getParameter<double>("MinEopBarrel");
55  eOverPMaxBarrel_ = conf.getParameter<double>("MaxEopBarrel");
56  eOverPMinEndcaps_ = conf.getParameter<double>("MinEopEndcaps");
57  eOverPMaxEndcaps_ = conf.getParameter<double>("MaxEopEndcaps");
58  dEtaMinBarrel_ = conf.getParameter<double>("MinDetaBarrel");
59  dEtaMaxBarrel_ = conf.getParameter<double>("MaxDetaBarrel");
60  dEtaMinEndcaps_ = conf.getParameter<double>("MinDetaEndcaps");
61  dEtaMaxEndcaps_ = conf.getParameter<double>("MaxDetaEndcaps");
62  dPhiMinBarrel_ = conf.getParameter<double>("MinDphiBarrel");
63  dPhiMaxBarrel_ = conf.getParameter<double>("MaxDphiBarrel");
64  dPhiMinEndcaps_ = conf.getParameter<double>("MinDphiEndcaps");
65  dPhiMaxEndcaps_ = conf.getParameter<double>("MaxDphiEndcaps");
66  sigIetaIetaMinBarrel_ = conf.getParameter<double>("MinSigIetaIetaBarrel");
67  sigIetaIetaMaxBarrel_ = conf.getParameter<double>("MaxSigIetaIetaBarrel");
68  sigIetaIetaMinEndcaps_ = conf.getParameter<double>("MinSigIetaIetaEndcaps");
69  sigIetaIetaMaxEndcaps_ = conf.getParameter<double>("MaxSigIetaIetaEndcaps");
70  hadronicOverEmMaxBarrel_ = conf.getParameter<double>("MaxHoeBarrel");
71  hadronicOverEmMaxEndcaps_ = conf.getParameter<double>("MaxHoeEndcaps");
72  mvaMin_ = conf.getParameter<double>("MinMva");
73  tipMaxBarrel_ = conf.getParameter<double>("MaxTipBarrel");
74  tipMaxEndcaps_ = conf.getParameter<double>("MaxTipEndcaps");
75  tkIso03Max_ = conf.getParameter<double>("MaxTkIso03");
76  hcalIso03Depth1MaxBarrel_ = conf.getParameter<double>("MaxHcalIso03Depth1Barrel");
77  hcalIso03Depth1MaxEndcaps_ = conf.getParameter<double>("MaxHcalIso03Depth1Endcaps");
78  hcalIso03Depth2MaxEndcaps_ = conf.getParameter<double>("MaxHcalIso03Depth2Endcaps");
79  ecalIso03MaxBarrel_ = conf.getParameter<double>("MaxEcalIso03Barrel");
80  ecalIso03MaxEndcaps_ = conf.getParameter<double>("MaxEcalIso03Endcaps");
81 
82  // for trigger
83  triggerResults_ = conf.getParameter<edm::InputTag>("TriggerResults");
84 
85  // histos limits and binning
86  // edm::ParameterSet histosSet = conf.getParameter<edm::ParameterSet>("histosCfg") ;
87 
88  nbineta = conf.getParameter<int>("NbinEta");
89  nbineta2D = conf.getParameter<int>("NbinEta2D");
90  etamin = conf.getParameter<double>("EtaMin");
91  etamax = conf.getParameter<double>("EtaMax");
92  //
93  nbinphi = conf.getParameter<int>("NbinPhi");
94  nbinphi2D = conf.getParameter<int>("NbinPhi2D");
95  phimin = conf.getParameter<double>("PhiMin");
96  phimax = conf.getParameter<double>("PhiMax");
97  //
98  nbinpt = conf.getParameter<int>("NbinPt");
99  nbinpteff = conf.getParameter<int>("NbinPtEff");
100  nbinpt2D = conf.getParameter<int>("NbinPt2D");
101  ptmax = conf.getParameter<double>("PtMax");
102  //
103  nbinp = conf.getParameter<int>("NbinP");
104  nbinp2D = conf.getParameter<int>("NbinP2D");
105  pmax = conf.getParameter<double>("PMax");
106  //
107  nbineop = conf.getParameter<int>("NbinEop");
108  nbineop2D = conf.getParameter<int>("NbinEop2D");
109  eopmax = conf.getParameter<double>("EopMax");
110  eopmaxsht = conf.getParameter<double>("EopMaxSht");
111  //
112  nbindeta = conf.getParameter<int>("NbinDeta");
113  detamin = conf.getParameter<double>("DetaMin");
114  detamax = conf.getParameter<double>("DetaMax");
115  //
116  nbindphi = conf.getParameter<int>("NbinDphi");
117  dphimin = conf.getParameter<double>("DphiMin");
118  dphimax = conf.getParameter<double>("DphiMax");
119  //
120  nbindetamatch = conf.getParameter<int>("NbinDetaMatch");
121  nbindetamatch2D = conf.getParameter<int>("NbinDetaMatch2D");
122  detamatchmin = conf.getParameter<double>("DetaMatchMin");
123  detamatchmax = conf.getParameter<double>("DetaMatchMax");
124  //
125  nbindphimatch = conf.getParameter<int>("NbinDphiMatch");
126  nbindphimatch2D = conf.getParameter<int>("NbinDphiMatch2D");
127  dphimatchmin = conf.getParameter<double>("DphiMatchMin");
128  dphimatchmax = conf.getParameter<double>("DphiMatchMax");
129  //
130  nbinfhits = conf.getParameter<int>("NbinFhits");
131  fhitsmax = conf.getParameter<double>("FhitsMax");
132  //
133  nbinlhits = conf.getParameter<int>("NbinLhits");
134  lhitsmax = conf.getParameter<double>("LhitsMax");
135  //
136  nbinxyz = conf.getParameter<int>("NbinXyz");
137  nbinxyz2D = conf.getParameter<int>("NbinXyz2D");
138  //
139  nbinpoptrue = conf.getParameter<int>("NbinPopTrue");
140  poptruemin = conf.getParameter<double>("PopTrueMin");
141  poptruemax = conf.getParameter<double>("PopTrueMax");
142  //
143  nbinmee = conf.getParameter<int>("NbinMee");
144  meemin = conf.getParameter<double>("MeeMin");
145  meemax = conf.getParameter<double>("MeeMax");
146  //
147  nbinhoe = conf.getParameter<int>("NbinHoe");
148  hoemin = conf.getParameter<double>("HoeMin");
149  hoemax = conf.getParameter<double>("HoeMax");
150 
151  // set_EfficiencyFlag=histosSet.getParameter<bool>("EfficiencyFlag");
152  // set_StatOverflowFlag=histosSet.getParameter<bool>("StatOverflowFlag");
153 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
double hadronicOverEmMaxEndcaps_
edm::EDGetTokenT< reco::SuperClusterCollection > matchingObjectCollection_
edm::InputTag triggerResults_
double sigIetaIetaMinBarrel_
assert(be >=bs)
double sigIetaIetaMaxBarrel_
double sigIetaIetaMinEndcaps_
double sigIetaIetaMaxEndcaps_
std::string matchingCondition_
ElectronDqmAnalyzerBase(const edm::ParameterSet &conf)
double hcalIso03Depth1MaxBarrel_
edm::EDGetTokenT< reco::GsfTrackCollection > gsftrackCollection_
double hcalIso03Depth1MaxEndcaps_
edm::EDGetTokenT< reco::TrackCollection > trackCollection_
double maxAbsEtaMatchingObject_
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
double hcalIso03Depth2MaxEndcaps_
double hadronicOverEmMaxBarrel_

◆ ~ElectronAnalyzer()

ElectronAnalyzer::~ElectronAnalyzer ( )
override

Definition at line 155 of file ElectronAnalyzer.cc.

155 {}

Member Function Documentation

◆ analyze()

void ElectronAnalyzer::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 548 of file ElectronAnalyzer.cc.

References funct::abs(), beamSpotTag_, cms::cuda::bs, computeInvMass(), PbPb_ZMuSkimMuonDPG_cff::deltaR, deltaR_, electronCollection_, dqm::impl::MonitorElement::Fill(), electronIsolatorFromEffectiveArea_cfi::gsfElectrons, gsftrackCollection_, ecalDrivenGsfElectronCoresHGC_cff::gsfTracks, h1_chi2, h1_classes, h1_dEtaEleCl_propOut_barrel, h1_dEtaEleCl_propOut_endcapsNeg, h1_dEtaEleCl_propOut_endcapsPos, h1_dEtaSc_propVtx_barrel, h1_dEtaSc_propVtx_endcapsNeg, h1_dEtaSc_propVtx_endcapsPos, h1_dPhiEleCl_propOut_barrel, h1_dPhiEleCl_propOut_endcapsNeg, h1_dPhiEleCl_propOut_endcapsPos, h1_dPhiSc_propVtx_barrel, h1_dPhiSc_propVtx_endcapsNeg, h1_dPhiSc_propVtx_endcapsPos, h1_ecalRecHitSumEt_dr03, h1_EeleOPout_barrel, h1_EeleOPout_endcaps, h1_Eop_barrel, h1_Eop_endcaps, h1_fbrem, h1_foundHits, h1_hcalTowerSumEt_dr03, h1_Hoe_barrel, h1_Hoe_endcaps, h1_lostHits, h1_matchedObject_Eta, h1_matchedObject_Phi, h1_matchedObject_Pt, h1_matchingObject_Eta, h1_matchingObject_Phi, h1_matchingObject_Pt, h1_mee, h1_mee_os, h1_mee_os_bb, h1_mee_os_eb, h1_mee_os_ee, h1_mva, h1_PFch_dr03, h1_PFem_dr03, h1_PFnh_dr03, h1_provenance, h1_sclEt, h1_sclSigEtaEta_barrel, h1_sclSigEtaEta_endcaps, h1_sigIEtaIEta5x5_barrel, h1_sigIEtaIEta5x5_endcaps, h1_tkSumPt_dr03, h1_vertexEta, h1_vertexPt_barrel, h1_vertexPt_endcaps, h1_vertexZ, h2_vertexEtaVsPhi, h2_vertexXvsY, iEvent, matchingCondition_, matchingObjectCollection_, maxAbsEtaMatchingObject_, maxPtMatchingObject_, nEvents_, pi, funct::pow(), py_chi2VsEta, py_chi2VsPhi, py_dEtaSc_propVtxVsPhi, py_dPhiSc_propVtxVsPhi, py_EopVsPhi, py_fbremVsEta, py_fbremVsPhi, py_foundHitsVsEta, py_foundHitsVsPhi, py_HoeVsPhi, py_lostHitsVsEta, py_lostHitsVsPhi, dttmaxenums::R, readAOD_, selected(), mathSSE::sqrt(), reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt, reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt, reco::GsfElectron::PflowIsolationVariables::sumPhotonEt, trackCollection_, DiMuonV_cfg::tracks, vertexCollection_, and AlignmentTracksFromVertexSelector_cfi::vertices.

548  {
549  nEvents_++;
550 
554  iEvent.getByToken(matchingObjectCollection_, recoClusters);
556  iEvent.getByToken(trackCollection_, tracks);
558  iEvent.getByToken(gsftrackCollection_, gsfTracks);
560  iEvent.getByToken(vertexCollection_, vertices);
561  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
562  iEvent.getByToken(beamSpotTag_, recoBeamSpotHandle);
563  const BeamSpot bs = *recoBeamSpotHandle;
564 
565  edm::EventNumber_t ievt = iEvent.id().event();
566  edm::RunNumber_t irun = iEvent.id().run();
567  edm::LuminosityBlockNumber_t ils = iEvent.luminosityBlock();
568 
569  edm::LogInfo("ElectronAnalyzer::analyze") << "Treating " << gsfElectrons.product()->size() << " electrons"
570  << " from event " << ievt << " in run " << irun << " and lumiblock " << ils;
571  //h1_num_->Fill((*gsfElectrons).size()) ;
572 
573  // selected rec electrons
574  reco::GsfElectronCollection::const_iterator gsfIter;
575  for (gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end(); gsfIter++) {
576  // vertex TIP
577  double vertexTIP = (gsfIter->vertex().x() - bs.position().x()) * (gsfIter->vertex().x() - bs.position().x()) +
578  (gsfIter->vertex().y() - bs.position().y()) * (gsfIter->vertex().y() - bs.position().y());
579  vertexTIP = sqrt(vertexTIP);
580 
581  // select electrons
582  if (!selected(gsfIter, vertexTIP))
583  continue;
584 
585  // invariant mass of 2 selected electrons
586  reco::GsfElectronCollection::const_iterator gsfIter2;
587  for (gsfIter2 = gsfIter + 1; gsfIter2 != gsfElectrons->end(); gsfIter2++) {
588  if (!selected(gsfIter2, vertexTIP))
589  continue;
590  float invMass = computeInvMass(*gsfIter, *gsfIter2);
591  h1_mee->Fill(invMass);
592  if (((gsfIter->charge()) * (gsfIter2->charge())) < 0.) {
593  h1_mee_os->Fill(invMass);
594  if (gsfIter->isEB() && gsfIter2->isEB())
595  h1_mee_os_bb->Fill(invMass);
596  else if (gsfIter->isEE() && gsfIter2->isEE())
597  h1_mee_os_ee->Fill(invMass);
598  else
599  h1_mee_os_eb->Fill(invMass);
600  }
601  }
602 
603  // basic quantities
604  if (gsfIter->isEB())
605  h1_vertexPt_barrel->Fill(gsfIter->pt());
606  if (gsfIter->isEE())
607  h1_vertexPt_endcaps->Fill(gsfIter->pt());
608  h1_vertexEta->Fill(gsfIter->eta());
609  h2_vertexEtaVsPhi->Fill(gsfIter->eta(), gsfIter->phi());
610  h2_vertexXvsY->Fill(gsfIter->vertex().x(), gsfIter->vertex().y());
611  h1_vertexZ->Fill(gsfIter->vertex().z());
612 
613  // supercluster related distributions
614  reco::SuperClusterRef sclRef = gsfIter->superCluster();
615  // ALREADY DONE IN GSF ELECTRON CORE
616  double R = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y() + sclRef->z() * sclRef->z());
617  double Rt = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y());
618  h1_sclEt->Fill(sclRef->energy() * (Rt / R));
619 
620  // track related distributions
621  if (!readAOD_) { // track extra does not exist in AOD
622  h1_foundHits->Fill(gsfIter->gsfTrack()->numberOfValidHits());
623  py_foundHitsVsEta->Fill(gsfIter->eta(), gsfIter->gsfTrack()->numberOfValidHits());
624  py_foundHitsVsPhi->Fill(gsfIter->phi(), gsfIter->gsfTrack()->numberOfValidHits());
625  h1_lostHits->Fill(gsfIter->gsfTrack()->numberOfLostHits());
626  py_lostHitsVsEta->Fill(gsfIter->eta(), gsfIter->gsfTrack()->numberOfLostHits());
627  py_lostHitsVsPhi->Fill(gsfIter->phi(), gsfIter->gsfTrack()->numberOfLostHits());
628  h1_chi2->Fill(gsfIter->gsfTrack()->normalizedChi2());
629  py_chi2VsEta->Fill(gsfIter->eta(), gsfIter->gsfTrack()->normalizedChi2());
630  py_chi2VsPhi->Fill(gsfIter->phi(), gsfIter->gsfTrack()->normalizedChi2());
631  }
632 
633  // match distributions
634  if (gsfIter->isEB()) {
635  h1_Eop_barrel->Fill(gsfIter->eSuperClusterOverP());
636  h1_EeleOPout_barrel->Fill(gsfIter->eEleClusterOverPout());
637  h1_dEtaSc_propVtx_barrel->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
638  h1_dEtaEleCl_propOut_barrel->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
639  h1_dPhiSc_propVtx_barrel->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
640  h1_dPhiEleCl_propOut_barrel->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
641  h1_Hoe_barrel->Fill(gsfIter->hadronicOverEm());
642  h1_sclSigEtaEta_barrel->Fill(gsfIter->scSigmaEtaEta());
643  h1_sigIEtaIEta5x5_barrel->Fill(gsfIter->full5x5_sigmaIetaIeta());
644  }
645  if (gsfIter->isEE()) {
646  h1_Eop_endcaps->Fill(gsfIter->eSuperClusterOverP());
647  h1_EeleOPout_endcaps->Fill(gsfIter->eEleClusterOverPout());
648  if (gsfIter->eta() > 0) {
649  h1_dEtaSc_propVtx_endcapsPos->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
650  h1_dEtaEleCl_propOut_endcapsPos->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
651  h1_dPhiSc_propVtx_endcapsPos->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
652  h1_dPhiEleCl_propOut_endcapsPos->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
653  } else {
654  h1_dEtaSc_propVtx_endcapsNeg->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
655  h1_dEtaEleCl_propOut_endcapsNeg->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
656  h1_dPhiSc_propVtx_endcapsNeg->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
657  h1_dPhiEleCl_propOut_endcapsNeg->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
658  }
659  h1_Hoe_endcaps->Fill(gsfIter->hadronicOverEm());
660  h1_sclSigEtaEta_endcaps->Fill(gsfIter->scSigmaEtaEta());
661  h1_sigIEtaIEta5x5_endcaps->Fill(gsfIter->full5x5_sigmaIetaIeta());
662  }
663  py_EopVsPhi->Fill(gsfIter->phi(), gsfIter->eSuperClusterOverP());
664  py_dEtaSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaEtaSuperClusterTrackAtVtx());
665  py_dPhiSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaPhiSuperClusterTrackAtVtx());
666  py_HoeVsPhi->Fill(gsfIter->phi(), gsfIter->hadronicOverEm());
667 
668  // fbrem, classes
669  h1_fbrem->Fill(gsfIter->fbrem());
670  py_fbremVsEta->Fill(gsfIter->eta(), gsfIter->fbrem());
671  py_fbremVsPhi->Fill(gsfIter->phi(), gsfIter->fbrem());
672  int eleClass = gsfIter->classification();
673  if (gsfIter->isEE())
674  eleClass += 5;
675  h1_classes->Fill(eleClass);
676 
677  // pflow
678  h1_mva->Fill(gsfIter->mva_e_pi());
679  if (gsfIter->ecalDrivenSeed())
680  h1_provenance->Fill(1.);
681  if (gsfIter->trackerDrivenSeed())
682  h1_provenance->Fill(-1.);
683  if (gsfIter->trackerDrivenSeed() || gsfIter->ecalDrivenSeed())
684  h1_provenance->Fill(0.);
685  if (gsfIter->trackerDrivenSeed() && !gsfIter->ecalDrivenSeed())
686  h1_provenance->Fill(-2.);
687  if (!gsfIter->trackerDrivenSeed() && gsfIter->ecalDrivenSeed())
688  h1_provenance->Fill(2.);
689 
690  // isolation
691  h1_tkSumPt_dr03->Fill(gsfIter->dr03TkSumPt());
692  h1_ecalRecHitSumEt_dr03->Fill(gsfIter->dr03EcalRecHitSumEt());
693  h1_hcalTowerSumEt_dr03->Fill(gsfIter->dr03HcalTowerSumEt());
694 
695  // PF isolation
696  GsfElectron::PflowIsolationVariables pfIso = gsfIter->pfIsolationVariables();
698  h1_PFem_dr03->Fill(pfIso.sumPhotonEt);
700  }
701 
702  // association matching object-reco electrons
703  reco::SuperClusterCollection::const_iterator moIter;
704  for (moIter = recoClusters->begin(); moIter != recoClusters->end(); moIter++) {
705  // // number of matching objects
706 
707  if (moIter->energy() / cosh(moIter->eta()) > maxPtMatchingObject_ ||
708  std::abs(moIter->eta()) > maxAbsEtaMatchingObject_) {
709  continue;
710  }
711 
712  // // suppress the endcaps
713  h1_matchingObject_Eta->Fill(moIter->eta());
714  h1_matchingObject_Pt->Fill(moIter->energy() / cosh(moIter->eta()));
715  h1_matchingObject_Phi->Fill(moIter->phi());
716 
717  bool okGsfFound = false;
718  double gsfOkRatio = 999999999.;
719  reco::GsfElectron bestGsfElectron;
720  reco::GsfElectronCollection::const_iterator gsfIter;
721  for (gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end(); gsfIter++) {
722  double vertexTIP = (gsfIter->vertex().x() - bs.position().x()) * (gsfIter->vertex().x() - bs.position().x()) +
723  (gsfIter->vertex().y() - bs.position().y()) * (gsfIter->vertex().y() - bs.position().y());
724  vertexTIP = sqrt(vertexTIP);
725 
726  // select electrons
727  if (!selected(gsfIter, vertexTIP))
728  continue;
729 
730  // matching with a cone in eta phi
731  if (matchingCondition_ == "Cone") {
732  double dphi = gsfIter->phi() - moIter->phi();
733  if (std::abs(dphi) > CLHEP::pi) {
734  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
735  }
736  double deltaR = sqrt(pow((moIter->eta() - gsfIter->eta()), 2) + pow(dphi, 2));
737  if (deltaR < deltaR_) {
738  double tmpGsfRatio = gsfIter->p() / moIter->energy();
739  if (std::abs(tmpGsfRatio - 1) < std::abs(gsfOkRatio - 1)) {
740  gsfOkRatio = tmpGsfRatio;
741  bestGsfElectron = *gsfIter;
742  okGsfFound = true;
743  }
744  }
745  }
746  } // loop over rec ele to look for the best one
747  if (okGsfFound) {
748  // generated distributions for matched electrons
749  h1_matchedObject_Eta->Fill(moIter->eta());
750  h1_matchedObject_Pt->Fill(moIter->energy() / cosh(moIter->eta()));
751  h1_matchedObject_Phi->Fill(moIter->phi());
752 
753  //classes
754  }
755 
756  } // loop overmatching object
757 }
MonitorElement * h1_foundHits
MonitorElement * h1_dEtaSc_propVtx_endcapsPos
MonitorElement * h1_mee_os
bool selected(const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)
MonitorElement * h1_dPhiSc_propVtx_barrel
unsigned int nEvents_
MonitorElement * h1_vertexPt_barrel
MonitorElement * h1_PFch_dr03
MonitorElement * py_lostHitsVsEta
MonitorElement * h1_mee_os_bb
MonitorElement * h1_sclSigEtaEta_barrel
MonitorElement * py_chi2VsEta
edm::EDGetTokenT< reco::SuperClusterCollection > matchingObjectCollection_
MonitorElement * h1_vertexEta
MonitorElement * py_chi2VsPhi
MonitorElement * h1_Eop_endcaps
unsigned long long EventNumber_t
MonitorElement * h1_ecalRecHitSumEt_dr03
MonitorElement * h1_hcalTowerSumEt_dr03
MonitorElement * h1_dPhiEleCl_propOut_endcapsNeg
MonitorElement * h1_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
MonitorElement * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
unsigned int LuminosityBlockNumber_t
MonitorElement * h1_matchedObject_Phi
MonitorElement * h1_PFem_dr03
MonitorElement * h1_mee_os_ee
const Double_t pi
void Fill(long long x)
MonitorElement * h1_tkSumPt_dr03
MonitorElement * h1_dEtaEleCl_propOut_endcapsPos
int iEvent
Definition: GenABIO.cc:224
MonitorElement * h2_vertexXvsY
MonitorElement * h1_dPhiSc_propVtx_endcapsPos
MonitorElement * py_fbremVsEta
MonitorElement * h1_provenance
MonitorElement * h1_dEtaEleCl_propOut_barrel
MonitorElement * py_EopVsPhi
MonitorElement * h1_PFnh_dr03
MonitorElement * h1_Eop_barrel
T sqrt(T t)
Definition: SSEVec.h:23
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:665
MonitorElement * py_dEtaSc_propVtxVsPhi
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::string matchingCondition_
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:664
MonitorElement * h1_dPhiEleCl_propOut_endcapsPos
MonitorElement * h1_Hoe_endcaps
MonitorElement * h1_dEtaEleCl_propOut_endcapsNeg
MonitorElement * h1_dPhiSc_propVtx_endcapsNeg
edm::EDGetTokenT< reco::GsfTrackCollection > gsftrackCollection_
MonitorElement * h1_vertexPt_endcaps
MonitorElement * py_lostHitsVsPhi
MonitorElement * h1_vertexZ
Log< level::Info, false > LogInfo
MonitorElement * py_dPhiSc_propVtxVsPhi
MonitorElement * py_fbremVsPhi
MonitorElement * h1_dEtaSc_propVtx_endcapsNeg
MonitorElement * py_foundHitsVsPhi
MonitorElement * h1_fbrem
edm::EDGetTokenT< reco::TrackCollection > trackCollection_
MonitorElement * h1_chi2
double maxAbsEtaMatchingObject_
MonitorElement * h1_lostHits
MonitorElement * h2_vertexEtaVsPhi
MonitorElement * h1_EeleOPout_endcaps
MonitorElement * h1_mee
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
MonitorElement * h1_classes
MonitorElement * h1_sclEt
MonitorElement * h1_sigIEtaIEta5x5_barrel
MonitorElement * h1_EeleOPout_barrel
MonitorElement * h1_dEtaSc_propVtx_barrel
float computeInvMass(const reco::GsfElectron &e1, const reco::GsfElectron &e2)
MonitorElement * h1_matchingObject_Phi
MonitorElement * h1_mee_os_eb
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
MonitorElement * h1_sigIEtaIEta5x5_endcaps
MonitorElement * h1_sclSigEtaEta_endcaps
unsigned int RunNumber_t
MonitorElement * py_foundHitsVsEta
edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
Definition: GsfElectron.h:663
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_mva

◆ bookHistograms()

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

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 157 of file ElectronAnalyzer.cc.

References ElectronDqmAnalyzerBase::bookH1(), ElectronDqmAnalyzerBase::bookH1withSumw2(), ElectronDqmAnalyzerBase::bookH2(), ElectronDqmAnalyzerBase::bookP1(), detamatchmax, detamatchmin, dphimatchmax, dphimatchmin, eopmax, etamax, etamin, fhitsmax, h1_chi2, h1_classes, h1_dEtaEleCl_propOut_barrel, h1_dEtaEleCl_propOut_endcapsNeg, h1_dEtaEleCl_propOut_endcapsPos, h1_dEtaSc_propVtx_barrel, h1_dEtaSc_propVtx_endcapsNeg, h1_dEtaSc_propVtx_endcapsPos, h1_dPhiEleCl_propOut_barrel, h1_dPhiEleCl_propOut_endcapsNeg, h1_dPhiEleCl_propOut_endcapsPos, h1_dPhiSc_propVtx_barrel, h1_dPhiSc_propVtx_endcapsNeg, h1_dPhiSc_propVtx_endcapsPos, h1_ecalRecHitSumEt_dr03, h1_EeleOPout_barrel, h1_EeleOPout_endcaps, h1_Eop_barrel, h1_Eop_endcaps, h1_fbrem, h1_foundHits, h1_hcalTowerSumEt_dr03, h1_Hoe_barrel, h1_Hoe_endcaps, h1_lostHits, h1_matchedObject_Eta, h1_matchedObject_Phi, h1_matchedObject_Pt, h1_matchingObject_Eta, h1_matchingObject_Phi, h1_matchingObject_Pt, h1_mee, h1_mee_os, h1_mee_os_bb, h1_mee_os_eb, h1_mee_os_ee, h1_mva, h1_PFch_dr03, h1_PFem_dr03, h1_PFnh_dr03, h1_provenance, h1_sclEt, h1_sclSigEtaEta_barrel, h1_sclSigEtaEta_endcaps, h1_sigIEtaIEta5x5_barrel, h1_sigIEtaIEta5x5_endcaps, h1_tkSumPt_dr03, h1_vertexEta, h1_vertexPt_barrel, h1_vertexPt_endcaps, h1_vertexZ, h2_vertexEtaVsPhi, h2_vertexXvsY, hoemax, hoemin, MainPageGenerator::l, lhitsmax, matchingObjectCollection_, meemax, meemin, nbindetamatch, nbindphimatch, nbineop, nbineta, nbineta2D, nbinfhits, nbinhoe, nbinmee, nbinphi, nbinphi2D, nbinpt, nbinpteff, nbinxyz, nbinxyz2D, nEvents_, outputInternalPath_, phimax, phimin, ptmax, py_chi2VsEta, py_chi2VsPhi, py_dEtaSc_propVtxVsPhi, py_dPhiSc_propVtxVsPhi, py_EopVsPhi, py_fbremVsEta, py_fbremVsPhi, py_foundHitsVsEta, py_foundHitsVsPhi, py_HoeVsPhi, py_lostHitsVsEta, py_lostHitsVsPhi, ElectronDqmAnalyzerBase::setBookIndex(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

157  {
159 
160  nEvents_ = 0;
161 
162  // basic quantities
164  iBooker, "vertexPt_barrel", "ele transverse momentum in barrel", nbinpt, 0., ptmax, "p_{T vertex} (GeV/c)");
166  iBooker, "vertexPt_endcaps", "ele transverse momentum in endcaps", nbinpt, 0., ptmax, "p_{T vertex} (GeV/c)");
167  h1_vertexEta = bookH1(iBooker, "vertexEta", "ele momentum #eta", nbineta, etamin, etamax, "#eta");
168  h2_vertexEtaVsPhi = bookH2(iBooker,
169  "vertexEtaVsPhi",
170  "ele momentum #eta vs #phi",
171  nbineta2D,
172  etamin,
173  etamax,
174  nbinphi2D,
175  phimin,
176  phimax,
177  "#eta",
178  "#phi (rad)");
180  iBooker, "vertexXvsY", "ele vertex x vs y", nbinxyz2D, -0.1, 0.1, nbinxyz2D, -0.1, 0.1, "x (cm)", "y (cm)");
181  h1_vertexZ = bookH1(iBooker, "vertexZ", "ele vertex z", nbinxyz, -25, 25, "z (cm)");
182 
183  // super-clusters
184  h1_sclEt = bookH1(iBooker, "sclEt", "ele supercluster transverse energy", nbinpt, 0., ptmax, "E_{T} (GeV)");
185 
186  // electron track
187  h1_chi2 = bookH1(iBooker, "chi2", "ele track #chi^{2}", 100, 0., 15., "#Chi^{2}");
189  iBooker, "chi2VsEta", "ele track #chi^{2} vs #eta", nbineta2D, etamin, etamax, 0., 15., "#eta", "<#chi^{2}>");
190  py_chi2VsPhi = bookP1(iBooker,
191  "chi2VsPhi",
192  "ele track #chi^{2} vs #phi",
193  nbinphi2D,
194  phimin,
195  phimax,
196  0.,
197  15.,
198  "#phi (rad)",
199  "<#chi^{2}>");
200  h1_foundHits = bookH1(iBooker, "foundHits", "ele track # found hits", nbinfhits, 0., fhitsmax, "N_{hits}");
201  py_foundHitsVsEta = bookP1(iBooker,
202  "foundHitsVsEta",
203  "ele track # found hits vs #eta",
204  nbineta2D,
205  etamin,
206  etamax,
207  0.,
208  fhitsmax,
209  "#eta",
210  "<# hits>");
211  py_foundHitsVsPhi = bookP1(iBooker,
212  "foundHitsVsPhi",
213  "ele track # found hits vs #phi",
214  nbinphi2D,
215  phimin,
216  phimax,
217  0.,
218  fhitsmax,
219  "#phi (rad)",
220  "<# hits>");
221  h1_lostHits = bookH1(iBooker, "lostHits", "ele track # lost hits", 5, 0., 5., "N_{lost hits}");
222  py_lostHitsVsEta = bookP1(iBooker,
223  "lostHitsVsEta",
224  "ele track # lost hits vs #eta",
225  nbineta2D,
226  etamin,
227  etamax,
228  0.,
229  lhitsmax,
230  "#eta",
231  "<# hits>");
232  py_lostHitsVsPhi = bookP1(iBooker,
233  "lostHitsVsPhi",
234  "ele track # lost hits vs #eta",
235  nbinphi2D,
236  phimin,
237  phimax,
238  0.,
239  lhitsmax,
240  "#phi (rad)",
241  "<# hits>");
242 
243  // electron matching and ID
244  h1_Eop_barrel = bookH1(iBooker, "Eop_barrel", "ele E/P_{vertex} in barrel", nbineop, 0., eopmax, "E/P_{vertex}");
245  h1_Eop_endcaps = bookH1(iBooker, "Eop_endcaps", "ele E/P_{vertex} in endcaps", nbineop, 0., eopmax, "E/P_{vertex}");
246  py_EopVsPhi = bookP1(iBooker,
247  "EopVsPhi",
248  "ele E/P_{vertex} vs #phi",
249  nbinphi2D,
250  phimin,
251  phimax,
252  0.,
253  eopmax,
254  "#phi (rad)",
255  "<E/P_{vertex}>");
257  bookH1(iBooker, "EeleOPout_barrel", "ele E_{ele}/P_{out} in barrel", nbineop, 0., eopmax, "E_{ele}/P_{out}");
259  bookH1(iBooker, "EeleOPout_endcaps", "ele E_{ele}/P_{out} in endcaps", nbineop, 0., eopmax, "E_{ele}/P_{out}");
261  "dEtaSc_propVtx_barrel",
262  "ele #eta_{sc} - #eta_{tr}, prop from vertex, in barrel",
264  detamatchmin,
265  detamatchmax,
266  "#eta_{sc} - #eta_{tr}");
268  "dEtaSc_propVtx_endcapsPos",
269  "ele #eta_{sc} - #eta_{tr}, prop from vertex, in positive endcap",
271  detamatchmin,
272  detamatchmax,
273  "#eta_{sc} - #eta_{tr}");
275  "dEtaSc_propVtx_endcapsNeg",
276  "ele #eta_{sc} - #eta_{tr}, prop from vertex, in negative endcap",
278  detamatchmin,
279  detamatchmax,
280  "#eta_{sc} - #eta_{tr}");
281  py_dEtaSc_propVtxVsPhi = bookP1(iBooker,
282  "dEtaSc_propVtxVsPhi",
283  "ele #eta_{sc} - #eta_{tr}, prop from vertex vs #phi",
284  nbinphi2D,
285  phimin,
286  phimax,
287  detamatchmin,
288  detamatchmax,
289  "#phi (rad)",
290  "<#eta_{sc} - #eta_{tr}>");
292  "dEtaEleCl_propOut_barrel",
293  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in barrel",
295  detamatchmin,
296  detamatchmax,
297  "#eta_{elecl} - #eta_{tr}");
299  "dEtaEleCl_propOut_endcapsPos",
300  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in positive endcap",
302  detamatchmin,
303  detamatchmax,
304  "#eta_{elecl} - #eta_{tr}");
306  "dEtaEleCl_propOut_endcapsNeg",
307  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in negative endcap",
309  detamatchmin,
310  detamatchmax,
311  "#eta_{elecl} - #eta_{tr}");
313  "dPhiSc_propVtx_barrel",
314  "ele #phi_{sc} - #phi_{tr}, prop from vertex, in barrel",
316  dphimatchmin,
317  dphimatchmax,
318  "#phi_{sc} - #phi_{tr} (rad)");
320  "dPhiSc_propVtx_endcapsPos",
321  "ele #phi_{sc} - #phi_{tr}, prop from vertex, in positive endcap",
323  dphimatchmin,
324  dphimatchmax,
325  "#phi_{sc} - #phi_{tr} (rad)");
327  "dPhiSc_propVtx_endcapsNeg",
328  "ele #phi_{sc} - #phi_{tr}, prop from vertex, in negative endcap",
330  dphimatchmin,
331  dphimatchmax,
332  "#phi_{sc} - #phi_{tr} (rad)");
333  py_dPhiSc_propVtxVsPhi = bookP1(iBooker,
334  "dPhiSc_propVtxVsPhi",
335  "ele #phi_{sc} - #phi_{tr}, prop from vertex vs #phi",
336  nbinphi2D,
337  phimin,
338  phimax,
339  dphimatchmin,
340  dphimatchmax,
341  "#phi (rad)",
342  "<#phi_{sc} - #phi_{tr}> (rad)");
344  "dPhiEleCl_propOut_barrel",
345  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in barrel",
347  dphimatchmin,
348  dphimatchmax,
349  "#phi_{elecl} - #phi_{tr} (rad)");
351  "dPhiEleCl_propOut_endcapsPos",
352  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in positive endcap",
354  dphimatchmin,
355  dphimatchmax,
356  "#phi_{elecl} - #phi_{tr} (rad)");
358  "dPhiEleCl_propOut_endcapsNeg",
359  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in negative endcap",
361  dphimatchmin,
362  dphimatchmax,
363  "#phi_{elecl} - #phi_{tr} (rad)");
364  h1_Hoe_barrel = bookH1(iBooker,
365  "Hoe_barrel",
366  "ele hadronic energy / em energy, in barrel",
367  nbinhoe,
368  hoemin,
369  hoemax,
370  "H/E",
371  "Events",
372  "ELE_LOGY E1 P");
373  h1_Hoe_endcaps = bookH1(iBooker,
374  "Hoe_endcaps",
375  "ele hadronic energy / em energy, in endcaps",
376  nbinhoe,
377  hoemin,
378  hoemax,
379  "H/E",
380  "Events",
381  "ELE_LOGY E1 P");
382  py_HoeVsPhi = bookP1(iBooker,
383  "HoeVsPhi",
384  "ele hadronic energy / em energy vs #phi",
385  nbinphi2D,
386  phimin,
387  phimax,
388  hoemin,
389  hoemax,
390  "#phi (rad)",
391  "<H/E>",
392  "E1 P");
394  bookH1(iBooker, "sclSigEtaEta_barrel", "ele sigma eta eta in barrel", 100, 0., 0.05, "sietaieta");
396  bookH1(iBooker, "sclSigEtaEta_endcaps", "ele sigma eta eta in endcaps", 100, 0., 0.05, "sietaieta");
398  bookH1(iBooker, "sigIEtaIEta5x5_barrel", "ele sigma ieta ieta 5x5 in barrel", 100, 0., 0.05, "sietaieta5x5");
400  bookH1(iBooker, "sigIEtaIEta5x5_endcaps", "ele sigma ieta ieta 5x5 in endcaps", 100, 0., 0.05, "sietaieta5x5");
401 
402  // fbrem
403  h1_fbrem = bookH1(iBooker, "fbrem", "ele brem fraction", 100, 0., 1., "P_{in} - P_{out} / P_{in}");
404  py_fbremVsEta = bookP1(iBooker,
405  "fbremVsEta",
406  "ele brem fraction vs #eta",
407  nbineta2D,
408  etamin,
409  etamax,
410  0.,
411  1.,
412  "#eta",
413  "<P_{in} - P_{out} / P_{in}>");
414  py_fbremVsPhi = bookP1(iBooker,
415  "fbremVsPhi",
416  "ele brem fraction vs #phi",
417  nbinphi2D,
418  phimin,
419  phimax,
420  0.,
421  1.,
422  "#phi (rad)",
423  "<P_{in} - P_{out} / P_{in}>");
424  h1_classes = bookH1(iBooker, "classes", "ele electron classes", 10, 0.0, 10.);
425 
426  // pflow
427  h1_mva = bookH1(iBooker, "mva", "ele identification mva", 100, -1., 1., "mva");
428  h1_provenance = bookH1(iBooker, "provenance", "ele provenance", 5, -2., 3., "provenance");
429 
430  // isolation
432  iBooker, "tkSumPt_dr03", "tk isolation sum, dR=0.3", 100, 0.0, 20., "TkIsoSum (GeV/c)", "Events", "ELE_LOGY E1 P");
434  "ecalRecHitSumEt_dr03",
435  "ecal isolation sum, dR=0.3",
436  100,
437  0.0,
438  20.,
439  "EcalIsoSum (GeV)",
440  "Events",
441  "ELE_LOGY E1 P");
442  h1_hcalTowerSumEt_dr03 = bookH1(iBooker,
443  "hcalTowerSumEt_dr03",
444  "hcal isolation sum, dR=0.3",
445  100,
446  0.0,
447  20.,
448  "HcalIsoSum (GeV)",
449  "Events",
450  "ELE_LOGY E1 P");
451 
452  // pf isolation
453  h1_PFch_dr03 = bookH1(iBooker,
454  "PFch_dr03",
455  "Charged PF candidate sum, dR=0.3",
456  100,
457  0.0,
458  20.,
459  "PF charged (GeV/c)",
460  "Events",
461  "ELE_LOGY E1 P");
462  h1_PFem_dr03 = bookH1(iBooker,
463  "PFem_dr03",
464  "Neutral EM PF candidate sum, dR=0.3",
465  100,
466  0.0,
467  20.,
468  "PF neutral EM (GeV)",
469  "Events",
470  "ELE_LOGY E1 P");
471  h1_PFnh_dr03 = bookH1(iBooker,
472  "PFnh_dr03",
473  "Neutral Had PF candidate sum, dR=0.3",
474  100,
475  0.0,
476  20.,
477  "PF neutral Had (GeV)",
478  "Events",
479  "ELE_LOGY E1 P");
480 
481  // di-electron mass
482  setBookIndex(200);
483  h1_mee = bookH1(iBooker, "mee", "ele pairs invariant mass", nbinmee, meemin, meemax, "m_{ee} (GeV/c^{2})");
484  h1_mee_os = bookH1(iBooker,
485  "mee_os",
486  "ele pairs invariant mass, opposite sign",
487  nbinmee,
488  meemin,
489  meemax,
490  "m_{e^{+}e^{-}} (GeV/c^{2})");
491  h1_mee_os_bb = bookH1(iBooker,
492  "mee_os_bb",
493  "ele pairs invariant mass, opposite sign, barrel-barrel",
494  nbinmee,
495  meemin,
496  meemax,
497  "m_{e^{+}e^{-}} (GeV/c^{2})");
498  h1_mee_os_ee = bookH1(iBooker,
499  "mee_os_ee",
500  "ele pairs invariant mass, opposite sign, endcap-endcap",
501  nbinmee,
502  meemin,
503  meemax,
504  "m_{e^{+}e^{-}} (GeV/c^{2})");
505  h1_mee_os_eb = bookH1(iBooker,
506  "mee_os_eb",
507  "ele pairs invariant mass, opposite sign, barrel-endcap",
508  nbinmee,
509  meemin,
510  meemax,
511  "m_{e^{+}e^{-}} (GeV/c^{2})");
512 
513  //===========================
514  // histos for matching and matched matched objects
515  //===========================
516 
517  // matching object
518  std::string matchingObjectType;
519  Labels l;
520  labelsForToken(matchingObjectCollection_, l);
521  if (std::string::npos != std::string(l.module).find("SuperCluster", 0)) {
522  matchingObjectType = "SC";
523  }
524  if (matchingObjectType.empty()) {
525  edm::LogError("ElectronMcFakeValidator::beginJob") << "Unknown matching object type !";
526  } else {
527  edm::LogInfo("ElectronMcFakeValidator::beginJob") << "Matching object type: " << matchingObjectType;
528  }
529 
530  // matching object distributions
532  iBooker, "matchingObject_Eta", matchingObjectType + " #eta", nbineta, etamin, etamax, "#eta_{SC}");
533 
535  iBooker, "matchingObject_Pt", matchingObjectType + " pt", nbinpteff, 5., ptmax, "pt_{SC} (GeV/c)");
537  iBooker, "matchingObject_Phi", matchingObjectType + " #phi", nbinphi, phimin, phimax, "#phi (rad)");
538 
540  iBooker, "matchedObject_Eta", "Efficiency vs matching SC #eta", nbineta, etamin, etamax, "#eta_{SC}");
542  iBooker, "matchedObject_Pt", "Efficiency vs matching SC E_{T}", nbinpteff, 5., ptmax, "pt_{SC} (GeV/c)");
544  iBooker, "matchedObject_Phi", "Efficiency vs matching SC #phi", nbinphi, phimin, phimax, "#phi (rad)");
545 
546 }
MonitorElement * h1_foundHits
MonitorElement * h1_dEtaSc_propVtx_endcapsPos
MonitorElement * h1_mee_os
MonitorElement * h1_dPhiSc_propVtx_barrel
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
unsigned int nEvents_
MonitorElement * h1_vertexPt_barrel
MonitorElement * h1_PFch_dr03
MonitorElement * py_lostHitsVsEta
MonitorElement * h1_mee_os_bb
MonitorElement * h1_sclSigEtaEta_barrel
MonitorElement * py_chi2VsEta
edm::EDGetTokenT< reco::SuperClusterCollection > matchingObjectCollection_
MonitorElement * h1_vertexEta
MonitorElement * py_chi2VsPhi
MonitorElement * h1_Eop_endcaps
MonitorElement * h1_ecalRecHitSumEt_dr03
MonitorElement * h1_hcalTowerSumEt_dr03
MonitorElement * h1_dPhiEleCl_propOut_endcapsNeg
MonitorElement * h1_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
MonitorElement * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
Log< level::Error, false > LogError
MonitorElement * h1_matchedObject_Phi
MonitorElement * h1_PFem_dr03
MonitorElement * h1_mee_os_ee
MonitorElement * h1_tkSumPt_dr03
MonitorElement * h1_dEtaEleCl_propOut_endcapsPos
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")
MonitorElement * h2_vertexXvsY
MonitorElement * h1_dPhiSc_propVtx_endcapsPos
MonitorElement * py_fbremVsEta
MonitorElement * h1_provenance
MonitorElement * h1_dEtaEleCl_propOut_barrel
MonitorElement * py_EopVsPhi
MonitorElement * h1_PFnh_dr03
MonitorElement * h1_Eop_barrel
MonitorElement * bookP1(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")
MonitorElement * py_dEtaSc_propVtxVsPhi
MonitorElement * h1_dPhiEleCl_propOut_endcapsPos
MonitorElement * h1_Hoe_endcaps
MonitorElement * h1_dEtaEleCl_propOut_endcapsNeg
MonitorElement * h1_dPhiSc_propVtx_endcapsNeg
MonitorElement * h1_vertexPt_endcaps
MonitorElement * py_lostHitsVsPhi
MonitorElement * h1_vertexZ
Log< level::Info, false > LogInfo
MonitorElement * py_dPhiSc_propVtxVsPhi
MonitorElement * py_fbremVsPhi
MonitorElement * h1_dEtaSc_propVtx_endcapsNeg
MonitorElement * py_foundHitsVsPhi
MonitorElement * h1_fbrem
MonitorElement * h1_chi2
MonitorElement * h1_lostHits
MonitorElement * h2_vertexEtaVsPhi
MonitorElement * h1_EeleOPout_endcaps
MonitorElement * h1_mee
MonitorElement * h1_classes
MonitorElement * h1_sclEt
MonitorElement * h1_sigIEtaIEta5x5_barrel
MonitorElement * h1_EeleOPout_barrel
std::string outputInternalPath_
MonitorElement * h1_dEtaSc_propVtx_barrel
MonitorElement * h1_matchingObject_Phi
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")
MonitorElement * h1_mee_os_eb
MonitorElement * h1_sigIEtaIEta5x5_endcaps
MonitorElement * h1_sclSigEtaEta_endcaps
MonitorElement * py_foundHitsVsEta
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_mva

◆ computeInvMass()

float ElectronAnalyzer::computeInvMass ( const reco::GsfElectron e1,
const reco::GsfElectron e2 
)
private

Definition at line 759 of file ElectronAnalyzer.cc.

References StorageManager_cfg::e1, reco::GsfElectron::p4(), and mathSSE::sqrt().

Referenced by analyze().

759  {
760  math::XYZTLorentzVector p12 = e1.p4() + e2.p4();
761  float mee2 = p12.Dot(p12);
762  float invMass = mee2 > 0. ? sqrt(mee2) : 0;
763  return invMass;
764 }
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:23
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:217

◆ etCut()

bool ElectronAnalyzer::etCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 799 of file ElectronAnalyzer.cc.

References minEt_.

Referenced by selected().

799  {
800  if (gsfIter->superCluster()->energy() / cosh(gsfIter->superCluster()->eta()) < minEt_)
801  return true;
802 
803  return false;
804 }

◆ generalCut()

bool ElectronAnalyzer::generalCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 778 of file ElectronAnalyzer.cc.

References funct::abs(), isEB_, isEcalDriven_, isEE_, isNotEBEEGap_, isTrackerDriven_, maxAbsEta_, and minPt_.

Referenced by selected().

778  {
779  if (std::abs(gsfIter->eta()) > maxAbsEta_)
780  return true;
781  if (gsfIter->pt() < minPt_)
782  return true;
783 
784  if (gsfIter->isEB() && isEE_)
785  return true;
786  if (gsfIter->isEE() && isEB_)
787  return true;
788  if (gsfIter->isEBEEGap() && isNotEBEEGap_)
789  return true;
790 
791  if (gsfIter->ecalDrivenSeed() && isTrackerDriven_)
792  return true;
793  if (gsfIter->trackerDrivenSeed() && isEcalDriven_)
794  return true;
795 
796  return false;
797 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ idCut()

bool ElectronAnalyzer::idCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 828 of file ElectronAnalyzer.cc.

References funct::abs(), dEtaMaxBarrel_, dEtaMaxEndcaps_, dEtaMinBarrel_, dEtaMinEndcaps_, dPhiMaxBarrel_, dPhiMaxEndcaps_, dPhiMinBarrel_, dPhiMinEndcaps_, eOverPMaxBarrel_, eOverPMaxEndcaps_, eOverPMinBarrel_, eOverPMinEndcaps_, hadronicOverEmMaxBarrel_, hadronicOverEmMaxEndcaps_, sigIetaIetaMaxBarrel_, sigIetaIetaMaxEndcaps_, sigIetaIetaMinBarrel_, and sigIetaIetaMinEndcaps_.

Referenced by selected().

828  {
829  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() < eOverPMinBarrel_)
830  return true;
831  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() > eOverPMaxBarrel_)
832  return true;
833  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() < eOverPMinEndcaps_)
834  return true;
835  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() > eOverPMaxEndcaps_)
836  return true;
837  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinBarrel_)
838  return true;
839  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxBarrel_)
840  return true;
841  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinEndcaps_)
842  return true;
843  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxEndcaps_)
844  return true;
845  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinBarrel_)
846  return true;
847  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxBarrel_)
848  return true;
849  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinEndcaps_)
850  return true;
851  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxEndcaps_)
852  return true;
853  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinBarrel_)
854  return true;
855  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxBarrel_)
856  return true;
857  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinEndcaps_)
858  return true;
859  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxEndcaps_)
860  return true;
861  if (gsfIter->isEB() && gsfIter->hadronicOverEm() > hadronicOverEmMaxBarrel_)
862  return true;
863  if (gsfIter->isEE() && gsfIter->hadronicOverEm() > hadronicOverEmMaxEndcaps_)
864  return true;
865 
866  return false;
867 }
double hadronicOverEmMaxEndcaps_
double sigIetaIetaMinBarrel_
double sigIetaIetaMaxBarrel_
double sigIetaIetaMinEndcaps_
double sigIetaIetaMaxEndcaps_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double hadronicOverEmMaxBarrel_

◆ isolationCut()

bool ElectronAnalyzer::isolationCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 806 of file ElectronAnalyzer.cc.

References ecalIso03MaxBarrel_, ecalIso03MaxEndcaps_, hcalIso03Depth1MaxBarrel_, hcalIso03Depth1MaxEndcaps_, hcalIso03Depth2MaxEndcaps_, tipMaxBarrel_, tipMaxEndcaps_, and tkIso03Max_.

Referenced by selected().

806  {
807  if (gsfIter->isEB() && vertexTIP > tipMaxBarrel_)
808  return true;
809  if (gsfIter->isEE() && vertexTIP > tipMaxEndcaps_)
810  return true;
811 
812  if (gsfIter->dr03TkSumPt() > tkIso03Max_)
813  return true;
814  if (gsfIter->isEB() && gsfIter->dr03HcalTowerSumEt(1) > hcalIso03Depth1MaxBarrel_)
815  return true;
816  if (gsfIter->isEE() && gsfIter->dr03HcalTowerSumEt(1) > hcalIso03Depth1MaxEndcaps_)
817  return true;
818  if (gsfIter->isEE() && gsfIter->dr03HcalTowerSumEt(2) > hcalIso03Depth2MaxEndcaps_)
819  return true;
820  if (gsfIter->isEB() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxBarrel_)
821  return true;
822  if (gsfIter->isEE() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxEndcaps_)
823  return true;
824 
825  return false;
826 }
double hcalIso03Depth1MaxBarrel_
double hcalIso03Depth1MaxEndcaps_
double hcalIso03Depth2MaxEndcaps_

◆ selected()

bool ElectronAnalyzer::selected ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 766 of file ElectronAnalyzer.cc.

References etCut(), generalCut(), idCut(), isolationCut(), and Selection_.

Referenced by analyze().

766  {
767  if ((Selection_ > 0) && generalCut(gsfIter))
768  return false;
769  if ((Selection_ >= 1) && etCut(gsfIter))
770  return false;
771  if ((Selection_ >= 2) && isolationCut(gsfIter, vertexTIP))
772  return false;
773  if ((Selection_ >= 3) && idCut(gsfIter))
774  return false;
775  return true;
776 }
bool etCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
bool generalCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
bool idCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
bool isolationCut(const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)

Member Data Documentation

◆ beamSpotTag_

edm::EDGetTokenT<reco::BeamSpot> ElectronAnalyzer::beamSpotTag_
private

Definition at line 56 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ deltaR_

double ElectronAnalyzer::deltaR_
private

Definition at line 68 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ detamatchmax

double ElectronAnalyzer::detamatchmax
private

Definition at line 140 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ detamatchmin

double ElectronAnalyzer::detamatchmin
private

Definition at line 139 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ detamax

double ElectronAnalyzer::detamax
private

Definition at line 133 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ dEtaMaxBarrel_

double ElectronAnalyzer::dEtaMaxBarrel_
private

Definition at line 84 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dEtaMaxEndcaps_

double ElectronAnalyzer::dEtaMaxEndcaps_
private

Definition at line 86 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ detamin

double ElectronAnalyzer::detamin
private

Definition at line 132 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ dEtaMinBarrel_

double ElectronAnalyzer::dEtaMinBarrel_
private

Definition at line 83 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dEtaMinEndcaps_

double ElectronAnalyzer::dEtaMinEndcaps_
private

Definition at line 85 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dphimatchmax

double ElectronAnalyzer::dphimatchmax
private

Definition at line 144 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ dphimatchmin

double ElectronAnalyzer::dphimatchmin
private

Definition at line 143 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ dphimax

double ElectronAnalyzer::dphimax
private

Definition at line 136 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ dPhiMaxBarrel_

double ElectronAnalyzer::dPhiMaxBarrel_
private

Definition at line 88 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dPhiMaxEndcaps_

double ElectronAnalyzer::dPhiMaxEndcaps_
private

Definition at line 90 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dphimin

double ElectronAnalyzer::dphimin
private

Definition at line 135 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ dPhiMinBarrel_

double ElectronAnalyzer::dPhiMinBarrel_
private

Definition at line 87 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ dPhiMinEndcaps_

double ElectronAnalyzer::dPhiMinEndcaps_
private

Definition at line 89 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ ecalIso03MaxBarrel_

double ElectronAnalyzer::ecalIso03MaxBarrel_
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ ecalIso03MaxEndcaps_

double ElectronAnalyzer::ecalIso03MaxEndcaps_
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ electronCollection_

edm::EDGetTokenT<reco::GsfElectronCollection> ElectronAnalyzer::electronCollection_
private

Definition at line 51 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ eopmax

double ElectronAnalyzer::eopmax
private

Definition at line 129 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ eopmaxsht

double ElectronAnalyzer::eopmaxsht
private

Definition at line 130 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ eOverPMaxBarrel_

double ElectronAnalyzer::eOverPMaxBarrel_
private

Definition at line 80 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ eOverPMaxEndcaps_

double ElectronAnalyzer::eOverPMaxEndcaps_
private

Definition at line 82 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ eOverPMinBarrel_

double ElectronAnalyzer::eOverPMinBarrel_
private

Definition at line 79 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ eOverPMinEndcaps_

double ElectronAnalyzer::eOverPMinEndcaps_
private

Definition at line 81 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ etamax

double ElectronAnalyzer::etamax
private

Definition at line 115 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ etamin

double ElectronAnalyzer::etamin
private

Definition at line 114 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ fhitsmax

double ElectronAnalyzer::fhitsmax
private

Definition at line 146 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ gsftrackCollection_

edm::EDGetTokenT<reco::GsfTrackCollection> ElectronAnalyzer::gsftrackCollection_
private

Definition at line 53 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ h1_chi2

MonitorElement* ElectronAnalyzer::h1_chi2
private

Definition at line 227 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_classes

MonitorElement* ElectronAnalyzer::h1_classes
private

Definition at line 307 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaEleCl_propOut_barrel

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_barrel
private

Definition at line 265 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaEleCl_propOut_endcapsNeg

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcapsNeg
private

Definition at line 267 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaEleCl_propOut_endcapsPos

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcapsPos
private

Definition at line 266 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaSc_propVtx_barrel

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_barrel
private

Definition at line 258 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaSc_propVtx_endcapsNeg

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcapsNeg
private

Definition at line 260 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dEtaSc_propVtx_endcapsPos

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcapsPos
private

Definition at line 259 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiEleCl_propOut_barrel

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_barrel
private

Definition at line 279 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiEleCl_propOut_endcapsNeg

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcapsNeg
private

Definition at line 281 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiEleCl_propOut_endcapsPos

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcapsPos
private

Definition at line 280 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiSc_propVtx_barrel

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_barrel
private

Definition at line 272 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiSc_propVtx_endcapsNeg

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcapsNeg
private

Definition at line 274 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_dPhiSc_propVtx_endcapsPos

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcapsPos
private

Definition at line 273 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_ecalRecHitSumEt_dr03

MonitorElement* ElectronAnalyzer::h1_ecalRecHitSumEt_dr03
private

Definition at line 315 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_EeleOPout_barrel

MonitorElement* ElectronAnalyzer::h1_EeleOPout_barrel
private

Definition at line 252 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_EeleOPout_endcaps

MonitorElement* ElectronAnalyzer::h1_EeleOPout_endcaps
private

Definition at line 253 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_Eop_barrel

MonitorElement* ElectronAnalyzer::h1_Eop_barrel
private

Definition at line 246 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_Eop_endcaps

MonitorElement* ElectronAnalyzer::h1_Eop_endcaps
private

Definition at line 247 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_fbrem

MonitorElement* ElectronAnalyzer::h1_fbrem
private

Definition at line 303 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_foundHits

MonitorElement* ElectronAnalyzer::h1_foundHits
private

Definition at line 231 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_hcalTowerSumEt_dr03

MonitorElement* ElectronAnalyzer::h1_hcalTowerSumEt_dr03
private

Definition at line 316 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_Hoe_barrel

MonitorElement* ElectronAnalyzer::h1_Hoe_barrel
private

Definition at line 286 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_Hoe_endcaps

MonitorElement* ElectronAnalyzer::h1_Hoe_endcaps
private

Definition at line 287 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_lostHits

MonitorElement* ElectronAnalyzer::h1_lostHits
private

Definition at line 235 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchedObject_Eta

MonitorElement* ElectronAnalyzer::h1_matchedObject_Eta
private

Definition at line 343 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchedObject_Phi

MonitorElement* ElectronAnalyzer::h1_matchedObject_Phi
private

Definition at line 346 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchedObject_Pt

MonitorElement* ElectronAnalyzer::h1_matchedObject_Pt
private

Definition at line 345 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchingObject_Eta

MonitorElement* ElectronAnalyzer::h1_matchingObject_Eta
private

Definition at line 350 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchingObject_Phi

MonitorElement* ElectronAnalyzer::h1_matchingObject_Phi
private

Definition at line 354 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_matchingObject_Pt

MonitorElement* ElectronAnalyzer::h1_matchingObject_Pt
private

Definition at line 353 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mee

MonitorElement* ElectronAnalyzer::h1_mee
private

Definition at line 329 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mee_os

MonitorElement* ElectronAnalyzer::h1_mee_os
private

Definition at line 330 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mee_os_bb

MonitorElement* ElectronAnalyzer::h1_mee_os_bb
private

Definition at line 331 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mee_os_eb

MonitorElement* ElectronAnalyzer::h1_mee_os_eb
private

Definition at line 333 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mee_os_ee

MonitorElement* ElectronAnalyzer::h1_mee_os_ee
private

Definition at line 332 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_mva

MonitorElement* ElectronAnalyzer::h1_mva
private

Definition at line 310 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_PFch_dr03

MonitorElement* ElectronAnalyzer::h1_PFch_dr03
private

Definition at line 317 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_PFem_dr03

MonitorElement* ElectronAnalyzer::h1_PFem_dr03
private

Definition at line 318 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_PFnh_dr03

MonitorElement* ElectronAnalyzer::h1_PFnh_dr03
private

Definition at line 319 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_provenance

MonitorElement* ElectronAnalyzer::h1_provenance
private

Definition at line 311 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_sclEt

MonitorElement* ElectronAnalyzer::h1_sclEt
private

Definition at line 220 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_sclSigEtaEta_barrel

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_barrel
private

Definition at line 290 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_sclSigEtaEta_endcaps

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_endcaps
private

Definition at line 291 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_sigIEtaIEta5x5_barrel

MonitorElement* ElectronAnalyzer::h1_sigIEtaIEta5x5_barrel
private

Definition at line 292 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_sigIEtaIEta5x5_endcaps

MonitorElement* ElectronAnalyzer::h1_sigIEtaIEta5x5_endcaps
private

Definition at line 293 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_tkSumPt_dr03

MonitorElement* ElectronAnalyzer::h1_tkSumPt_dr03
private

Definition at line 314 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_triggers

MonitorElement* ElectronAnalyzer::h1_triggers
private

Definition at line 198 of file ElectronAnalyzer.h.

◆ h1_vertexEta

MonitorElement* ElectronAnalyzer::h1_vertexEta
private

Definition at line 211 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_vertexPt_barrel

MonitorElement* ElectronAnalyzer::h1_vertexPt_barrel
private

Definition at line 209 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_vertexPt_endcaps

MonitorElement* ElectronAnalyzer::h1_vertexPt_endcaps
private

Definition at line 210 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h1_vertexZ

MonitorElement* ElectronAnalyzer::h1_vertexZ
private

Definition at line 214 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h2_beamSpotXvsY

MonitorElement* ElectronAnalyzer::h2_beamSpotXvsY
private

Definition at line 192 of file ElectronAnalyzer.h.

◆ h2_vertexEtaVsPhi

MonitorElement* ElectronAnalyzer::h2_vertexEtaVsPhi
private

Definition at line 212 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h2_vertexXvsY

MonitorElement* ElectronAnalyzer::h2_vertexXvsY
private

Definition at line 213 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ hadronicOverEmMaxBarrel_

double ElectronAnalyzer::hadronicOverEmMaxBarrel_
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ hadronicOverEmMaxEndcaps_

double ElectronAnalyzer::hadronicOverEmMaxEndcaps_
private

Definition at line 96 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ hcalIso03Depth1MaxBarrel_

double ElectronAnalyzer::hcalIso03Depth1MaxBarrel_
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ hcalIso03Depth1MaxEndcaps_

double ElectronAnalyzer::hcalIso03Depth1MaxEndcaps_
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ hcalIso03Depth2MaxEndcaps_

double ElectronAnalyzer::hcalIso03Depth2MaxEndcaps_
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ hoemax

double ElectronAnalyzer::hoemax
private

Definition at line 159 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ hoemin

double ElectronAnalyzer::hoemin
private

Definition at line 158 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ inputFile_

std::string ElectronAnalyzer::inputFile_
private

Definition at line 59 of file ElectronAnalyzer.h.

◆ inputInternalPath_

std::string ElectronAnalyzer::inputInternalPath_
private

Definition at line 61 of file ElectronAnalyzer.h.

◆ isEB_

bool ElectronAnalyzer::isEB_
private

Definition at line 74 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ isEcalDriven_

bool ElectronAnalyzer::isEcalDriven_
private

Definition at line 77 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ isEE_

bool ElectronAnalyzer::isEE_
private

Definition at line 75 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ isNotEBEEGap_

bool ElectronAnalyzer::isNotEBEEGap_
private

Definition at line 76 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ isTrackerDriven_

bool ElectronAnalyzer::isTrackerDriven_
private

Definition at line 78 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ lhitsmax

double ElectronAnalyzer::lhitsmax
private

Definition at line 148 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ matchingCondition_

std::string ElectronAnalyzer::matchingCondition_
private

Definition at line 65 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ matchingObjectCollection_

edm::EDGetTokenT<reco::SuperClusterCollection> ElectronAnalyzer::matchingObjectCollection_
private

Definition at line 52 of file ElectronAnalyzer.h.

Referenced by analyze(), bookHistograms(), and ElectronAnalyzer().

◆ maxAbsEta_

double ElectronAnalyzer::maxAbsEta_
private

Definition at line 73 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ maxAbsEtaMatchingObject_

double ElectronAnalyzer::maxAbsEtaMatchingObject_
private

Definition at line 67 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ maxPtMatchingObject_

double ElectronAnalyzer::maxPtMatchingObject_
private

Definition at line 66 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ mcEnergy

float ElectronAnalyzer::mcEnergy[10]
private

Definition at line 183 of file ElectronAnalyzer.h.

◆ mcEta

float ElectronAnalyzer::mcEta[10]
private

Definition at line 183 of file ElectronAnalyzer.h.

◆ mcPhi

float ElectronAnalyzer::mcPhi[10]
private

Definition at line 183 of file ElectronAnalyzer.h.

◆ mcPt

float ElectronAnalyzer::mcPt[10]
private

Definition at line 183 of file ElectronAnalyzer.h.

◆ mcQ

float ElectronAnalyzer::mcQ[10]
private

Definition at line 183 of file ElectronAnalyzer.h.

◆ meemax

double ElectronAnalyzer::meemax
private

Definition at line 156 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ meemin

double ElectronAnalyzer::meemin
private

Definition at line 155 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ minEt_

double ElectronAnalyzer::minEt_
private

Definition at line 71 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and etCut().

◆ minPt_

double ElectronAnalyzer::minPt_
private

Definition at line 72 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

◆ mvaMin_

double ElectronAnalyzer::mvaMin_
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbindeta

int ElectronAnalyzer::nbindeta
private

Definition at line 131 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbindetamatch

int ElectronAnalyzer::nbindetamatch
private

Definition at line 137 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbindetamatch2D

int ElectronAnalyzer::nbindetamatch2D
private

Definition at line 138 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbindphi

int ElectronAnalyzer::nbindphi
private

Definition at line 134 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbindphimatch

int ElectronAnalyzer::nbindphimatch
private

Definition at line 141 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbindphimatch2D

int ElectronAnalyzer::nbindphimatch2D
private

Definition at line 142 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbineop

int ElectronAnalyzer::nbineop
private

Definition at line 127 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbineop2D

int ElectronAnalyzer::nbineop2D
private

Definition at line 128 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbineta

int ElectronAnalyzer::nbineta
private

Definition at line 112 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbineta2D

int ElectronAnalyzer::nbineta2D
private

Definition at line 113 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinfhits

int ElectronAnalyzer::nbinfhits
private

Definition at line 145 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinhoe

int ElectronAnalyzer::nbinhoe
private

Definition at line 157 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinlhits

int ElectronAnalyzer::nbinlhits
private

Definition at line 147 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbinmee

int ElectronAnalyzer::nbinmee
private

Definition at line 154 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinp

int ElectronAnalyzer::nbinp
private

Definition at line 124 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbinp2D

int ElectronAnalyzer::nbinp2D
private

Definition at line 125 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbinphi

int ElectronAnalyzer::nbinphi
private

Definition at line 116 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinphi2D

int ElectronAnalyzer::nbinphi2D
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinpoptrue

int ElectronAnalyzer::nbinpoptrue
private

Definition at line 151 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbinpt

int ElectronAnalyzer::nbinpt
private

Definition at line 120 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinpt2D

int ElectronAnalyzer::nbinpt2D
private

Definition at line 122 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ nbinpteff

int ElectronAnalyzer::nbinpteff
private

Definition at line 121 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinxyz

int ElectronAnalyzer::nbinxyz
private

Definition at line 149 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nbinxyz2D

int ElectronAnalyzer::nbinxyz2D
private

Definition at line 150 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ nEvents_

unsigned int ElectronAnalyzer::nEvents_
private

Definition at line 166 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ outputFile_

std::string ElectronAnalyzer::outputFile_
private

Definition at line 60 of file ElectronAnalyzer.h.

◆ outputInternalPath_

std::string ElectronAnalyzer::outputInternalPath_
private

Definition at line 62 of file ElectronAnalyzer.h.

Referenced by bookHistograms().

◆ pDD

edm::ESHandle<TrackerGeometry> ElectronAnalyzer::pDD
private

Definition at line 180 of file ElectronAnalyzer.h.

◆ phimax

double ElectronAnalyzer::phimax
private

Definition at line 119 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ phimin

double ElectronAnalyzer::phimin
private

Definition at line 118 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ pmax

double ElectronAnalyzer::pmax
private

Definition at line 126 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ poptruemax

double ElectronAnalyzer::poptruemax
private

Definition at line 153 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ poptruemin

double ElectronAnalyzer::poptruemin
private

Definition at line 152 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ ptmax

double ElectronAnalyzer::ptmax
private

Definition at line 123 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

◆ py_chi2VsEta

MonitorElement* ElectronAnalyzer::py_chi2VsEta
private

Definition at line 228 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_chi2VsPhi

MonitorElement* ElectronAnalyzer::py_chi2VsPhi
private

Definition at line 229 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_dEtaSc_propVtxVsPhi

MonitorElement* ElectronAnalyzer::py_dEtaSc_propVtxVsPhi
private

Definition at line 261 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_dPhiSc_propVtxVsPhi

MonitorElement* ElectronAnalyzer::py_dPhiSc_propVtxVsPhi
private

Definition at line 275 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_EopVsPhi

MonitorElement* ElectronAnalyzer::py_EopVsPhi
private

Definition at line 248 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_fbremVsEta

MonitorElement* ElectronAnalyzer::py_fbremVsEta
private

Definition at line 304 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_fbremVsPhi

MonitorElement* ElectronAnalyzer::py_fbremVsPhi
private

Definition at line 305 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_foundHitsVsEta

MonitorElement* ElectronAnalyzer::py_foundHitsVsEta
private

Definition at line 232 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_foundHitsVsPhi

MonitorElement* ElectronAnalyzer::py_foundHitsVsPhi
private

Definition at line 233 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_HoeVsPhi

MonitorElement* ElectronAnalyzer::py_HoeVsPhi
private

Definition at line 288 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_lostHitsVsEta

MonitorElement* ElectronAnalyzer::py_lostHitsVsEta
private

Definition at line 236 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_lostHitsVsPhi

MonitorElement* ElectronAnalyzer::py_lostHitsVsPhi
private

Definition at line 237 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_nClustersVsLs

MonitorElement* ElectronAnalyzer::py_nClustersVsLs
private

Definition at line 194 of file ElectronAnalyzer.h.

◆ py_nElectronsVsLs

MonitorElement* ElectronAnalyzer::py_nElectronsVsLs
private

Definition at line 193 of file ElectronAnalyzer.h.

◆ py_nGsfTracksVsLs

MonitorElement* ElectronAnalyzer::py_nGsfTracksVsLs
private

Definition at line 195 of file ElectronAnalyzer.h.

◆ py_nTracksVsLs

MonitorElement* ElectronAnalyzer::py_nTracksVsLs
private

Definition at line 196 of file ElectronAnalyzer.h.

◆ py_nVerticesVsLs

MonitorElement* ElectronAnalyzer::py_nVerticesVsLs
private

Definition at line 197 of file ElectronAnalyzer.h.

◆ readAOD_

bool ElectronAnalyzer::readAOD_
private

Definition at line 57 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ seedEta

float ElectronAnalyzer::seedEta[10]
private

Definition at line 185 of file ElectronAnalyzer.h.

◆ seedMomentum

float ElectronAnalyzer::seedMomentum[10]
private

Definition at line 185 of file ElectronAnalyzer.h.

◆ seedPhi

float ElectronAnalyzer::seedPhi[10]
private

Definition at line 185 of file ElectronAnalyzer.h.

◆ seedPt

float ElectronAnalyzer::seedPt[10]
private

Definition at line 185 of file ElectronAnalyzer.h.

◆ seedQ

float ElectronAnalyzer::seedQ[10]
private

Definition at line 185 of file ElectronAnalyzer.h.

◆ Selection_

int ElectronAnalyzer::Selection_
private

Definition at line 50 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and selected().

◆ sigIetaIetaMaxBarrel_

double ElectronAnalyzer::sigIetaIetaMaxBarrel_
private

Definition at line 92 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ sigIetaIetaMaxEndcaps_

double ElectronAnalyzer::sigIetaIetaMaxEndcaps_
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ sigIetaIetaMinBarrel_

double ElectronAnalyzer::sigIetaIetaMinBarrel_
private

Definition at line 91 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ sigIetaIetaMinEndcaps_

double ElectronAnalyzer::sigIetaIetaMinEndcaps_
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

◆ superclusterEnergy

float ElectronAnalyzer::superclusterEnergy[10]
private

Definition at line 184 of file ElectronAnalyzer.h.

◆ superclusterEt

float ElectronAnalyzer::superclusterEt[10]
private

Definition at line 184 of file ElectronAnalyzer.h.

◆ superclusterEta

float ElectronAnalyzer::superclusterEta[10]
private

Definition at line 184 of file ElectronAnalyzer.h.

◆ superclusterPhi

float ElectronAnalyzer::superclusterPhi[10]
private

Definition at line 184 of file ElectronAnalyzer.h.

◆ theMagField

edm::ESHandle<MagneticField> ElectronAnalyzer::theMagField
private

Definition at line 181 of file ElectronAnalyzer.h.

◆ tipMaxBarrel_

double ElectronAnalyzer::tipMaxBarrel_
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ tipMaxEndcaps_

double ElectronAnalyzer::tipMaxEndcaps_
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ tkIso03Max_

double ElectronAnalyzer::tkIso03Max_
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

◆ trackCollection_

edm::EDGetTokenT<reco::TrackCollection> ElectronAnalyzer::trackCollection_
private

Definition at line 54 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

◆ triggerResults_

edm::InputTag ElectronAnalyzer::triggerResults_
private

Definition at line 108 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

◆ vertexCollection_

edm::EDGetTokenT<reco::VertexCollection> ElectronAnalyzer::vertexCollection_
private

Definition at line 55 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().