CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
ElectronAnalyzer Class Reference

#include <ElectronAnalyzer.h>

Inheritance diagram for ElectronAnalyzer:
ElectronDqmAnalyzerBase edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &e, const edm::EventSetup &c)
 
virtual void book ()
 
 ElectronAnalyzer (const edm::ParameterSet &conf)
 
virtual ~ElectronAnalyzer ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::GsfElectronCollection
electronCollection_
 
double eopmax
 
double eopmaxsht
 
double eOverPMaxBarrel_
 
double eOverPMaxEndcaps_
 
double eOverPMinBarrel_
 
double eOverPMinEndcaps_
 
double etamax
 
double etamin
 
double fhitsmax
 
edm::EDGetTokenT
< reco::GsfTrackCollection
gsftrackCollection_
 
MonitorElementh1_chi2
 
MonitorElementh1_classes
 
MonitorElementh1_dEtaEleCl_propOut_barrel
 
MonitorElementh1_dEtaEleCl_propOut_endcaps
 
MonitorElementh1_dEtaSc_propVtx_barrel
 
MonitorElementh1_dEtaSc_propVtx_endcaps
 
MonitorElementh1_dPhiEleCl_propOut_barrel
 
MonitorElementh1_dPhiEleCl_propOut_endcaps
 
MonitorElementh1_dPhiSc_propVtx_barrel
 
MonitorElementh1_dPhiSc_propVtx_endcaps
 
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_mva
 
MonitorElementh1_provenance
 
MonitorElementh1_sclEt
 
MonitorElementh1_sclSigEtaEta_barrel
 
MonitorElementh1_sclSigEtaEta_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
 
bool isEB_
 
bool isEcalDriven_
 
bool isEE_
 
bool isNotEBEEGap_
 
bool isTrackerDriven_
 
double lhitsmax
 
std::string matchingCondition_
 
edm::EDGetTokenT
< reco::SuperClusterCollection
matchingObjectCollection_
 
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_
 
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::TrackCollection
trackCollection_
 
edm::InputTag triggerResults_
 
edm::EDGetTokenT
< reco::VertexCollection
vertexCollection_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from ElectronDqmAnalyzerBase
void beginJob ()
 
MonitorElementbookH1 (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")
 
MonitorElementbookH1andDivide (const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="", const std::string &setEfficiencyFlag="")
 
MonitorElementbookH1andDivide (const std::string &name, const std::string &num, const std::string &denom, const std::string &titleX, const std::string &titleY, const std::string &title="", const std::string &setEfficiencyFlag="")
 
MonitorElementbookH1withSumw2 (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 (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")
 
MonitorElementbookH2andDivide (const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
 
MonitorElementbookH2andDivide (const std::string &name, const std::string &num, const std::string &denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
 
MonitorElementbookH2withSumw2 (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 (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 (const std::string &name, MonitorElement *original, const std::string &title="")
 
MonitorElementcloneH1 (const std::string &name, const std::string &original, const std::string &title="")
 
 ElectronDqmAnalyzerBase (const edm::ParameterSet &conf)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 
virtual void finalize ()
 
bool finalStepDone ()
 
MonitorElementget (const std::string &name)
 
MonitorElementprofileX (MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
 
MonitorElementprofileX (const std::string &me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
 
MonitorElementprofileY (MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
 
MonitorElementprofileY (const std::string &me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
 
void remove (const std::string &name)
 
void remove_other_dirs ()
 
void setBookIndex (short)
 
void setBookPrefix (const std::string &)
 
int verbosity ()
 
virtual ~ElectronDqmAnalyzerBase ()
 
- 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 23 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 // HLTPathsByName_= conf.getParameter<std::vector<std::string > >("HltPaths");
87 // HLTPathsByIndex_.resize(HLTPathsByName_.size());
88 
89  // histos limits and binning
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  }
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 ( )
virtual

Definition at line 154 of file ElectronAnalyzer.cc.

155  {}

Member Function Documentation

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

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 316 of file ElectronAnalyzer.cc.

References funct::abs(), beamSpotTag_, computeInvMass(), deltaR(), deltaR_, electronCollection_, edm::EventID::event(), edm::false, MonitorElement::Fill(), edm::Event::getByToken(), gsfElectrons_cfi::gsfElectrons, gsftrackCollection_, h1_chi2, h1_classes, h1_dEtaEleCl_propOut_barrel, h1_dEtaEleCl_propOut_endcaps, h1_dEtaSc_propVtx_barrel, h1_dEtaSc_propVtx_endcaps, h1_dPhiEleCl_propOut_barrel, h1_dPhiEleCl_propOut_endcaps, h1_dPhiSc_propVtx_barrel, h1_dPhiSc_propVtx_endcaps, 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_mva, h1_provenance, h1_sclEt, h1_sclSigEtaEta_barrel, h1_sclSigEtaEta_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(), trackCollection_, testEve_cfg::tracks, and vertexCollection_.

317 {
318  nEvents_++ ;
319 
321  iEvent.getByToken(electronCollection_,gsfElectrons) ;
323  iEvent.getByToken(matchingObjectCollection_,recoClusters) ;
325  iEvent.getByToken(trackCollection_,tracks);
327  iEvent.getByToken(gsftrackCollection_,gsfTracks);
329  iEvent.getByToken(vertexCollection_,vertices);
330  edm::Handle<reco::BeamSpot> recoBeamSpotHandle ;
331  iEvent.getByToken(beamSpotTag_,recoBeamSpotHandle) ;
332  const BeamSpot bs = *recoBeamSpotHandle ;
333 
334  edm::EventNumber_t ievt = iEvent.id().event();
335  edm::RunNumber_t irun = iEvent.id().run();
336  edm::LuminosityBlockNumber_t ils = iEvent.luminosityBlock();
337 
338  edm::LogInfo("ElectronAnalyzer::analyze")
339  <<"Treating "<<gsfElectrons.product()->size()<<" electrons"
340  <<" from event "<<ievt<<" in run "<<irun<<" and lumiblock "<<ils ;
341  //h1_num_->Fill((*gsfElectrons).size()) ;
342 
343  // selected rec electrons
344  reco::GsfElectronCollection::const_iterator gsfIter ;
345  for
346  ( gsfIter=gsfElectrons->begin() ;
347  gsfIter!=gsfElectrons->end();
348  gsfIter++ )
349  {
350  // vertex TIP
351  double vertexTIP =
352  (gsfIter->vertex().x()-bs.position().x()) * (gsfIter->vertex().x()-bs.position().x()) +
353  (gsfIter->vertex().y()-bs.position().y()) * (gsfIter->vertex().y()-bs.position().y()) ;
354  vertexTIP = sqrt(vertexTIP) ;
355 
356  // select electrons
357  if (!selected(gsfIter,vertexTIP)) continue ;
358 
359  // basic quantities
360  if (gsfIter->isEB()) h1_vertexPt_barrel->Fill( gsfIter->pt() );
361  if (gsfIter->isEE()) h1_vertexPt_endcaps->Fill( gsfIter->pt() );
362  h1_vertexEta->Fill( gsfIter->eta() );
363 // h1_vertexPhi->Fill( gsfIter->phi() );
364  h2_vertexEtaVsPhi->Fill( gsfIter->eta(), gsfIter->phi() );
365 // h1_vertexX->Fill( gsfIter->vertex().x() );
366 // h1_vertexY->Fill( gsfIter->vertex().y() );
367  h2_vertexXvsY->Fill( gsfIter->vertex().x(), gsfIter->vertex().y() );
368  h1_vertexZ->Fill( gsfIter->vertex().z() );
369 // h1_vertexP->Fill( gsfIter->p() );
370 // h1_Et->Fill( gsfIter->superCluster()->energy()/cosh( gsfIter->superCluster()->eta()) );
371 // h1_vertexTIP->Fill( vertexTIP );
372 // h1_charge->Fill( gsfIter->charge() );
373 
374  // supercluster related distributions
375  reco::SuperClusterRef sclRef = gsfIter->superCluster() ;
376  // ALREADY DONE IN GSF ELECTRON CORE
377  // if (!gsfIter->ecalDrivenSeed()&&gsfIter->trackerDrivenSeed())
378  // sclRef = gsfIter->parentSuperCluster() ;
379 // h1_sclEn->Fill(sclRef->energy());
380 // h1_sclEta->Fill(sclRef->eta());
381 // h1_sclPhi->Fill(sclRef->phi());
382  double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
383  double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
384  h1_sclEt->Fill(sclRef->energy()*(Rt/R));
385 
386  // track related distributions
387 // h1_ambiguousTracks->Fill( gsfIter->ambiguousGsfTracksSize() );
388 // h2_ambiguousTracksVsEta->Fill( gsfIter->eta(), gsfIter->ambiguousGsfTracksSize() );
389 // h2_ambiguousTracksVsPhi->Fill( gsfIter->phi(), gsfIter->ambiguousGsfTracksSize() );
390 // h2_ambiguousTracksVsPt->Fill( gsfIter->pt(), gsfIter->ambiguousGsfTracksSize() );
391  if (!readAOD_)
392  { // track extra does not exist in AOD
393  h1_foundHits->Fill( gsfIter->gsfTrack()->numberOfValidHits() );
394  py_foundHitsVsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->numberOfValidHits() );
395  py_foundHitsVsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->numberOfValidHits() );
396  //h2_foundHitsVsPt->Fill( gsfIter->pt(), gsfIter->gsfTrack()->numberOfValidHits() );
397  h1_lostHits->Fill( gsfIter->gsfTrack()->numberOfLostHits() );
398  py_lostHitsVsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->numberOfLostHits() );
399  py_lostHitsVsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->numberOfLostHits() );
400  //h2_lostHitsVsPt->Fill( gsfIter->pt(), gsfIter->gsfTrack()->numberOfLostHits() );
401  h1_chi2->Fill( gsfIter->gsfTrack()->normalizedChi2() );
402  py_chi2VsEta->Fill( gsfIter->eta(), gsfIter->gsfTrack()->normalizedChi2() );
403  py_chi2VsPhi->Fill( gsfIter->phi(), gsfIter->gsfTrack()->normalizedChi2() );
404  //h2_chi2VsPt->Fill( gsfIter->pt(), gsfIter->gsfTrack()->normalizedChi2() );
405  }
406 
407  // match distributions
408  if (gsfIter->isEB())
409  {
410  h1_Eop_barrel->Fill( gsfIter->eSuperClusterOverP() );
411  h1_EeleOPout_barrel->Fill( gsfIter->eEleClusterOverPout() );
412  h1_dEtaSc_propVtx_barrel->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
413  h1_dEtaEleCl_propOut_barrel->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
414  h1_dPhiSc_propVtx_barrel->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
415  h1_dPhiEleCl_propOut_barrel->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
416  h1_Hoe_barrel->Fill(gsfIter->hadronicOverEm());
417  h1_sclSigEtaEta_barrel->Fill( gsfIter->scSigmaEtaEta() );
418  }
419  if (gsfIter->isEE())
420  {
421  h1_Eop_endcaps->Fill( gsfIter->eSuperClusterOverP() );
422  h1_EeleOPout_endcaps->Fill( gsfIter->eEleClusterOverPout() );
423  h1_dEtaSc_propVtx_endcaps->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
424  h1_dEtaEleCl_propOut_endcaps->Fill(gsfIter->deltaEtaEleClusterTrackAtCalo());
425  h1_dPhiSc_propVtx_endcaps->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
426  h1_dPhiEleCl_propOut_endcaps->Fill(gsfIter->deltaPhiEleClusterTrackAtCalo());
427  h1_Hoe_endcaps->Fill(gsfIter->hadronicOverEm());
428  h1_sclSigEtaEta_endcaps->Fill( gsfIter->scSigmaEtaEta() );
429  }
430  py_EopVsPhi->Fill( gsfIter->phi(), gsfIter->eSuperClusterOverP() );
431 // h2_EopVsPt->Fill( gsfIter->pt(), gsfIter->eSuperClusterOverP() );
432 // h2_EeleOPoutVsPhi->Fill( gsfIter->phi(), gsfIter->eEleClusterOverPout() );
433 // h2_EeleOPoutVsPt->Fill( gsfIter->pt(), gsfIter->eEleClusterOverPout() );
434  py_dEtaSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaEtaSuperClusterTrackAtVtx());
435 // h2_dEtaSc_propVtxVsPt->Fill(gsfIter->pt(), gsfIter->deltaEtaSuperClusterTrackAtVtx());
436 // h2_dEtaEleCl_propOutVsPhi->Fill(gsfIter->phi(), gsfIter->deltaEtaEleClusterTrackAtCalo());
437 // h2_dEtaEleCl_propOutVsPt->Fill(gsfIter->pt(), gsfIter->deltaEtaEleClusterTrackAtCalo());
438  py_dPhiSc_propVtxVsPhi->Fill(gsfIter->phi(), gsfIter->deltaPhiSuperClusterTrackAtVtx());
439 // h2_dPhiSc_propVtxVsPt->Fill(gsfIter->pt(), gsfIter->deltaPhiSuperClusterTrackAtVtx());
440 // h2_dPhiEleCl_propOutVsPhi->Fill(gsfIter->phi(), gsfIter->deltaPhiEleClusterTrackAtCalo());
441 // h2_dPhiEleCl_propOutVsPt->Fill(gsfIter->pt(), gsfIter->deltaPhiEleClusterTrackAtCalo());
442  py_HoeVsPhi->Fill(gsfIter->phi(), gsfIter->hadronicOverEm());
443 // h2_HoeVsPt->Fill(gsfIter->pt(), gsfIter->hadronicOverEm());
444 
445 // // from gsf track interface, hence using mean
446 // if (!readAOD_)
447 // { // track extra does not exist in AOD
448 // h_PinMnPout->Fill( gsfIter->gsfTrack()->innerMomentum().R() - gsfIter->gsfTrack()->outerMomentum().R() );
449 // //h_outerP->Fill( gsfIter->gsfTrack()->outerMomentum().R() );
450 // h_innerPt_mean->Fill( gsfIter->gsfTrack()->innerMomentum().Rho() );
451 // h_outerPt_mean->Fill( gsfIter->gsfTrack()->outerMomentum().Rho() );
452 // }
453 //
454 // // from electron interface, hence using mode
455 // h_PinMnPout_mode->Fill( gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R() );
456 // //h_outerP_mode->Fill( gsfIter->trackMomentumOut().R() );
457 // h_outerPt_mode->Fill( gsfIter->trackMomentumOut().Rho() );
458 //
459 
460  // fbrem, classes
461  h1_fbrem->Fill(gsfIter->fbrem()) ;
462  py_fbremVsEta->Fill(gsfIter->eta(),gsfIter->fbrem()) ;
463  py_fbremVsPhi->Fill(gsfIter->phi(),gsfIter->fbrem()) ;
464 // h2_fbremVsPt->Fill(gsfIter->pt(),gsfIter->fbrem()) ;
465  int eleClass = gsfIter->classification() ;
466  if (gsfIter->isEE()) eleClass+=5;
467  h1_classes->Fill(eleClass) ;
468 
469 
470  // pflow
471  h1_mva->Fill(gsfIter->mva_e_pi()) ;
472  if (gsfIter->ecalDrivenSeed()) h1_provenance->Fill(1.) ;
473  if (gsfIter->trackerDrivenSeed()) h1_provenance->Fill(-1.) ;
474  if (gsfIter->trackerDrivenSeed()||gsfIter->ecalDrivenSeed()) h1_provenance->Fill(0.);
475  if (gsfIter->trackerDrivenSeed()&&!gsfIter->ecalDrivenSeed()) h1_provenance->Fill(-2.);
476  if (!gsfIter->trackerDrivenSeed()&&gsfIter->ecalDrivenSeed()) h1_provenance->Fill(2.);
477 
478  // isolation
479  h1_tkSumPt_dr03->Fill(gsfIter->dr03TkSumPt());
480  h1_ecalRecHitSumEt_dr03->Fill(gsfIter->dr03EcalRecHitSumEt());
481  h1_hcalTowerSumEt_dr03->Fill(gsfIter->dr03HcalTowerSumEt());
482 // h1_hcalDepth1TowerSumEt_dr03->Fill(gsfIter->dr03HcalDepth1TowerSumEt());
483 // h1_hcalDepth2TowerSumEt_dr03->Fill(gsfIter->dr03HcalDepth2TowerSumEt());
484 // h1_tkSumPt_dr04->Fill(gsfIter->dr04TkSumPt());
485 // h1_ecalRecHitSumEt_dr04->Fill(gsfIter->dr04EcalRecHitSumEt());
486 // h1_hcalTowerSumEt_dr04->Fill(gsfIter->dr04HcalTowerSumEt());
489 
490  }
491 
492  // association matching object-reco electrons
493  int matchingObjectNum=0;
494  reco::SuperClusterCollection::const_iterator moIter ;
495  for
496  ( moIter=recoClusters->begin() ;
497  moIter!=recoClusters->end() ;
498  moIter++ )
499  {
500 // // number of matching objects
501  matchingObjectNum++;
502 
503  if
504  ( moIter->energy()/cosh(moIter->eta())>maxPtMatchingObject_ ||
505  std::abs(moIter->eta())> maxAbsEtaMatchingObject_ )
506  { continue ; }
507 
508 // // suppress the endcaps
509 // //if (std::abs(moIter->eta()) > 1.5) continue;
510 // // select central z
511 // //if ( std::abs((*mcIter)->production_vertex()->position().z())>50.) continue;
512 
513  h1_matchingObject_Eta->Fill( moIter->eta() );
514 // h1_matchingObject_AbsEta->Fill( std::abs(moIter->eta()) );
515 // h1_matchingObject_P->Fill( moIter->energy() );
516  h1_matchingObject_Pt->Fill( moIter->energy()/cosh(moIter->eta()) );
517  h1_matchingObject_Phi->Fill( moIter->phi() );
518 // h1_matchingObject_Z->Fill( moIter->z() );
519 
520  bool okGsfFound = false ;
521  double gsfOkRatio = 999999999. ;
522  reco::GsfElectron bestGsfElectron ;
523  reco::GsfElectronCollection::const_iterator gsfIter ;
524  for
525  ( gsfIter=gsfElectrons->begin() ;
526  gsfIter!=gsfElectrons->end() ;
527  gsfIter++ )
528  {
529  reco::GsfElectronCollection::const_iterator gsfIter2 ;
530  for
531  ( gsfIter2=gsfIter+1;
532  gsfIter2!=gsfElectrons->end() ;
533  gsfIter2++ )
534  {
535  float invMass = computeInvMass(*gsfIter,*gsfIter2) ;
536  if(matchingObjectNum == 1){h1_mee->Fill(invMass) ;}
537  if ((matchingObjectNum == 1) && (((gsfIter->charge())*(gsfIter2->charge()))<0.))
538  { h1_mee_os->Fill(invMass) ; }
539  }
540 
541  double vertexTIP =
542  (gsfIter->vertex().x()-bs.position().x()) * (gsfIter->vertex().x()-bs.position().x()) +
543  (gsfIter->vertex().y()-bs.position().y()) * (gsfIter->vertex().y()-bs.position().y()) ;
544  vertexTIP = sqrt(vertexTIP) ;
545 
546  // select electrons
547  if (!selected(gsfIter,vertexTIP)) continue ;
548 
549  // matching with a cone in eta phi
550  if ( matchingCondition_ == "Cone" )
551  {
552  double dphi = gsfIter->phi()-moIter->phi() ;
553  if (std::abs(dphi)>CLHEP::pi)
554  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
555  double deltaR = sqrt(pow((moIter->eta()-gsfIter->eta()),2) + pow(dphi,2)) ;
556  if ( deltaR < deltaR_ )
557  {
558  //if ( (genPc->pdg_id() == 11) && (gsfIter->charge() < 0.) || (genPc->pdg_id() == -11) &&
559  //(gsfIter->charge() > 0.) ){
560  double tmpGsfRatio = gsfIter->p()/moIter->energy() ;
561  if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) )
562  {
563  gsfOkRatio = tmpGsfRatio;
564  bestGsfElectron=*gsfIter;
565  okGsfFound = true;
566  }
567  //}
568  }
569  }
570  } // loop over rec ele to look for the best one
571  if (okGsfFound)
572  {
573  // generated distributions for matched electrons
574  h1_matchedObject_Eta->Fill( moIter->eta() );
575  // h1_matchedObject_AbsEta->Fill( std::abs(moIter->eta()) );
576  h1_matchedObject_Pt->Fill( moIter->energy()/cosh(moIter->eta()) );
577  h1_matchedObject_Phi->Fill( moIter->phi() );
578  // h1_matchedObject_Z->Fill( moIter->z() );
579 
580  //classes
581  // int eleClass = bestGsfElectron.classification() ;
582  // h_classes->Fill(eleClass) ;
583  // h_matchedEle_eta->Fill(std::abs(bestGsfElectron.eta()));
584  // if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_matchedEle_eta_golden->Fill(std::abs(bestGsfElectron.eta()));
585  // if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h_matchedEle_eta_shower->Fill(std::abs(bestGsfElectron.eta()));
586  // //if (bestGsfElectron.classification() == GsfElectron::BIGBREM) h_matchedEle_eta_bbrem->Fill(std::abs(bestGsfElectron.eta()));
587  // //if (bestGsfElectron.classification() == GsfElectron::OLDNARROW) h_matchedEle_eta_narrow->Fill(std::abs(bestGsfElectron.eta()));
588  }
589 
590  } // loop overmatching object
591 
592 // h_matchingObject_Num->Fill(matchingObjectNum) ;
593 
594  }
MonitorElement * h1_foundHits
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 * py_lostHitsVsEta
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_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
MonitorElement * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
unsigned int LuminosityBlockNumber_t
MonitorElement * h1_matchedObject_Phi
void Fill(long long x)
const Double_t pi
MonitorElement * h1_tkSumPt_dr03
int iEvent
Definition: GenABIO.cc:230
MonitorElement * h2_vertexXvsY
MonitorElement * py_fbremVsEta
MonitorElement * h1_provenance
MonitorElement * h1_dEtaEleCl_propOut_barrel
MonitorElement * py_EopVsPhi
MonitorElement * h1_Eop_barrel
T sqrt(T t)
Definition: SSEVec.h:48
MonitorElement * py_dEtaSc_propVtxVsPhi
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::string matchingCondition_
MonitorElement * h1_dEtaEleCl_propOut_endcaps
MonitorElement * h1_Hoe_endcaps
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 * h1_dPhiEleCl_propOut_endcaps
MonitorElement * py_fbremVsPhi
T const * product() const
Definition: Handle.h:81
MonitorElement * py_foundHitsVsPhi
tuple tracks
Definition: testEve_cfg.py:39
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_EeleOPout_barrel
MonitorElement * h1_dEtaSc_propVtx_barrel
float computeInvMass(const reco::GsfElectron &e1, const reco::GsfElectron &e2)
MonitorElement * h1_matchingObject_Phi
MonitorElement * h1_dPhiSc_propVtx_endcaps
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
MonitorElement * h1_sclSigEtaEta_endcaps
const Point & position() const
position
Definition: BeamSpot.h:62
unsigned int RunNumber_t
volatile std::atomic< bool > shutdown_flag false
MonitorElement * py_foundHitsVsEta
edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
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_dEtaSc_propVtx_endcaps
MonitorElement * h1_mva
void ElectronAnalyzer::book ( )
virtual

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_endcaps, h1_dEtaSc_propVtx_barrel, h1_dEtaSc_propVtx_endcaps, h1_dPhiEleCl_propOut_barrel, h1_dPhiEleCl_propOut_endcaps, h1_dPhiSc_propVtx_barrel, h1_dPhiSc_propVtx_endcaps, 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_mva, h1_provenance, h1_sclEt, h1_sclSigEtaEta_barrel, h1_sclSigEtaEta_endcaps, h1_tkSumPt_dr03, h1_vertexEta, h1_vertexPt_barrel, h1_vertexPt_endcaps, h1_vertexZ, h2_vertexEtaVsPhi, h2_vertexXvsY, hoemax, hoemin, prof2calltree::l, edm::EDConsumerBase::labelsForToken(), lhitsmax, matchingObjectCollection_, meemax, meemin, edm::EDConsumerBase::Labels::module, nbindetamatch, nbindphimatch, nbineop, nbineta, nbineta2D, nbinfhits, nbinhoe, nbinmee, nbinphi, nbinphi2D, nbinpt, nbinpteff, nbinxyz, nbinxyz2D, nEvents_, 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(), and AlCaHLTBitMon_QueryRunRegistry::string.

158  {
159  nEvents_ = 0 ;
160  //nAfterTrigger_ = 0 ;
161 
162 
163  // basic quantities
164 // h1_num_= bookH1("num","# rec electrons",20, 0.,20.,"N_{ele}");
165 // h1_vertexP = bookH1("vertexP", "ele p at vertex", nbinp,0.,pmax,"p_{vertex} (GeV/c)");
166 // h1_Et = bookH1("Et","ele SC transverse energy", nbinpt,0.,ptmax,"E_{T} (GeV)");
167 // h1_vertexTIP = bookH1("vertexTIP","ele transverse impact parameter (wrt bs)",90,0.,0.15,"TIP (cm)");
168 // h1_charge = bookH1("charge","ele charge",5,-2.,2.,"charge");
169  h1_vertexPt_barrel = bookH1("vertexPt_barrel","ele transverse momentum in barrel",nbinpt,0.,ptmax,"p_{T vertex} (GeV/c)");
170  h1_vertexPt_endcaps = bookH1("vertexPt_endcaps","ele transverse momentum in endcaps",nbinpt,0.,ptmax,"p_{T vertex} (GeV/c)");
171  h1_vertexEta = bookH1("vertexEta","ele momentum #eta",nbineta,etamin,etamax,"#eta");
172 // h1_vertexPhi = bookH1("vertexPhi","ele momentum #phi",nbinphi,phimin,phimax,"#phi (rad)");
173  h2_vertexEtaVsPhi = bookH2("vertexEtaVsPhi","ele momentum #eta vs #phi",nbineta2D,etamin,etamax,nbinphi2D,phimin,phimax,"#eta","#phi (rad)");
174 // h1_vertexX = bookH1("vertexX","ele vertex x",nbinxyz,-0.1,0.1,"x (cm)");
175 // h1_vertexY = bookH1("vertexY","ele vertex y",nbinxyz,-0.1,0.1,"y (cm)");
176  h2_vertexXvsY = bookH2("vertexXvsY","ele vertex x vs y",nbinxyz2D,-0.1,0.1,nbinxyz2D,-0.1,0.1,"x (cm)","y (cm)");
177  h1_vertexZ = bookH1("vertexZ","ele vertex z",nbinxyz,-25, 25,"z (cm)");
178 
179  // super-clusters
180 // h1_sclEn = bookH1("sclEnergy","ele supercluster energy",nbinp,0.,pmax,"E (GeV)");
181 // h1_sclEta = bookH1("sclEta","ele supercluster #eta",nbineta,etamin,etamax,"#eta");
182 // h1_sclPhi = bookH1("sclPhi","ele supercluster #phi",nbinphi,phimin,phimax,"#phi (rad)");
183  h1_sclEt = bookH1("sclEt","ele supercluster transverse energy",nbinpt,0.,ptmax,"E_{T} (GeV)");
184 
185  // electron track
186 // h1_ambiguousTracks = bookH1("ambiguousTracks","ele # ambiguous tracks", 5,0.,5.,"N_{amb. tk}");
187 // h2_ambiguousTracksVsEta = bookH2("ambiguousTracksVsEta","ele # ambiguous tracks vs #eta", nbineta2D,etamin,etamax,5,0.,5.,"#eta","N_{amb. tk}");
188 // h2_ambiguousTracksVsPhi = bookH2("ambiguousTracksVsPhi","ele # ambiguous tracks vs #phi", nbinphi2D,phimin,phimax,5,0.,5.,"#phi(rad)","N_{amb. tk}");
189 // h2_ambiguousTracksVsPt = bookH2("ambiguousTracksVsPt","ele # ambiguous tracks vs pt", nbinpt2D,0.,ptmax,5,0.,5.,"p_{T} (GeV/c),"N_{amb. tk}");
190  h1_chi2 = bookH1("chi2","ele track #chi^{2}",100,0.,15.,"#Chi^{2}");
191  py_chi2VsEta = bookP1("chi2VsEta","ele track #chi^{2} vs #eta",nbineta2D,etamin,etamax,0.,15.,"#eta","<#chi^{2}>");
192  py_chi2VsPhi = bookP1("chi2VsPhi","ele track #chi^{2} vs #phi",nbinphi2D,phimin,phimax,0.,15.,"#phi (rad)","<#chi^{2}>");
193  //h2_chi2VsPt = bookH2("chi2VsPt","ele track #chi^{2} vs pt",nbinpt2D,0.,ptmax,50,0.,15.,"p_{T} (GeV/c)","<#chi^{2}>");
194  h1_foundHits = bookH1("foundHits","ele track # found hits",nbinfhits,0.,fhitsmax,"N_{hits}");
195  py_foundHitsVsEta = bookP1("foundHitsVsEta","ele track # found hits vs #eta",nbineta2D,etamin,etamax,0.,fhitsmax,"#eta","<# hits>");
196  py_foundHitsVsPhi = bookP1("foundHitsVsPhi","ele track # found hits vs #phi",nbinphi2D,phimin,phimax,0.,fhitsmax,"#phi (rad)","<# hits>");
197 // h2_foundHitsVsPt = bookH2("foundHitsVsPt","ele track # found hits vs pt",nbinpt2D,0.,ptmax,nbinfhits,0.,fhitsmax,"p_{T} (GeV/c)","<# hits>");
198  h1_lostHits = bookH1("lostHits","ele track # lost hits",5,0.,5.,"N_{lost hits}");
199  py_lostHitsVsEta = bookP1("lostHitsVsEta","ele track # lost hits vs #eta",nbineta2D,etamin,etamax,0.,lhitsmax,"#eta","<# hits>");
200  py_lostHitsVsPhi = bookP1("lostHitsVsPhi","ele track # lost hits vs #eta",nbinphi2D,phimin,phimax,0.,lhitsmax,"#phi (rad)","<# hits>");
201 // h2_lostHitsVsPt = bookH2("lostHitsVsPt","ele track # lost hits vs #eta",nbinpt2D,0.,ptmax,nbinlhits,0.,lhitsmax,"p_{T} (GeV/c)","<# hits>");
202 
203  // electron matching and ID
204  //h1_EoPout = bookH1( "EoPout","ele E/P_{out}",nbineop,0.,eopmax,"E_{seed}/P_{out}");
205  //h1_dEtaCl_propOut = bookH1( "dEtaCl_propOut","ele #eta_{cl} - #eta_{tr}, prop from outermost",nbindetamatch,detamatchmin,detamatchmax,"#eta_{seedcl} - #eta_{tr}");
206  //h1_dPhiCl_propOut = bookH1( "dPhiCl_propOut","ele #phi_{cl} - #phi_{tr}, prop from outermost",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{seedcl} - #phi_{tr} (rad)");
207  //h1_outerP = bookH1( "outerP","ele track outer p, mean",nbinp,0.,pmax,"P_{out} (GeV/c)");
208  //h1_outerP_mode = bookH1( "outerP_mode","ele track outer p, mode",nbinp,0.,pmax,"P_{out} (GeV/c)");
209  h1_Eop_barrel = bookH1( "Eop_barrel","ele E/P_{vertex} in barrel",nbineop,0.,eopmax,"E/P_{vertex}");
210  h1_Eop_endcaps = bookH1( "Eop_endcaps","ele E/P_{vertex} in endcaps",nbineop,0.,eopmax,"E/P_{vertex}");
211  py_EopVsPhi = bookP1("EopVsPhi","ele E/P_{vertex} vs #phi",nbinphi2D,phimin,phimax,0.,eopmax,"#phi (rad)","<E/P_{vertex}>");
212 // h2_EopVsPt = bookH2("EopVsPt","ele E/P_{vertex} vs pt",nbinpt2D,0.,ptmax,nbineop,0.,eopmax,"p_{T} (GeV/c)","E/P_{vertex}");
213  h1_EeleOPout_barrel = bookH1( "EeleOPout_barrel","ele E_{ele}/P_{out} in barrel",nbineop,0.,eopmax,"E_{ele}/P_{out}");
214  h1_EeleOPout_endcaps = bookH1( "EeleOPout_endcaps","ele E_{ele}/P_{out} in endcaps",nbineop,0.,eopmax,"E_{ele}/P_{out}");
215 // h2_EeleOPoutVsPhi = bookH2("EeleOPoutVsPhi","ele E_{ele}/P_{out} vs #phi",nbinphi2D,phimin,phimax,nbineop,0.,eopmax,"#phi","E_{ele}/P_{out}");
216 // h2_EeleOPoutVsPt = bookH2("EeleOPoutVsPt","ele E_{ele}/P_{out} vs pt",nbinpt2D,0.,ptmax,nbineop,0.,eopmax,"p_{T} (GeV/c)","E_{ele}/P_{out}");
217  h1_dEtaSc_propVtx_barrel = bookH1( "dEtaSc_propVtx_barrel","ele #eta_{sc} - #eta_{tr}, prop from vertex, in barrel",nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
218  h1_dEtaSc_propVtx_endcaps = bookH1( "dEtaSc_propVtx_endcaps","ele #eta_{sc} - #eta_{tr}, prop from vertex, in endcaps",nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
219  py_dEtaSc_propVtxVsPhi = bookP1("dEtaSc_propVtxVsPhi","ele #eta_{sc} - #eta_{tr}, prop from vertex vs #phi",nbinphi2D,phimin,phimax,detamatchmin,detamatchmax,"#phi (rad)","<#eta_{sc} - #eta_{tr}>");
220 // h2_dEtaSc_propVtxVsPt = bookH2("dEtaSc_propVtxVsPt","ele #eta_{sc} - #eta_{tr}, prop from vertex vs pt",nbinpt2D,0.,ptmax,nbindetamatch,detamatchmin,detamatchmax,"#eta_{sc} - #eta_{tr}");
221  h1_dEtaEleCl_propOut_barrel = bookH1( "dEtaEleCl_propOut_barrel","ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in barrel",nbindetamatch,detamatchmin,detamatchmax,"#eta_{elecl} - #eta_{tr}");
222  h1_dEtaEleCl_propOut_endcaps = bookH1( "dEtaEleCl_propOut_endcaps","ele #eta_{EleCl} - #eta_{tr}, prop from outermost, in endcaps",nbindetamatch,detamatchmin,detamatchmax,"#eta_{elecl} - #eta_{tr}");
223 // h2_dEtaEleCl_propOutVsPhi = bookH2("dEtaEleCl_propOutVsPhi","ele #eta_{EleCl} - #eta_{tr}, prop from outermost vs #phi",nbinphi2D,phimin,phimax,nbindetamatch,detamatchmin,detamatchmax,"#phi (rad)","#eta_{elecl} - #eta_{tr}");
224 // h2_dEtaEleCl_propOutVsPt = bookH2("dEtaEleCl_propOutVsPt","ele #eta_{EleCl} - #eta_{tr}, prop from outermost vs pt",nbinpt2D,0.,ptmax,nbindetamatch,detamatchmin,detamatchmax,"p_{T} (GeV/c)","#eta_{elecl} - #eta_{tr}");
225  h1_dPhiSc_propVtx_barrel = bookH1( "dPhiSc_propVtx_barrel","ele #phi_{sc} - #phi_{tr}, prop from vertex, in barrel",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{sc} - #phi_{tr} (rad)");
226  h1_dPhiSc_propVtx_endcaps = bookH1( "dPhiSc_propVtx_endcaps","ele #phi_{sc} - #phi_{tr}, prop from vertex, in endcaps",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{sc} - #phi_{tr} (rad)");
227  py_dPhiSc_propVtxVsPhi = bookP1("dPhiSc_propVtxVsPhi","ele #phi_{sc} - #phi_{tr}, prop from vertex vs #phi",nbinphi2D,phimin,phimax,dphimatchmin,dphimatchmax,"#phi (rad)","<#phi_{sc} - #phi_{tr}> (rad)");
228 // h2_dPhiSc_propVtxVsPt = bookH2("dPhiSc_propVtxVsPt","ele #phi_{sc} - #phi_{tr}, prop from vertex vs pt",nbinpt2D,0.,ptmax,nbindphimatch,dphimatchmin,dphimatchmax,"p_{T} (GeV/c)","#phi_{sc} - #phi_{tr} (rad)");
229  h1_dPhiEleCl_propOut_barrel = bookH1( "dPhiEleCl_propOut_barrel","ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in barrel",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
230  h1_dPhiEleCl_propOut_endcaps = bookH1( "dPhiEleCl_propOut_endcaps","ele #phi_{EleCl} - #phi_{tr}, prop from outermost, in endcaps",nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
231 // h2_dPhiEleCl_propOutVsPhi = bookH2("dPhiEleCl_propOutVsPhi","ele #phi_{EleCl} - #phi_{tr}, prop from outermost vs #phi",nbinphi2D,phimin,phimax,nbindphimatch,dphimatchmin,dphimatchmax,"#phi_{elecl} - #phi_{tr} (rad)");
232 // h2_dPhiEleCl_propOutVsPt = bookH2("dPhiEleCl_propOutVsPt","ele #phi_{EleCl} - #phi_{tr}, prop from outermost vs pt",nbinpt2D,0.,ptmax,nbindphimatch,dphimatchmin,dphimatchmax,"p_{T} (GeV/c)","#phi_{elecl} - #phi_{tr} (rad)");
233  h1_Hoe_barrel = bookH1("Hoe_barrel","ele hadronic energy / em energy, in barrel", nbinhoe, hoemin, hoemax,"H/E","Events","ELE_LOGY E1 P") ;
234  h1_Hoe_endcaps = bookH1("Hoe_endcaps","ele hadronic energy / em energy, in endcaps", nbinhoe, hoemin, hoemax,"H/E","Events","ELE_LOGY E1 P") ;
235  py_HoeVsPhi = bookP1("HoeVsPhi","ele hadronic energy / em energy vs #phi",nbinphi2D,phimin,phimax,hoemin,hoemax,"#phi (rad)","<H/E>","E1 P") ;
236 // h2_HoeVsPt = bookH2("HoeVsPt","ele hadronic energy / em energy vs pt",nbinpt2D,0.,ptmax,nbinhoe,hoemin,hoemax,"p_{T} (GeV/c)","<H/E>","ELE_LOGY COLZ") ;
237  h1_sclSigEtaEta_barrel = bookH1("sclSigEtaEta_barrel","ele supercluster sigma ieta ieta in barrel",100,0.,0.05,"sietaieta");
238  h1_sclSigEtaEta_endcaps = bookH1("sclSigEtaEta_endcaps","ele supercluster sigma ieta ieta in endcaps",100,0.,0.05,"sietaieta");
239 
240  // fbrem
241 // h1_innerPt_mean = bookH1( "innerPt_mean","ele track inner p_{T}, mean",nbinpt,0.,ptmax,"P_{T in} (GeV/c)");
242 // h1_outerPt_mean = bookH1( "outerPt_mean","ele track outer p_{T}, mean",nbinpt,0.,ptmax,"P_{T out} (GeV/c)");
243 // h1_outerPt_mode = bookH1( "outerPt_mode","ele track outer p_{T}, mode",nbinpt,0.,ptmax,"P_{T out} (GeV/c)");
244 // //h_PinMnPout_mode = bookH1( "PinMnPout_mode","ele track inner p - outer p, mode" ,nbinp,0.,100.,"P_{in} - P_{out} (GeV/c)");
245 // h1_PinMnPout = bookH1( "PinMnPout","ele track inner p - outer p, mean" ,nbinp,0.,200.,"P_{in} - P_{out} (GeV/c)");
246 // h1_PinMnPout_mode = bookH1( "PinMnPout_mode","ele track inner p - outer p, mode",nbinp,0.,100.,"P_{in} - P_{out}, mode (GeV/c)");
247  h1_fbrem = bookH1("fbrem","ele brem fraction",100,0.,1.,"P_{in} - P_{out} / P_{in}") ;
248  py_fbremVsEta = bookP1("fbremVsEta","ele brem fraction vs #eta",nbineta2D,etamin,etamax,0.,1.,"#eta","<P_{in} - P_{out} / P_{in}>") ;
249  py_fbremVsPhi = bookP1("fbremVsPhi","ele brem fraction vs #phi",nbinphi2D,phimin,phimax,0.,1.,"#phi (rad)","<P_{in} - P_{out} / P_{in}>") ;
250 // h2_fbremVsPt = bookH2("fbremVsPt","ele brem fraction vs pt",nbinpt2D,0.,ptmax,100,0.,1.,"p_{T} (GeV/c)","<P_{in} - P_{out} / P_{in}>") ;
251  h1_classes = bookH1("classes","ele electron classes",10,0.0,10.);
252 
253  // pflow
254  h1_mva = bookH1( "mva","ele identification mva",100,-1.,1.,"mva");
255  h1_provenance = bookH1( "provenance","ele provenance",5,-2.,3.,"provenance");
256 
257  // isolation
258  h1_tkSumPt_dr03 = bookH1("tkSumPt_dr03","tk isolation sum, dR=0.3",100,0.0,20.,"TkIsoSum (GeV/c)","Events","ELE_LOGY E1 P");
259  h1_ecalRecHitSumEt_dr03 = bookH1("ecalRecHitSumEt_dr03","ecal isolation sum, dR=0.3",100,0.0,20.,"EcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
260  h1_hcalTowerSumEt_dr03 = bookH1("hcalTowerSumEt_dr03","hcal isolation sum, dR=0.3",100,0.0,20.,"HcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
261 // h1_hcalDepth1TowerSumEt_dr03 = bookH1("hcalDepth1TowerSumEt_dr03","hcal depth1 isolation sum, dR=0.3",100,0.0,20.,"Hcal1IsoSum (GeV)","Events","ELE_LOGY E1 P");
262 // h1_hcalDepth2TowerSumEt_dr03 = bookH1("hcalDepth2TowerSumEt_dr03","hcal depth2 isolation sum, dR=0.3",100,0.0,20.,"Hcal2IsoSum (GeV)","Events","ELE_LOGY E1 P");
263 // h1_tkSumPt_dr04 = bookH1("tkSumPt_dr04","hcal isolation sum",100,0.0,20.,"TkIsoSum (GeV/c)","Events","ELE_LOGY E1 P");
264 // h1_ecalRecHitSumEt_dr04 = bookH1("ecalRecHitSumEt_dr04","ecal isolation sum, dR=0.4",100,0.0,20.,"EcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
265 // h1_hcalTowerSumEt_dr04 = bookH1("hcalTowerSumEt_dr04","hcal isolation sum, dR=0.4",100,0.0,20.,"HcalIsoSum (GeV)","Events","ELE_LOGY E1 P");
268 
269  // di-electron mass
270  setBookIndex(200) ;
271  h1_mee = bookH1("mee","ele pairs invariant mass", nbinmee, meemin, meemax,"m_{ee} (GeV/c^{2})");
272  h1_mee_os = bookH1("mee_os","ele pairs invariant mass, opposite sign", nbinmee, meemin, meemax,"m_{e^{+}e^{-}} (GeV/c^{2})");
273 
274 
275 
276  //===========================
277  // histos for matching and matched matched objects
278  //===========================
279 
280  // matching object
281  std::string matchingObjectType ;
282  Labels l;
284  if (std::string::npos != std::string(l.module).find("SuperCluster",0))
285  { matchingObjectType = "SC" ; }
286  if (matchingObjectType=="")
287  { edm::LogError("ElectronMcFakeValidator::beginJob")<<"Unknown matching object type !" ; }
288  else
289  { edm::LogInfo("ElectronMcFakeValidator::beginJob")<<"Matching object type: "<<matchingObjectType ; }
290 // std::string htitle = "# "+matchingObjectType+"s", xtitle = "N_{"+matchingObjectType+"}" ;
291 // h1_matchingObject_Num = bookH1withSumw2("matchingObject_Num",htitle,nbinfhits,0.,fhitsmax,xtitle) ;
292 
293  // matching object distributions
294  h1_matchingObject_Eta = bookH1withSumw2("matchingObject_Eta",matchingObjectType+" #eta",nbineta,etamin,etamax,"#eta_{SC}");
295 // h1_matchingObject_AbsEta = bookH1withSumw2("matchingObject_AbsEta",matchingObjectType+" |#eta|",nbineta/2,0.,etamax,"|#eta|_{SC}");
296 // h1_matchingObject_P = bookH1withSumw2("matchingObject_P",matchingObjectType+" p",nbinp,0.,pmax,"E_{SC} (GeV)");
297  h1_matchingObject_Pt = bookH1withSumw2("matchingObject_Pt",matchingObjectType+" pt",nbinpteff,5.,ptmax,"pt_{SC} (GeV/c)");
298  h1_matchingObject_Phi = bookH1withSumw2("matchingObject_Phi",matchingObjectType+" #phi",nbinphi,phimin,phimax,"#phi (rad)");
299 // h1_matchingObject_Z = bookH1withSumw2("matchingObject_Z",matchingObjectType+" z",nbinxyz,-25,25,"z (cm)");
300 
301  h1_matchedObject_Eta = bookH1withSumw2("matchedObject_Eta","Efficiency vs matching SC #eta",nbineta,etamin,etamax,"#eta_{SC}");
302 // h1_matchedObject_AbsEta = bookH1withSumw2("matchedObject_AbsEta","Efficiency vs matching SC |#eta|",nbineta/2,0.,2.5,"|#eta|_{SC}");
303  h1_matchedObject_Pt = bookH1withSumw2("matchedObject_Pt","Efficiency vs matching SC E_{T}",nbinpteff,5.,ptmax,"pt_{SC} (GeV/c)");
304  h1_matchedObject_Phi = bookH1withSumw2("matchedObject_Phi","Efficiency vs matching SC #phi",nbinphi,phimin,phimax,"#phi (rad)");
305 // h1_matchedObject_Z = bookH1withSumw2("matchedObject_Z","Efficiency vs matching SC z",nbinxyz,-25,25,"z (cm)");
306 
307 // // classes
308 // h1_matchedEle_eta = bookH1( "matchedEle_eta", "ele electron #eta", nbineta/2,0.0,etamax,"#eta");
309 // h1_matchedEle_eta_golden = bookH1( "matchedEle_eta_golden", "ele electron #eta golden", nbineta/2,0.0,etamax,"#eta");
310 // h1_matchedEle_eta_shower = bookH1( "matchedEle_eta_shower", "ele electron #eta showering", nbineta/2,0.0,etamax,"#eta");
311 // //h1_matchedEle_eta_bbrem = bookH1( "matchedEle_eta_bbrem", "ele electron #eta bbrem", nbineta/2,0.0,etamax,"#eta");
312 // //h1_matchedEle_eta_narrow = bookH1( "matchedEle_eta_narrow", "ele electron #eta narrow", nbineta/2,0.0,etamax,"#eta");
313 //
314  }
MonitorElement * h1_foundHits
MonitorElement * bookP1(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 * bookH1(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
MonitorElement * h1_dPhiSc_propVtx_barrel
unsigned int nEvents_
MonitorElement * h1_vertexPt_barrel
MonitorElement * py_lostHitsVsEta
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_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
MonitorElement * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
MonitorElement * bookH1withSumw2(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_matchedObject_Phi
MonitorElement * h1_tkSumPt_dr03
MonitorElement * h2_vertexXvsY
MonitorElement * py_fbremVsEta
MonitorElement * h1_provenance
MonitorElement * h1_dEtaEleCl_propOut_barrel
MonitorElement * py_EopVsPhi
MonitorElement * h1_Eop_barrel
MonitorElement * py_dEtaSc_propVtxVsPhi
MonitorElement * h1_dEtaEleCl_propOut_endcaps
MonitorElement * h1_Hoe_endcaps
MonitorElement * h1_vertexPt_endcaps
MonitorElement * py_lostHitsVsPhi
MonitorElement * h1_vertexZ
MonitorElement * py_dPhiSc_propVtxVsPhi
MonitorElement * h1_dPhiEleCl_propOut_endcaps
MonitorElement * py_fbremVsPhi
MonitorElement * py_foundHitsVsPhi
MonitorElement * h1_fbrem
MonitorElement * h1_chi2
MonitorElement * h1_lostHits
MonitorElement * h2_vertexEtaVsPhi
MonitorElement * h1_EeleOPout_endcaps
MonitorElement * h1_mee
MonitorElement * bookH2(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 * h1_classes
MonitorElement * h1_sclEt
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
MonitorElement * h1_EeleOPout_barrel
MonitorElement * h1_dEtaSc_propVtx_barrel
MonitorElement * h1_matchingObject_Phi
MonitorElement * h1_dPhiSc_propVtx_endcaps
MonitorElement * h1_sclSigEtaEta_endcaps
MonitorElement * py_foundHitsVsEta
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_dEtaSc_propVtx_endcaps
MonitorElement * h1_mva
float ElectronAnalyzer::computeInvMass ( const reco::GsfElectron e1,
const reco::GsfElectron e2 
)
private

Definition at line 597 of file ElectronAnalyzer.cc.

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

Referenced by analyze().

599  {
600  math::XYZTLorentzVector p12 = e1.p4()+e2.p4() ;
601  float mee2 = p12.Dot(p12) ;
602  float invMass = sqrt(mee2) ;
603  return invMass ;
604  }
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:223
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:48
bool ElectronAnalyzer::etCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 630 of file ElectronAnalyzer.cc.

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

Referenced by selected().

631  {
632  if (gsfIter->superCluster()->energy()/cosh(gsfIter->superCluster()->eta())<minEt_) return true ;
633 
634  return false ;
635  }
volatile std::atomic< bool > shutdown_flag false
bool ElectronAnalyzer::generalCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 615 of file ElectronAnalyzer.cc.

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

Referenced by selected().

616  {
617  if (std::abs(gsfIter->eta())>maxAbsEta_) return true ;
618  if (gsfIter->pt()<minPt_) return true ;
619 
620  if (gsfIter->isEB() && isEE_) return true ;
621  if (gsfIter->isEE() && isEB_) return true ;
622  if (gsfIter->isEBEEGap() && isNotEBEEGap_) return true ;
623 
624  if (gsfIter->ecalDrivenSeed() && isTrackerDriven_) return true ;
625  if (gsfIter->trackerDrivenSeed() && isEcalDriven_) return true ;
626 
627  return false ;
628  }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
volatile std::atomic< bool > shutdown_flag false
bool ElectronAnalyzer::idCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 652 of file ElectronAnalyzer.cc.

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

Referenced by selected().

653  {
654  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() < eOverPMinBarrel_) return true ;
655  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() > eOverPMaxBarrel_) return true ;
656  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() < eOverPMinEndcaps_) return true ;
657  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() > eOverPMaxEndcaps_) return true ;
658  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinBarrel_) return true ;
659  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxBarrel_) return true ;
660  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinEndcaps_) return true ;
661  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxEndcaps_) return true ;
662  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinBarrel_) return true ;
663  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxBarrel_) return true ;
664  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinEndcaps_) return true ;
665  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxEndcaps_) return true ;
666  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinBarrel_) return true ;
667  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxBarrel_) return true ;
668  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinEndcaps_) return true ;
669  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxEndcaps_) return true ;
670  if (gsfIter->isEB() && gsfIter->hadronicOverEm() > hadronicOverEmMaxBarrel_) return true ;
671  if (gsfIter->isEE() && gsfIter->hadronicOverEm() > hadronicOverEmMaxEndcaps_) return true ;
672 
673  return false ;
674  }
double hadronicOverEmMaxEndcaps_
double sigIetaIetaMinBarrel_
double sigIetaIetaMaxBarrel_
double sigIetaIetaMinEndcaps_
double sigIetaIetaMaxEndcaps_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
volatile std::atomic< bool > shutdown_flag false
double hadronicOverEmMaxBarrel_
bool ElectronAnalyzer::isolationCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 637 of file ElectronAnalyzer.cc.

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

Referenced by selected().

638  {
639  if (gsfIter->isEB() && vertexTIP > tipMaxBarrel_) return true ;
640  if (gsfIter->isEE() && vertexTIP > tipMaxEndcaps_) return true ;
641 
642  if (gsfIter->dr03TkSumPt() > tkIso03Max_) return true ;
643  if (gsfIter->isEB() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxBarrel_) return true ;
644  if (gsfIter->isEE() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxEndcaps_) return true ;
645  if (gsfIter->isEE() && gsfIter->dr03HcalDepth2TowerSumEt() > hcalIso03Depth2MaxEndcaps_) return true ;
646  if (gsfIter->isEB() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxBarrel_) return true ;
647  if (gsfIter->isEE() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxEndcaps_) return true ;
648 
649  return false ;
650  }
double hcalIso03Depth1MaxBarrel_
double hcalIso03Depth1MaxEndcaps_
volatile std::atomic< bool > shutdown_flag false
double hcalIso03Depth2MaxEndcaps_
bool ElectronAnalyzer::selected ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 606 of file ElectronAnalyzer.cc.

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

Referenced by analyze().

607  {
608  if ((Selection_>0)&&generalCut(gsfIter)) return false ;
609  if ((Selection_>=1)&&etCut(gsfIter)) return false ;
610  if ((Selection_>=2)&&isolationCut(gsfIter,vertexTIP)) return false ;
611  if ((Selection_>=3)&&idCut(gsfIter)) return false ;
612  return true ;
613  }
bool etCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
bool generalCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
volatile std::atomic< bool > shutdown_flag false
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 46 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::deltaR_
private

Definition at line 53 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmax
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmin
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::detamax
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMaxBarrel_
private

Definition at line 69 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMaxEndcaps_
private

Definition at line 71 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::detamin
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMinBarrel_
private

Definition at line 68 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMinEndcaps_
private

Definition at line 70 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimatchmax
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimatchmin
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimax
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMaxBarrel_
private

Definition at line 73 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMaxEndcaps_
private

Definition at line 75 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimin
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMinBarrel_
private

Definition at line 72 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMinEndcaps_
private

Definition at line 74 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::ecalIso03MaxBarrel_
private

Definition at line 89 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::ecalIso03MaxEndcaps_
private

Definition at line 90 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

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

Definition at line 41 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmax
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmaxsht
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::eOverPMaxBarrel_
private

Definition at line 65 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMaxEndcaps_
private

Definition at line 67 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinBarrel_
private

Definition at line 64 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinEndcaps_
private

Definition at line 66 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::etamax
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::etamin
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::fhitsmax
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

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

Definition at line 43 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::h1_chi2
private

Definition at line 180 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_classes
private

Definition at line 254 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_barrel
private

Definition at line 217 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcaps
private

Definition at line 218 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_barrel
private

Definition at line 211 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcaps
private

Definition at line 212 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_barrel
private

Definition at line 229 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcaps
private

Definition at line 230 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_barrel
private

Definition at line 223 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcaps
private

Definition at line 224 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_ecalRecHitSumEt_dr03
private

Definition at line 262 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_barrel
private

Definition at line 205 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_endcaps
private

Definition at line 206 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Eop_barrel
private

Definition at line 199 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Eop_endcaps
private

Definition at line 200 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_fbrem
private

Definition at line 250 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_foundHits
private

Definition at line 184 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_hcalTowerSumEt_dr03
private

Definition at line 263 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Hoe_barrel
private

Definition at line 235 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Hoe_endcaps
private

Definition at line 236 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_lostHits
private

Definition at line 188 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Eta
private

Definition at line 285 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Phi
private

Definition at line 288 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Pt
private

Definition at line 287 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Eta
private

Definition at line 292 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Phi
private

Definition at line 296 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Pt
private

Definition at line 295 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mee
private

Definition at line 273 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mee_os
private

Definition at line 274 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mva
private

Definition at line 257 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_provenance
private

Definition at line 258 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclEt
private

Definition at line 173 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_barrel
private

Definition at line 239 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_endcaps
private

Definition at line 240 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_tkSumPt_dr03
private

Definition at line 261 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_triggers
private

Definition at line 151 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h1_vertexEta
private

Definition at line 164 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexPt_barrel
private

Definition at line 162 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexPt_endcaps
private

Definition at line 163 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexZ
private

Definition at line 167 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h2_beamSpotXvsY
private

Definition at line 145 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h2_vertexEtaVsPhi
private

Definition at line 165 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h2_vertexXvsY
private

Definition at line 166 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

double ElectronAnalyzer::hadronicOverEmMaxBarrel_
private

Definition at line 80 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hadronicOverEmMaxEndcaps_
private

Definition at line 81 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hcalIso03Depth1MaxBarrel_
private

Definition at line 86 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth1MaxEndcaps_
private

Definition at line 87 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth2MaxEndcaps_
private

Definition at line 88 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hoemax
private

Definition at line 111 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::hoemin
private

Definition at line 111 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

bool ElectronAnalyzer::isEB_
private

Definition at line 59 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEcalDriven_
private

Definition at line 62 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEE_
private

Definition at line 60 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isNotEBEEGap_
private

Definition at line 61 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isTrackerDriven_
private

Definition at line 63 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::lhitsmax
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

std::string ElectronAnalyzer::matchingCondition_
private

Definition at line 50 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

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

Definition at line 42 of file ElectronAnalyzer.h.

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

double ElectronAnalyzer::maxAbsEta_
private

Definition at line 58 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::maxAbsEtaMatchingObject_
private

Definition at line 52 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::maxPtMatchingObject_
private

Definition at line 51 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::mcEnergy[10]
private

Definition at line 136 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcEta[10]
private

Definition at line 136 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPhi[10]
private

Definition at line 136 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPt[10]
private

Definition at line 136 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcQ[10]
private

Definition at line 136 of file ElectronAnalyzer.h.

double ElectronAnalyzer::meemax
private

Definition at line 110 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::meemin
private

Definition at line 110 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::minEt_
private

Definition at line 56 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and etCut().

double ElectronAnalyzer::minPt_
private

Definition at line 57 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::mvaMin_
private

Definition at line 82 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindeta
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch2D
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphi
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch2D
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineop
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineop2D
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineta
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineta2D
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinfhits
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinhoe
private

Definition at line 111 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinlhits
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinmee
private

Definition at line 110 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinp
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinp2D
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinphi
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinphi2D
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpoptrue
private

Definition at line 109 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpt
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpt2D
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpteff
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz
private

Definition at line 108 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz2D
private

Definition at line 108 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

unsigned int ElectronAnalyzer::nEvents_
private

Definition at line 117 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

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

Definition at line 133 of file ElectronAnalyzer.h.

double ElectronAnalyzer::phimax
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::phimin
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::pmax
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemax
private

Definition at line 109 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemin
private

Definition at line 109 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::ptmax
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::py_chi2VsEta
private

Definition at line 181 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_chi2VsPhi
private

Definition at line 182 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_dEtaSc_propVtxVsPhi
private

Definition at line 213 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_dPhiSc_propVtxVsPhi
private

Definition at line 225 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_EopVsPhi
private

Definition at line 201 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_fbremVsEta
private

Definition at line 251 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_fbremVsPhi
private

Definition at line 252 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_foundHitsVsEta
private

Definition at line 185 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_foundHitsVsPhi
private

Definition at line 186 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_HoeVsPhi
private

Definition at line 237 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_lostHitsVsEta
private

Definition at line 189 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_lostHitsVsPhi
private

Definition at line 190 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_nClustersVsLs
private

Definition at line 147 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nElectronsVsLs
private

Definition at line 146 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nGsfTracksVsLs
private

Definition at line 148 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nTracksVsLs
private

Definition at line 149 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nVerticesVsLs
private

Definition at line 150 of file ElectronAnalyzer.h.

bool ElectronAnalyzer::readAOD_
private

Definition at line 47 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::seedEta[10]
private

Definition at line 138 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedMomentum[10]
private

Definition at line 138 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPhi[10]
private

Definition at line 138 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPt[10]
private

Definition at line 138 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedQ[10]
private

Definition at line 138 of file ElectronAnalyzer.h.

int ElectronAnalyzer::Selection_
private

Definition at line 40 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and selected().

double ElectronAnalyzer::sigIetaIetaMaxBarrel_
private

Definition at line 77 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMaxEndcaps_
private

Definition at line 79 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinBarrel_
private

Definition at line 76 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinEndcaps_
private

Definition at line 78 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

float ElectronAnalyzer::superclusterEnergy[10]
private

Definition at line 137 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEt[10]
private

Definition at line 137 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEta[10]
private

Definition at line 137 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterPhi[10]
private

Definition at line 137 of file ElectronAnalyzer.h.

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

Definition at line 134 of file ElectronAnalyzer.h.

double ElectronAnalyzer::tipMaxBarrel_
private

Definition at line 83 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tipMaxEndcaps_
private

Definition at line 84 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tkIso03Max_
private

Definition at line 85 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

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

Definition at line 44 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::triggerResults_
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

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

Definition at line 45 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().