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="")
 
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::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 28 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_.

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

156  {}

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

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

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

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

Referenced by analyze().

600  {
601  math::XYZTLorentzVector p12 = e1.p4()+e2.p4() ;
602  float mee2 = p12.Dot(p12) ;
603  float invMass = sqrt(mee2) ;
604  return invMass ;
605  }
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:229
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 631 of file ElectronAnalyzer.cc.

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

Referenced by selected().

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

Definition at line 616 of file ElectronAnalyzer.cc.

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

Referenced by selected().

617  {
618  if (std::abs(gsfIter->eta())>maxAbsEta_) return true ;
619  if (gsfIter->pt()<minPt_) return true ;
620 
621  if (gsfIter->isEB() && isEE_) return true ;
622  if (gsfIter->isEE() && isEB_) return true ;
623  if (gsfIter->isEBEEGap() && isNotEBEEGap_) return true ;
624 
625  if (gsfIter->ecalDrivenSeed() && isTrackerDriven_) return true ;
626  if (gsfIter->trackerDrivenSeed() && isEcalDriven_) return true ;
627 
628  return false ;
629  }
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 653 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().

654  {
655  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() < eOverPMinBarrel_) return true ;
656  if (gsfIter->isEB() && gsfIter->eSuperClusterOverP() > eOverPMaxBarrel_) return true ;
657  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() < eOverPMinEndcaps_) return true ;
658  if (gsfIter->isEE() && gsfIter->eSuperClusterOverP() > eOverPMaxEndcaps_) return true ;
659  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinBarrel_) return true ;
660  if (gsfIter->isEB() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxBarrel_) return true ;
661  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) < dEtaMinEndcaps_) return true ;
662  if (gsfIter->isEE() && std::abs(gsfIter->deltaEtaSuperClusterTrackAtVtx()) > dEtaMaxEndcaps_) return true ;
663  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinBarrel_) return true ;
664  if (gsfIter->isEB() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxBarrel_) return true ;
665  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) < dPhiMinEndcaps_) return true ;
666  if (gsfIter->isEE() && std::abs(gsfIter->deltaPhiSuperClusterTrackAtVtx()) > dPhiMaxEndcaps_) return true ;
667  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinBarrel_) return true ;
668  if (gsfIter->isEB() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxBarrel_) return true ;
669  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() < sigIetaIetaMinEndcaps_) return true ;
670  if (gsfIter->isEE() && gsfIter->scSigmaIEtaIEta() > sigIetaIetaMaxEndcaps_) return true ;
671  if (gsfIter->isEB() && gsfIter->hadronicOverEm() > hadronicOverEmMaxBarrel_) return true ;
672  if (gsfIter->isEE() && gsfIter->hadronicOverEm() > hadronicOverEmMaxEndcaps_) return true ;
673 
674  return false ;
675  }
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 638 of file ElectronAnalyzer.cc.

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

Referenced by selected().

639  {
640  if (gsfIter->isEB() && vertexTIP > tipMaxBarrel_) return true ;
641  if (gsfIter->isEE() && vertexTIP > tipMaxEndcaps_) return true ;
642 
643  if (gsfIter->dr03TkSumPt() > tkIso03Max_) return true ;
644  if (gsfIter->isEB() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxBarrel_) return true ;
645  if (gsfIter->isEE() && gsfIter->dr03HcalDepth1TowerSumEt() > hcalIso03Depth1MaxEndcaps_) return true ;
646  if (gsfIter->isEE() && gsfIter->dr03HcalDepth2TowerSumEt() > hcalIso03Depth2MaxEndcaps_) return true ;
647  if (gsfIter->isEB() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxBarrel_) return true ;
648  if (gsfIter->isEE() && gsfIter->dr03EcalRecHitSumEt() > ecalIso03MaxEndcaps_) return true ;
649 
650  return false ;
651  }
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 607 of file ElectronAnalyzer.cc.

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

Referenced by analyze().

608  {
609  if ((Selection_>0)&&generalCut(gsfIter)) return false ;
610  if ((Selection_>=1)&&etCut(gsfIter)) return false ;
611  if ((Selection_>=2)&&isolationCut(gsfIter,vertexTIP)) return false ;
612  if ((Selection_>=3)&&idCut(gsfIter)) return false ;
613  return true ;
614  }
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().