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::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

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 beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () 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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

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 edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
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)
 

Detailed Description

Definition at line 36 of file ElectronAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 27 of file ElectronAnalyzer.cc.

References 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_.

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

Definition at line 157 of file ElectronAnalyzer.cc.

158  {}

Member Function Documentation

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

Definition at line 273 of file ElectronAnalyzer.cc.

References funct::abs(), beamSpotTag_, computeInvMass(), deltaR(), deltaR_, electronCollection_, edm::EventID::event(), funct::false, MonitorElement::Fill(), edm::Event::getByToken(), gsfElectrons_cfi::gsfElectrons, gsftrackCollection_, gedGsfElectronCores_cfi::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, edm::EventBase::id(), edm::EventBase::luminosityBlock(), matchingCondition_, matchingObjectCollection_, maxAbsEtaMatchingObject_, maxPtMatchingObject_, nEvents_, pi, reco::BeamSpot::position(), funct::pow(), edm::Handle< T >::product(), 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_, edm::EventID::run(), selected(), mathSSE::sqrt(), reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt, reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt, reco::GsfElectron::PflowIsolationVariables::sumPhotonEt, trackCollection_, l1t::tracks, vertexCollection_, and electrons_cff::vertices.

274 {
275  nEvents_++ ;
276 
278  iEvent.getByToken(electronCollection_,gsfElectrons) ;
280  iEvent.getByToken(matchingObjectCollection_,recoClusters) ;
282  iEvent.getByToken(trackCollection_,tracks);
284  iEvent.getByToken(gsftrackCollection_,gsfTracks);
286  iEvent.getByToken(vertexCollection_,vertices);
287  edm::Handle<reco::BeamSpot> recoBeamSpotHandle ;
288  iEvent.getByToken(beamSpotTag_,recoBeamSpotHandle) ;
289  const BeamSpot bs = *recoBeamSpotHandle ;
290 
291  edm::EventNumber_t ievt = iEvent.id().event();
292  edm::RunNumber_t irun = iEvent.id().run();
293  edm::LuminosityBlockNumber_t ils = iEvent.luminosityBlock();
294 
295  edm::LogInfo("ElectronAnalyzer::analyze")
296  <<"Treating "<<gsfElectrons.product()->size()<<" electrons"
297  <<" from event "<<ievt<<" in run "<<irun<<" and lumiblock "<<ils ;
298  //h1_num_->Fill((*gsfElectrons).size()) ;
299 
300  // selected rec electrons
301  reco::GsfElectronCollection::const_iterator gsfIter ;
302  for
303  ( gsfIter=gsfElectrons->begin() ;
304  gsfIter!=gsfElectrons->end();
305  gsfIter++ )
306  {
307  // vertex TIP
308  double vertexTIP =
309  (gsfIter->vertex().x()-bs.position().x()) * (gsfIter->vertex().x()-bs.position().x()) +
310  (gsfIter->vertex().y()-bs.position().y()) * (gsfIter->vertex().y()-bs.position().y()) ;
311  vertexTIP = sqrt(vertexTIP) ;
312 
313  // select electrons
314  if (!selected(gsfIter,vertexTIP)) continue ;
315 
316  // invariant mass of 2 selected electrons
317  reco::GsfElectronCollection::const_iterator gsfIter2 ;
318  for
319  ( gsfIter2=gsfIter+1;
320  gsfIter2!=gsfElectrons->end() ;
321  gsfIter2++ )
322  {
323  if (!selected(gsfIter2,vertexTIP)) continue ;
324  float invMass = computeInvMass(*gsfIter,*gsfIter2) ;
325  h1_mee->Fill(invMass) ;
326  if ( ( (gsfIter->charge())*(gsfIter2->charge()) )<0. )
327  {
328  h1_mee_os->Fill(invMass) ;
329  if (gsfIter->isEB() && gsfIter2->isEB())
330  h1_mee_os_bb->Fill(invMass);
331  else if (gsfIter->isEE() && gsfIter2->isEE())
332  h1_mee_os_ee->Fill(invMass);
333  else
334  h1_mee_os_eb->Fill(invMass);
335  }
336  }
337 
338  // basic quantities
339  if (gsfIter->isEB()) h1_vertexPt_barrel->Fill( gsfIter->pt() );
340  if (gsfIter->isEE()) h1_vertexPt_endcaps->Fill( gsfIter->pt() );
341  h1_vertexEta->Fill( gsfIter->eta() );
342  h2_vertexEtaVsPhi->Fill( gsfIter->eta(), gsfIter->phi() );
343  h2_vertexXvsY->Fill( gsfIter->vertex().x(), gsfIter->vertex().y() );
344  h1_vertexZ->Fill( gsfIter->vertex().z() );
345 
346  // supercluster related distributions
347  reco::SuperClusterRef sclRef = gsfIter->superCluster() ;
348  // ALREADY DONE IN GSF ELECTRON CORE
349  double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
350  double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
351  h1_sclEt->Fill(sclRef->energy()*(Rt/R));
352 
353  // track related distributions
354  if (!readAOD_)
355  { // track extra does not exist in AOD
356  h1_foundHits->Fill( gsfIter->gsfTrack()->numberOfValidHits() );
357  py_foundHitsVsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->numberOfValidHits() );
358  py_foundHitsVsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->numberOfValidHits() );
359  h1_lostHits->Fill( gsfIter->gsfTrack()->numberOfLostHits() );
360  py_lostHitsVsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->numberOfLostHits() );
361  py_lostHitsVsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->numberOfLostHits() );
362  h1_chi2->Fill( gsfIter->gsfTrack()->normalizedChi2() );
363  py_chi2VsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->normalizedChi2() );
364  py_chi2VsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->normalizedChi2() );
365  }
366 
367  // match distributions
368  if (gsfIter->isEB())
369  {
370  h1_Eop_barrel->Fill( gsfIter->eSuperClusterOverP() );
371  h1_EeleOPout_barrel->Fill( gsfIter->eEleClusterOverPout() );
372  h1_dEtaSc_propVtx_barrel->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
373  h1_dEtaEleCl_propOut_barrel->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
374  h1_dPhiSc_propVtx_barrel->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
375  h1_dPhiEleCl_propOut_barrel->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
376  h1_Hoe_barrel->Fill(gsfIter->hadronicOverEm());
377  h1_sclSigEtaEta_barrel->Fill( gsfIter->scSigmaEtaEta() );
378  h1_sigIEtaIEta5x5_barrel->Fill( gsfIter->full5x5_sigmaIetaIeta() );
379  }
380  if (gsfIter->isEE())
381  {
382  h1_Eop_endcaps->Fill( gsfIter->eSuperClusterOverP() );
383  h1_EeleOPout_endcaps->Fill( gsfIter->eEleClusterOverPout() );
384  if (gsfIter->eta() > 0) {
385  h1_dEtaSc_propVtx_endcapsPos->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
386  h1_dEtaEleCl_propOut_endcapsPos->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
387  h1_dPhiSc_propVtx_endcapsPos->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
388  h1_dPhiEleCl_propOut_endcapsPos->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
389  }
390  else {
391  h1_dEtaSc_propVtx_endcapsNeg->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
392  h1_dEtaEleCl_propOut_endcapsNeg->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
393  h1_dPhiSc_propVtx_endcapsNeg->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
394  h1_dPhiEleCl_propOut_endcapsNeg->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
395  }
396  h1_Hoe_endcaps->Fill(gsfIter->hadronicOverEm());
397  h1_sclSigEtaEta_endcaps->Fill( gsfIter->scSigmaEtaEta() );
398  h1_sigIEtaIEta5x5_endcaps->Fill( gsfIter->full5x5_sigmaIetaIeta() );
399  }
400  py_EopVsPhi->Fill( gsfIter->phi(), gsfIter->eSuperClusterOverP() );
401  py_dEtaSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaEtaSuperClusterTrackAtVtx());
402  py_dPhiSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaPhiSuperClusterTrackAtVtx());
403  py_HoeVsPhi->Fill(gsfIter->phi(), gsfIter->hadronicOverEm());
404 
405  // fbrem, classes
406  h1_fbrem->Fill(gsfIter->fbrem()) ;
407  py_fbremVsEta->Fill(gsfIter->eta(),gsfIter->fbrem()) ;
408  py_fbremVsPhi->Fill(gsfIter->phi(),gsfIter->fbrem()) ;
409  int eleClass = gsfIter->classification() ;
410  if (gsfIter->isEE()) eleClass+=5;
411  h1_classes->Fill(eleClass) ;
412 
413 
414  // pflow
415  h1_mva->Fill(gsfIter->mva_e_pi()) ;
416  if (gsfIter->ecalDrivenSeed()) h1_provenance->Fill(1.) ;
417  if (gsfIter->trackerDrivenSeed()) h1_provenance->Fill(-1.) ;
418  if (gsfIter->trackerDrivenSeed()||gsfIter->ecalDrivenSeed()) h1_provenance->Fill(0.);
419  if (gsfIter->trackerDrivenSeed()&&!gsfIter->ecalDrivenSeed()) h1_provenance->Fill(-2.);
420  if (!gsfIter->trackerDrivenSeed()&&gsfIter->ecalDrivenSeed()) h1_provenance->Fill(2.);
421 
422  // isolation
423  h1_tkSumPt_dr03->Fill(gsfIter->dr03TkSumPt());
424  h1_ecalRecHitSumEt_dr03->Fill(gsfIter->dr03EcalRecHitSumEt());
425  h1_hcalTowerSumEt_dr03->Fill(gsfIter->dr03HcalTowerSumEt());
426 
427  // PF isolation
428  GsfElectron::PflowIsolationVariables pfIso = gsfIter->pfIsolationVariables();
430  h1_PFem_dr03->Fill( pfIso.sumPhotonEt );
432 
433 
434  }
435 
436  // association matching object-reco electrons
437  int matchingObjectNum=0;
438  reco::SuperClusterCollection::const_iterator moIter ;
439  for
440  ( moIter=recoClusters->begin() ;
441  moIter!=recoClusters->end() ;
442  moIter++ )
443  {
444 // // number of matching objects
445  matchingObjectNum++;
446 
447  if
448  ( moIter->energy()/cosh(moIter->eta())>maxPtMatchingObject_ ||
449  std::abs(moIter->eta())> maxAbsEtaMatchingObject_ )
450  { continue ; }
451 
452 // // suppress the endcaps
453  h1_matchingObject_Eta->Fill( moIter->eta() );
454  h1_matchingObject_Pt->Fill( moIter->energy()/cosh(moIter->eta()) );
455  h1_matchingObject_Phi->Fill( moIter->phi() );
456 
457  bool okGsfFound = false ;
458  double gsfOkRatio = 999999999. ;
459  reco::GsfElectron bestGsfElectron ;
460  reco::GsfElectronCollection::const_iterator gsfIter ;
461  for
462  ( gsfIter=gsfElectrons->begin() ;
463  gsfIter!=gsfElectrons->end() ;
464  gsfIter++ )
465  {
466 
467  double vertexTIP =
468  (gsfIter->vertex().x()-bs.position().x()) * (gsfIter->vertex().x()-bs.position().x()) +
469  (gsfIter->vertex().y()-bs.position().y()) * (gsfIter->vertex().y()-bs.position().y()) ;
470  vertexTIP = sqrt(vertexTIP) ;
471 
472  // select electrons
473  if (!selected(gsfIter,vertexTIP)) continue ;
474 
475  // matching with a cone in eta phi
476  if ( matchingCondition_ == "Cone" )
477  {
478  double dphi = gsfIter->phi()-moIter->phi() ;
479  if (std::abs(dphi)>CLHEP::pi)
480  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
481  double deltaR = sqrt(pow((moIter->eta()-gsfIter->eta()),2) + pow(dphi,2)) ;
482  if ( deltaR < deltaR_ )
483  {
484  double tmpGsfRatio = gsfIter->p()/moIter->energy() ;
485  if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) )
486  {
487  gsfOkRatio = tmpGsfRatio;
488  bestGsfElectron=*gsfIter;
489  okGsfFound = true;
490  }
491  }
492  }
493  } // loop over rec ele to look for the best one
494  if (okGsfFound)
495  {
496  // generated distributions for matched electrons
497  h1_matchedObject_Eta->Fill( moIter->eta() );
498  h1_matchedObject_Pt->Fill( moIter->energy()/cosh(moIter->eta()) );
499  h1_matchedObject_Phi->Fill( moIter->phi() );
500 
501  //classes
502  }
503 
504  } // loop overmatching object
505 
506 
507  }
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
void Fill(long long x)
const Double_t pi
MonitorElement * h1_tkSumPt_dr03
MonitorElement * h1_dEtaEleCl_propOut_endcapsPos
int iEvent
Definition: GenABIO.cc:230
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:18
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:627
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:626
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
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
MonitorElement * h1_vertexZ
MonitorElement * py_dPhiSc_propVtxVsPhi
MonitorElement * py_fbremVsPhi
T const * product() const
Definition: Handle.h:81
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
const Point & position() const
position
Definition: BeamSpot.h:62
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:625
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_mva
void ElectronAnalyzer::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 160 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, checklumidiff::l, edm::EDConsumerBase::labelsForToken(), lhitsmax, matchingObjectCollection_, meemax, meemin, edm::ProductLabels::module, 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(), DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

161  {
163 
164  nEvents_ = 0 ;
165 
166  // basic quantities
167  h1_vertexPt_barrel = bookH1(iBooker, "vertexPt_barrel","ele transverse momentum in barrel",nbinpt,0.,ptmax,"p_{T vertex} (GeV/c)");
168  h1_vertexPt_endcaps = bookH1(iBooker, "vertexPt_endcaps","ele transverse momentum in endcaps",nbinpt,0.,ptmax,"p_{T vertex} (GeV/c)");
169  h1_vertexEta = bookH1(iBooker, "vertexEta","ele momentum #eta",nbineta,etamin,etamax,"#eta");
170  h2_vertexEtaVsPhi = bookH2(iBooker, "vertexEtaVsPhi","ele momentum #eta vs #phi",nbineta2D,etamin,etamax,nbinphi2D,phimin,phimax,"#eta","#phi (rad)");
171  h2_vertexXvsY = bookH2(iBooker, "vertexXvsY","ele vertex x vs y",nbinxyz2D,-0.1,0.1,nbinxyz2D,-0.1,0.1,"x (cm)","y (cm)");
172  h1_vertexZ = bookH1(iBooker, "vertexZ","ele vertex z",nbinxyz,-25, 25,"z (cm)");
173 
174  // super-clusters
175  h1_sclEt = bookH1(iBooker, "sclEt","ele supercluster transverse energy",nbinpt,0.,ptmax,"E_{T} (GeV)");
176 
177  // electron track
178  h1_chi2 = bookH1(iBooker, "chi2","ele track #chi^{2}",100,0.,15.,"#Chi^{2}");
179  py_chi2VsEta = bookP1(iBooker, "chi2VsEta","ele track #chi^{2} vs #eta",nbineta2D,etamin,etamax,0.,15.,"#eta","<#chi^{2}>");
180  py_chi2VsPhi = bookP1(iBooker, "chi2VsPhi","ele track #chi^{2} vs #phi",nbinphi2D,phimin,phimax,0.,15.,"#phi (rad)","<#chi^{2}>");
181  h1_foundHits = bookH1(iBooker, "foundHits","ele track # found hits",nbinfhits,0.,fhitsmax,"N_{hits}");
182  py_foundHitsVsEta = bookP1(iBooker, "foundHitsVsEta","ele track # found hits vs #eta",nbineta2D,etamin,etamax,0.,fhitsmax,"#eta","<# hits>");
183  py_foundHitsVsPhi = bookP1(iBooker, "foundHitsVsPhi","ele track # found hits vs #phi",nbinphi2D,phimin,phimax,0.,fhitsmax,"#phi (rad)","<# hits>");
184  h1_lostHits = bookH1(iBooker, "lostHits","ele track # lost hits",5,0.,5.,"N_{lost hits}");
185  py_lostHitsVsEta = bookP1(iBooker, "lostHitsVsEta","ele track # lost hits vs #eta",nbineta2D,etamin,etamax,0.,lhitsmax,"#eta","<# hits>");
186  py_lostHitsVsPhi = bookP1(iBooker, "lostHitsVsPhi","ele track # lost hits vs #eta",nbinphi2D,phimin,phimax,0.,lhitsmax,"#phi (rad)","<# hits>");
187 
188  // electron matching and ID
189  h1_Eop_barrel = bookH1(iBooker, "Eop_barrel","ele E/P_{vertex} in barrel",nbineop,0.,eopmax,"E/P_{vertex}");
190  h1_Eop_endcaps = bookH1(iBooker, "Eop_endcaps","ele E/P_{vertex} in endcaps",nbineop,0.,eopmax,"E/P_{vertex}");
191  py_EopVsPhi = bookP1(iBooker, "EopVsPhi","ele E/P_{vertex} vs #phi",nbinphi2D,phimin,phimax,0.,eopmax,"#phi (rad)","<E/P_{vertex}>");
192  h1_EeleOPout_barrel = bookH1(iBooker, "EeleOPout_barrel","ele E_{ele}/P_{out} in barrel",nbineop,0.,eopmax,"E_{ele}/P_{out}");
193  h1_EeleOPout_endcaps = bookH1(iBooker, "EeleOPout_endcaps","ele E_{ele}/P_{out} in endcaps",nbineop,0.,eopmax,"E_{ele}/P_{out}");
194  h1_dEtaSc_propVtx_barrel = bookH1(iBooker, "dEtaSc_propVtx_barrel","ele #eta_{sc} - #eta_{tr}, prop from vertex, in barrel",nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
195  h1_dEtaSc_propVtx_endcapsPos = bookH1(iBooker, "dEtaSc_propVtx_endcapsPos","ele #eta_{sc} - #eta_{tr}, prop from vertex, in positive endcap",nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
196  h1_dEtaSc_propVtx_endcapsNeg = bookH1(iBooker, "dEtaSc_propVtx_endcapsNeg","ele #eta_{sc} - #eta_{tr}, prop from vertex, in negative endcap",nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
197  py_dEtaSc_propVtxVsPhi = bookP1(iBooker, "dEtaSc_propVtxVsPhi","ele #eta_{sc} - #eta_{tr}, prop from vertex vs #phi",nbinphi2D,phimin,phimax,detamatchmin,detamatchmax,"#phi (rad)","<#eta_{sc} - #eta_{tr}>");
198  h1_dEtaEleCl_propOut_barrel = bookH1(iBooker, "dEtaEleCl_propOut_barrel","ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in barrel",nbindetamatch,detamatchmin,detamatchmax,"#eta_{elecl} - #eta_{tr}");
199  h1_dEtaEleCl_propOut_endcapsPos = bookH1(iBooker, "dEtaEleCl_propOut_endcapsPos","ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in positive endcap",nbindetamatch,detamatchmin,detamatchmax,"#eta_{elecl} - #eta_{tr}");
200  h1_dEtaEleCl_propOut_endcapsNeg = bookH1(iBooker, "dEtaEleCl_propOut_endcapsNeg","ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in negative endcap",nbindetamatch,detamatchmin,detamatchmax,"#eta_{elecl} - #eta_{tr}");
201  h1_dPhiSc_propVtx_barrel = bookH1(iBooker, "dPhiSc_propVtx_barrel","ele #phi_{sc} - #phi_{tr}, prop from vertex, in barrel",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{sc} - #phi_{tr} (rad)");
202  h1_dPhiSc_propVtx_endcapsPos = bookH1(iBooker, "dPhiSc_propVtx_endcapsPos","ele #phi_{sc} - #phi_{tr}, prop from vertex, in positive endcap",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{sc} - #phi_{tr} (rad)");
203  h1_dPhiSc_propVtx_endcapsNeg = bookH1(iBooker, "dPhiSc_propVtx_endcapsNeg","ele #phi_{sc} - #phi_{tr}, prop from vertex, in negative endcap",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{sc} - #phi_{tr} (rad)");
204  py_dPhiSc_propVtxVsPhi = bookP1(iBooker, "dPhiSc_propVtxVsPhi","ele #phi_{sc} - #phi_{tr}, prop from vertex vs #phi",nbinphi2D,phimin,phimax,dphimatchmin,dphimatchmax,"#phi (rad)","<#phi_{sc} - #phi_{tr}> (rad)");
205  h1_dPhiEleCl_propOut_barrel = bookH1(iBooker, "dPhiEleCl_propOut_barrel","ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in barrel",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
206  h1_dPhiEleCl_propOut_endcapsPos = bookH1(iBooker, "dPhiEleCl_propOut_endcapsPos","ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in positive endcap",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
207  h1_dPhiEleCl_propOut_endcapsNeg = bookH1(iBooker, "dPhiEleCl_propOut_endcapsNeg","ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in negative endcap",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
208  h1_Hoe_barrel = bookH1(iBooker, "Hoe_barrel","ele hadronic energy / em energy, in barrel", nbinhoe, hoemin, hoemax,"H/E","Events","ELE_LOGY E1 P") ;
209  h1_Hoe_endcaps = bookH1(iBooker, "Hoe_endcaps","ele hadronic energy / em energy, in endcaps", nbinhoe, hoemin, hoemax,"H/E","Events","ELE_LOGY E1 P") ;
210  py_HoeVsPhi = bookP1(iBooker, "HoeVsPhi","ele hadronic energy / em energy vs #phi",nbinphi2D,phimin,phimax,hoemin,hoemax,"#phi (rad)","<H/E>","E1 P") ;
211  h1_sclSigEtaEta_barrel = bookH1(iBooker, "sclSigEtaEta_barrel","ele sigma eta eta in barrel",100,0.,0.05,"sietaieta");
212  h1_sclSigEtaEta_endcaps = bookH1(iBooker, "sclSigEtaEta_endcaps","ele sigma eta eta in endcaps",100,0.,0.05,"sietaieta");
213  h1_sigIEtaIEta5x5_barrel = bookH1(iBooker, "sigIEtaIEta5x5_barrel","ele sigma ieta ieta 5x5 in barrel",100,0.,0.05,"sietaieta5x5");
214  h1_sigIEtaIEta5x5_endcaps = bookH1(iBooker, "sigIEtaIEta5x5_endcaps","ele sigma ieta ieta 5x5 in endcaps",100,0.,0.05,"sietaieta5x5");
215 
216  // fbrem
217  h1_fbrem = bookH1(iBooker, "fbrem","ele brem fraction",100,0.,1.,"P_{in} - P_{out} / P_{in}") ;
218  py_fbremVsEta = bookP1(iBooker, "fbremVsEta","ele brem fraction vs #eta",nbineta2D,etamin,etamax,0.,1.,"#eta","<P_{in} - P_{out} / P_{in}>") ;
219  py_fbremVsPhi = bookP1(iBooker, "fbremVsPhi","ele brem fraction vs #phi",nbinphi2D,phimin,phimax,0.,1.,"#phi (rad)","<P_{in} - P_{out} / P_{in}>") ;
220  h1_classes = bookH1(iBooker, "classes","ele electron classes",10,0.0,10.);
221 
222  // pflow
223  h1_mva = bookH1(iBooker, "mva","ele identification mva",100,-1.,1.,"mva");
224  h1_provenance = bookH1(iBooker, "provenance","ele provenance",5,-2.,3.,"provenance");
225 
226  // isolation
227  h1_tkSumPt_dr03 = bookH1(iBooker, "tkSumPt_dr03","tk isolation sum, dR=0.3",100,0.0,20.,"TkIsoSum (GeV/c)","Events","ELE_LOGY E1 P");
228  h1_ecalRecHitSumEt_dr03 = bookH1(iBooker, "ecalRecHitSumEt_dr03","ecal isolation sum, dR=0.3",100,0.0,20.,"EcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
229  h1_hcalTowerSumEt_dr03 = bookH1(iBooker, "hcalTowerSumEt_dr03","hcal isolation sum, dR=0.3",100,0.0,20.,"HcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
230 
231  // pf isolation
232  h1_PFch_dr03 = bookH1(iBooker, "PFch_dr03","Charged PF candidate sum, dR=0.3",100,0.0,20.,"PF charged (GeV/c)","Events","ELE_LOGY E1 P");
233  h1_PFem_dr03 = bookH1(iBooker, "PFem_dr03","Neutral EM PF candidate sum, dR=0.3",100,0.0,20.,"PF neutral EM (GeV)","Events","ELE_LOGY E1 P");
234  h1_PFnh_dr03 = bookH1(iBooker, "PFnh_dr03","Neutral Had PF candidate sum, dR=0.3",100,0.0,20.,"PF neutral Had (GeV)","Events","ELE_LOGY E1 P");
235 
236  // di-electron mass
237  setBookIndex(200) ;
238  h1_mee = bookH1(iBooker, "mee","ele pairs invariant mass", nbinmee, meemin, meemax,"m_{ee} (GeV/c^{2})");
239  h1_mee_os = bookH1(iBooker, "mee_os","ele pairs invariant mass, opposite sign", nbinmee, meemin, meemax,"m_{e^{+}e^{-}} (GeV/c^{2})");
240  h1_mee_os_bb = bookH1(iBooker, "mee_os_bb","ele pairs invariant mass, opposite sign, barrel-barrel", nbinmee, meemin, meemax,"m_{e^{+}e^{-}} (GeV/c^{2})");
241  h1_mee_os_ee = bookH1(iBooker, "mee_os_ee","ele pairs invariant mass, opposite sign, endcap-endcap", nbinmee, meemin, meemax,"m_{e^{+}e^{-}} (GeV/c^{2})");
242  h1_mee_os_eb = bookH1(iBooker, "mee_os_eb","ele pairs invariant mass, opposite sign, barrel-endcap", nbinmee, meemin, meemax,"m_{e^{+}e^{-}} (GeV/c^{2})");
243 
244  //===========================
245  // histos for matching and matched matched objects
246  //===========================
247 
248  // matching object
249  std::string matchingObjectType ;
250  Labels l;
252  if (std::string::npos != std::string(l.module).find("SuperCluster",0))
253  { matchingObjectType = "SC" ; }
254  if (matchingObjectType=="")
255  { edm::LogError("ElectronMcFakeValidator::beginJob")<<"Unknown matching object type !" ; }
256  else
257  { edm::LogInfo("ElectronMcFakeValidator::beginJob")<<"Matching object type: "<<matchingObjectType ; }
258 
259  // matching object distributions
260  h1_matchingObject_Eta = bookH1withSumw2(iBooker, "matchingObject_Eta",matchingObjectType+" #eta",nbineta,etamin,etamax,"#eta_{SC}");
261 
262 
263  h1_matchingObject_Pt = bookH1withSumw2(iBooker, "matchingObject_Pt",matchingObjectType+" pt",nbinpteff,5.,ptmax,"pt_{SC} (GeV/c)");
264  h1_matchingObject_Phi = bookH1withSumw2(iBooker, "matchingObject_Phi",matchingObjectType+" #phi",nbinphi,phimin,phimax,"#phi (rad)");
265 
266  h1_matchedObject_Eta = bookH1withSumw2(iBooker, "matchedObject_Eta","Efficiency vs matching SC #eta",nbineta,etamin,etamax,"#eta_{SC}");
267  h1_matchedObject_Pt = bookH1withSumw2(iBooker, "matchedObject_Pt","Efficiency vs matching SC E_{T}",nbinpteff,5.,ptmax,"pt_{SC} (GeV/c)");
268  h1_matchedObject_Phi = bookH1withSumw2(iBooker, "matchedObject_Phi","Efficiency vs matching SC #phi",nbinphi,phimin,phimax,"#phi (rad)");
269 
270 
271  }
MonitorElement * h1_foundHits
MonitorElement * h1_dEtaSc_propVtx_endcapsPos
MonitorElement * h1_mee_os
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
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_ecalRecHitSumEt_dr03
MonitorElement * h1_hcalTowerSumEt_dr03
MonitorElement * h1_dPhiEleCl_propOut_endcapsNeg
MonitorElement * h1_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
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 * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
MonitorElement * h1_matchedObject_Phi
MonitorElement * h1_PFem_dr03
MonitorElement * h1_mee_os_ee
MonitorElement * h1_tkSumPt_dr03
MonitorElement * h1_dEtaEleCl_propOut_endcapsPos
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 * py_dEtaSc_propVtxVsPhi
MonitorElement * h1_dPhiEleCl_propOut_endcapsPos
MonitorElement * h1_Hoe_endcaps
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 * h1_dEtaEleCl_propOut_endcapsNeg
MonitorElement * h1_dPhiSc_propVtx_endcapsNeg
MonitorElement * h1_vertexPt_endcaps
MonitorElement * py_lostHitsVsPhi
MonitorElement * h1_vertexZ
ProductLabels Labels
MonitorElement * py_dPhiSc_propVtxVsPhi
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
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
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
MonitorElement * h1_sigIEtaIEta5x5_barrel
MonitorElement * h1_EeleOPout_barrel
std::string outputInternalPath_
MonitorElement * h1_dEtaSc_propVtx_barrel
MonitorElement * h1_matchingObject_Phi
MonitorElement * h1_mee_os_eb
MonitorElement * h1_sigIEtaIEta5x5_endcaps
MonitorElement * h1_sclSigEtaEta_endcaps
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 * py_foundHitsVsEta
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_mva
float ElectronAnalyzer::computeInvMass ( const reco::GsfElectron e1,
const reco::GsfElectron e2 
)
private

Definition at line 510 of file ElectronAnalyzer.cc.

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

Referenced by analyze().

512  {
513  math::XYZTLorentzVector p12 = e1.p4()+e2.p4() ;
514  float mee2 = p12.Dot(p12) ;
515  float invMass = mee2 > 0. ? sqrt(mee2) : 0;
516  return invMass ;
517  }
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:225
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:18
bool ElectronAnalyzer::etCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 543 of file ElectronAnalyzer.cc.

References funct::false, minEt_, and funct::true.

Referenced by selected().

544  {
545  if (gsfIter->superCluster()->energy()/cosh(gsfIter->superCluster()->eta())<minEt_) return true ;
546 
547  return false ;
548  }
bool ElectronAnalyzer::generalCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 528 of file ElectronAnalyzer.cc.

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

Referenced by selected().

529  {
530  if (std::abs(gsfIter->eta())>maxAbsEta_) return true ;
531  if (gsfIter->pt()<minPt_) return true ;
532 
533  if (gsfIter->isEB() && isEE_) return true ;
534  if (gsfIter->isEE() && isEB_) return true ;
535  if (gsfIter->isEBEEGap() && isNotEBEEGap_) return true ;
536 
537  if (gsfIter->ecalDrivenSeed() && isTrackerDriven_) return true ;
538  if (gsfIter->trackerDrivenSeed() && isEcalDriven_) return true ;
539 
540  return false ;
541  }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool ElectronAnalyzer::idCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 565 of file ElectronAnalyzer.cc.

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

Referenced by selected().

566  {
567  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() < eOverPMinBarrel_) return true ;
568  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() > eOverPMaxBarrel_) return true ;
569  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() < eOverPMinEndcaps_) return true ;
570  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() > eOverPMaxEndcaps_) return true ;
571  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinBarrel_) return true ;
572  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxBarrel_) return true ;
573  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinEndcaps_) return true ;
574  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxEndcaps_) return true ;
575  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinBarrel_) return true ;
576  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxBarrel_) return true ;
577  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinEndcaps_) return true ;
578  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxEndcaps_) return true ;
579  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinBarrel_) return true ;
580  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxBarrel_) return true ;
581  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinEndcaps_) return true ;
582  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxEndcaps_) return true ;
583  if (gsfIter->isEB() && gsfIter->hadronicOverEm() > hadronicOverEmMaxBarrel_) return true ;
584  if (gsfIter->isEE() && gsfIter->hadronicOverEm() > hadronicOverEmMaxEndcaps_) return true ;
585 
586  return false ;
587  }
double hadronicOverEmMaxEndcaps_
double sigIetaIetaMinBarrel_
double sigIetaIetaMaxBarrel_
double sigIetaIetaMinEndcaps_
double sigIetaIetaMaxEndcaps_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double hadronicOverEmMaxBarrel_
bool ElectronAnalyzer::isolationCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 550 of file ElectronAnalyzer.cc.

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

Referenced by selected().

551  {
552  if (gsfIter->isEB() && vertexTIP > tipMaxBarrel_) return true ;
553  if (gsfIter->isEE() && vertexTIP > tipMaxEndcaps_) return true ;
554 
555  if (gsfIter->dr03TkSumPt() > tkIso03Max_) return true ;
556  if (gsfIter->isEB() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxBarrel_) return true ;
557  if (gsfIter->isEE() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxEndcaps_) return true ;
558  if (gsfIter->isEE() && gsfIter->dr03HcalDepth2TowerSumEt() > hcalIso03Depth2MaxEndcaps_) return true ;
559  if (gsfIter->isEB() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxBarrel_) return true ;
560  if (gsfIter->isEE() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxEndcaps_) return true ;
561 
562  return false ;
563  }
double hcalIso03Depth1MaxBarrel_
double hcalIso03Depth1MaxEndcaps_
double hcalIso03Depth2MaxEndcaps_
bool ElectronAnalyzer::selected ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 519 of file ElectronAnalyzer.cc.

References etCut(), funct::false, generalCut(), idCut(), isolationCut(), Selection_, and funct::true.

Referenced by analyze().

520  {
521  if ((Selection_>0)&&generalCut(gsfIter)) return false ;
522  if ((Selection_>=1)&&etCut(gsfIter)) return false ;
523  if ((Selection_>=2)&&isolationCut(gsfIter,vertexTIP)) return false ;
524  if ((Selection_>=3)&&idCut(gsfIter)) return false ;
525  return true ;
526  }
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

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

Definition at line 60 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::deltaR_
private

Definition at line 72 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmax
private

Definition at line 123 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmin
private

Definition at line 123 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::detamax
private

Definition at line 121 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMaxBarrel_
private

Definition at line 88 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMaxEndcaps_
private

Definition at line 90 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::detamin
private

Definition at line 121 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMinBarrel_
private

Definition at line 87 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMinEndcaps_
private

Definition at line 89 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimatchmax
private

Definition at line 124 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimatchmin
private

Definition at line 124 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimax
private

Definition at line 122 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMaxBarrel_
private

Definition at line 92 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMaxEndcaps_
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimin
private

Definition at line 122 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMinBarrel_
private

Definition at line 91 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMinEndcaps_
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::ecalIso03MaxBarrel_
private

Definition at line 108 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::ecalIso03MaxEndcaps_
private

Definition at line 109 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

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

Definition at line 55 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmax
private

Definition at line 120 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmaxsht
private

Definition at line 120 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::eOverPMaxBarrel_
private

Definition at line 84 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMaxEndcaps_
private

Definition at line 86 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinBarrel_
private

Definition at line 83 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinEndcaps_
private

Definition at line 85 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::etamax
private

Definition at line 116 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::etamin
private

Definition at line 116 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::fhitsmax
private

Definition at line 125 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

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

Definition at line 57 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::h1_chi2
private

Definition at line 200 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_classes
private

Definition at line 280 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_barrel
private

Definition at line 238 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcapsNeg
private

Definition at line 240 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcapsPos
private

Definition at line 239 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_barrel
private

Definition at line 231 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcapsNeg
private

Definition at line 233 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcapsPos
private

Definition at line 232 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_barrel
private

Definition at line 252 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcapsNeg
private

Definition at line 254 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcapsPos
private

Definition at line 253 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_barrel
private

Definition at line 245 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcapsNeg
private

Definition at line 247 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcapsPos
private

Definition at line 246 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_ecalRecHitSumEt_dr03
private

Definition at line 288 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_barrel
private

Definition at line 225 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_endcaps
private

Definition at line 226 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_Eop_barrel
private

Definition at line 219 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_Eop_endcaps
private

Definition at line 220 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_fbrem
private

Definition at line 276 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_foundHits
private

Definition at line 204 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_hcalTowerSumEt_dr03
private

Definition at line 289 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_Hoe_barrel
private

Definition at line 259 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_Hoe_endcaps
private

Definition at line 260 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_lostHits
private

Definition at line 208 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Eta
private

Definition at line 317 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Phi
private

Definition at line 320 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Pt
private

Definition at line 319 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Eta
private

Definition at line 324 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Phi
private

Definition at line 328 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Pt
private

Definition at line 327 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mee
private

Definition at line 302 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mee_os
private

Definition at line 303 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mee_os_bb
private

Definition at line 304 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mee_os_eb
private

Definition at line 306 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mee_os_ee
private

Definition at line 305 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_mva
private

Definition at line 283 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_PFch_dr03
private

Definition at line 290 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_PFem_dr03
private

Definition at line 291 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_PFnh_dr03
private

Definition at line 292 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_provenance
private

Definition at line 284 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_sclEt
private

Definition at line 193 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_barrel
private

Definition at line 263 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_endcaps
private

Definition at line 264 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_sigIEtaIEta5x5_barrel
private

Definition at line 265 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_sigIEtaIEta5x5_endcaps
private

Definition at line 266 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_tkSumPt_dr03
private

Definition at line 287 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_triggers
private

Definition at line 171 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h1_vertexEta
private

Definition at line 184 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_vertexPt_barrel
private

Definition at line 182 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_vertexPt_endcaps
private

Definition at line 183 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h1_vertexZ
private

Definition at line 187 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h2_beamSpotXvsY
private

Definition at line 165 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h2_vertexEtaVsPhi
private

Definition at line 185 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::h2_vertexXvsY
private

Definition at line 186 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

double ElectronAnalyzer::hadronicOverEmMaxBarrel_
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hadronicOverEmMaxEndcaps_
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hcalIso03Depth1MaxBarrel_
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth1MaxEndcaps_
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth2MaxEndcaps_
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hoemax
private

Definition at line 130 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::hoemin
private

Definition at line 130 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

std::string ElectronAnalyzer::inputFile_
private

Definition at line 63 of file ElectronAnalyzer.h.

std::string ElectronAnalyzer::inputInternalPath_
private

Definition at line 65 of file ElectronAnalyzer.h.

bool ElectronAnalyzer::isEB_
private

Definition at line 78 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEcalDriven_
private

Definition at line 81 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEE_
private

Definition at line 79 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isNotEBEEGap_
private

Definition at line 80 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isTrackerDriven_
private

Definition at line 82 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::lhitsmax
private

Definition at line 126 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

std::string ElectronAnalyzer::matchingCondition_
private

Definition at line 69 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

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

Definition at line 56 of file ElectronAnalyzer.h.

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

double ElectronAnalyzer::maxAbsEta_
private

Definition at line 77 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::maxAbsEtaMatchingObject_
private

Definition at line 71 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::maxPtMatchingObject_
private

Definition at line 70 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::mcEnergy[10]
private

Definition at line 156 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcEta[10]
private

Definition at line 156 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPhi[10]
private

Definition at line 156 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPt[10]
private

Definition at line 156 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcQ[10]
private

Definition at line 156 of file ElectronAnalyzer.h.

double ElectronAnalyzer::meemax
private

Definition at line 129 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::meemin
private

Definition at line 129 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::minEt_
private

Definition at line 75 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and etCut().

double ElectronAnalyzer::minPt_
private

Definition at line 76 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::mvaMin_
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindeta
private

Definition at line 121 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch
private

Definition at line 123 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch2D
private

Definition at line 123 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphi
private

Definition at line 122 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch
private

Definition at line 124 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch2D
private

Definition at line 124 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineop
private

Definition at line 120 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineop2D
private

Definition at line 120 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineta
private

Definition at line 116 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineta2D
private

Definition at line 116 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinfhits
private

Definition at line 125 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinhoe
private

Definition at line 130 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinlhits
private

Definition at line 126 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinmee
private

Definition at line 129 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinp
private

Definition at line 119 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinp2D
private

Definition at line 119 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinphi
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinphi2D
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpoptrue
private

Definition at line 128 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpt
private

Definition at line 118 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpt2D
private

Definition at line 118 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpteff
private

Definition at line 118 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz
private

Definition at line 127 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz2D
private

Definition at line 127 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

unsigned int ElectronAnalyzer::nEvents_
private

Definition at line 137 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

std::string ElectronAnalyzer::outputFile_
private

Definition at line 64 of file ElectronAnalyzer.h.

std::string ElectronAnalyzer::outputInternalPath_
private

Definition at line 66 of file ElectronAnalyzer.h.

Referenced by bookHistograms().

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

Definition at line 153 of file ElectronAnalyzer.h.

double ElectronAnalyzer::phimax
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::phimin
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

double ElectronAnalyzer::pmax
private

Definition at line 119 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemax
private

Definition at line 128 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemin
private

Definition at line 128 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::ptmax
private

Definition at line 118 of file ElectronAnalyzer.h.

Referenced by bookHistograms(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::py_chi2VsEta
private

Definition at line 201 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_chi2VsPhi
private

Definition at line 202 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_dEtaSc_propVtxVsPhi
private

Definition at line 234 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_dPhiSc_propVtxVsPhi
private

Definition at line 248 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_EopVsPhi
private

Definition at line 221 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_fbremVsEta
private

Definition at line 277 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_fbremVsPhi
private

Definition at line 278 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_foundHitsVsEta
private

Definition at line 205 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_foundHitsVsPhi
private

Definition at line 206 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_HoeVsPhi
private

Definition at line 261 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_lostHitsVsEta
private

Definition at line 209 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_lostHitsVsPhi
private

Definition at line 210 of file ElectronAnalyzer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* ElectronAnalyzer::py_nClustersVsLs
private

Definition at line 167 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nElectronsVsLs
private

Definition at line 166 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nGsfTracksVsLs
private

Definition at line 168 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nTracksVsLs
private

Definition at line 169 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nVerticesVsLs
private

Definition at line 170 of file ElectronAnalyzer.h.

bool ElectronAnalyzer::readAOD_
private

Definition at line 61 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::seedEta[10]
private

Definition at line 158 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedMomentum[10]
private

Definition at line 158 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPhi[10]
private

Definition at line 158 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPt[10]
private

Definition at line 158 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedQ[10]
private

Definition at line 158 of file ElectronAnalyzer.h.

int ElectronAnalyzer::Selection_
private

Definition at line 54 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and selected().

double ElectronAnalyzer::sigIetaIetaMaxBarrel_
private

Definition at line 96 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMaxEndcaps_
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinBarrel_
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinEndcaps_
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

float ElectronAnalyzer::superclusterEnergy[10]
private

Definition at line 157 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEt[10]
private

Definition at line 157 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEta[10]
private

Definition at line 157 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterPhi[10]
private

Definition at line 157 of file ElectronAnalyzer.h.

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

Definition at line 154 of file ElectronAnalyzer.h.

double ElectronAnalyzer::tipMaxBarrel_
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tipMaxEndcaps_
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tkIso03Max_
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

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

Definition at line 58 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::triggerResults_
private

Definition at line 112 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

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

Definition at line 59 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().