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 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 getNameDirLayer (ME3IdsKey key3)
 
int getNumEtaPartitions (const GEMStation *)
 
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)
 
int keyToChamber (ME4IdsKey key)
 
int keyToIEta (ME3IdsKey key)
 
int keyToIEta (ME4IdsKey key)
 
int keyToLayer (ME3IdsKey key)
 
int keyToLayer (ME4IdsKey key)
 
int keyToRegion (ME2IdsKey key)
 
int keyToRegion (ME3IdsKey key)
 
int keyToRegion (ME4IdsKey key)
 
int keyToStation (ME2IdsKey key)
 
int keyToStation (ME3IdsKey key)
 
int keyToStation (ME4IdsKey key)
 
int loadChambers ()
 
virtual int ProcessWithMEMap2 (BookingHelper &bh, ME2IdsKey key)
 
virtual int ProcessWithMEMap4 (BookingHelper &bh, ME4IdsKey key)
 
Float_t restrictAngle (const Float_t fTheta, const Float_t fStart)
 
int SortingLayers (std::vector< ME3IdsKey > &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 ProcessWithMEMap3WithChamber (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
 
- 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< ME3IdsKey, int > mapStationToIdx_
 
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
 
std::map< ME2IdsKey, bool > MEMap2Check_
 
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
 
std::map< ME3IdsKey, bool > MEMap3Check_
 
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
 
std::map< ME4IdsKey, bool > MEMap4Check_
 
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 178 of file GEMRecHitSource.cc.

References funct::abs(), b, relativeConstraints::chamber, GEMDQMBase::MEMapInfT< M, K >::Fill(), GEMDQMBase::MEStationInfo::fMinPhi_, GEMDQMBase::GEMGeometry_, muonGEMRecHitPSet::gemRecHit, gemRecHits_cfi::gemRecHits, GEMGeometry::idToDet(), l1tTowerCalibrationProducer_cfi::iEta, GEMDetId::ieta(), crabWrapper::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().

178  {
180  event.getByToken(this->tagRecHit_, gemRecHits);
181  if (!gemRecHits.isValid()) {
182  edm::LogError(log_category_) << "GEM RecHit is not valid.\n";
183  return;
184  }
185 
186  std::map<ME3IdsKey, Int_t> total_rechit_layer;
187  std::map<ME3IdsKey, Int_t> total_rechit_iEta;
188  std::map<ME4IdsKey, std::map<Int_t, Bool_t>> mapCLSOver5;
189 
190  for (auto gid : listChamberId_) {
191  auto chamber = gid.chamber();
192  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
193  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()};
194  MEStationInfo& stationInfo = mapStationInfo_[key3];
195  for (auto iEta : mapEtaPartition_[gid]) {
196  GEMDetId eId = iEta->id();
197  ME3IdsKey key3IEta{gid.region(), gid.station(), eId.ieta()};
198  ME3IdsKey key3AbsReIEta{std::abs(gid.region()), gid.station(), eId.ieta()};
199  ME4IdsKey key4IEta{gid.region(), gid.station(), gid.layer(), eId.ieta()};
200 
201  if (total_rechit_layer.find(key3) == total_rechit_layer.end())
202  total_rechit_layer[key3] = 0;
203 
204  const auto& recHitsRange = gemRecHits->get(eId);
205  auto gemRecHit = recHitsRange.first;
206  for (auto hit = gemRecHit; hit != recHitsRange.second; ++hit) {
207  LocalPoint recHitLP = hit->localPosition();
208  GlobalPoint recHitGP = GEMGeometry_->idToDet(hit->gemId())->surface().toGlobal(recHitLP);
209 
210  // Filling of XY occupancy
211  mapRecHitXY_layer_.Fill(key3, recHitGP.x(), recHitGP.y());
212 
213  // Filling of RecHit (iEta)
214  mapRecHitOcc_ieta_.Fill(key3, eId.ieta());
215 
216  // Filling of RecHit (phi)
217  Float_t fPhi = recHitGP.phi();
218  Float_t fPhiShift = restrictAngle(fPhi, stationInfo.fMinPhi_);
219  Float_t fPhiDeg = fPhiShift * 180.0 / M_PI;
220  mapRecHitOcc_phi_.Fill(key3, fPhiDeg);
221 
222  // For total RecHits
223  total_rechit_layer[key3]++;
224  total_rechit_iEta[key3IEta]++;
225 
226  // Filling of cluster size (CLS)
227  Int_t nCLS = hit->clusterSize();
228  Int_t nCLSCutOff = std::min(nCLS, nCLSMax_); // For overflow
229  mapCLSRecHit_ieta_.Fill(key3AbsReIEta, nCLSCutOff);
230  mapCLSPerCh_.Fill(key4Ch, nCLSCutOff, eId.ieta());
231  mapCLSAverage_.Fill(key3, (Double_t)chamber, (Double_t)eId.ieta(), nCLS);
232  if (nCLS > 5)
233  mapCLSOver5[key4IEta][chamber] = true;
234  }
235  }
236  }
237  for (auto [key, num_total_rechit] : total_rechit_layer) {
238  mapTotalRecHitPerEvtLayer_.Fill(key, num_total_rechit);
239  }
240  for (auto [key, num_total_rechit] : total_rechit_iEta) {
241  mapTotalRecHitPerEvtIEta_.Fill(key, num_total_rechit);
242  }
243  for (auto [key, mapSub] : mapCLSOver5) {
244  for (auto [chamber, b] : mapSub) {
246  }
247  }
248 }
std::vector< GEMDetId > listChamberId_
Definition: GEMDQMBase.h:582
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:594
Log< level::Error, false > LogError
MEMap3Inf mapRecHitOcc_ieta_
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:380
std::string log_category_
Definition: GEMDQMBase.h:524
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:660
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetToken tagRecHit_
MEMap3Inf mapRecHitOcc_phi_
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:579
MEMap3Inf mapTotalRecHitPerEvtLayer_
double b
Definition: hdecay.h:118
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:555
std::map< GEMDetId, std::vector< const GEMEtaPartition * > > mapEtaPartition_
Definition: GEMDQMBase.h:583
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
int keyToIEta(ME3IdsKey key)
Definition: GEMDQMBase.h:547

◆ 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:460
Int_t nRunType_
Definition: GEMDQMBase.h:522
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:459
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:176
MEMap3Inf mapRecHitOcc_phi_
std::string strFolderMain_
MEMap4Inf mapCLSPerCh_
MEMap3Inf mapCLSAverage_
MEMap3Inf mapCLSRecHit_ieta_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:579
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, HLT_2022v15_cff::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(), crabWrapper::key, and mapCLSRecHit_ieta_.

119  {
121 
122  return 0;
123 }
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(), crabWrapper::key, and mapTotalRecHitPerEvtIEta_.

113  {
115 
116  return 0;
117 }
MEMap3Inf mapTotalRecHitPerEvtIEta_
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::MEStationInfo::fMinPhi_, createfilelist::int, crabWrapper::key, 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::MEMapInfT< M, K >::SetBinConfX(), GEMDQMBase::MEMapInfT< M, K >::SetBinHighEdgeX(), GEMDQMBase::MEMapInfT< M, K >::SetBinHighEdgeY(), GEMDQMBase::MEMapInfT< M, K >::SetBinLowEdgeX(), GEMDQMBase::MEMapInfT< M, K >::SetBinLowEdgeY(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForChambers(), and GEMDQMBase::MEMapInfT< M, K >::SetLabelForIEta().

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  mapRecHitOcc_ieta_.SetBinConfX(stationInfo.nNumEtaPartitions_);
141 
142  mapRecHitOcc_phi_.SetBinLowEdgeX(stationInfo.fMinPhi_ * 180 / M_PI);
143  mapRecHitOcc_phi_.SetBinHighEdgeX(stationInfo.fMinPhi_ * 180 / M_PI + 360);
145 
147 
148  Int_t nNewNumCh = stationInfo.nMaxIdxChamber_ - stationInfo.nMinIdxChamber_ + 1;
149 
150  mapCLSAverage_.SetBinConfX(nNewNumCh, stationInfo.nMinIdxChamber_ - 0.5, stationInfo.nMaxIdxChamber_ + 0.5);
152  mapCLSAverage_.SetLabelForChambers(key, 1, -1, stationInfo.nMinIdxChamber_);
154 
155  mapCLSOver5_.SetBinConfX(nNewNumCh, stationInfo.nMinIdxChamber_ - 0.5, stationInfo.nMaxIdxChamber_ + 0.5);
156  mapCLSOver5_.bookND(bh, key);
157  mapCLSOver5_.SetLabelForChambers(key, 1, -1, stationInfo.nMinIdxChamber_);
159 
160  return 0;
161 }
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:594
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
MEMap3Inf mapRecHitOcc_phi_
#define M_PI
MEMap3Inf mapCLSAverage_
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 SetBinLowEdgeY(Double_t dYL)
Definition: GEMDQMBase.h:272

◆ ProcessWithMEMap3WithChamber()

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

Reimplemented from GEMDQMBase.

Definition at line 163 of file GEMRecHitSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::BookingHelper::getBooker(), GEMDQMBase::getNameDirLayer(), crabWrapper::key, GEMDQMBase::key4Tokey3(), mapCLSPerCh_, GEMDQMBase::mapStationInfo_, GEMDQMBase::MEStationInfo::nNumEtaPartitions_, GEMDQMBase::MEMapInfT< M, K >::SetBinConfY(), dqm::implementation::NavigatorBase::setCurrentFolder(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForIEta(), and strFolderMain_.

163  {
164  ME3IdsKey key3 = key4Tokey3(key);
165  MEStationInfo& stationInfo = mapStationInfo_[key3];
166 
167  bh.getBooker()->setCurrentFolder(strFolderMain_ + "/clusterSize_" + getNameDirLayer(key3));
168 
169  mapCLSPerCh_.SetBinConfY(stationInfo.nNumEtaPartitions_);
170  mapCLSPerCh_.bookND(bh, key);
172 
173  bh.getBooker()->setCurrentFolder(strFolderMain_);
174 
175  return 0;
176 }
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:594
std::string strFolderMain_
MEMap4Inf mapCLSPerCh_
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:357
std::string getNameDirLayer(ME3IdsKey key3)
Definition: GEMDQMBase.h:666
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:555
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

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

◆ 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 ProcessWithMEMap3WithChamber().

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