diff --git a/DQMOffline/MuonDPG/BuildFile.xml b/DQMOffline/MuonDPG/BuildFile.xml
index 3140fc068b8cc..fe9db0755199c 100644
--- a/DQMOffline/MuonDPG/BuildFile.xml
+++ b/DQMOffline/MuonDPG/BuildFile.xml
@@ -1,6 +1,8 @@
+
+
diff --git a/DQMOffline/MuonDPG/plugins/GEMTnPEfficiencyTask.cc b/DQMOffline/MuonDPG/plugins/GEMTnPEfficiencyTask.cc
index 170ec3d988060..fc4b2ffa7e9d8 100644
--- a/DQMOffline/MuonDPG/plugins/GEMTnPEfficiencyTask.cc
+++ b/DQMOffline/MuonDPG/plugins/GEMTnPEfficiencyTask.cc
@@ -14,14 +14,31 @@
#include "DQMOffline/MuonDPG/interface/BaseTnPEfficiencyTask.h"
+#include "DataFormats/GEMDigi/interface/GEMVFATStatusCollection.h"
+#include "DataFormats/GEMDigi/interface/GEMOHStatusCollection.h"
+#include "DataFormats/GEMDigi/interface/GEMAMCStatusCollection.h"
+#include "Geometry/GEMGeometry/interface/GEMGeometry.h"
+#include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h"
+#include "FWCore/Framework/interface/ConsumesCollector.h"
+#include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
+
class GEMTnPEfficiencyTask : public BaseTnPEfficiencyTask {
public:
/// Constructor
GEMTnPEfficiencyTask(const edm::ParameterSet& config);
-
+ uint16_t maskChamberWithError(const GEMDetId& chamber_id,
+ const GEMOHStatusCollection*,
+ const GEMVFATStatusCollection*);
+ bool checkBounds(const GeomDet* geomDet, const GlobalPoint& global_position, const float bordercut);
/// Destructor
~GEMTnPEfficiencyTask() override;
+ const bool m_maskChamberWithError_;
+ const edm::EDGetTokenT m_GEMOHStatusCollectionToken_;
+ const edm::EDGetTokenT m_GEMVFATStatusCollectionToken_;
+ const edm::EDGetTokenT m_GEMAMCStatusCollectionToken_;
+ std::unique_ptr muon_service_;
+
protected:
std::string topFolder() const override;
@@ -31,8 +48,18 @@ class GEMTnPEfficiencyTask : public BaseTnPEfficiencyTask {
void analyze(const edm::Event& event, const edm::EventSetup& context) override;
};
-GEMTnPEfficiencyTask::GEMTnPEfficiencyTask(const edm::ParameterSet& config) : BaseTnPEfficiencyTask(config) {
+GEMTnPEfficiencyTask::GEMTnPEfficiencyTask(const edm::ParameterSet& config)
+ : BaseTnPEfficiencyTask(config),
+ m_maskChamberWithError_((config.getUntrackedParameter("maskChamberWithError"))),
+ m_GEMOHStatusCollectionToken_(
+ consumes(config.getUntrackedParameter("ohStatusTag"))),
+ m_GEMVFATStatusCollectionToken_(
+ consumes(config.getUntrackedParameter("vfatStatusTag"))),
+ m_GEMAMCStatusCollectionToken_(
+ consumes(config.getUntrackedParameter("amcStatusTag"))) {
LogTrace("DQMOffline|MuonDPG|GEMTnPEfficiencyTask") << "[GEMTnPEfficiencyTask]: Constructor" << std::endl;
+ muon_service_ = std::make_unique(config.getParameter("ServiceParameters"),
+ consumesCollector());
}
GEMTnPEfficiencyTask::~GEMTnPEfficiencyTask() {
@@ -49,7 +76,6 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
auto baseDir = topFolder() + "Task/";
iBooker.setCurrentFolder(baseDir);
-
MonitorElement* me_GE11_pass_Ch_region =
iBooker.book2D("GE11_nPassingProbe_Ch_region", "GE11_nPassingProbe_Ch_region", 2, -1.5, 1.5, 36, 1, 37);
MonitorElement* me_GE11_fail_Ch_region =
@@ -174,6 +200,23 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
iBooker.book1D("GEM_nPassingProbe_phi_n2_1D", "GEM_nPassingProbe_phi_n2_1D", 20, -TMath::Pi(), TMath::Pi());
MonitorElement* me_GEM_fail_phi_n2_1D =
iBooker.book1D("GEM_nFailingProbe_phi_n2_1D", "GEM_nFailingProbe_phi_n2_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* me_GE11_pass_Ch_ieta_p1 =
+ iBooker.book2D("GE11_nPassingProbe_Ch_ieta_p1", "GE11_nPassingProbe_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_fail_Ch_ieta_p1 =
+ iBooker.book2D("GE11_nFailingProbe_Ch_ieta_p1", "GE11_nFailingProbe_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_pass_Ch_ieta_p2 =
+ iBooker.book2D("GE11_nPassingProbe_Ch_ieta_p2", "GE11_nPassingProbe_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_fail_Ch_ieta_p2 =
+ iBooker.book2D("GE11_nFailingProbe_Ch_ieta_p2", "GE11_nFailingProbe_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_pass_Ch_ieta_n1 =
+ iBooker.book2D("GE11_nPassingProbe_Ch_ieta_n1", "GE11_nPassingProbe_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_fail_Ch_ieta_n1 =
+ iBooker.book2D("GE11_nFailingProbe_Ch_ieta_n1", "GE11_nFailingProbe_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_pass_Ch_ieta_n2 =
+ iBooker.book2D("GE11_nPassingProbe_Ch_ieta_n2", "GE11_nPassingProbe_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* me_GE11_fail_Ch_ieta_n2 =
+ iBooker.book2D("GE11_nFailingProbe_Ch_ieta_n2", "GE11_nFailingProbe_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+
////
MonitorElement* me_ME0_pass_chamber_1D =
iBooker.book1D("ME0_nPassingProbe_chamber_1D", "ME0_nPassingProbe_chamber_1D", 18, 1, 19);
@@ -183,6 +226,525 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
"GEM_nPassingProbe_Ch_region_layer_phase2", "GEM_nPassingProbe_Ch_region_layer_phase2", 10, 0, 10, 36, 1, 37);
MonitorElement* me_GEM_fail_Ch_region_layer_phase2 = iBooker.book2D(
"GEM_nFailingProbe_Ch_region_layer_phase2", "GEM_nFailingProbe_Ch_region_layer_phase2", 10, 0, 10, 36, 1, 37);
+ // Bad VFAT Mask + Empty OH Mask
+ MonitorElement* OHmissing_me_GE11_pass_allCh_1D =
+ iBooker.book1D("GE11_nPassingProbe_OHmissing_allCh_1D", "GE11_nPassingProbe_OHmissing_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* OHmissing_me_GE11_fail_allCh_1D =
+ iBooker.book1D("GE11_nFailingProbe_OHmissing_allCh_1D", "GE11_nFailingProbe_OHmissing_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* OHmissing_me_GEM_pass_chamber_p1_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHmissing_chamber_p1_1D", "GEM_nPassingProbe_OHmissing_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_fail_chamber_p1_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHmissing_chamber_p1_1D", "GEM_nFailingProbe_OHmissing_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_pass_chamber_p2_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHmissing_chamber_p2_1D", "GEM_nPassingProbe_OHmissing_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_fail_chamber_p2_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHmissing_chamber_p2_1D", "GEM_nFailingProbe_OHmissing_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_pass_chamber_n1_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHmissing_chamber_n1_1D", "GEM_nPassingProbe_OHmissing_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_fail_chamber_n1_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHmissing_chamber_n1_1D", "GEM_nFailingProbe_OHmissing_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_pass_chamber_n2_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHmissing_chamber_n2_1D", "GEM_nPassingProbe_OHmissing_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_fail_chamber_n2_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHmissing_chamber_n2_1D", "GEM_nFailingProbe_OHmissing_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* OHmissing_me_GEM_pass_pt_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHmissing_pt_1D", "GEM_nPassingProbe_OHmissing_pt_1D", 20, 0, 100);
+ MonitorElement* OHmissing_me_GEM_fail_pt_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHmissing_pt_1D", "GEM_nFailingProbe_OHmissing_pt_1D", 20, 0, 100);
+ MonitorElement* OHmissing_me_GEM_pass_eta_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHmissing_eta_1D", "GEM_nPassingProbe_OHmissing_eta_1D", 24, 0, 2.4);
+ MonitorElement* OHmissing_me_GEM_fail_eta_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHmissing_eta_1D", "GEM_nFailingProbe_OHmissing_eta_1D", 24, 0, 2.4);
+ MonitorElement* OHmissing_me_GEM_pass_phi_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHmissing_phi_1D", "GEM_nPassingProbe_OHmissing_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* OHmissing_me_GEM_fail_phi_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHmissing_phi_1D", "GEM_nFailingProbe_OHmissing_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* OHmissing_me_GE11_pass_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_p1", "GE11_nPassingProbe_OHmissing_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_fail_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nFailingProbe_OHmissing_Ch_ieta_p1", "GE11_nFailingProbe_OHmissing_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_pass_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_p2", "GE11_nPassingProbe_OHmissing_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_fail_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nFailingProbe_OHmissing_Ch_ieta_p2", "GE11_nFailingProbe_OHmissing_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_pass_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_n1", "GE11_nPassingProbe_OHmissing_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_fail_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nFailingProbe_OHmissing_Ch_ieta_n1", "GE11_nFailingProbe_OHmissing_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_pass_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_n2", "GE11_nPassingProbe_OHmissing_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHmissing_me_GE11_fail_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nFailingProbe_OHmissing_Ch_ieta_n2", "GE11_nFailingProbe_OHmissing_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+
+ OHmissing_me_GE11_pass_allCh_1D->setBinLabel(1, "GE-11", 1);
+ OHmissing_me_GE11_pass_allCh_1D->setBinLabel(2, "GE+11", 1);
+ OHmissing_me_GE11_pass_allCh_1D->setAxisTitle("Number of passing probes", 2);
+
+ OHmissing_me_GE11_fail_allCh_1D->setBinLabel(1, "GE-11", 1);
+ OHmissing_me_GE11_fail_allCh_1D->setBinLabel(2, "GE+11", 1);
+ OHmissing_me_GE11_fail_allCh_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_pass_chamber_p1_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_fail_chamber_p1_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_pass_chamber_p2_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_fail_chamber_p2_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_pass_chamber_n1_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_fail_chamber_n1_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_pass_chamber_n2_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ OHmissing_me_GEM_fail_chamber_n2_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_pt_1D->setAxisTitle("P_{T}", 1);
+ OHmissing_me_GEM_pass_pt_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_pt_1D->setAxisTitle("P_{T}", 1);
+ OHmissing_me_GEM_fail_pt_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_eta_1D->setAxisTitle("#eta", 1);
+ OHmissing_me_GEM_pass_eta_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_eta_1D->setAxisTitle("#eta", 1);
+ OHmissing_me_GEM_fail_eta_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHmissing_me_GEM_pass_phi_1D->setAxisTitle("#phi", 1);
+ OHmissing_me_GEM_pass_phi_1D->setAxisTitle("Number of passing probes", 2);
+ OHmissing_me_GEM_fail_phi_1D->setAxisTitle("#phi", 1);
+ OHmissing_me_GEM_fail_phi_1D->setAxisTitle("Number of failing probes", 2);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_fail_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_pass_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_fail_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_pass_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_fail_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_pass_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_fail_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHmissing_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHmissing_me_GE11_pass_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ OHmissing_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ OHmissing_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Number of passing probes", 3);
+
+ // Bad VFAT Mask + Empty OH Mask + EvtNF
+
+ MonitorElement* OHerror_me_GE11_pass_allCh_1D =
+ iBooker.book1D("GE11_nPassingProbe_OHerror_allCh_1D", "GE11_nPassingProbe_OHerror_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* OHerror_me_GE11_fail_allCh_1D =
+ iBooker.book1D("GE11_nFailingProbe_OHerror_allCh_1D", "GE11_nFailingProbe_OHerror_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* OHerror_me_GEM_pass_chamber_p1_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_chamber_p1_1D", "GEM_nPassingProbe_OHerror_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_fail_chamber_p1_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_chamber_p1_1D", "GEM_nFailingProbe_OHerror_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_pass_chamber_p2_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_chamber_p2_1D", "GEM_nPassingProbe_OHerror_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_fail_chamber_p2_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_chamber_p2_1D", "GEM_nFailingProbe_OHerror_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_pass_chamber_n1_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_chamber_n1_1D", "GEM_nPassingProbe_OHerror_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_fail_chamber_n1_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_chamber_n1_1D", "GEM_nFailingProbe_OHerror_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_pass_chamber_n2_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_chamber_n2_1D", "GEM_nPassingProbe_OHerror_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_fail_chamber_n2_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_chamber_n2_1D", "GEM_nFailingProbe_OHerror_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* OHerror_me_GEM_pass_pt_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_pt_1D", "GEM_nPassingProbe_OHerror_pt_1D", 20, 0, 100);
+ MonitorElement* OHerror_me_GEM_fail_pt_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_pt_1D", "GEM_nFailingProbe_OHerror_pt_1D", 20, 0, 100);
+ MonitorElement* OHerror_me_GEM_pass_eta_1D =
+ iBooker.book1D("GEM_nPassingProbe_OHerror_eta_1D", "GEM_nPassingProbe_OHerror_eta_1D", 24, 0, 2.4);
+ MonitorElement* OHerror_me_GEM_fail_eta_1D =
+ iBooker.book1D("GEM_nFailingProbe_OHerror_eta_1D", "GEM_nFailingProbe_OHerror_eta_1D", 24, 0, 2.4);
+ MonitorElement* OHerror_me_GEM_pass_phi_1D = iBooker.book1D(
+ "GEM_nPassingProbe_OHerror_phi_1D", "GEM_nPassingProbe_OHerror_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* OHerror_me_GEM_fail_phi_1D = iBooker.book1D(
+ "GEM_nFailingProbe_OHerror_phi_1D", "GEM_nFailingProbe_OHerror_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* OHerror_me_GE11_pass_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nPassingProbe_OHerror_Ch_ieta_p1", "GE11_nPassingProbe_OHerror_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_fail_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nFailingProbe_OHerror_Ch_ieta_p1", "GE11_nFailingProbe_OHerror_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_pass_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nPassingProbe_OHerror_Ch_ieta_p2", "GE11_nPassingProbe_OHerror_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_fail_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nFailingProbe_OHerror_Ch_ieta_p2", "GE11_nFailingProbe_OHerror_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_pass_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nPassingProbe_OHerror_Ch_ieta_n1", "GE11_nPassingProbe_OHerror_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_fail_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nFailingProbe_OHerror_Ch_ieta_n1", "GE11_nFailingProbe_OHerror_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_pass_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nPassingProbe_OHerror_Ch_ieta_n2", "GE11_nPassingProbe_OHerror_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* OHerror_me_GE11_fail_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nFailingProbe_OHerror_Ch_ieta_n2", "GE11_nFailingProbe_OHerror_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+
+ OHerror_me_GE11_pass_allCh_1D->setBinLabel(1, "GE-11", 1);
+ OHerror_me_GE11_pass_allCh_1D->setBinLabel(2, "GE+11", 1);
+ OHerror_me_GE11_pass_allCh_1D->setAxisTitle("Number of passing probes", 2);
+
+ OHerror_me_GE11_fail_allCh_1D->setBinLabel(1, "GE-11", 1);
+ OHerror_me_GE11_fail_allCh_1D->setBinLabel(2, "GE+11", 1);
+ OHerror_me_GE11_fail_allCh_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_pass_chamber_p1_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_fail_chamber_p1_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_pass_chamber_p2_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_fail_chamber_p2_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_pass_chamber_n1_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_fail_chamber_n1_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_pass_chamber_n2_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ OHerror_me_GEM_fail_chamber_n2_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_pt_1D->setAxisTitle("P_{T}", 1);
+ OHerror_me_GEM_pass_pt_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_pt_1D->setAxisTitle("P_{T}", 1);
+ OHerror_me_GEM_fail_pt_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_eta_1D->setAxisTitle("#eta", 1);
+ OHerror_me_GEM_pass_eta_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_eta_1D->setAxisTitle("#eta", 1);
+ OHerror_me_GEM_fail_eta_1D->setAxisTitle("Number of failing probes", 2);
+
+ OHerror_me_GEM_pass_phi_1D->setAxisTitle("#phi", 1);
+ OHerror_me_GEM_pass_phi_1D->setAxisTitle("Number of passing probes", 2);
+ OHerror_me_GEM_fail_phi_1D->setAxisTitle("#phi", 1);
+ OHerror_me_GEM_fail_phi_1D->setAxisTitle("Number of failing probes", 2);
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_fail_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_pass_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_fail_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_pass_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_fail_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_pass_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_fail_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ OHerror_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ OHerror_me_GE11_pass_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ OHerror_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ OHerror_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Number of passing probes", 3);
+
+ // Bad VFAT Mask + Empty OH Mask + OHerrorMask
+
+ MonitorElement* VFATMask_me_GE11_pass_allCh_1D =
+ iBooker.book1D("GE11_nPassingProbe_VFATMask_allCh_1D", "GE11_nPassingProbe_VFATMask_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* VFATMask_me_GE11_fail_allCh_1D =
+ iBooker.book1D("GE11_nFailingProbe_VFATMask_allCh_1D", "GE11_nFailingProbe_VFATMask_allCh_1D", 2, -1.5, 1.5);
+ MonitorElement* VFATMask_me_GEM_pass_chamber_p1_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_chamber_p1_1D", "GEM_nPassingProbe_VFATMask_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_fail_chamber_p1_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_chamber_p1_1D", "GEM_nFailingProbe_VFATMask_chamber_p1_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_pass_chamber_p2_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_chamber_p2_1D", "GEM_nPassingProbe_VFATMask_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_fail_chamber_p2_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_chamber_p2_1D", "GEM_nFailingProbe_VFATMask_chamber_p2_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_pass_chamber_n1_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_chamber_n1_1D", "GEM_nPassingProbe_VFATMask_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_fail_chamber_n1_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_chamber_n1_1D", "GEM_nFailingProbe_VFATMask_chamber_n1_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_pass_chamber_n2_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_chamber_n2_1D", "GEM_nPassingProbe_VFATMask_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_fail_chamber_n2_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_chamber_n2_1D", "GEM_nFailingProbe_VFATMask_chamber_n2_1D", 36, 1, 37);
+ MonitorElement* VFATMask_me_GEM_pass_pt_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_pt_1D", "GEM_nPassingProbe_VFATMask_pt_1D", 20, 0, 100);
+ MonitorElement* VFATMask_me_GEM_fail_pt_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_pt_1D", "GEM_nFailingProbe_VFATMask_pt_1D", 20, 0, 100);
+ MonitorElement* VFATMask_me_GEM_pass_eta_1D =
+ iBooker.book1D("GEM_nPassingProbe_VFATMask_eta_1D", "GEM_nPassingProbe_VFATMask_eta_1D", 24, 0, 2.4);
+ MonitorElement* VFATMask_me_GEM_fail_eta_1D =
+ iBooker.book1D("GEM_nFailingProbe_VFATMask_eta_1D", "GEM_nFailingProbe_VFATMask_eta_1D", 24, 0, 2.4);
+ MonitorElement* VFATMask_me_GEM_pass_phi_1D = iBooker.book1D(
+ "GEM_nPassingProbe_VFATMask_phi_1D", "GEM_nPassingProbe_VFATMask_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* VFATMask_me_GEM_fail_phi_1D = iBooker.book1D(
+ "GEM_nFailingProbe_VFATMask_phi_1D", "GEM_nFailingProbe_VFATMask_phi_1D", 20, -TMath::Pi(), TMath::Pi());
+ MonitorElement* VFATMask_me_GE11_pass_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_p1", "GE11_nPassingProbe_VFATMask_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_fail_Ch_ieta_p1 = iBooker.book2D(
+ "GE11_nFailingProbe_VFATMask_Ch_ieta_p1", "GE11_nFailingProbe_VFATMask_Ch_ieta_p1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_pass_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_p2", "GE11_nPassingProbe_VFATMask_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_fail_Ch_ieta_p2 = iBooker.book2D(
+ "GE11_nFailingProbe_VFATMask_Ch_ieta_p2", "GE11_nFailingProbe_VFATMask_Ch_ieta_p2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_pass_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_n1", "GE11_nPassingProbe_VFATMask_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_fail_Ch_ieta_n1 = iBooker.book2D(
+ "GE11_nFailingProbe_VFATMask_Ch_ieta_n1", "GE11_nFailingProbe_VFATMask_Ch_ieta_n1", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_pass_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_n2", "GE11_nPassingProbe_VFATMask_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+ MonitorElement* VFATMask_me_GE11_fail_Ch_ieta_n2 = iBooker.book2D(
+ "GE11_nFailingProbe_VFATMask_Ch_ieta_n2", "GE11_nFailingProbe_VFATMask_Ch_ieta_n2", 8, 1, 9, 36, 1, 37);
+
+ VFATMask_me_GE11_pass_allCh_1D->setBinLabel(1, "GE-11", 1);
+ VFATMask_me_GE11_pass_allCh_1D->setBinLabel(2, "GE+11", 1);
+ VFATMask_me_GE11_pass_allCh_1D->setAxisTitle("Number of passing probes", 2);
+
+ VFATMask_me_GE11_fail_allCh_1D->setBinLabel(1, "GE-11", 1);
+ VFATMask_me_GE11_fail_allCh_1D->setBinLabel(2, "GE+11", 1);
+ VFATMask_me_GE11_fail_allCh_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_pass_chamber_p1_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_chamber_p1_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_fail_chamber_p1_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_pass_chamber_p2_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_chamber_p2_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_fail_chamber_p2_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_pass_chamber_n1_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_chamber_n1_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_fail_chamber_n1_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_pass_chamber_n2_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_chamber_n2_1D->setAxisTitle("Chamber", 1);
+ VFATMask_me_GEM_fail_chamber_n2_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_pt_1D->setAxisTitle("P_{T}", 1);
+ VFATMask_me_GEM_pass_pt_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_pt_1D->setAxisTitle("P_{T}", 1);
+ VFATMask_me_GEM_fail_pt_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_eta_1D->setAxisTitle("#eta", 1);
+ VFATMask_me_GEM_pass_eta_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_eta_1D->setAxisTitle("#eta", 1);
+ VFATMask_me_GEM_fail_eta_1D->setAxisTitle("Number of failing probes", 2);
+
+ VFATMask_me_GEM_pass_phi_1D->setAxisTitle("#phi", 1);
+ VFATMask_me_GEM_pass_phi_1D->setAxisTitle("Number of passing probes", 2);
+ VFATMask_me_GEM_fail_phi_1D->setAxisTitle("#phi", 1);
+ VFATMask_me_GEM_fail_phi_1D->setAxisTitle("Number of failing probes", 2);
+
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_fail_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_fail_Ch_ieta_p1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_pass_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_pass_Ch_ieta_p1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_fail_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_fail_Ch_ieta_p2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_pass_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_pass_Ch_ieta_p2->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_fail_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_fail_Ch_ieta_n1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_pass_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_pass_Ch_ieta_n1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_fail_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_fail_Ch_ieta_n2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ VFATMask_me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ VFATMask_me_GE11_pass_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ VFATMask_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ VFATMask_me_GE11_pass_Ch_ieta_n2->setAxisTitle("Number of passing probes", 3);
me_GE11_pass_allCh_1D->setBinLabel(1, "GE-11", 1);
me_GE11_pass_allCh_1D->setBinLabel(2, "GE+11", 1);
@@ -485,6 +1047,86 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
me_GEM_pass_Ch_region_layer_phase2->setAxisTitle("Chamber", 2);
me_GEM_pass_Ch_region_layer_phase2->setAxisTitle("Number of passing probes", 3);
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_fail_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_fail_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ me_GE11_fail_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ me_GE11_fail_Ch_ieta_p1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_pass_Ch_ieta_p1->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_pass_Ch_ieta_p1->setAxisTitle("#ieta", 1);
+ me_GE11_pass_Ch_ieta_p1->setAxisTitle("Chamber", 2);
+ me_GE11_pass_Ch_ieta_p1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_fail_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_fail_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ me_GE11_fail_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ me_GE11_fail_Ch_ieta_p2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_pass_Ch_ieta_p2->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_pass_Ch_ieta_p2->setAxisTitle("#ieta", 1);
+ me_GE11_pass_Ch_ieta_p2->setAxisTitle("Chamber", 2);
+ me_GE11_pass_Ch_ieta_p2->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_fail_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_fail_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ me_GE11_fail_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ me_GE11_fail_Ch_ieta_n1->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_pass_Ch_ieta_n1->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_pass_Ch_ieta_n1->setAxisTitle("#ieta", 1);
+ me_GE11_pass_Ch_ieta_n1->setAxisTitle("Chamber", 2);
+ me_GE11_pass_Ch_ieta_n1->setAxisTitle("Number of passing probes", 3);
+ ////
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_fail_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_fail_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ me_GE11_fail_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ me_GE11_fail_Ch_ieta_n2->setAxisTitle("Number of failing probes", 3);
+
+ for (int i = 1; i < 37; ++i) {
+ me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 2);
+ }
+ for (int i = 1; i < 9; ++i) {
+ me_GE11_pass_Ch_ieta_n2->setBinLabel(i, std::to_string(i), 1);
+ }
+ me_GE11_pass_Ch_ieta_n2->setAxisTitle("#ieta", 1);
+ me_GE11_pass_Ch_ieta_n2->setAxisTitle("Chamber", 2);
+ me_GE11_pass_Ch_ieta_n2->setAxisTitle("Number of passing probes", 3);
+
m_histos["GE11_nPassingProbe_Ch_region"] = me_GE11_pass_Ch_region;
m_histos["GE11_nFailingProbe_Ch_region"] = me_GE11_fail_Ch_region;
m_histos["GE21_nPassingProbe_Ch_region"] = me_GE21_pass_Ch_region;
@@ -551,6 +1193,89 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
m_histos["ME0_nFailingProbe_chamber_1D"] = me_ME0_fail_chamber_1D;
m_histos["GEM_nPassingProbe_Ch_region_layer_phase2"] = me_GEM_pass_Ch_region_layer_phase2;
m_histos["GEM_nFailingProbe_Ch_region_layer_phase2"] = me_GEM_fail_Ch_region_layer_phase2;
+ m_histos["GE11_nPassingProbe_Ch_ieta_p1"] = me_GE11_pass_Ch_ieta_p1;
+ m_histos["GE11_nFailingProbe_Ch_ieta_p1"] = me_GE11_fail_Ch_ieta_p1;
+ m_histos["GE11_nPassingProbe_Ch_ieta_p2"] = me_GE11_pass_Ch_ieta_p2;
+ m_histos["GE11_nFailingProbe_Ch_ieta_p2"] = me_GE11_fail_Ch_ieta_p2;
+ m_histos["GE11_nPassingProbe_Ch_ieta_n1"] = me_GE11_pass_Ch_ieta_n1;
+ m_histos["GE11_nFailingProbe_Ch_ieta_n1"] = me_GE11_fail_Ch_ieta_n1;
+ m_histos["GE11_nPassingProbe_Ch_ieta_n2"] = me_GE11_pass_Ch_ieta_n2;
+ m_histos["GE11_nFailingProbe_Ch_ieta_n2"] = me_GE11_fail_Ch_ieta_n2;
+
+ m_histos["GE11_nPassingProbe_OHmissing_allCh_1D"] = OHmissing_me_GE11_pass_allCh_1D;
+ m_histos["GE11_nFailingProbe_OHmissing_allCh_1D"] = OHmissing_me_GE11_fail_allCh_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_chamber_p1_1D"] = OHmissing_me_GEM_pass_chamber_p1_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_chamber_p1_1D"] = OHmissing_me_GEM_fail_chamber_p1_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_chamber_p2_1D"] = OHmissing_me_GEM_pass_chamber_p2_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_chamber_p2_1D"] = OHmissing_me_GEM_fail_chamber_p2_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_chamber_n1_1D"] = OHmissing_me_GEM_pass_chamber_n1_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_chamber_n1_1D"] = OHmissing_me_GEM_fail_chamber_n1_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_chamber_n2_1D"] = OHmissing_me_GEM_pass_chamber_n2_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_chamber_n2_1D"] = OHmissing_me_GEM_fail_chamber_n2_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_pt_1D"] = OHmissing_me_GEM_pass_pt_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_pt_1D"] = OHmissing_me_GEM_fail_pt_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_eta_1D"] = OHmissing_me_GEM_pass_eta_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_eta_1D"] = OHmissing_me_GEM_fail_eta_1D;
+ m_histos["GEM_nPassingProbe_OHmissing_phi_1D"] = OHmissing_me_GEM_pass_phi_1D;
+ m_histos["GEM_nFailingProbe_OHmissing_phi_1D"] = OHmissing_me_GEM_fail_phi_1D;
+ m_histos["GE11_nPassingProbe_OHmissing_Ch_ieta_p1"] = OHmissing_me_GE11_pass_Ch_ieta_p1;
+ m_histos["GE11_nFailingProbe_OHmissing_Ch_ieta_p1"] = OHmissing_me_GE11_fail_Ch_ieta_p1;
+ m_histos["GE11_nPassingProbe_OHmissing_Ch_ieta_p2"] = OHmissing_me_GE11_pass_Ch_ieta_p2;
+ m_histos["GE11_nFailingProbe_OHmissing_Ch_ieta_p2"] = OHmissing_me_GE11_fail_Ch_ieta_p2;
+ m_histos["GE11_nPassingProbe_OHmissing_Ch_ieta_n1"] = OHmissing_me_GE11_pass_Ch_ieta_n1;
+ m_histos["GE11_nFailingProbe_OHmissing_Ch_ieta_n1"] = OHmissing_me_GE11_fail_Ch_ieta_n1;
+ m_histos["GE11_nPassingProbe_OHmissing_Ch_ieta_n2"] = OHmissing_me_GE11_pass_Ch_ieta_n2;
+ m_histos["GE11_nFailingProbe_OHmissing_Ch_ieta_n2"] = OHmissing_me_GE11_fail_Ch_ieta_n2;
+
+ m_histos["GE11_nPassingProbe_OHerror_allCh_1D"] = OHerror_me_GE11_pass_allCh_1D;
+ m_histos["GE11_nFailingProbe_OHerror_allCh_1D"] = OHerror_me_GE11_fail_allCh_1D;
+ m_histos["GEM_nPassingProbe_OHerror_chamber_p1_1D"] = OHerror_me_GEM_pass_chamber_p1_1D;
+ m_histos["GEM_nFailingProbe_OHerror_chamber_p1_1D"] = OHerror_me_GEM_fail_chamber_p1_1D;
+ m_histos["GEM_nPassingProbe_OHerror_chamber_p2_1D"] = OHerror_me_GEM_pass_chamber_p2_1D;
+ m_histos["GEM_nFailingProbe_OHerror_chamber_p2_1D"] = OHerror_me_GEM_fail_chamber_p2_1D;
+ m_histos["GEM_nPassingProbe_OHerror_chamber_n1_1D"] = OHerror_me_GEM_pass_chamber_n1_1D;
+ m_histos["GEM_nFailingProbe_OHerror_chamber_n1_1D"] = OHerror_me_GEM_fail_chamber_n1_1D;
+ m_histos["GEM_nPassingProbe_OHerror_chamber_n2_1D"] = OHerror_me_GEM_pass_chamber_n2_1D;
+ m_histos["GEM_nFailingProbe_OHerror_chamber_n2_1D"] = OHerror_me_GEM_fail_chamber_n2_1D;
+ m_histos["GEM_nPassingProbe_OHerror_pt_1D"] = OHerror_me_GEM_pass_pt_1D;
+ m_histos["GEM_nFailingProbe_OHerror_pt_1D"] = OHerror_me_GEM_fail_pt_1D;
+ m_histos["GEM_nPassingProbe_OHerror_eta_1D"] = OHerror_me_GEM_pass_eta_1D;
+ m_histos["GEM_nFailingProbe_OHerror_eta_1D"] = OHerror_me_GEM_fail_eta_1D;
+ m_histos["GEM_nPassingProbe_OHerror_phi_1D"] = OHerror_me_GEM_pass_phi_1D;
+ m_histos["GEM_nFailingProbe_OHerror_phi_1D"] = OHerror_me_GEM_fail_phi_1D;
+ m_histos["GE11_nPassingProbe_OHerror_Ch_ieta_p1"] = OHerror_me_GE11_pass_Ch_ieta_p1;
+ m_histos["GE11_nFailingProbe_OHerror_Ch_ieta_p1"] = OHerror_me_GE11_fail_Ch_ieta_p1;
+ m_histos["GE11_nPassingProbe_OHerror_Ch_ieta_p2"] = OHerror_me_GE11_pass_Ch_ieta_p2;
+ m_histos["GE11_nFailingProbe_OHerror_Ch_ieta_p2"] = OHerror_me_GE11_fail_Ch_ieta_p2;
+ m_histos["GE11_nPassingProbe_OHerror_Ch_ieta_n1"] = OHerror_me_GE11_pass_Ch_ieta_n1;
+ m_histos["GE11_nFailingProbe_OHerror_Ch_ieta_n1"] = OHerror_me_GE11_fail_Ch_ieta_n1;
+ m_histos["GE11_nPassingProbe_OHerror_Ch_ieta_n2"] = OHerror_me_GE11_pass_Ch_ieta_n2;
+ m_histos["GE11_nFailingProbe_OHerror_Ch_ieta_n2"] = OHerror_me_GE11_fail_Ch_ieta_n2;
+
+ m_histos["GE11_nPassingProbe_VFATMask_allCh_1D"] = VFATMask_me_GE11_pass_allCh_1D;
+ m_histos["GE11_nFailingProbe_VFATMask_allCh_1D"] = VFATMask_me_GE11_fail_allCh_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_chamber_p1_1D"] = VFATMask_me_GEM_pass_chamber_p1_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_chamber_p1_1D"] = VFATMask_me_GEM_fail_chamber_p1_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_chamber_p2_1D"] = VFATMask_me_GEM_pass_chamber_p2_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_chamber_p2_1D"] = VFATMask_me_GEM_fail_chamber_p2_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_chamber_n1_1D"] = VFATMask_me_GEM_pass_chamber_n1_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_chamber_n1_1D"] = VFATMask_me_GEM_fail_chamber_n1_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_chamber_n2_1D"] = VFATMask_me_GEM_pass_chamber_n2_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_chamber_n2_1D"] = VFATMask_me_GEM_fail_chamber_n2_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_pt_1D"] = VFATMask_me_GEM_pass_pt_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_pt_1D"] = VFATMask_me_GEM_fail_pt_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_eta_1D"] = VFATMask_me_GEM_pass_eta_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_eta_1D"] = VFATMask_me_GEM_fail_eta_1D;
+ m_histos["GEM_nPassingProbe_VFATMask_phi_1D"] = VFATMask_me_GEM_pass_phi_1D;
+ m_histos["GEM_nFailingProbe_VFATMask_phi_1D"] = VFATMask_me_GEM_fail_phi_1D;
+ m_histos["GE11_nPassingProbe_VFATMask_Ch_ieta_p1"] = VFATMask_me_GE11_pass_Ch_ieta_p1;
+ m_histos["GE11_nFailingProbe_VFATMask_Ch_ieta_p1"] = VFATMask_me_GE11_fail_Ch_ieta_p1;
+ m_histos["GE11_nPassingProbe_VFATMask_Ch_ieta_p2"] = VFATMask_me_GE11_pass_Ch_ieta_p2;
+ m_histos["GE11_nFailingProbe_VFATMask_Ch_ieta_p2"] = VFATMask_me_GE11_fail_Ch_ieta_p2;
+ m_histos["GE11_nPassingProbe_VFATMask_Ch_ieta_n1"] = VFATMask_me_GE11_pass_Ch_ieta_n1;
+ m_histos["GE11_nFailingProbe_VFATMask_Ch_ieta_n1"] = VFATMask_me_GE11_fail_Ch_ieta_n1;
+ m_histos["GE11_nPassingProbe_VFATMask_Ch_ieta_n2"] = VFATMask_me_GE11_pass_Ch_ieta_n2;
+ m_histos["GE11_nFailingProbe_VFATMask_Ch_ieta_n2"] = VFATMask_me_GE11_fail_Ch_ieta_n2;
std::string baseDir_ = topFolder() + "/detailed/";
iBooker.setCurrentFolder(baseDir_);
@@ -564,11 +1289,83 @@ void GEMTnPEfficiencyTask::bookHistograms(DQMStore::IBooker& iBooker,
m_histos["Cham_x_ME0"] = iBooker.book1D("Cham_x_ME0", "Cham_x;probe x [cm];Events", 100, -10., 10.);
m_histos["Cham_x_GE1"] = iBooker.book1D("Cham_x_GE1", "Cham_x;probe x [cm];Events", 100, -10., 10.);
m_histos["Cham_x_GE2"] = iBooker.book1D("Cham_x_GE2", "Cham_x;probe x [cm];Events", 100, -10., 10.);
+ m_histos["xyErr_GE1"] = iBooker.book2D("xyErr_GE1", "xyErr_GE1", 50, 0., 5., 50, 0., 5.);
+}
+
+uint16_t GEMTnPEfficiencyTask::maskChamberWithError(const GEMDetId& chamber_id,
+ const GEMOHStatusCollection* oh_status_collection,
+ const GEMVFATStatusCollection* vfat_status_collection) {
+ uint16_t oh_warning = 0;
+ bool oh_exists = false;
+ for (auto iter = oh_status_collection->begin(); iter != oh_status_collection->end(); iter++) {
+ const auto [oh_id, range] = (*iter);
+ if (chamber_id.chamberId() != oh_id) {
+ continue;
+ }
+ for (auto oh_status = range.first; oh_status != range.second; oh_status++) {
+ oh_exists = true;
+ if (oh_status->isBad()) {
+ oh_warning = oh_warning | (1 << 1);
+ }
+ //oh_warning = oh_warning | (oh_status->warnings()); // If doing oh warning masking
+ uint32_t vfatmask = oh_status->vfatMask();
+ if (vfatmask != 16777215) {
+ int ieta = chamber_id.ieta();
+ if (!((vfatmask >> (8 - ieta) & 1) && (vfatmask >> (16 - ieta) & 1) &&
+ (vfatmask >> (24 - ieta) & 1))) { // will not work for GE21
+ oh_warning = oh_warning | (1 << 2);
+ }
+ }
+ } // range
+ } // collection
+ if (!oh_exists) {
+ oh_warning = oh_warning | 1;
+ }
+ return oh_warning;
+}
+
+bool GEMTnPEfficiencyTask::checkBounds(const GeomDet* geomDet,
+ const GlobalPoint& global_position,
+ const float bordercut) {
+ const TrapezoidalPlaneBounds* bounds = dynamic_cast(&geomDet->surface().bounds());
+ LocalPoint localPoint = geomDet->surface().toLocal(global_position);
+ float wideWidth = bounds->width();
+ float narrowWidth = 2.f * bounds->widthAtHalfLength() - wideWidth;
+ float length = bounds->length();
+ float tangent = (wideWidth - narrowWidth) / (2.f * length);
+ float halfWidthAtY = tangent * localPoint.y() + 0.25f * (narrowWidth + wideWidth);
+ float distanceY = std::abs(localPoint.y()) - 0.5f * length;
+ float distanceX = std::abs(localPoint.x()) - halfWidthAtY;
+ if (distanceX < bordercut && distanceY < bordercut) {
+ return true;
+ }
+ return false;
}
void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetup& context) {
BaseTnPEfficiencyTask::analyze(event, context);
+ GEMOHStatusCollection oh_status;
+ GEMVFATStatusCollection vfat_status;
+ edm::Handle oh_status_collection;
+ edm::Handle vfat_status_collection;
+ muon_service_->update(context);
+ if (m_maskChamberWithError_) {
+ event.getByToken(m_GEMOHStatusCollectionToken_, oh_status_collection);
+ //if (oh_status_collem_tion.isValid()) {
+ oh_status = *oh_status_collection;
+ } else {
+ LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask") << "failed to get GEMOHStatusCollection" << std::endl;
+ return;
+ }
+ // event.getByToken(kGEMVFATStatusCollectionToken_, vfat_status_collection);
+ // if (vfat_status_collection.isValid()) {
+ // vfat_status = *vfat_status_collection;
+ // } else {
+ // LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask") << "failed to get GEMVFATStatusCollection" << std::endl;
+ // return;
+ // }
+ // }
edm::Handle muons;
event.getByToken(m_muToken, muons);
@@ -582,6 +1379,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector> probe_coll_GE11_phi;
std::vector> probe_coll_GE11_sta;
std::vector> probe_coll_GE11_dx;
+ std::vector> probe_coll_GE11_warnings;
//GE21 variables
std::vector> probe_coll_GE21_region;
@@ -593,6 +1391,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector> probe_coll_GE21_phi;
std::vector> probe_coll_GE21_sta;
std::vector> probe_coll_GE21_dx;
+ std::vector> probe_coll_GE21_warnings;
std::vector probe_coll_GEM_staMatch; // ME0 to 0b0001, GE11 to 0b0010, GE21 to 0b0100
@@ -607,6 +1406,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector> probe_coll_ME0_phi;
std::vector> probe_coll_ME0_sta;
std::vector> probe_coll_ME0_dx;
+ std::vector> probe_coll_ME0_warnings;
std::vector probe_indices;
if (!m_probeIndices.empty())
@@ -624,6 +1424,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector probe_GE11_ieta;
std::vector probe_GE11_phi;
std::vector probe_GE11_dx;
+ std::vector probe_GE11_warnings;
//GE21 variables
std::vector probe_GE21_region;
std::vector probe_GE21_sta;
@@ -634,6 +1435,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector probe_GE21_ieta;
std::vector probe_GE21_phi;
std::vector probe_GE21_dx;
+ std::vector probe_GE21_warnings;
//std::vector probe_GEM_dx_seg;
uint8_t GEM_stationMatching = 0;
//ME0 variables
@@ -647,6 +1449,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::vector probe_ME0_ieta;
std::vector probe_ME0_phi;
std::vector probe_ME0_dx;
+ std::vector probe_ME0_warnings;
bool gem_matched = false; // fill detailed plots only for probes matching GEM
@@ -658,18 +1461,31 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
gem_matched = true; //fill detailed plots if at least one GEM probe match
GEMDetId chId(chambMatch.id.rawId());
-
+ const uint16_t warnings = maskChamberWithError(chId, &oh_status, &vfat_status);
const int roll = chId.roll();
const int region = chId.region();
const int station = chId.station();
const int layer = chId.layer();
const int chamber = chId.chamber();
- const int ieta = chId.ieta();
const float pt = (*muons).at(i).pt();
const float eta = (*muons).at(i).eta();
const float phi = (*muons).at(i).phi();
+ int ieta = 0;
GEM_stationMatching = GEM_stationMatching | (1 << station);
+ const GeomDet* geomDet = muon_service_->trackingGeometry()->idToDet(chId);
+ LocalPoint pos(chambMatch.x, chambMatch.y);
+
+ const GlobalPoint& global_position = geomDet->toGlobal(pos);
+
+ if (const GEMChamber* gemChamber = dynamic_cast(geomDet)) {
+ for (const GEMEtaPartition* eta_partition : gemChamber->etaPartitions())
+ if (checkBounds(eta_partition, global_position, m_borderCut)) {
+ ieta = eta_partition->id().ieta();
+ break;
+ }
+ }
+
if (station == 1 || station == 2) {
reco::MuonGEMHitMatch closest_matchedHit;
double smallestDx = 99999.;
@@ -695,6 +1511,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_GE11_eta.push_back(eta);
probe_GE11_phi.push_back(phi);
probe_GE11_dx.push_back(smallestDx);
+ probe_GE11_warnings.push_back(warnings);
}
if (station == 2) {
@@ -707,13 +1524,14 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_GE21_eta.push_back(eta);
probe_GE21_phi.push_back(phi);
probe_GE21_dx.push_back(smallestDx);
+ probe_GE21_warnings.push_back(warnings);
}
-
if (m_detailedAnalysis && hit_matched) {
if (station == 1) {
m_histos.find("GEMhit_dx_GE1")->second->Fill(smallestDx);
m_histos.find("GEMhit_x_GE1")->second->Fill(matched_GEMHit_x);
m_histos.find("Cham_x_GE1")->second->Fill(chambMatch.x);
+ m_histos.find("xyErr_GE1")->second->Fill(chambMatch.xErr, chambMatch.yErr);
}
if (station == 2) {
m_histos.find("GEMhit_dx_GE2")->second->Fill(smallestDx);
@@ -746,6 +1564,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_ME0_eta.push_back(eta);
probe_ME0_phi.push_back(phi);
probe_ME0_dx.push_back(smallestDx_seg);
+ probe_ME0_warnings.push_back(warnings);
if (m_detailedAnalysis && hit_matched) {
m_histos.find("GEMseg_dx_ME0")->second->Fill(smallestDx_seg);
@@ -781,6 +1600,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_coll_GE11_eta.push_back(probe_GE11_eta);
probe_coll_GE11_phi.push_back(probe_GE11_phi);
probe_coll_GE11_dx.push_back(probe_GE11_dx);
+ probe_coll_GE11_warnings.push_back(probe_GE11_warnings);
probe_coll_GEM_staMatch.push_back(GEM_stationMatching);
@@ -794,6 +1614,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_coll_GE21_eta.push_back(probe_GE21_eta);
probe_coll_GE21_phi.push_back(probe_GE21_phi);
probe_coll_GE21_dx.push_back(probe_GE21_dx);
+ probe_coll_GE21_warnings.push_back(probe_GE21_warnings);
//Fill ME0 variables
probe_coll_ME0_region.push_back(probe_ME0_region);
@@ -806,6 +1627,7 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
probe_coll_ME0_eta.push_back(probe_ME0_eta);
probe_coll_ME0_phi.push_back(probe_ME0_phi);
probe_coll_ME0_dx.push_back(probe_ME0_dx);
+ probe_coll_ME0_warnings.push_back(probe_ME0_warnings);
} //loop over probe collection
@@ -856,12 +1678,24 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
float GEM_dx = probe_coll_GE11_dx.at(i).at(j);
float GEM_eta = probe_coll_GE11_eta.at(i).at(j);
float GEM_phi = probe_coll_GE11_phi.at(i).at(j);
+
+ uint16_t GEM_warning = probe_coll_GE11_warnings.at(i).at(j);
//Fill GEM plots
if (GEM_dx < m_dxCut) {
m_histos.find("GE11_nPassingProbe_Ch_region")->second->Fill(GEM_region, GEM_chamber);
m_histos.find("GE11_nPassingProbe_Ch_ieta")->second->Fill(GEM_ieta, GEM_chamber);
m_histos.find("GE11_nPassingProbe_Ch_phi")->second->Fill(GEM_phi, GEM_chamber);
m_histos.find("GE11_nPassingProbe_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nPassingProbe_OHmissing_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nPassingProbe_OHerror_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nPassingProbe_VFATMask_allCh_1D")->second->Fill(GEM_region);
+ }
+ }
+ }
+
m_histos.find("GE11_nPassingProbe_chamber_1D")->second->Fill(GEM_chamber);
if (GEM_region < 0) {
if (GEM_lay == 2)
@@ -883,37 +1717,157 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
if (GEM_region == 1 && GEM_lay == 1) {
m_histos.find("GEM_nPassingProbe_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_chamber_p1_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nPassingProbe_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nPassingProbe_OHmissing_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nPassingProbe_OHerror_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nPassingProbe_VFATMask_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_Ch_region_GE1")->second->Fill(2, GEM_chamber);
m_histos.find("GEM_nPassingProbe_pt_p1_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nPassingProbe_eta_p1_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nPassingProbe_phi_p1_1D")->second->Fill(GEM_phi);
} else if (GEM_region == 1 && GEM_lay == 2) {
m_histos.find("GEM_nPassingProbe_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_chamber_p2_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nPassingProbe_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nPassingProbe_OHmissing_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nPassingProbe_OHerror_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nPassingProbe_VFATMask_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_Ch_region_GE1")->second->Fill(3, GEM_chamber);
m_histos.find("GEM_nPassingProbe_pt_p2_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nPassingProbe_eta_p2_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nPassingProbe_phi_p2_1D")->second->Fill(GEM_phi);
} else if (GEM_region == -1 && GEM_lay == 1) {
m_histos.find("GEM_nPassingProbe_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_chamber_n1_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nPassingProbe_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nPassingProbe_OHmissing_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nPassingProbe_OHerror_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nPassingProbe_VFATMask_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_Ch_region_GE1")->second->Fill(1, GEM_chamber);
m_histos.find("GEM_nPassingProbe_pt_n1_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nPassingProbe_eta_n1_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nPassingProbe_phi_n1_1D")->second->Fill(GEM_phi);
} else if (GEM_region == -1 && GEM_lay == 2) {
m_histos.find("GEM_nPassingProbe_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_chamber_n2_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nPassingProbe_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nPassingProbe_OHmissing_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nPassingProbe_OHerror_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nPassingProbe_VFATMask_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_Ch_region_GE1")->second->Fill(0, GEM_chamber);
m_histos.find("GEM_nPassingProbe_pt_n2_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nPassingProbe_eta_n2_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nPassingProbe_phi_n2_1D")->second->Fill(GEM_phi);
}
m_histos.find("GEM_nPassingProbe_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_pt_1D")->second->Fill(GEM_pt);
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_eta_1D")->second->Fill(abs(GEM_eta));
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_eta_1D")->second->Fill(GEM_eta);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_eta_1D")->second->Fill(GEM_eta);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_eta_1D")->second->Fill(GEM_eta);
+ }
+ }
+ }
m_histos.find("GEM_nPassingProbe_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nPassingProbe_OHmissing_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nPassingProbe_OHerror_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nPassingProbe_VFATMask_phi_1D")->second->Fill(GEM_phi);
+ }
+ }
+ }
} else {
m_histos.find("GE11_nFailingProbe_Ch_region")->second->Fill(GEM_region, GEM_chamber);
m_histos.find("GE11_nFailingProbe_Ch_ieta")->second->Fill(GEM_ieta, GEM_chamber);
m_histos.find("GE11_nFailingProbe_Ch_phi")->second->Fill(GEM_phi, GEM_chamber);
m_histos.find("GE11_nFailingProbe_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nFailingProbe_OHmissing_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nFailingProbe_OHerror_allCh_1D")->second->Fill(GEM_region);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nFailingProbe_VFATMask_allCh_1D")->second->Fill(GEM_region);
+ }
+ }
+ }
m_histos.find("GE11_nFailingProbe_chamber_1D")->second->Fill(GEM_chamber);
if (GEM_region < 0) {
if (GEM_sta == 2 and GEM_lay == 2)
@@ -943,32 +1897,143 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
//
if (GEM_region == 1 && GEM_lay == 1) {
m_histos.find("GEM_nFailingProbe_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_chamber_p1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_chamber_p1_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_Ch_region_GE1")->second->Fill(2, GEM_chamber);
m_histos.find("GEM_nFailingProbe_pt_p1_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nFailingProbe_eta_p1_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nFailingProbe_phi_p1_1D")->second->Fill(GEM_phi);
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nFailingProbe_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nFailingProbe_OHmissing_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nFailingProbe_OHerror_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nFailingProbe_VFATMask_Ch_ieta_p1")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
} else if (GEM_region == 1 && GEM_lay == 2) {
m_histos.find("GEM_nFailingProbe_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_chamber_p2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_chamber_p2_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_Ch_region_GE1")->second->Fill(3, GEM_chamber);
m_histos.find("GEM_nFailingProbe_pt_p2_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nFailingProbe_eta_p2_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nFailingProbe_phi_p2_1D")->second->Fill(GEM_phi);
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nFailingProbe_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nFailingProbe_OHmissing_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nFailingProbe_OHerror_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nFailingProbe_VFATMask_Ch_ieta_p2")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
} else if (GEM_region == -1 && GEM_lay == 1) {
m_histos.find("GEM_nFailingProbe_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_chamber_n1_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_chamber_n1_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_Ch_region_GE1")->second->Fill(1, GEM_chamber);
m_histos.find("GEM_nFailingProbe_pt_n1_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nFailingProbe_eta_n1_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nFailingProbe_phi_n1_1D")->second->Fill(GEM_phi);
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nFailingProbe_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nFailingProbe_OHmissing_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nFailingProbe_OHerror_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nFailingProbe_VFATMask_Ch_ieta_n1")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
} else if (GEM_region == -1 && GEM_lay == 2) {
m_histos.find("GEM_nFailingProbe_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_chamber_n2_1D")->second->Fill(GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_chamber_n2_1D")->second->Fill(GEM_chamber);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_Ch_region_GE1")->second->Fill(0, GEM_chamber);
m_histos.find("GEM_nFailingProbe_pt_n2_1D")->second->Fill(GEM_pt);
m_histos.find("GEM_nFailingProbe_eta_n2_1D")->second->Fill(abs(GEM_eta));
m_histos.find("GEM_nFailingProbe_phi_n2_1D")->second->Fill(GEM_phi);
+ if (GEM_sta == 1) {
+ m_histos.find("GE11_nFailingProbe_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning & 1) {
+ m_histos.find("GE11_nFailingProbe_OHmissing_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GE11_nFailingProbe_OHerror_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GE11_nFailingProbe_VFATMask_Ch_ieta_n2")->second->Fill(GEM_ieta, GEM_chamber);
+ }
+ }
+ }
+ }
}
m_histos.find("GEM_nFailingProbe_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_pt_1D")->second->Fill(GEM_pt);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_pt_1D")->second->Fill(GEM_pt);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_eta_1D")->second->Fill(abs(GEM_eta));
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_eta_1D")->second->Fill(GEM_eta);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_eta_1D")->second->Fill(GEM_eta);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_eta_1D")->second->Fill(GEM_eta);
+ }
+ }
+ }
m_histos.find("GEM_nFailingProbe_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning & 1) {
+ m_histos.find("GEM_nFailingProbe_OHmissing_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning >> 1 & 1) {
+ m_histos.find("GEM_nFailingProbe_OHerror_phi_1D")->second->Fill(GEM_phi);
+ if (~GEM_warning >> 2 & 1) {
+ m_histos.find("GEM_nFailingProbe_VFATMask_phi_1D")->second->Fill(GEM_phi);
+ }
+ }
+ }
}
}
@@ -1027,4 +2092,4 @@ void GEMTnPEfficiencyTask::analyze(const edm::Event& event, const edm::EventSetu
std::string GEMTnPEfficiencyTask::topFolder() const { return "GEM/Segment_TnP/"; };
-DEFINE_FWK_MODULE(GEMTnPEfficiencyTask);
\ No newline at end of file
+DEFINE_FWK_MODULE(GEMTnPEfficiencyTask);
diff --git a/DQMOffline/MuonDPG/python/gemTnPEfficiencyClient_cfi.py b/DQMOffline/MuonDPG/python/gemTnPEfficiencyClient_cfi.py
index 830db19dc7763..2000be9b2a4ab 100644
--- a/DQMOffline/MuonDPG/python/gemTnPEfficiencyClient_cfi.py
+++ b/DQMOffline/MuonDPG/python/gemTnPEfficiencyClient_cfi.py
@@ -36,5 +36,45 @@
"GEM_nPassingProbe_eta_n2_1D:GEM_nFailingProbe_eta_n2_1D",
"GEM_nPassingProbe_phi_n2_1D:GEM_nFailingProbe_phi_n2_1D",
"ME0_nPassingProbe_chamber_1D:ME0_nFailingProbe_chamber_1D",
+ "GE11_nPassingProbe_Ch_ieta_p1:GE11_nFailingProbe_Ch_ieta_p1",
+ "GE11_nPassingProbe_Ch_ieta_p2:GE11_nFailingProbe_Ch_ieta_p2",
+ "GE11_nPassingProbe_Ch_ieta_n1:GE11_nFailingProbe_Ch_ieta_n1",
+ "GE11_nPassingProbe_Ch_ieta_n2:GE11_nFailingProbe_Ch_ieta_n2",
+ "GE11_nPassingProbe_OHmissing_allCh_1D:GE11_nFailingProbe_OHmissing_allCh_1D",
+ "GEM_nPassingProbe_OHmissing_chamber_p1_1D:GEM_nFailingProbe_OHmissing_chamber_p1_1D",
+ "GEM_nPassingProbe_OHmissing_chamber_p2_1D:GEM_nFailingProbe_OHmissing_chamber_p2_1D",
+ "GEM_nPassingProbe_OHmissing_chamber_n1_1D:GEM_nFailingProbe_OHmissing_chamber_n1_1D",
+ "GEM_nPassingProbe_OHmissing_chamber_n2_1D:GEM_nFailingProbe_OHmissing_chamber_n2_1D",
+ "GEM_nPassingProbe_OHmissing_pt_1D:GEM_nFailingProbe_OHmissing_pt_1D",
+ "GEM_nPassingProbe_OHmissing_eta_1D:GEM_nFailingProbe_OHmissing_eta_1D",
+ "GEM_nPassingProbe_OHmissing_phi_1D:GEM_nFailingProbe_OHmissing_phi_1D",
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_p1:GE11_nFailingProbe_OHmissing_Ch_ieta_p1",
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_p2:GE11_nFailingProbe_OHmissing_Ch_ieta_p2",
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_n1:GE11_nFailingProbe_OHmissing_Ch_ieta_n1",
+ "GE11_nPassingProbe_OHmissing_Ch_ieta_n2:GE11_nFailingProbe_OHmissing_Ch_ieta_n2",
+ "GE11_nPassingProbe_OHerror_allCh_1D:GE11_nFailingProbe_OHerror_allCh_1D",
+ "GEM_nPassingProbe_OHerror_chamber_p1_1D:GEM_nFailingProbe_OHerror_chamber_p1_1D",
+ "GEM_nPassingProbe_OHerror_chamber_p2_1D:GEM_nFailingProbe_OHerror_chamber_p2_1D",
+ "GEM_nPassingProbe_OHerror_chamber_n1_1D:GEM_nFailingProbe_OHerror_chamber_n1_1D",
+ "GEM_nPassingProbe_OHerror_chamber_n2_1D:GEM_nFailingProbe_OHerror_chamber_n2_1D",
+ "GEM_nPassingProbe_OHerror_pt_1D:GEM_nFailingProbe_OHerror_pt_1D",
+ "GEM_nPassingProbe_OHerror_eta_1D:GEM_nFailingProbe_OHerror_eta_1D",
+ "GEM_nPassingProbe_OHerror_phi_1D:GEM_nFailingProbe_OHerror_phi_1D",
+ "GE11_nPassingProbe_OHerror_Ch_ieta_p1:GE11_nFailingProbe_OHerror_Ch_ieta_p1",
+ "GE11_nPassingProbe_OHerror_Ch_ieta_p2:GE11_nFailingProbe_OHerror_Ch_ieta_p2",
+ "GE11_nPassingProbe_OHerror_Ch_ieta_n1:GE11_nFailingProbe_OHerror_Ch_ieta_n1",
+ "GE11_nPassingProbe_OHerror_Ch_ieta_n2:GE11_nFailingProbe_OHerror_Ch_ieta_n2",
+ "GE11_nPassingProbe_VFATMask_allCh_1D:GE11_nFailingProbe_VFATMask_allCh_1D",
+ "GEM_nPassingProbe_VFATMask_chamber_p1_1D:GEM_nFailingProbe_VFATMask_chamber_p1_1D",
+ "GEM_nPassingProbe_VFATMask_chamber_p2_1D:GEM_nFailingProbe_VFATMask_chamber_p2_1D",
+ "GEM_nPassingProbe_VFATMask_chamber_n1_1D:GEM_nFailingProbe_VFATMask_chamber_n1_1D",
+ "GEM_nPassingProbe_VFATMask_chamber_n2_1D:GEM_nFailingProbe_VFATMask_chamber_n2_1D",
+ "GEM_nPassingProbe_VFATMask_pt_1D:GEM_nFailingProbe_VFATMask_pt_1D",
+ "GEM_nPassingProbe_VFATMask_eta_1D:GEM_nFailingProbe_VFATMask_eta_1D",
+ "GEM_nPassingProbe_VFATMask_phi_1D:GEM_nFailingProbe_VFATMask_phi_1D",
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_p1:GE11_nFailingProbe_VFATMask_Ch_ieta_p1",
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_p2:GE11_nFailingProbe_VFATMask_Ch_ieta_p2",
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_n1:GE11_nFailingProbe_VFATMask_Ch_ieta_n1",
+ "GE11_nPassingProbe_VFATMask_Ch_ieta_n2:GE11_nFailingProbe_VFATMask_Ch_ieta_n2",
"GEM_nPassingProbe_Ch_region_layer_phase2:GEM_nFailingProbe_Ch_region_layer_phase2"),
- diagnosticPrescale = cms.untracked.int32(1))
\ No newline at end of file
+ diagnosticPrescale = cms.untracked.int32(1))
diff --git a/DQMOffline/MuonDPG/python/gemTnPEfficiencyTask_cfi.py b/DQMOffline/MuonDPG/python/gemTnPEfficiencyTask_cfi.py
index 92fcb8af326ad..d864bc8af2ac9 100644
--- a/DQMOffline/MuonDPG/python/gemTnPEfficiencyTask_cfi.py
+++ b/DQMOffline/MuonDPG/python/gemTnPEfficiencyTask_cfi.py
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
+from RecoMuon.TrackingTools.MuonServiceProxy_cff import *
from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
gemTnPEfficiencyMonitor = DQMEDAnalyzer('GEMTnPEfficiencyTask',
@@ -16,8 +17,13 @@
# CutBasedIdMedium = 1UL << 1
# CutBasedIdMediumPrompt = 1UL << 2
# CutBasedIdTight = 1UL << 3
+ maskChamberWithError=cms.untracked.bool(True),
+ ServiceParameters = MuonServiceProxy.ServiceParameters.clone(),
+ ohStatusTag=cms.untracked.InputTag("muonGEMDigis", "OHStatus"),
+ vfatStatusTag=cms.untracked.InputTag("muonGEMDigis","VFATStatus"),
+ amcStatusTag=cms.untracked.InputTag("muonGEMDigis","AMCStatus"),
tagCut = cms.untracked.string('(selectors & 8) && ((isolationR03.sumPt)/(pt) < 0.05) && pt>24.'),
- borderCut = cms.untracked.double(-10.),
+ borderCut = cms.untracked.double(-2.),
lowPairMassCut = cms.untracked.double (80.),
highPairMassCut = cms.untracked.double (100.),
trigName = cms.untracked.string("HLT_IsoMu*"),