19 desc.
add<
bool>(
"modeRelVal",
false);
20 desc.
add<
int>(
"bxMin", -10);
21 desc.
add<
int>(
"bxMax", 10);
22 descriptions.
add(
"GEMDigiSource", desc);
33 float radS = -5.0 / 180 *
M_PI;
34 float radL = 355.0 / 180 *
M_PI;
36 mapTotalDigi_layer_ =
MEMap3Inf(
this,
"det",
"Digi Occupancy", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5,
"Chamber",
"VFAT");
38 this,
"rphi_occ",
"Digi R-Phi Occupancy", 360, radS, radL, 8,
fRadiusMin_,
fRadiusMax_,
"#phi (rad)",
"R [cm]");
41 MEMap3Inf(
this,
"occ_phi",
"Digi Phi Occupancy", 108, -5, 355,
"#phi (degree)",
"Number of fired digis");
44 "Total number of digis per event for each layers",
48 "Number of fired digis",
53 "Total number of digis per event for each eta partitions",
57 "Number of fired digis",
63 mapDigiOccPerCh_ =
MEMap4Inf(
this,
"occ",
"Digi Occupancy", 1, -0.5, 1.5, 1, 0.5, 1.5,
"Digi",
"iEta");
141 event.getByToken(this->
tagDigi_, gemDigis);
145 std::map<ME3IdsKey, Int_t> total_digi_layer;
146 std::map<ME3IdsKey, Int_t> total_digi_eta;
152 std::map<Int_t, bool> bTagVFAT;
156 if (total_digi_layer.find(key3) == total_digi_layer.end())
157 total_digi_layer[key3] = 0;
158 for (
auto iEta : ch.etaPartitions()) {
161 if (total_digi_eta.find(key3IEta) == total_digi_eta.end())
162 total_digi_eta[key3IEta] = 0;
163 const auto& digis_in_det = gemDigis->get(eId);
164 for (
auto d = digis_in_det.first;
d != digis_in_det.second; ++
d) {
172 GlobalPoint digi_global_pos = surface.toGlobal(iEta->centreOfStrip(
d->strip()));
173 Float_t fPhi = (Float_t)digi_global_pos.
phi();
175 Float_t fPhiDeg = fPhiShift * 180.0 /
M_PI;
185 total_digi_layer[key3]++;
186 total_digi_eta[key3IEta]++;
190 if (bTagVFAT.find(nIdxVFAT) == bTagVFAT.end()) {
198 bTagVFAT[nIdxVFAT] =
true;
202 for (
auto [
key, num_total_digi] : total_digi_layer)
204 for (
auto [
key, num_total_digi] : total_digi_eta)
int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
T getUntrackedParameter(std::string const &, T const &) const
virtual void setTitle(const std::string &title)
set (ie. change) histogram/profile title
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
MEMap3Inf mapTotalDigiPerEvtLayer_
virtual void setCurrentFolder(std::string const &fullpath)
int getVFATNumberByDigi(const int, const int, const int)
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key) override
#define DEFINE_FWK_MODULE(type)
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
int initGeometry(edm::EventSetup const &iSetup)
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
const GeomDet * idToDet(DetId) const override
Geom::Phi< T > phi() const
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::map< ME3IdsKey, int > mapStationToIdx_
int Fill(K key, Double_t x)
const Plane & surface() const
The nominal surface of the GeomDet.
MEMap3Inf mapTotalDigiPerEvtIEta_
constexpr int ieta() const
MEMap3Inf mapTotalDigi_layer_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void setXTitle(std::string const &title)
void SetBinLowEdgeX(Double_t dXL)
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
constexpr int region() const
Float_t restrictAngle(const Float_t fTheta, const Float_t fStart)
std::vector< GEMChamber > gemChambers_
tuple key
prepare the HTCondor submission files and eventually submit them
MEMapInfT< MEMap2Ids, ME2IdsKey > MEMap2Inf
void SetNbinsY(Int_t nBinsY)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
GEMDigiSource(const edm::ParameterSet &cfg)
const GEMGeometry * GEMGeometry_
int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
void SetNoUnderOverflowBin()
constexpr int chamber() const
constexpr int layer() const
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
T getParameter(std::string const &) const
constexpr int station() const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
int bookND(BookingHelper &bh, K key)
ME3IdsKey key4Tokey3(ME4IdsKey key)
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)
MonitorElement * h2SummaryOcc_
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