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
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) 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::InputTag beamSpotTag_
 
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::InputTag electronCollection_
 
double eopmax
 
double eopmaxsht
 
double eOverPMaxBarrel_
 
double eOverPMaxEndcaps_
 
double eOverPMinBarrel_
 
double eOverPMinEndcaps_
 
double etamax
 
double etamin
 
double fhitsmax
 
edm::InputTag 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::InputTag 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::InputTag trackCollection_
 
edm::InputTag triggerResults_
 
edm::InputTag vertexCollection_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- 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="")
 
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="")
 
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::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- 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 19 of file ElectronAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 30 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_.

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

Definition at line 157 of file ElectronAnalyzer.cc.

158  {}

Member Function Documentation

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

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 317 of file ElectronAnalyzer.cc.

References abs, beamSpotTag_, computeInvMass(), deltaR(), deltaR_, electronCollection_, edm::EventID::event(), funct::false, MonitorElement::Fill(), edm::Event::getByLabel(), 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_.

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

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

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

Referenced by analyze().

611  {
612  math::XYZTLorentzVector p12 = e1.p4()+e2.p4() ;
613  float mee2 = p12.Dot(p12) ;
614  float invMass = sqrt(mee2) ;
615  return invMass ;
616  }
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:204
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:30
T sqrt(T t)
Definition: SSEVec.h:48
bool ElectronAnalyzer::etCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 717 of file ElectronAnalyzer.cc.

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

Referenced by selected().

718  {
719  if (gsfIter->superCluster()->energy()/cosh(gsfIter->superCluster()->eta())<minEt_) return true ;
720 
721  return false ;
722  }
bool ElectronAnalyzer::generalCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 702 of file ElectronAnalyzer.cc.

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

Referenced by selected().

703  {
704  if (std::abs(gsfIter->eta())>maxAbsEta_) return true ;
705  if (gsfIter->pt()<minPt_) return true ;
706 
707  if (gsfIter->isEB() && isEE_) return true ;
708  if (gsfIter->isEE() && isEB_) return true ;
709  if (gsfIter->isEBEEGap() && isNotEBEEGap_) return true ;
710 
711  if (gsfIter->ecalDrivenSeed() && isTrackerDriven_) return true ;
712  if (gsfIter->trackerDrivenSeed() && isEcalDriven_) return true ;
713 
714  return false ;
715  }
#define abs(x)
Definition: mlp_lapack.h:159
bool ElectronAnalyzer::idCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter)
private

Definition at line 739 of file ElectronAnalyzer.cc.

References 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().

740  {
741  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() < eOverPMinBarrel_) return true ;
742  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() > eOverPMaxBarrel_) return true ;
743  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() < eOverPMinEndcaps_) return true ;
744  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() > eOverPMaxEndcaps_) return true ;
745  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinBarrel_) return true ;
746  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxBarrel_) return true ;
747  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinEndcaps_) return true ;
748  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxEndcaps_) return true ;
749  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinBarrel_) return true ;
750  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxBarrel_) return true ;
751  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinEndcaps_) return true ;
752  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxEndcaps_) return true ;
753  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinBarrel_) return true ;
754  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxBarrel_) return true ;
755  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinEndcaps_) return true ;
756  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxEndcaps_) return true ;
757  if (gsfIter->isEB() && gsfIter->hadronicOverEm() > hadronicOverEmMaxBarrel_) return true ;
758  if (gsfIter->isEE() && gsfIter->hadronicOverEm() > hadronicOverEmMaxEndcaps_) return true ;
759 
760  return false ;
761  }
double hadronicOverEmMaxEndcaps_
#define abs(x)
Definition: mlp_lapack.h:159
double sigIetaIetaMinBarrel_
double sigIetaIetaMaxBarrel_
double sigIetaIetaMinEndcaps_
double sigIetaIetaMaxEndcaps_
double hadronicOverEmMaxBarrel_
bool ElectronAnalyzer::isolationCut ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 724 of file ElectronAnalyzer.cc.

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

Referenced by selected().

725  {
726  if (gsfIter->isEB() && vertexTIP > tipMaxBarrel_) return true ;
727  if (gsfIter->isEE() && vertexTIP > tipMaxEndcaps_) return true ;
728 
729  if (gsfIter->dr03TkSumPt() > tkIso03Max_) return true ;
730  if (gsfIter->isEB() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxBarrel_) return true ;
731  if (gsfIter->isEE() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxEndcaps_) return true ;
732  if (gsfIter->isEE() && gsfIter->dr03HcalDepth2TowerSumEt() > hcalIso03Depth2MaxEndcaps_) return true ;
733  if (gsfIter->isEB() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxBarrel_) return true ;
734  if (gsfIter->isEE() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxEndcaps_) return true ;
735 
736  return false ;
737  }
double hcalIso03Depth1MaxBarrel_
double hcalIso03Depth1MaxEndcaps_
double hcalIso03Depth2MaxEndcaps_
bool ElectronAnalyzer::selected ( const reco::GsfElectronCollection::const_iterator &  gsfIter,
double  vertexTIP 
)
private

Definition at line 693 of file ElectronAnalyzer.cc.

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

Referenced by analyze().

694  {
695  if ((Selection_>0)&&generalCut(gsfIter)) return false ;
696  if ((Selection_>=1)&&etCut(gsfIter)) return false ;
697  if ((Selection_>=2)&&isolationCut(gsfIter,vertexTIP)) return false ;
698  if ((Selection_>=3)&&idCut(gsfIter)) return false ;
699  return true ;
700  }
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::InputTag ElectronAnalyzer::beamSpotTag_
private

Definition at line 42 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::deltaR_
private

Definition at line 49 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmax
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::detamatchmin
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::detamax
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMaxBarrel_
private

Definition at line 65 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMaxEndcaps_
private

Definition at line 67 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::detamin
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dEtaMinBarrel_
private

Definition at line 64 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dEtaMinEndcaps_
private

Definition at line 66 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimatchmax
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimatchmin
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::dphimax
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMaxBarrel_
private

Definition at line 69 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMaxEndcaps_
private

Definition at line 71 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dphimin
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::dPhiMinBarrel_
private

Definition at line 68 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::dPhiMinEndcaps_
private

Definition at line 70 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::ecalIso03MaxBarrel_
private

Definition at line 85 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::ecalIso03MaxEndcaps_
private

Definition at line 86 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

edm::InputTag ElectronAnalyzer::electronCollection_
private

Definition at line 37 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmax
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::eopmaxsht
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::eOverPMaxBarrel_
private

Definition at line 61 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMaxEndcaps_
private

Definition at line 63 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinBarrel_
private

Definition at line 60 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::eOverPMinEndcaps_
private

Definition at line 62 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::etamax
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::etamin
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::fhitsmax
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::gsftrackCollection_
private

Definition at line 39 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::h1_chi2
private

Definition at line 176 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_classes
private

Definition at line 250 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_barrel
private

Definition at line 213 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaEleCl_propOut_endcaps
private

Definition at line 214 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_barrel
private

Definition at line 207 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dEtaSc_propVtx_endcaps
private

Definition at line 208 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_barrel
private

Definition at line 225 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiEleCl_propOut_endcaps
private

Definition at line 226 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_barrel
private

Definition at line 219 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_dPhiSc_propVtx_endcaps
private

Definition at line 220 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_ecalRecHitSumEt_dr03
private

Definition at line 258 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_barrel
private

Definition at line 201 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_EeleOPout_endcaps
private

Definition at line 202 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Eop_barrel
private

Definition at line 195 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Eop_endcaps
private

Definition at line 196 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_fbrem
private

Definition at line 246 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_foundHits
private

Definition at line 180 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_hcalTowerSumEt_dr03
private

Definition at line 259 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Hoe_barrel
private

Definition at line 231 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_Hoe_endcaps
private

Definition at line 232 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_lostHits
private

Definition at line 184 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Eta
private

Definition at line 281 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Phi
private

Definition at line 284 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchedObject_Pt
private

Definition at line 283 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Eta
private

Definition at line 288 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Phi
private

Definition at line 292 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_matchingObject_Pt
private

Definition at line 291 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mee
private

Definition at line 269 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mee_os
private

Definition at line 270 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_mva
private

Definition at line 253 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_provenance
private

Definition at line 254 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclEt
private

Definition at line 169 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_barrel
private

Definition at line 235 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_sclSigEtaEta_endcaps
private

Definition at line 236 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_tkSumPt_dr03
private

Definition at line 257 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_triggers
private

Definition at line 147 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h1_vertexEta
private

Definition at line 160 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexPt_barrel
private

Definition at line 158 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexPt_endcaps
private

Definition at line 159 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h1_vertexZ
private

Definition at line 163 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h2_beamSpotXvsY
private

Definition at line 141 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::h2_vertexEtaVsPhi
private

Definition at line 161 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::h2_vertexXvsY
private

Definition at line 162 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

double ElectronAnalyzer::hadronicOverEmMaxBarrel_
private

Definition at line 76 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hadronicOverEmMaxEndcaps_
private

Definition at line 77 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::hcalIso03Depth1MaxBarrel_
private

Definition at line 82 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth1MaxEndcaps_
private

Definition at line 83 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hcalIso03Depth2MaxEndcaps_
private

Definition at line 84 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::hoemax
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::hoemin
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

bool ElectronAnalyzer::isEB_
private

Definition at line 55 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEcalDriven_
private

Definition at line 58 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isEE_
private

Definition at line 56 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isNotEBEEGap_
private

Definition at line 57 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

bool ElectronAnalyzer::isTrackerDriven_
private

Definition at line 59 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::lhitsmax
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

std::string ElectronAnalyzer::matchingCondition_
private

Definition at line 46 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::matchingObjectCollection_
private

Definition at line 38 of file ElectronAnalyzer.h.

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

double ElectronAnalyzer::maxAbsEta_
private

Definition at line 54 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::maxAbsEtaMatchingObject_
private

Definition at line 48 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

double ElectronAnalyzer::maxPtMatchingObject_
private

Definition at line 47 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::mcEnergy[10]
private

Definition at line 132 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcEta[10]
private

Definition at line 132 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPhi[10]
private

Definition at line 132 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcPt[10]
private

Definition at line 132 of file ElectronAnalyzer.h.

float ElectronAnalyzer::mcQ[10]
private

Definition at line 132 of file ElectronAnalyzer.h.

double ElectronAnalyzer::meemax
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::meemin
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::minEt_
private

Definition at line 52 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and etCut().

double ElectronAnalyzer::minPt_
private

Definition at line 53 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and generalCut().

double ElectronAnalyzer::mvaMin_
private

Definition at line 78 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindeta
private

Definition at line 98 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindetamatch2D
private

Definition at line 100 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphi
private

Definition at line 99 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbindphimatch2D
private

Definition at line 101 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineop
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineop2D
private

Definition at line 97 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbineta
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbineta2D
private

Definition at line 93 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinfhits
private

Definition at line 102 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinhoe
private

Definition at line 107 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinlhits
private

Definition at line 103 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinmee
private

Definition at line 106 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinp
private

Definition at line 96 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinp2D
private

Definition at line 96 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinphi
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinphi2D
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpoptrue
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpt
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinpt2D
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

int ElectronAnalyzer::nbinpteff
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

int ElectronAnalyzer::nbinxyz2D
private

Definition at line 104 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

unsigned int ElectronAnalyzer::nEvents_
private

Definition at line 113 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

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

Definition at line 129 of file ElectronAnalyzer.h.

double ElectronAnalyzer::phimax
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::phimin
private

Definition at line 94 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

double ElectronAnalyzer::pmax
private

Definition at line 96 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemax
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::poptruemin
private

Definition at line 105 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

double ElectronAnalyzer::ptmax
private

Definition at line 95 of file ElectronAnalyzer.h.

Referenced by book(), and ElectronAnalyzer().

MonitorElement* ElectronAnalyzer::py_chi2VsEta
private

Definition at line 177 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_chi2VsPhi
private

Definition at line 178 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_dEtaSc_propVtxVsPhi
private

Definition at line 209 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_dPhiSc_propVtxVsPhi
private

Definition at line 221 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_EopVsPhi
private

Definition at line 197 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_fbremVsEta
private

Definition at line 247 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_fbremVsPhi
private

Definition at line 248 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_foundHitsVsEta
private

Definition at line 181 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_foundHitsVsPhi
private

Definition at line 182 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_HoeVsPhi
private

Definition at line 233 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_lostHitsVsEta
private

Definition at line 185 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_lostHitsVsPhi
private

Definition at line 186 of file ElectronAnalyzer.h.

Referenced by analyze(), and book().

MonitorElement* ElectronAnalyzer::py_nClustersVsLs
private

Definition at line 143 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nElectronsVsLs
private

Definition at line 142 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nGsfTracksVsLs
private

Definition at line 144 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nTracksVsLs
private

Definition at line 145 of file ElectronAnalyzer.h.

MonitorElement* ElectronAnalyzer::py_nVerticesVsLs
private

Definition at line 146 of file ElectronAnalyzer.h.

bool ElectronAnalyzer::readAOD_
private

Definition at line 43 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

float ElectronAnalyzer::seedEta[10]
private

Definition at line 134 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedMomentum[10]
private

Definition at line 134 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPhi[10]
private

Definition at line 134 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedPt[10]
private

Definition at line 134 of file ElectronAnalyzer.h.

float ElectronAnalyzer::seedQ[10]
private

Definition at line 134 of file ElectronAnalyzer.h.

int ElectronAnalyzer::Selection_
private

Definition at line 36 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and selected().

double ElectronAnalyzer::sigIetaIetaMaxBarrel_
private

Definition at line 73 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMaxEndcaps_
private

Definition at line 75 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinBarrel_
private

Definition at line 72 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

double ElectronAnalyzer::sigIetaIetaMinEndcaps_
private

Definition at line 74 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and idCut().

float ElectronAnalyzer::superclusterEnergy[10]
private

Definition at line 133 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEt[10]
private

Definition at line 133 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterEta[10]
private

Definition at line 133 of file ElectronAnalyzer.h.

float ElectronAnalyzer::superclusterPhi[10]
private

Definition at line 133 of file ElectronAnalyzer.h.

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

Definition at line 130 of file ElectronAnalyzer.h.

double ElectronAnalyzer::tipMaxBarrel_
private

Definition at line 79 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tipMaxEndcaps_
private

Definition at line 80 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

double ElectronAnalyzer::tkIso03Max_
private

Definition at line 81 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer(), and isolationCut().

edm::InputTag ElectronAnalyzer::trackCollection_
private

Definition at line 40 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::triggerResults_
private

Definition at line 89 of file ElectronAnalyzer.h.

Referenced by ElectronAnalyzer().

edm::InputTag ElectronAnalyzer::vertexCollection_
private

Definition at line 41 of file ElectronAnalyzer.h.

Referenced by analyze(), and ElectronAnalyzer().