89 folderName_ ( config.getParameter<
std::
string>(
"FolderName") )
94 , doPixelLumi_ ( config.getParameter<
bool>(
"doPixelLumi") )
96 , useBPixLayer1_ ( doPixelLumi_ ? config.getParameter<
bool> (
"useBPixLayer1") :
false )
97 , minNumberOfPixelsPerCluster_ ( doPixelLumi_ ? config.getParameter<
int> (
"minNumberOfPixelsPerCluster") : -1 )
98 , minPixelClusterCharge_ ( doPixelLumi_ ? config.getParameter<double> (
"minPixelClusterCharge") : -1. )
99 , pixelCluster_binning_ ( doPixelLumi_ ? getHistoPSet(config.getParameter<
edm::
ParameterSet>(
"histoPSet").getParameter<
edm::
ParameterSet>(
"pixelClusterPSet")) : MEbinning {} )
132 histograms.numberOfPixelClustersVsLS = booker.
book1D(
133 "numberOfPixelClustersVsLS",
134 "number of pixel clusters vs LS",
136 histograms.numberOfPixelClustersVsLS.setAxisTitle(
"LS", 1);
137 histograms.numberOfPixelClustersVsLS.setAxisTitle(
"number of pixel clusters", 2);
139 histograms.numberOfPixelClustersVsLumi = booker.
bookProfile(
140 "numberOfPixelClustersVsLumi",
141 "number of pixel clusters vs scal lumi",
144 histograms.numberOfPixelClustersVsLumi.setAxisTitle(
"scal inst lumi E30 [Hz cm^{-2}]", 1);
145 histograms.numberOfPixelClustersVsLumi.setAxisTitle(
"number of pixel clusters", 2);
152 histograms.pixelLumiVsLS.setAxisTitle(
"LS", 1);
153 histograms.pixelLumiVsLS.setAxisTitle(
"pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
157 "pixel-lumi vs scal lumi",
160 histograms.pixelLumiVsLumi.setAxisTitle(
"scal inst lumi E30 [Hz cm^{-2}]", 1);
161 histograms.pixelLumiVsLumi.setAxisTitle(
"pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
169 histograms.lumiVsLS.setAxisTitle(
"LS", 1);
170 histograms.lumiVsLS.setAxisTitle(
"scal inst lumi E30 [Hz cm^{-2}]", 2);
177 histograms.puVsLS.setAxisTitle(
"LS", 1);
178 histograms.puVsLS.setAxisTitle(
"scal PU", 2);
184 int ls =
event.id().luminosityBlock();
186 float scal_lumi = -1.;
190 if (lumiScalers.
isValid() and not lumiScalers->empty()) {
191 auto scalit = lumiScalers->begin();
192 scal_lumi = scalit->instantLumi();
193 scal_pu = scalit->pileup();
198 histograms.lumiVsLS.fill(ls, scal_lumi);
199 histograms.puVsLS.fill(ls, scal_pu);
202 size_t pixel_clusters = 0;
203 float pixel_lumi = -1.;
207 auto const& tTopo = edm::get<TrackerTopology, TrackerTopologyRcd>(
setup);
212 for (
auto pixCluDet = pixelClusters->begin(); pixCluDet != pixelClusters->end(); ++pixCluDet) {
214 DetId detid = pixCluDet->detId();
217 if (tTopo.layer(detid)==1) {
222 for (
auto pixClu = pixCluDet->begin(); pixClu != pixCluDet->end(); ++pixClu) {
235 histograms.numberOfPixelClustersVsLS.fill(ls, pixel_clusters);
236 histograms.numberOfPixelClustersVsLumi.fill(scal_lumi, pixel_clusters);
237 histograms.pixelLumiVsLS.fill(ls, pixel_lumi);
238 histograms.pixelLumiVsLumi.fill(scal_lumi, pixel_lumi);
245 pset.
add<
int> (
"nbins");
246 pset.
add<
double>(
"xmin" );
247 pset.
add<
double>(
"xmax" );
252 pset.
add<
int> (
"nbins", 2500);
261 desc.
add<
bool> (
"doPixelLumi",
false );
262 desc.
add<
bool> (
"useBPixLayer1",
false );
263 desc.
add<
int> (
"minNumberOfPixelsPerCluster", 2 );
264 desc.
add<
double> (
"minPixelClusterCharge", 15000. );
269 histoPSet.add(
"pixelClusterPSet", pixelClusterPSet);
289 descriptions.
add(
"lumiMonitor", desc);
T getParameter(std::string const &) const
ConcurrentMonitorElement bookProfile(Args &&...args)
void dqmAnalyze(edm::Event const &, edm::EventSetup const &, Histograms const &) const override
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
float minPixelClusterCharge_
#define DEFINE_FWK_MODULE(type)
def setup(process, global_tag, zero_tesla=False)
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
virtual example_global void dqmAnalyze(edm::Event const &,@example_global edm::EventSetup const &,@example_global Histograms___class__ const &) const override
static double XSEC_PIXEL_CLUSTER
void bookHistograms(DQMStore::ConcurrentBooker &, edm::Run const &, edm::EventSetup const &, Histograms &) const override
edm::EDGetTokenT< LumiSummary > lumiSummaryToken_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void setCurrentFolder(std::string const &fullpath)
edm::EDGetTokenT< LumiScalersCollection > lumiScalersToken_
MEbinning pixellumi_binning_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
ConcurrentMonitorElement book1D(Args &&...args)
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static double CM2_TO_NANOBARN
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static MEbinning getHistoLSPSet(const edm::ParameterSet &pset)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static double rXSEC_PIXEL_CLUSTER
MEbinning pixelCluster_binning_
Pixel cluster – collection of neighboring pixels above threshold.
float lumi_factor_per_bx_
int minNumberOfPixelsPerCluster_
std::vector< LumiScalers > LumiScalersCollection
LumiMonitor(const edm::ParameterSet &)
static double SECONDS_PER_LS