13 if ( GEMGeometry_ ==
nullptr)
return ;
14 LogDebug(
"GEMCoPadDigiValidation")<<
"Geometry is acquired from MuonGeometryRecord\n";
16 LogDebug(
"GEMCoPadDigiValidation")<<
"ibooker set current folder\n";
20 int npadsGE11 = GEMGeometry_->
regions()[0]->stations()[0]->superChambers()[0]->chambers()[0]->etaPartitions()[0]->npads();
24 if (GEMGeometry_->
regions()[0]->stations().size()>1 &&!GEMGeometry_->
regions()[0]->stations()[1]->superChambers().empty() ) {
25 npadsGE21 = GEMGeometry_->
regions()[0]->stations()[1]->superChambers()[0]->chambers()[0]->etaPartitions()[0]->npads();
28 for(
auto& region : GEMGeometry_->
regions() ){
29 int re = region->region();
32 TString simpleZR_title = TString::Format(
"Copad ZR Occupancy%s; |Z|(cm) ; R(cm)",title_suffix.Data());
33 TString simpleZR_histname = TString::Format(
"copad_simple_zr%s",histname_suffix.Data());
35 auto* simpleZR =
getSimpleZR(ibooker, simpleZR_title, simpleZR_histname);
36 if ( simpleZR !=
nullptr) {
39 for(
auto&
station : region->stations()) {
44 TString dcEta_title = TString::Format(
"Copad's occupancy for detector component %s; # of sub-detector ;#eta-partition",title_suffix2.Data());
45 TString dcEta_histname = TString::Format(
"copad_dcEta%s",histname_suffix2.Data());
48 if ( dcEta !=
nullptr) {
54 for(
auto& region : GEMGeometry_->
regions() ) {
55 int re = region->region();
56 int region_num = (re+1)/2;
59 for(
auto&
station : region->stations() ) {
61 int station_num = st-1;
63 if ( st == 1 ) nPads = npadsGE11;
64 else nPads = npadsGE21;
67 theCSCCoPad_phipad[region_num][station_num] = ibooker.
book2D( (
"copad_dg_phipad"+name_prefix).c_str(), (
"Digi occupancy: "+label_prefix+
"; phi [rad]; Pad number").c_str(), 280,-PI,PI, nPads/2,0,nPads );
68 theCSCCoPad[region_num][station_num] = ibooker.
book1D( (
"copad_dg"+name_prefix).c_str(), (
"Digi occupancy per pad number: "+label_prefix+
";Pad number; entries").c_str(), nPads,0.5,nPads+0.5);
69 theCSCCoPad_bx[region_num][station_num] = ibooker.
book1D( (
"copad_dg_bx"+name_prefix).c_str(), (
"Bunch crossing: "+label_prefix+
"; bunch crossing ; entries").c_str(), 11,-5.5,5.5);
72 TString xy_name = TString::Format(
"copad_dg_xy%s_odd",name_prefix.c_str());
73 TString xy_title = TString::Format(
"Digi XY occupancy %s at odd chambers",label_prefix.c_str());
75 xy_name = TString::Format(
"copad_dg_xy%s_even",name_prefix.c_str());
76 xy_title = TString::Format(
"Digi XY occupancy %s at even chambers",label_prefix.c_str());
77 theCSCCoPad_xy_ch[ xy_name.Hash()] = ibooker.
book2D(xy_name, xy_title, 360, -360,360, 360, -360, 360);
MonitorElement * theCSCCoPad_zr[2][3]
MonitorElement * BookHistZR(DQMStore::IBooker &, const char *name, const char *label, unsigned int region_num, unsigned int station_num, unsigned int layer_num=99)
MonitorElement * getSimpleZR(DQMStore::IBooker &, TString, TString)
MonitorElement * BookHistXY(DQMStore::IBooker &, const char *name, const char *label, unsigned int region_num, unsigned int station_num, unsigned int layer_num=99)
std::unordered_map< UInt_t, MonitorElement * > theCSCCoPad_xy_ch
std::string getSuffixTitle(int region, int station, int layer)
const GEMGeometry * initGeometry(const edm::EventSetup &)
std::string getSuffixName(int region, int station, int layer)
void setCurrentFolder(std::string const &fullpath)
const std::vector< const GEMRegion * > & regions() const
Return a vector of all GEM regions.
std::unordered_map< UInt_t, MonitorElement * > theCoPad_dcEta
MonitorElement * book1D(Args &&...args)
MonitorElement * theCSCCoPad_xy[2][3]
MonitorElement * theCSCCoPad[2][3]
MonitorElement * book2D(Args &&...args)
MonitorElement * theCSCCoPad_phipad[2][3]
MonitorElement * theCSCCoPad_bx[2][3]
MonitorElement * getDCEta(DQMStore::IBooker &, const GEMStation *, TString, TString)
std::unordered_map< UInt_t, MonitorElement * > theCoPad_simple_zr