42 int findVFAT(
float min_,
float max_,
float x_,
int roll_);
48 std::unordered_map<UInt_t, MonitorElement*>
Digi_2D_;
49 std::unordered_map<UInt_t, MonitorElement*>
Digi_1D_;
58 if ( x_ < (min_+step) ) {
return 8 - roll_;}
59 else if ( x_ < (min_+2*step) ) {
return 16 - roll_;}
60 else {
return 24 - roll_;}
68 GEMGeometry_ = &*hGeom;
71 edm::LogError(
"MuonGEMBaseValidation") <<
"+++ Error : GEM geometry is unavailable on event loop. +++\n";
87 descriptions.
add(
"GEMDQMSourceDigi", desc);
96 for (
auto sch : superChambers_){
97 int n_lay = sch->nChambers();
98 for (
int l=0;
l<n_lay;
l++){
106 string hName_digi =
"Digi_Strips_Gemini_"+to_string(gid.
chamber())+
"_l_"+to_string(gid.
layer());
107 string hTitle_digi =
"Digi Strip GEMINIm"+to_string(gid.
chamber())+
"l"+to_string(gid.
layer());
108 Digi_2D_[ ch.id() ] = ibooker.
book2D(hName_digi, hTitle_digi, 384, 1, 385, 8, 0.5,8.5);
109 Digi_1D_[ ch.id() ] = ibooker.
book1D(hName_digi+
"_VFAT", hTitle_digi+
" VFAT", 24, 0, 24);
116 if ( GEMGeometry_ ==
nullptr)
return;
119 event.getByToken( this->
tagDigi_, gemDigis);
122 for(
auto roll : ch.etaPartitions()){
124 const auto& digis_in_det = gemDigis->get(rId);
125 for (
auto d = digis_in_det.first;
d != digis_in_det.second; ++
d){
void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup) override
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
void endLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup) override
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
int chamber() const
Chamber id: it identifies a chamber in a ring it goes from 1 to 36.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const GEMGeometry * initGeometry(edm::EventSetup const &iSetup)
std::vector< GEMChamber > gemChambers_
int findVFAT(float min_, float max_, float x_, int roll_)
int layer() const
Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 2 is the o...
MonitorElement * book1D(Args &&...args)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
const GEMGeometry * GEMGeometry_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
std::unordered_map< UInt_t, MonitorElement * > Digi_1D_
~GEMDQMSourceDigi() override
GEMDQMSourceDigi(const edm::ParameterSet &cfg)
std::unordered_map< UInt_t, MonitorElement * > Digi_2D_