19 desc.add<
int>(
"bxMin", -10);
20 desc.add<
int>(
"bxMax", 10);
21 descriptions.
add(
"GEMDigiSource",
desc);
34 float radS = -5.0 / 180 *
M_PI;
35 float radL = 355.0 / 180 *
M_PI;
37 mapTotalDigi_layer_ =
MEMap3Inf(
this,
"occ",
"Digi Occupancy", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5,
"Chamber",
"VFAT");
39 this,
"occ_rphi",
"Digi R-Phi Occupancy", 360, radS, radL, 8,
fRadiusMin_,
fRadiusMax_,
"#phi (rad)",
"R [cm]");
42 MEMap3Inf(
this,
"occ_phi",
"Digi Phi Occupancy", 72, -5, 355,
"#phi (degree)",
"Number of fired digis");
45 "Total number of digis per event for each layers",
49 "Number of fired digis",
54 "Total number of digis per event for each eta partitions",
58 "Number of fired digis",
64 mapDigiOccPerCh_ =
MEMap4Inf(
this,
"occ",
"Digi Occupancy", 1, -0.5, 1.5, 1, 0.5, 1.5,
"Digi",
"iEta");
154 event.getByToken(this->
tagDigi_, gemDigis);
158 std::map<ME3IdsKey, Int_t> total_digi_layer;
159 std::map<ME3IdsKey, Int_t> total_digi_eta;
161 ME2IdsKey key2{gid.region(), gid.station()};
162 ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
163 ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()};
164 std::map<Int_t, bool> bTagVFAT;
168 if (total_digi_layer.find(key3) == total_digi_layer.end())
169 total_digi_layer[key3] = 0;
173 if (total_digi_eta.find(key3IEta) == total_digi_eta.end())
174 total_digi_eta[key3IEta] = 0;
175 const auto& digis_in_det = gemDigis->get(eId);
176 for (
auto d = digis_in_det.first;
d != digis_in_det.second; ++
d) {
184 GlobalPoint digi_global_pos = surface.toGlobal(
iEta->centreOfStrip(
d->strip()));
185 Float_t fPhi = (Float_t)digi_global_pos.
phi();
187 Float_t fPhiDeg = fPhiShift * 180.0 /
M_PI;
197 total_digi_layer[key3]++;
198 total_digi_eta[key3IEta]++;
202 if (bTagVFAT.find(nIdxVFAT) == bTagVFAT.end()) {
206 bTagVFAT[nIdxVFAT] =
true;
210 for (
auto [
key, num_total_digi] : total_digi_layer)
212 for (
auto [
key, num_total_digi] : total_digi_eta)
int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
MEMap3Inf mapTotalDigiPerEvtLayer_
std::vector< GEMDetId > listChamberId_
virtual void setCurrentFolder(std::string const &fullpath)
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1, Int_t nIdxStart=1)
int getVFATNumberByDigi(const int, const int, const int)
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key) override
#define DEFINE_FWK_MODULE(type)
Geom::Phi< T > phi() const
int initGeometry(edm::EventSetup const &iSetup)
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
const GeomDet * idToDet(DetId) const override
MEMap3Inf mapDigiOcc_ieta_
MEMap4Inf mapDigiOccPerCh_
MEMap3Inf mapDigiOcc_phi_
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
edm::EDGetTokenT< LumiScalersCollection > lumiScalers_
void SetBinHighEdgeX(Double_t dXH)
std::string strFolderMain_
int Fill(K key, Double_t x)
MEMap3Inf mapTotalDigiPerEvtIEta_
MEMap3Inf mapTotalDigi_layer_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void SetBinLowEdgeX(Double_t dXL)
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Float_t restrictAngle(const Float_t fTheta, const Float_t fStart)
MEMapInfT< MEMap2Ids, ME2IdsKey > MEMap2Inf
void SetNbinsY(Int_t nBinsY)
GEMDigiSource(const edm::ParameterSet &cfg)
constexpr int ieta() const
const GEMGeometry * GEMGeometry_
int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override
const Plane & surface() const
The nominal surface of the GeomDet.
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
void SetNoUnderOverflowBin()
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
DQMStore::IBooker * getBooker()
std::string getNameDirLayer(ME3IdsKey key3)
int bookND(BookingHelper &bh, K key)
ME3IdsKey key4Tokey3(ME4IdsKey key)
std::map< GEMDetId, std::vector< const GEMEtaPartition * > > mapEtaPartition_
void SetNbinsX(Int_t nBinsX)
std::tuple< Int_t, Int_t > ME2IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
MEMap3Inf mapDigiWheel_layer_
int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) override