CMS 3D CMS Logo

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

#include <ElectronGeneralAnalyzer.h>

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

Public Member Functions

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

Private Attributes

edm::EDGetTokenT< reco::BeamSpotbeamSpotTag_
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronCollection_
 
edm::EDGetTokenT< reco::GsfTrackCollectiongsftrackCollection_
 
MonitorElementh1_ele_triggers
 
MonitorElementh2_ele_beamSpotXvsY
 
edm::EDGetTokenT< reco::SuperClusterCollectionmatchingObjectCollection_
 
MonitorElementpy_ele_nClustersVsLs
 
MonitorElementpy_ele_nElectronsVsLs
 
MonitorElementpy_ele_nGsfTracksVsLs
 
MonitorElementpy_ele_nTracksVsLs
 
MonitorElementpy_ele_nVerticesVsLs
 
edm::EDGetTokenT< reco::TrackCollectiontrackCollection_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResults_
 
edm::EDGetTokenT< reco::VertexCollectionvertexCollection_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from ElectronDqmAnalyzerBase
MonitorElementbookH1 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
 
MonitorElementbookH1withSumw2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
 
MonitorElementbookH2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
 
MonitorElementbookH2withSumw2 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
 
MonitorElementbookP1 (DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="E1 P")
 
MonitorElementcloneH1 (DQMStore::IBooker &iBooker, const std::string &name, const std::string &original, const std::string &title="")
 
MonitorElementcloneH1 (DQMStore::IBooker &iBooker, const std::string &name, MonitorElement *original, const std::string &title="")
 
 ElectronDqmAnalyzerBase (const edm::ParameterSet &conf)
 
void setBookEfficiencyFlag (const bool &)
 
void setBookIndex (short)
 
void setBookPrefix (const std::string &)
 
void setBookStatOverflowFlag (const bool &)
 
int verbosity ()
 
 ~ElectronDqmAnalyzerBase () override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 22 of file ElectronGeneralAnalyzer.h.

Constructor & Destructor Documentation

◆ ElectronGeneralAnalyzer()

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

Definition at line 27 of file ElectronGeneralAnalyzer.cc.

27  : ElectronDqmAnalyzerBase(conf) {
28  // collection input tags
29  electronCollection_ = consumes<GsfElectronCollection>(conf.getParameter<edm::InputTag>("ElectronCollection"));
31  consumes<reco::SuperClusterCollection>(conf.getParameter<edm::InputTag>("MatchingObjectCollection"));
32  trackCollection_ = consumes<reco::TrackCollection>(conf.getParameter<edm::InputTag>("TrackCollection"));
33  vertexCollection_ = consumes<reco::VertexCollection>(conf.getParameter<edm::InputTag>("VertexCollection"));
34  gsftrackCollection_ = consumes<reco::GsfTrackCollection>(conf.getParameter<edm::InputTag>("GsfTrackCollection"));
35  beamSpotTag_ = consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("BeamSpot"));
36  triggerResults_ = consumes<edm::TriggerResults>(conf.getParameter<edm::InputTag>("TriggerResults"));
37 
38  // // for trigger
39  // HLTPathsByName_= conf.getParameter<std::vector<std::string > >("HltPaths");
40  // HLTPathsByIndex_.resize(HLTPathsByName_.size());
41 }

References beamSpotTag_, electronCollection_, edm::ParameterSet::getParameter(), gsftrackCollection_, matchingObjectCollection_, trackCollection_, triggerResults_, and vertexCollection_.

◆ ~ElectronGeneralAnalyzer()

ElectronGeneralAnalyzer::~ElectronGeneralAnalyzer ( )
override

Definition at line 43 of file ElectronGeneralAnalyzer.cc.

43 {}

Member Function Documentation

◆ analyze()

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

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 60 of file ElectronGeneralAnalyzer.cc.

60  {
64  iEvent.getByToken(matchingObjectCollection_, recoClusters);
66  iEvent.getByToken(trackCollection_, tracks);
70  iEvent.getByToken(vertexCollection_, vertices);
71  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
72  iEvent.getByToken(beamSpotTag_, recoBeamSpotHandle);
73  const BeamSpot bs = *recoBeamSpotHandle;
74 
75  edm::EventNumber_t ievt = iEvent.id().event();
76  edm::RunNumber_t irun = iEvent.id().run();
77  edm::LuminosityBlockNumber_t ils = iEvent.luminosityBlock();
78 
79  edm::LogInfo("ElectronGeneralAnalyzer::analyze")
80  << "Treating " << gsfElectrons.product()->size() << " electrons"
81  << " from event " << ievt << " in run " << irun << " and lumiblock " << ils;
82 
83  h2_ele_beamSpotXvsY->Fill(bs.position().x(), bs.position().y());
84  py_ele_nElectronsVsLs->Fill(float(ils), (*gsfElectrons).size());
85  py_ele_nClustersVsLs->Fill(float(ils), (*recoClusters).size());
86  py_ele_nGsfTracksVsLs->Fill(float(ils), (*gsfTracks).size());
87  py_ele_nTracksVsLs->Fill(float(ils), (*tracks).size());
88  py_ele_nVerticesVsLs->Fill(float(ils), (*vertices).size());
89 
90  // trigger
93  if (triggerResults.isValid()) {
94  unsigned int i, n = triggerResults->size();
95  for (i = 0; i != n; ++i) {
96  if (triggerResults->accept(i)) {
97  h1_ele_triggers->Fill(float(i));
98  }
99  }
100  }
101 }

References beamSpotTag_, cms::cuda::bs, electronCollection_, dqm::impl::MonitorElement::Fill(), electronIsolatorFromEffectiveArea_cfi::gsfElectrons, gsftrackCollection_, ecalDrivenGsfElectronCoresFromMultiCl_cff::gsfTracks, h1_ele_triggers, h2_ele_beamSpotXvsY, mps_fire::i, iEvent, matchingObjectCollection_, dqmiodumpmetadata::n, py_ele_nClustersVsLs, py_ele_nElectronsVsLs, py_ele_nGsfTracksVsLs, py_ele_nTracksVsLs, py_ele_nVerticesVsLs, trackCollection_, PDWG_EXOHSCP_cff::tracks, triggerResults, triggerResults_, vertexCollection_, and pwdgSkimBPark_cfi::vertices.

◆ bookHistograms()

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

Reimplemented from ElectronDqmAnalyzerBase.

Definition at line 45 of file ElectronGeneralAnalyzer.cc.

45  {
47  bookH2(iBooker, "beamSpotXvsY", "beam spot x vs y", 100, -0.2, 0.2, 100, -0.2, 0.2, "x (cm)", "y (cm)");
49  bookP1(iBooker, "nElectronsVsLs", "# gsf electrons vs LS", 150, 0., 1500., 0., 20., "LS", "<N_{ele}>");
51  bookP1(iBooker, "nClustersVsLs", "# clusters vs LS", 150, 0., 1500., 0., 100., "LS", "<N_{SC}>");
53  bookP1(iBooker, "nGsfTracksVsLs", "# gsf tracks vs LS", 150, 0., 1500., 0., 20., "LS", "<N_{GSF tk}>");
54  py_ele_nTracksVsLs = bookP1(iBooker, "nTracksVsLs", "# tracks vs LS", 150, 0., 1500., 0., 100., "LS", "<N_{gen tk}>");
56  bookP1(iBooker, "nVerticesVsLs", "# vertices vs LS", 150, 0., 1500., 0., 10., "LS", "<N_{vert}>");
57  h1_ele_triggers = bookH1(iBooker, "triggers", "hlt triggers", 256, 0., 256., "HLT bit");
58 }

References ElectronDqmAnalyzerBase::bookH1(), ElectronDqmAnalyzerBase::bookH2(), ElectronDqmAnalyzerBase::bookP1(), h1_ele_triggers, h2_ele_beamSpotXvsY, py_ele_nClustersVsLs, py_ele_nElectronsVsLs, py_ele_nGsfTracksVsLs, py_ele_nTracksVsLs, and py_ele_nVerticesVsLs.

Member Data Documentation

◆ beamSpotTag_

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

Definition at line 41 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ electronCollection_

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

Definition at line 36 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ gsftrackCollection_

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

Definition at line 38 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ h1_ele_triggers

MonitorElement* ElectronGeneralAnalyzer::h1_ele_triggers
private

Definition at line 64 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ h2_ele_beamSpotXvsY

MonitorElement* ElectronGeneralAnalyzer::h2_ele_beamSpotXvsY
private

Definition at line 58 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ matchingObjectCollection_

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

Definition at line 37 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ py_ele_nClustersVsLs

MonitorElement* ElectronGeneralAnalyzer::py_ele_nClustersVsLs
private

Definition at line 60 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_ele_nElectronsVsLs

MonitorElement* ElectronGeneralAnalyzer::py_ele_nElectronsVsLs
private

Definition at line 59 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_ele_nGsfTracksVsLs

MonitorElement* ElectronGeneralAnalyzer::py_ele_nGsfTracksVsLs
private

Definition at line 61 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_ele_nTracksVsLs

MonitorElement* ElectronGeneralAnalyzer::py_ele_nTracksVsLs
private

Definition at line 62 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ py_ele_nVerticesVsLs

MonitorElement* ElectronGeneralAnalyzer::py_ele_nVerticesVsLs
private

Definition at line 63 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ trackCollection_

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

Definition at line 39 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ triggerResults_

edm::EDGetTokenT<edm::TriggerResults> ElectronGeneralAnalyzer::triggerResults_
private

Definition at line 44 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

◆ vertexCollection_

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

Definition at line 40 of file ElectronGeneralAnalyzer.h.

Referenced by analyze(), and ElectronGeneralAnalyzer().

edm::RunNumber_t
unsigned int RunNumber_t
Definition: RunLumiEventNumber.h:14
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
mps_fire.i
i
Definition: mps_fire.py:355
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
ElectronDqmAnalyzerBase::ElectronDqmAnalyzerBase
ElectronDqmAnalyzerBase(const edm::ParameterSet &conf)
Definition: ElectronDqmAnalyzerBase.cc:18
edm::LogInfo
Definition: MessageLogger.h:254
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
ElectronGeneralAnalyzer::matchingObjectCollection_
edm::EDGetTokenT< reco::SuperClusterCollection > matchingObjectCollection_
Definition: ElectronGeneralAnalyzer.h:37
ElectronGeneralAnalyzer::trackCollection_
edm::EDGetTokenT< reco::TrackCollection > trackCollection_
Definition: ElectronGeneralAnalyzer.h:39
ElectronGeneralAnalyzer::h1_ele_triggers
MonitorElement * h1_ele_triggers
Definition: ElectronGeneralAnalyzer.h:64
electronIsolatorFromEffectiveArea_cfi.gsfElectrons
gsfElectrons
Definition: electronIsolatorFromEffectiveArea_cfi.py:4
edm::Handle
Definition: AssociativeIterator.h:50
edm::LuminosityBlockNumber_t
unsigned int LuminosityBlockNumber_t
Definition: RunLumiEventNumber.h:13
cms::cuda::bs
bs
Definition: HistoContainer.h:127
ElectronGeneralAnalyzer::beamSpotTag_
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
Definition: ElectronGeneralAnalyzer.h:41
ElectronGeneralAnalyzer::vertexCollection_
edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
Definition: ElectronGeneralAnalyzer.h:40
ElectronGeneralAnalyzer::h2_ele_beamSpotXvsY
MonitorElement * h2_ele_beamSpotXvsY
Definition: ElectronGeneralAnalyzer.h:58
ElectronGeneralAnalyzer::py_ele_nElectronsVsLs
MonitorElement * py_ele_nElectronsVsLs
Definition: ElectronGeneralAnalyzer.h:59
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
reco::BeamSpot
Definition: BeamSpot.h:21
ElectronDqmAnalyzerBase::bookH2
MonitorElement * bookH2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
Definition: ElectronDqmAnalyzerBase.cc:111
edm::EventNumber_t
unsigned long long EventNumber_t
Definition: RunLumiEventNumber.h:12
ecalDrivenGsfElectronCoresFromMultiCl_cff.gsfTracks
gsfTracks
Definition: ecalDrivenGsfElectronCoresFromMultiCl_cff.py:4
ElectronGeneralAnalyzer::gsftrackCollection_
edm::EDGetTokenT< reco::GsfTrackCollection > gsftrackCollection_
Definition: ElectronGeneralAnalyzer.h:38
ElectronGeneralAnalyzer::py_ele_nTracksVsLs
MonitorElement * py_ele_nTracksVsLs
Definition: ElectronGeneralAnalyzer.h:62
ElectronGeneralAnalyzer::triggerResults_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
Definition: ElectronGeneralAnalyzer.h:44
iEvent
int iEvent
Definition: GenABIO.cc:224
ElectronDqmAnalyzerBase::bookH1
MonitorElement * bookH1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
Definition: ElectronDqmAnalyzerBase.cc:57
ElectronGeneralAnalyzer::electronCollection_
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
Definition: ElectronGeneralAnalyzer.h:36
ElectronGeneralAnalyzer::py_ele_nClustersVsLs
MonitorElement * py_ele_nClustersVsLs
Definition: ElectronGeneralAnalyzer.h:60
ElectronGeneralAnalyzer::py_ele_nGsfTracksVsLs
MonitorElement * py_ele_nGsfTracksVsLs
Definition: ElectronGeneralAnalyzer.h:61
ElectronGeneralAnalyzer::py_ele_nVerticesVsLs
MonitorElement * py_ele_nVerticesVsLs
Definition: ElectronGeneralAnalyzer.h:63
ElectronDqmAnalyzerBase::bookP1
MonitorElement * bookP1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="E1 P")
Definition: ElectronDqmAnalyzerBase.cc:171
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::InputTag
Definition: InputTag.h:15
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7