CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
GEMRecHitSource Class Reference

#include <GEMRecHitSource.h>

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

Public Member Functions

 GEMRecHitSource (const edm::ParameterSet &cfg)
 
 ~GEMRecHitSource () override
 
- Public Member Functions inherited from GEMDQMBase
 GEMDQMBase (const edm::ParameterSet &cfg)
 
int readGeometryPhiInfoChamber (const GEMStation *station, MEStationInfo &stationInfo)
 
int readGeometryRadiusInfoChamber (const GEMStation *station, MEStationInfo &stationInfo)
 
 ~GEMDQMBase () 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
 
 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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

void analyze (edm::Event const &e, edm::EventSetup const &eSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from GEMDQMBase
template<typename T >
bool checkRefs (const std::vector< T *> &)
 
dqm::impl::MonitorElementCreateSummaryHist (DQMStore::IBooker &ibooker, TString strName)
 
int GenerateMEPerChamber (DQMStore::IBooker &ibooker)
 
int getDetOccXBin (const int, const int, const int)
 
int getIdxModule (const int, const int)
 
int getIEtaFromVFAT (const int station, const int vfat)
 
int getIEtaFromVFATGE0 (const int vfat)
 
int getIEtaFromVFATGE11 (const int vfat)
 
int getIEtaFromVFATGE21 (const int vfat)
 
int getMaxVFAT (const int)
 
std::string getNameDirChamber (ME4IdsKey key4)
 
std::string getNameDirLayer (ME3IdsKey key3)
 
std::string getNameDirLayer (ME4IdsKey key4)
 
int getNumEtaPartitions (const GEMStation *)
 
int getNumModule (const int)
 
int getVFATNumber (const int, const int, const int)
 
int getVFATNumberByDigi (const int, const int, const int)
 
int getVFATNumberGE11 (const int, const int, const int)
 
int initGeometry (edm::EventSetup const &iSetup)
 
ME2IdsKey key3Tokey2 (ME3IdsKey key)
 
ME3IdsKey key4Tokey3 (ME4IdsKey key)
 
ME4IdsKey key5Tokey4 (ME5IdsKey key)
 
int keyToChamber (ME4IdsKey key)
 
int keyToChamber (ME5IdsKey key)
 
int keyToChamber (ME3IdsKey key)
 
int keyToIEta (ME4IdsKey key)
 
int keyToIEta (ME5IdsKey key)
 
int keyToLayer (ME3IdsKey key)
 
int keyToLayer (ME4IdsKey key)
 
int keyToLayer (ME5IdsKey key)
 
int keyToModule (ME4IdsKey key)
 
int keyToModule (ME5IdsKey key)
 
int keyToRegion (ME2IdsKey key)
 
int keyToRegion (ME3IdsKey key)
 
int keyToRegion (ME4IdsKey key)
 
int keyToRegion (ME5IdsKey key)
 
int keyToStation (ME2IdsKey key)
 
int keyToStation (ME3IdsKey key)
 
int keyToStation (ME4IdsKey key)
 
int keyToStation (ME5IdsKey key)
 
int loadChambers ()
 
virtual int ProcessWithMEMap2 (BookingHelper &bh, ME2IdsKey key)
 
virtual int ProcessWithMEMap2WithChamber (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap2WithEtaCh (BookingHelper &bh, ME4IdsKey key)
 
virtual int ProcessWithMEMap4 (BookingHelper &bh, ME4IdsKey key)
 
virtual int ProcessWithMEMap5 (BookingHelper &bh, ME5IdsKey key)
 
virtual int ProcessWithMEMap5WithChamber (BookingHelper &bh, ME5IdsKey key)
 
Float_t restrictAngle (const Float_t fTheta, const Float_t fStart)
 
int SortingLayers (std::vector< ME4IdsKey > &listLayers)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

int ProcessWithMEMap2AbsReWithEta (BookingHelper &bh, ME3IdsKey key) override
 
int ProcessWithMEMap2WithEta (BookingHelper &bh, ME3IdsKey key) override
 
int ProcessWithMEMap3 (BookingHelper &bh, ME3IdsKey key) override
 
int ProcessWithMEMap4WithChamber (BookingHelper &bh, ME4IdsKey key) override
 

Private Attributes

std::unordered_map< UInt_t, MonitorElement * > DigisFired_vs_eta_
 
Float_t fRadiusMax_
 
Float_t fRadiusMin_
 
MEMap3Inf mapCLSAverage_
 
MEMap3Inf mapCLSOver5_
 
MEMap4Inf mapCLSPerCh_
 
MEMap3Inf mapCLSRecHit_ieta_
 
MEMap3Inf mapRecHitOcc_ieta_
 
MEMap3Inf mapRecHitOcc_phi_
 
MEMap3Inf mapRecHitXY_layer_
 
MEMap3Inf mapTotalRecHitPerEvtIEta_
 
MEMap3Inf mapTotalRecHitPerEvtLayer_
 
Int_t nCLSMax_
 
int nClusterSizeBinNum_
 
int nIdxFirstDigi_
 
int nNumDivideEtaPartitionInRPhi_
 
std::unordered_map< UInt_t, MonitorElement * > recGlobalPos
 
std::unordered_map< UInt_t, MonitorElement * > recHitME_
 
std::unordered_map< UInt_t, MonitorElement * > rh_vs_eta_
 
std::string strFolderMain_
 
edm::EDGetToken tagRecHit_
 
std::unordered_map< UInt_t, MonitorElement * > VFAT_vs_ClusterSize_
 

Additional Inherited Members

- Public Types inherited from GEMDQMBase
enum  {
  GEMDQM_RUNTYPE_ONLINE, GEMDQM_RUNTYPE_OFFLINE, GEMDQM_RUNTYPE_RELVAL, GEMDQM_RUNTYPE_ALLPLOTS,
  GEMDQM_RUNTYPE_NONE = -1
}
 
typedef MEMapInfT< MEMap2Ids, ME2IdsKeyMEMap2Inf
 
typedef MEMapInfT< MEMap3Ids, ME3IdsKeyMEMap3Inf
 
typedef MEMapInfT< MEMap4Ids, ME4IdsKeyMEMap4Inf
 
typedef MEMapInfT< MEMap5Ids, ME5IdsKeyMEMap5Inf
 
- 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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Attributes inherited from GEMDQMBase
std::string log_category_
 
Int_t nRunType_
 
- Protected Attributes inherited from GEMDQMBase
const GEMGeometryGEMGeometry_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomToken_
 
std::vector< GEMDetIdlistChamberId_
 
std::map< GEMDetId, std::vector< const GEMEtaPartition * > > mapEtaPartition_
 
std::map< ME3IdsKey, MEStationInfomapStationInfo_
 
std::map< ME4IdsKey, int > mapStationToIdx_
 
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
 
std::map< ME2IdsKey, bool > MEMap2Check_
 
std::map< ME3IdsKey, bool > MEMap2WithChCheck_
 
std::map< ME4IdsKey, bool > MEMap2WithEtaChCheck_
 
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
 
std::map< ME3IdsKey, bool > MEMap3Check_
 
std::map< ME4IdsKey, bool > MEMap4Check_
 
std::map< ME4IdsKey, bool > MEMap4WithChCheck_
 
std::map< ME5IdsKey, bool > MEMap5Check_
 
std::map< ME5IdsKey, bool > MEMap5WithChCheck_
 
int nMaxNumCh_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 14 of file GEMRecHitSource.h.

Constructor & Destructor Documentation

◆ GEMRecHitSource()

GEMRecHitSource::GEMRecHitSource ( const edm::ParameterSet cfg)
explicit

Definition at line 6 of file GEMRecHitSource.cc.

References looper::cfg, nCLSMax_, nClusterSizeBinNum_, nIdxFirstDigi_, nNumDivideEtaPartitionInRPhi_, and tagRecHit_.

6  : GEMDQMBase(cfg) {
7  tagRecHit_ = consumes<GEMRecHitCollection>(cfg.getParameter<edm::InputTag>("recHitsInputLabel"));
8 
9  nIdxFirstDigi_ = cfg.getParameter<int>("idxFirstDigi");
10  nNumDivideEtaPartitionInRPhi_ = cfg.getParameter<int>("numDivideEtaPartitionInRPhi");
11  nCLSMax_ = cfg.getParameter<int>("clsMax");
12  nClusterSizeBinNum_ = cfg.getParameter<int>("ClusterSizeBinNum");
13 }
int nNumDivideEtaPartitionInRPhi_
edm::EDGetToken tagRecHit_
GEMDQMBase(const edm::ParameterSet &cfg)
Definition: GEMDQMBase.cc:7

◆ ~GEMRecHitSource()

GEMRecHitSource::~GEMRecHitSource ( )
inlineoverride

Definition at line 17 of file GEMRecHitSource.h.

17 {};

Member Function Documentation

◆ analyze()

void GEMRecHitSource::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 219 of file GEMRecHitSource.cc.

References funct::abs(), b, relativeConstraints::chamber, GEMDQMBase::MEMapInfT< M, K >::Fill(), GEMDQMBase::MEStationInfo::fMinPhi_, l1ScoutingRun3::ugmt::fPhi(), GEMDQMBase::GEMGeometry_, muonGEMRecHitPSet::gemRecHit, me0TriggerPseudoDigis_cff::gemRecHits, GEMDQMBase::getIdxModule(), GEMGeometry::idToDet(), l1tPhase2CaloJetEmulator_cfi::iEta, GEMDetId::ieta(), submitPVResolutionJobs::key, GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToIEta(), GEMDQMBase::listChamberId_, GEMDQMBase::log_category_, M_PI, mapCLSAverage_, mapCLSOver5_, mapCLSPerCh_, mapCLSRecHit_ieta_, GEMDQMBase::mapEtaPartition_, mapRecHitOcc_ieta_, mapRecHitOcc_phi_, mapRecHitXY_layer_, GEMDQMBase::mapStationInfo_, mapTotalRecHitPerEvtIEta_, mapTotalRecHitPerEvtLayer_, SiStripPI::min, nCLSMax_, PV3DBase< T, PVType, FrameType >::phi(), GEMDQMBase::restrictAngle(), tagRecHit_, GeomDet::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().

219  {
221  event.getByToken(this->tagRecHit_, gemRecHits);
222  if (!gemRecHits.isValid()) {
223  edm::LogError(log_category_) << "GEM RecHit is not valid.\n";
224  return;
225  }
226 
227  std::map<ME3IdsKey, Int_t> total_rechit_layer;
228  std::map<ME3IdsKey, Int_t> total_rechit_iEta;
229  std::map<ME4IdsKey, std::map<Int_t, Bool_t>> mapCLSOver5;
230 
231  for (auto gid : listChamberId_) {
232  auto chamber = gid.chamber();
233  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
234  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()};
235  MEStationInfo& stationInfo = mapStationInfo_[key3];
236  for (auto iEta : mapEtaPartition_[gid]) {
237  GEMDetId eId = iEta->id();
238  ME3IdsKey key3IEta{gid.region(), gid.station(), eId.ieta()};
239  ME3IdsKey key3AbsReIEta{std::abs(gid.region()), gid.station(), eId.ieta()};
240  ME4IdsKey key4IEta{gid.region(), gid.station(), gid.layer(), eId.ieta()};
241 
242  Int_t nEtaModule = eId.ieta();
243  if (gid.station() == 2) {
244  nEtaModule = getIdxModule(2, 24 - (nEtaModule - 1) / 4);
245  }
246  ME4IdsKey key4IEtaMod{gid.region(), gid.station(), gid.layer(), nEtaModule};
247 
248  if (total_rechit_layer.find(key3) == total_rechit_layer.end())
249  total_rechit_layer[key3] = 0;
250 
251  const auto& recHitsRange = gemRecHits->get(eId);
252  auto gemRecHit = recHitsRange.first;
253  for (auto hit = gemRecHit; hit != recHitsRange.second; ++hit) {
254  LocalPoint recHitLP = hit->localPosition();
255  GlobalPoint recHitGP = GEMGeometry_->idToDet(hit->gemId())->surface().toGlobal(recHitLP);
256 
257  // Filling of XY occupancy
258  mapRecHitXY_layer_.Fill(key3, recHitGP.x(), recHitGP.y());
259 
260  // Filling of RecHit (iEta)
261  mapRecHitOcc_ieta_.Fill(key3, nEtaModule);
262 
263  // Filling of RecHit (phi)
264  Float_t fPhi = recHitGP.phi();
265  Float_t fPhiShift = restrictAngle(fPhi, stationInfo.fMinPhi_);
266  Float_t fPhiDeg = fPhiShift * 180.0 / M_PI;
267  mapRecHitOcc_phi_.Fill(key3, fPhiDeg);
268 
269  // For total RecHits
270  total_rechit_layer[key3]++;
271  total_rechit_iEta[key3IEta]++;
272 
273  // Filling of cluster size (CLS)
274  Int_t nCLS = hit->clusterSize();
275  Int_t nCLSCutOff = std::min(nCLS, nCLSMax_); // For overflow
276  mapCLSRecHit_ieta_.Fill(key3AbsReIEta, nCLSCutOff);
277  mapCLSPerCh_.Fill(key4Ch, nCLSCutOff, nEtaModule);
278  mapCLSAverage_.Fill(key3, (Double_t)chamber, (Double_t)nEtaModule, nCLS);
279  if (nCLS > 5)
280  mapCLSOver5[key4IEtaMod][chamber] = true;
281  }
282  }
283  }
284  for (auto [key, num_total_rechit] : total_rechit_layer) {
285  mapTotalRecHitPerEvtLayer_.Fill(key, num_total_rechit);
286  }
287  for (auto [key, num_total_rechit] : total_rechit_iEta) {
288  mapTotalRecHitPerEvtIEta_.Fill(key, num_total_rechit);
289  }
290  for (auto [key, mapSub] : mapCLSOver5) {
291  for (auto [chamber, b] : mapSub) {
293  }
294  }
295 }
int getIdxModule(const int, const int)
Definition: GEMDQMBase.h:688
std::vector< GEMDetId > listChamberId_
Definition: GEMDQMBase.h:632
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
const GeomDet * idToDet(DetId) const override
Definition: GEMGeometry.cc:25
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:651
Log< level::Error, false > LogError
MEMap3Inf mapRecHitOcc_ieta_
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:395
std::string log_category_
Definition: GEMDQMBase.h:547
MEMap3Inf mapCLSOver5_
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
MEMap3Inf mapRecHitXY_layer_
MEMap3Inf mapTotalRecHitPerEvtIEta_
Float_t restrictAngle(const Float_t fTheta, const Float_t fStart)
Definition: GEMDQMBase.h:740
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetToken tagRecHit_
key
prepare the HTCondor submission files and eventually submit them
MEMap3Inf mapRecHitOcc_phi_
float fPhi(int hwPhi)
Definition: conversion.h:18
MEMap4Inf mapCLSPerCh_
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
#define M_PI
constexpr int ieta() const
Definition: GEMDetId.h:199
MEMap3Inf mapCLSAverage_
MEMap3Inf mapCLSRecHit_ieta_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:629
int keyToIEta(ME4IdsKey key)
Definition: GEMDQMBase.h:588
MEMap3Inf mapTotalRecHitPerEvtLayer_
double b
Definition: hdecay.h:120
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:596
std::map< GEMDetId, std::vector< const GEMEtaPartition * > > mapEtaPartition_
Definition: GEMDQMBase.h:633
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey

◆ bookHistograms()

void GEMRecHitSource::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 30 of file GEMRecHitSource.cc.

References dqm::implementation::NavigatorBase::cd(), GEMDQMBase::GEMDQM_RUNTYPE_ALLPLOTS, GEMDQMBase::GEMDQM_RUNTYPE_OFFLINE, GEMDQMBase::GEMDQM_RUNTYPE_RELVAL, GEMDQMBase::GEMGeometry_, GEMDQMBase::GenerateMEPerChamber(), GEMDQMBase::initGeometry(), GEMDQMBase::loadChambers(), mapCLSAverage_, mapCLSOver5_, mapCLSPerCh_, mapCLSRecHit_ieta_, mapRecHitOcc_ieta_, mapRecHitOcc_phi_, mapRecHitXY_layer_, mapTotalRecHitPerEvtIEta_, mapTotalRecHitPerEvtLayer_, nCLSMax_, GEMDQMBase::nRunType_, dqm::implementation::NavigatorBase::setCurrentFolder(), GEMDQMBase::MEMapInfT< M, K >::SetNoUnderOverflowBin(), strFolderMain_, and GEMDQMBase::MEMapInfT< M, K >::TurnOff().

30  {
31  std::vector<GEMDetId> listLayerOcc;
32 
33  initGeometry(iSetup);
34  if (GEMGeometry_ == nullptr)
35  return;
36  loadChambers();
37 
38  strFolderMain_ = "GEM/RecHits";
39 
40  ibooker.cd();
42 
44  MEMap3Inf(this, "occ_xy", "RecHit xy Occupancy", 160, -250, 250, 160, -250, 250, "X [cm]", "Y [cm]");
45  mapRecHitOcc_ieta_ = MEMap3Inf(this, "occ_ieta", "RecHit iEta Occupancy", 8, 0.5, 8.5, "iEta", "Number of RecHits");
47  MEMap3Inf(this, "occ_phi", "RecHit Phi Occupancy", 72, -5, 355, "#phi (degree)", "Number of RecHits");
49  "rechits_per_layer",
50  "Total number of RecHits per event for each layers",
51  2000,
52  -0.5,
53  2000 - 0.5,
54  "Number of RecHits",
55  "Events");
58  "rechits_per_ieta",
59  "Total number of RecHits per event for each eta partitions",
60  300,
61  -0.5,
62  300 - 0.5,
63  "Number of RecHits",
64  "Events");
67  this, "cls", "Cluster size of RecHits", nCLSMax_, 0.5, nCLSMax_ + 0.5, "Cluster size", "Number of RecHits");
68  mapCLSAverage_ = MEMap3Inf(this, // TProfile2D
69  "rechit_average",
70  "Average of Cluster Sizes",
71  36,
72  0.5,
73  36.5,
74  8,
75  0.5,
76  8.5,
77  0,
78  400, // For satefy, larger than 384
79  "Chamber",
80  "iEta");
82  this, "largeCls_occ", "Occupancy of Large Clusters (>5)", 36, 0.5, 36.5, 8, 0.5, 8.5, "Chamber", "iEta");
83 
85  this, "cls", "Cluster size of RecHits", nCLSMax_, 0.5, nCLSMax_ + 0.5, 1, 0.5, 1.5, "Cluster size", "iEta");
86 
90  }
91 
97  }
98 
103  }
104 
108  }
109 
110  GenerateMEPerChamber(ibooker);
111 }
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:475
Int_t nRunType_
Definition: GEMDQMBase.h:545
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:474
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:27
int loadChambers()
Definition: GEMDQMBase.cc:56
MEMap3Inf mapRecHitOcc_ieta_
MEMap3Inf mapCLSOver5_
MEMap3Inf mapRecHitXY_layer_
MEMap3Inf mapTotalRecHitPerEvtIEta_
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:195
MEMap3Inf mapRecHitOcc_phi_
std::string strFolderMain_
MEMap4Inf mapCLSPerCh_
MEMap3Inf mapCLSAverage_
MEMap3Inf mapCLSRecHit_ieta_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:629
MEMap3Inf mapTotalRecHitPerEvtLayer_
void SetNoUnderOverflowBin()
Definition: GEMDQMBase.h:247

◆ dqmBeginRun()

void GEMRecHitSource::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 21 of file GEMRecHitSource.h.

21 {};

◆ fillDescriptions()

void GEMRecHitSource::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 15 of file GEMRecHitSource.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

15  {
17  desc.add<edm::InputTag>("recHitsInputLabel", edm::InputTag("gemRecHits", ""));
18  desc.addUntracked<std::string>("runType", "online");
19 
20  desc.add<int>("idxFirstDigi", 0);
21  desc.add<int>("numDivideEtaPartitionInRPhi", 10);
22  desc.add<int>("clsMax", 10);
23  desc.add<int>("ClusterSizeBinNum", 9);
24 
25  desc.addUntracked<std::string>("logCategory", "GEMRecHitSource");
26 
27  descriptions.add("GEMRecHitSource", desc);
28 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ ProcessWithMEMap2AbsReWithEta()

int GEMRecHitSource::ProcessWithMEMap2AbsReWithEta ( BookingHelper bh,
ME3IdsKey  key 
)
overrideprivatevirtual

Reimplemented from GEMDQMBase.

Definition at line 119 of file GEMRecHitSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), submitPVResolutionJobs::key, and mapCLSRecHit_ieta_.

119  {
121 
122  return 0;
123 }
key
prepare the HTCondor submission files and eventually submit them
MEMap3Inf mapCLSRecHit_ieta_
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307

◆ ProcessWithMEMap2WithEta()

int GEMRecHitSource::ProcessWithMEMap2WithEta ( BookingHelper bh,
ME3IdsKey  key 
)
overrideprivatevirtual

Reimplemented from GEMDQMBase.

Definition at line 113 of file GEMRecHitSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), submitPVResolutionJobs::key, and mapTotalRecHitPerEvtIEta_.

113  {
115 
116  return 0;
117 }
MEMap3Inf mapTotalRecHitPerEvtIEta_
key
prepare the HTCondor submission files and eventually submit them
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307

◆ ProcessWithMEMap3()

int GEMRecHitSource::ProcessWithMEMap3 ( BookingHelper bh,
ME3IdsKey  key 
)
overrideprivatevirtual

Reimplemented from GEMDQMBase.

Definition at line 125 of file GEMRecHitSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::MEMapInfT< M, K >::FindHist(), GEMDQMBase::MEStationInfo::fMinPhi_, mps_fire::i, createfilelist::int, GEMDQMBase::MEMapInfT< M, K >::isOperating(), submitPVResolutionJobs::key, GEMDQMBase::keyToStation(), GEMDQMBase::MEStationInfo::listRadiusEvenChamber_, GEMDQMBase::MEStationInfo::listRadiusOddChamber_, M_PI, mapCLSAverage_, mapCLSOver5_, mapRecHitOcc_ieta_, mapRecHitOcc_phi_, mapRecHitXY_layer_, GEMDQMBase::mapStationInfo_, mapTotalRecHitPerEvtLayer_, SiStripPI::max, GEMDQMBase::MEStationInfo::nMaxIdxChamber_, GEMDQMBase::MEStationInfo::nMinIdxChamber_, GEMDQMBase::MEStationInfo::nNumEtaPartitions_, GEMDQMBase::MEStationInfo::nNumModules_, GEMDQMBase::MEMapInfT< M, K >::SetBinConfX(), GEMDQMBase::MEMapInfT< M, K >::SetBinConfY(), GEMDQMBase::MEMapInfT< M, K >::SetBinHighEdgeX(), GEMDQMBase::MEMapInfT< M, K >::SetBinHighEdgeY(), dqm::impl::MonitorElement::setBinLabel(), GEMDQMBase::MEMapInfT< M, K >::SetBinLowEdgeX(), GEMDQMBase::MEMapInfT< M, K >::SetBinLowEdgeY(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForChambers(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForIEta(), dqm::impl::MonitorElement::setYTitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

125  {
126  MEStationInfo& stationInfo = mapStationInfo_[key];
127 
128  Float_t fR1 = !stationInfo.listRadiusEvenChamber_.empty() ? stationInfo.listRadiusEvenChamber_.back() : 0.0;
129  Float_t fR2 = !stationInfo.listRadiusOddChamber_.empty() ? stationInfo.listRadiusOddChamber_.back() : 0.0;
130  Float_t fRangeRadius = (int)(std::max(fR1, fR2) * 0.11 + 0.99999) * 10.0;
131 
132  mapRecHitXY_layer_.SetBinLowEdgeX(-fRangeRadius);
133  mapRecHitXY_layer_.SetBinHighEdgeX(fRangeRadius);
134  mapRecHitXY_layer_.SetBinLowEdgeY(-fRangeRadius);
135  mapRecHitXY_layer_.SetBinHighEdgeY(fRangeRadius);
137 
138  Int_t nNumEta = stationInfo.nNumEtaPartitions_;
139  if (stationInfo.nNumModules_ > 1) {
140  nNumEta = stationInfo.nNumModules_;
141  }
145 
146  mapRecHitOcc_phi_.SetBinLowEdgeX(stationInfo.fMinPhi_ * 180 / M_PI);
147  mapRecHitOcc_phi_.SetBinHighEdgeX(stationInfo.fMinPhi_ * 180 / M_PI + 360);
149 
151 
152  Int_t nNewNumCh = stationInfo.nMaxIdxChamber_ - stationInfo.nMinIdxChamber_ + 1;
153 
154  mapCLSAverage_.SetBinConfX(nNewNumCh, stationInfo.nMinIdxChamber_ - 0.5, stationInfo.nMaxIdxChamber_ + 0.5);
155  mapCLSAverage_.SetBinConfY(nNumEta, 0.5);
157  mapCLSAverage_.SetLabelForChambers(key, 1, -1, stationInfo.nMinIdxChamber_);
159 
160  mapCLSOver5_.SetBinConfX(nNewNumCh, stationInfo.nMinIdxChamber_ - 0.5, stationInfo.nMaxIdxChamber_ + 0.5);
161  mapCLSOver5_.SetBinConfY(nNumEta, 0.5);
162  mapCLSOver5_.bookND(bh, key);
163  mapCLSOver5_.SetLabelForChambers(key, 1, -1, stationInfo.nMinIdxChamber_);
165 
166  if (keyToStation(key) == 2) {
167  if (mapCLSAverage_.isOperating()) {
168  mapCLSAverage_.FindHist(key)->setYTitle("Module");
169  }
170  if (mapCLSOver5_.isOperating()) {
171  mapCLSOver5_.FindHist(key)->setYTitle("Module");
172  }
173  for (Int_t i = 1; i <= stationInfo.nNumModules_; i++) {
174  std::string strLabel = std::string(Form("M%i", i));
175  if (mapCLSAverage_.isOperating()) {
176  mapCLSAverage_.FindHist(key)->setBinLabel(i, strLabel, 2);
177  }
178  if (mapCLSOver5_.isOperating()) {
179  mapCLSOver5_.FindHist(key)->setBinLabel(i, strLabel, 2);
180  }
181  }
182  }
183 
184  return 0;
185 }
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1, Int_t nIdxStart=1)
Definition: GEMDQMBase.h:337
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:651
void SetBinHighEdgeX(Double_t dXH)
Definition: GEMDQMBase.h:266
MEMap3Inf mapRecHitOcc_ieta_
MEMap3Inf mapCLSOver5_
MEMap3Inf mapRecHitXY_layer_
void SetBinLowEdgeX(Double_t dXL)
Definition: GEMDQMBase.h:264
void SetBinHighEdgeY(Double_t dYH)
Definition: GEMDQMBase.h:274
key
prepare the HTCondor submission files and eventually submit them
MEMap3Inf mapRecHitOcc_phi_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
int keyToStation(ME2IdsKey key)
Definition: GEMDQMBase.h:574
#define M_PI
MEMap3Inf mapCLSAverage_
virtual void setYTitle(std::string const &title)
MEMap3Inf mapTotalRecHitPerEvtLayer_
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:357
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:281
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:289
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:328
void SetBinLowEdgeY(Double_t dYL)
Definition: GEMDQMBase.h:272

◆ ProcessWithMEMap4WithChamber()

int GEMRecHitSource::ProcessWithMEMap4WithChamber ( BookingHelper bh,
ME4IdsKey  key 
)
overrideprivatevirtual

Reimplemented from GEMDQMBase.

Definition at line 187 of file GEMRecHitSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::MEMapInfT< M, K >::FindHist(), GEMDQMBase::BookingHelper::getBooker(), GEMDQMBase::getNameDirLayer(), mps_fire::i, GEMDQMBase::MEMapInfT< M, K >::isOperating(), submitPVResolutionJobs::key, GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToStation(), mapCLSPerCh_, GEMDQMBase::mapStationInfo_, GEMDQMBase::MEStationInfo::nNumEtaPartitions_, GEMDQMBase::MEStationInfo::nNumModules_, GEMDQMBase::MEMapInfT< M, K >::SetBinConfY(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForIEta(), dqm::impl::MonitorElement::setYTitle(), strFolderMain_, and AlCaHLTBitMon_QueryRunRegistry::string.

187  {
188  ME3IdsKey key3 = key4Tokey3(key);
189  MEStationInfo& stationInfo = mapStationInfo_[key3];
190 
191  bh.getBooker()->setCurrentFolder(strFolderMain_ + "/clusterSize_" + getNameDirLayer(key3));
192 
193  Int_t nNumEta = stationInfo.nNumEtaPartitions_;
194  if (stationInfo.nNumModules_ > 1) {
195  nNumEta = stationInfo.nNumModules_;
196  }
197 
198  mapCLSPerCh_.SetBinConfY(nNumEta, 0.5);
199  mapCLSPerCh_.bookND(bh, key);
201 
202  if (keyToStation(key) == 2) {
203  if (mapCLSPerCh_.isOperating()) {
204  mapCLSPerCh_.FindHist(key)->setYTitle("Module");
205  }
206  for (Int_t i = 1; i <= stationInfo.nNumModules_; i++) {
207  std::string strLabel = std::string(Form("M%i", i));
208  if (mapCLSPerCh_.isOperating()) {
209  mapCLSPerCh_.FindHist(key)->setBinLabel(i, strLabel, 2);
210  }
211  }
212  }
213 
214  bh.getBooker()->setCurrentFolder(strFolderMain_);
215 
216  return 0;
217 }
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:651
key
prepare the HTCondor submission files and eventually submit them
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
int keyToStation(ME2IdsKey key)
Definition: GEMDQMBase.h:574
std::string strFolderMain_
MEMap4Inf mapCLSPerCh_
virtual void setYTitle(std::string const &title)
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:357
std::string getNameDirLayer(ME3IdsKey key3)
Definition: GEMDQMBase.h:746
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:596
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:289
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:328

Member Data Documentation

◆ DigisFired_vs_eta_

std::unordered_map<UInt_t, MonitorElement*> GEMRecHitSource::DigisFired_vs_eta_
private

Definition at line 56 of file GEMRecHitSource.h.

◆ fRadiusMax_

Float_t GEMRecHitSource::fRadiusMax_
private

Definition at line 52 of file GEMRecHitSource.h.

◆ fRadiusMin_

Float_t GEMRecHitSource::fRadiusMin_
private

Definition at line 51 of file GEMRecHitSource.h.

◆ mapCLSAverage_

MEMap3Inf GEMRecHitSource::mapCLSAverage_
private

Definition at line 43 of file GEMRecHitSource.h.

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

◆ mapCLSOver5_

MEMap3Inf GEMRecHitSource::mapCLSOver5_
private

Definition at line 44 of file GEMRecHitSource.h.

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

◆ mapCLSPerCh_

MEMap4Inf GEMRecHitSource::mapCLSPerCh_
private

Definition at line 46 of file GEMRecHitSource.h.

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

◆ mapCLSRecHit_ieta_

MEMap3Inf GEMRecHitSource::mapCLSRecHit_ieta_
private

Definition at line 42 of file GEMRecHitSource.h.

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

◆ mapRecHitOcc_ieta_

MEMap3Inf GEMRecHitSource::mapRecHitOcc_ieta_
private

Definition at line 38 of file GEMRecHitSource.h.

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

◆ mapRecHitOcc_phi_

MEMap3Inf GEMRecHitSource::mapRecHitOcc_phi_
private

Definition at line 39 of file GEMRecHitSource.h.

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

◆ mapRecHitXY_layer_

MEMap3Inf GEMRecHitSource::mapRecHitXY_layer_
private

Definition at line 37 of file GEMRecHitSource.h.

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

◆ mapTotalRecHitPerEvtIEta_

MEMap3Inf GEMRecHitSource::mapTotalRecHitPerEvtIEta_
private

Definition at line 41 of file GEMRecHitSource.h.

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

◆ mapTotalRecHitPerEvtLayer_

MEMap3Inf GEMRecHitSource::mapTotalRecHitPerEvtLayer_
private

Definition at line 40 of file GEMRecHitSource.h.

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

◆ nCLSMax_

Int_t GEMRecHitSource::nCLSMax_
private

Definition at line 50 of file GEMRecHitSource.h.

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

◆ nClusterSizeBinNum_

int GEMRecHitSource::nClusterSizeBinNum_
private

Definition at line 34 of file GEMRecHitSource.h.

Referenced by GEMRecHitSource().

◆ nIdxFirstDigi_

int GEMRecHitSource::nIdxFirstDigi_
private

Definition at line 33 of file GEMRecHitSource.h.

Referenced by GEMRecHitSource().

◆ nNumDivideEtaPartitionInRPhi_

int GEMRecHitSource::nNumDivideEtaPartitionInRPhi_
private

Definition at line 35 of file GEMRecHitSource.h.

Referenced by GEMRecHitSource().

◆ recGlobalPos

std::unordered_map<UInt_t, MonitorElement*> GEMRecHitSource::recGlobalPos
private

Definition at line 58 of file GEMRecHitSource.h.

◆ recHitME_

std::unordered_map<UInt_t, MonitorElement*> GEMRecHitSource::recHitME_
private

Definition at line 54 of file GEMRecHitSource.h.

◆ rh_vs_eta_

std::unordered_map<UInt_t, MonitorElement*> GEMRecHitSource::rh_vs_eta_
private

Definition at line 57 of file GEMRecHitSource.h.

◆ strFolderMain_

std::string GEMRecHitSource::strFolderMain_
private

Definition at line 48 of file GEMRecHitSource.h.

Referenced by bookHistograms(), and ProcessWithMEMap4WithChamber().

◆ tagRecHit_

edm::EDGetToken GEMRecHitSource::tagRecHit_
private

Definition at line 31 of file GEMRecHitSource.h.

Referenced by analyze(), and GEMRecHitSource().

◆ VFAT_vs_ClusterSize_

std::unordered_map<UInt_t, MonitorElement*> GEMRecHitSource::VFAT_vs_ClusterSize_
private

Definition at line 55 of file GEMRecHitSource.h.