19 desc.
add<
int>(
"idxFirstDigi", 0);
20 desc.
add<
int>(
"clsMax", 10);
21 desc.
add<
int>(
"ClusterSizeBinNum", 9);
22 desc.
add<
bool>(
"modeRelVal",
false);
26 descriptions.
add(
"GEMRecHitSource", desc);
30 std::vector<GEMDetId> listLayerOcc;
42 float radS = -5.0 / 180 *
M_PI;
43 float radL = 355.0 / 180 *
M_PI;
45 mapTotalRecHit_layer_ =
MEMap3Inf(
this,
"det",
"RecHit Occupancy", 36, 0.5, 36.5, 8, 0.5, 8.5,
"Chamber",
"iEta");
47 this,
"rphi_occ",
"RecHit R-Phi Occupancy", 360, radS, radL, 8,
fRadiusMin_,
fRadiusMax_,
"#phi (rad)",
"R [cm]");
50 MEMap3Inf(
this,
"occ_phi",
"RecHit Phi Occupancy", 360, -5, 355,
"#phi (degree)",
"Number of RecHits");
53 "Total number of RecHits per event for each layers",
62 "Total number of RecHits per event for each eta partitions",
70 this,
"cls",
"Cluster size of RecHits",
nCLSMax_, 0.5,
nCLSMax_ + 0.5,
"Cluster size",
"Number of RecHits");
73 "Average of Cluster Sizes",
85 this,
"largeCls_occ",
"Occupancy of Large Clusters (>5)", 36, 0.5, 36.5, 8, 0.5, 8.5,
"Chamber",
"iEta");
88 this,
"cls",
"Cluster size of RecHits",
nCLSMax_, 0.5,
nCLSMax_ + 0.5, 1, 0.5, 1.5,
"Cluster size",
"iEta");
174 event.getByToken(this->
tagRecHit_, gemRecHits);
180 std::map<ME3IdsKey, Int_t> total_rechit_layer;
181 std::map<ME3IdsKey, Int_t> total_rechit_iEta;
182 std::map<ME4IdsKey, std::map<Int_t, Bool_t>> mapCLSOver5;
190 for (
auto ieta : ch.etaPartitions()) {
196 if (total_rechit_layer.find(key3) == total_rechit_layer.end())
197 total_rechit_layer[key3] = 0;
199 const auto& recHitsRange = gemRecHits->get(eId);
203 Float_t fPhi = recHitGP.
phi();
211 Float_t fPhiDeg = fPhiShift * 180.0 /
M_PI;
221 total_rechit_layer[key3]++;
222 total_rechit_iEta[key3IEta]++;
225 Int_t nCLS =
hit->clusterSize();
231 mapCLSOver5[key4IEta][chamber] =
true;
235 for (
auto [
key, num_total_rechit] : total_rechit_layer) {
238 for (
auto [
key, num_total_rechit] : total_rechit_iEta) {
241 for (
auto [
key, mapSub] : mapCLSOver5) {
242 for (
auto [chamber,
b] : mapSub) {
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
virtual void setCurrentFolder(std::string const &fullpath)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
#define DEFINE_FWK_MODULE(type)
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
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
int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) override
GEMRecHitSource(const edm::ParameterSet &cfg)
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
void SetBinHighEdgeX(Double_t dXH)
Log< level::Error, false > LogError
MEMap3Inf mapRecHitOcc_ieta_
int Fill(K key, Double_t x)
std::string log_category_
constexpr int ieta() const
MEMap3Inf mapTotalRecHitPerEvtIEta_
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
Abs< T >::type abs(const T &t)
edm::EDGetToken tagRecHit_
MEMap3Inf mapTotalRecHit_layer_
void SetNbinsY(Int_t nBinsY)
MEMap3Inf mapRecHitOcc_phi_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
MEMap3Inf mapRecHitWheel_layer_
MEMap3Inf mapCLSRecHit_ieta_
const GEMGeometry * GEMGeometry_
MEMap3Inf mapTotalRecHitPerEvtLayer_
void SetNoUnderOverflowBin()
constexpr int chamber() const
constexpr int layer() const
int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key) override
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, Int_t > ME3IdsKey
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key) override
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
int keyToIEta(ME3IdsKey key)