33 #define CP(level) if (level >= verbose_)
50 : hltResName_(parameters.getUntrackedParameter<
string>(
"hltTrgResults",
52 pixelName_(parameters.getUntrackedParameter<
string>(
"pixelRecHits",
55 parameters.getUntrackedParameter<
string>(
"clusterVertices",
"")),
56 ZVCut_(parameters.getUntrackedParameter<double>(
"ZVertexCut", 10)),
58 parameters.getUntrackedParameter<double>(
"ZVertexEtaRegion", 2)),
60 parameters.getUntrackedParameter<double>(
"ZVertexVtxRegion", 2)),
61 dPhiVc_(parameters.getUntrackedParameter<double>(
"dPhiVertexCut", 0.08)),
62 dZVc_(parameters.getUntrackedParameter<double>(
"dZVertexCut", 0.25)),
63 sigEtaCut_(parameters.getUntrackedParameter<double>(
"signalEtaCut", 0.1)),
64 sigPhiCut_(parameters.getUntrackedParameter<double>(
"signalPhiCut", 1.5)),
66 parameters.getUntrackedParameter<double>(
"backgroundEtaCut", 0.1)),
68 parameters.getUntrackedParameter<double>(
"backgroundPhiCut", 3.0)),
69 verbose_(parameters.getUntrackedParameter<int>(
"verbose", 3)),
71 parameters.getUntrackedParameter<int>(
"pixLayerCombinations", 12)),
73 parameters.getUntrackedParameter<int>(
"clusLayerCombinations", 12)),
74 useRecHitQ_(parameters.getUntrackedParameter<bool>(
"useRecHitQualityWord",
77 parameters.getUntrackedParameter<bool>(
"usePixelQualityWord",
true)),
87 if (parameters.
exists(
"hltTrgNames"))
91 if (parameters.
exists(
"hltProcNames"))
101 "Value for pixLayerCombinations must be one of 12,13, or 23. "
102 "Got %d, set value to 12",
128 bool isHltCfgChanged =
false;
131 if (
i > 0) teststr +=
", ";
145 print(3, Form(
"Could not obtain HLT config for process name(s) %s",
164 Form(
"Checking trigger name %s for %s", n2.c_str(), n1.c_str()));
169 print(0, Form(
"Added trigger %d with name %s for bit %d",
176 CP(2)
print(2, Form(
"Could not find trigger bit for %s", n1.c_str()));
182 print(3, Form(
"Size of trigger bits not equal used names: %d %d",
185 print(3, Form(
"Size of decision bits not equal names: %d %d",
237 const double x1 = -0.5;
238 const double x2 = Nx - 0.5;
240 "h2TriCorr",
"Trigger bit x vs y (y&&!x,x&&y)", Nx, x1, x2, Nx, x1, x2);
246 if (h) h->SetStats(0);
251 const double x1 = -0.5;
252 const double x2 = 149.5;
253 book1D(iBooker,
hNhitsL1_,
"hNhitsLayer1",
"number of hits on layer 1;#hits;#", Nx,
256 book1D(iBooker,
hNhitsL2_,
"hNhitsLayer2",
"number of hits on layer 2;#hits;#", Nx,
259 book1D(iBooker,
hNhitsL3_,
"hNhitsLayer3",
"number of hits on layer 3;#hits;#", Nx,
265 const double x1 = -0.5;
266 const double x2 = 14.5;
267 book1D(iBooker,
hNhitsL1z_,
"hNhitsLayer1Zoom",
"number of hits on layer 1;#hits;#",
271 "number of hits on layer 2;#hits;#", Nx, x1, x2);
274 "number of hits on layer 3;#hits;#", Nx, x1, x2);
279 const double x1 = -3;
280 const double x2 = +3;
282 "Hits on layer 1;detector #eta;#", Nx, x1, x2);
285 "Hits on layer 2;detector #eta;#", Nx, x1, x2);
288 "Hits on layer 3;detector #eta;#", Nx, x1, x2);
293 const double x1 = -3.2;
294 const double x2 = +3.2;
307 const double x1 = -25;
308 const double x2 = +25;
311 "z vertex from tracklets12;vz [cm];#", Nx, x1, x2);
314 "z vertex from tracklets13;vz [cm];#", Nx, x1, x2);
317 "z vertex from tracklets23;vz [cm];#", Nx, x1, x2);
323 const double x1 = -3;
324 const double x2 = +3;
325 const int Ny = 2 * (int)
ZVCut_;
326 const double y1 = -
ZVCut_;
327 const double y2 = +
ZVCut_;
330 "raw #eta vs z vertex from tracklets12;#eta;vz [cm]", Nx, x1, x2,
334 "raw #eta vs z vertex from tracklets13;#eta;vz [cm]", Nx, x1, x2,
338 "raw #eta vs z vertex from tracklets23;#eta;vz [cm]", Nx, x1, x2,
344 const double x1 = -3;
345 const double x2 = +3;
347 const double y1 = -3.2;
348 const double y2 = +3.2;
351 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",
352 Nx, x1, x2, Ny, y1, y2, 0, 0);
355 "tracklet13 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",
356 Nx, x1, x2, Ny, y1, y2, 0, 0);
359 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",
360 Nx, x1, x2, Ny, y1, y2, 0, 0);
365 const double x1 = -3;
366 const double x2 = +3;
369 "tracklet12 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta", Nx, x1,
373 "tracklet13 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta", Nx, x1,
377 "tracklet23 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta", Nx, x1,
383 const double x1 = -3.2;
384 const double x2 = +3.2;
387 "tracklet12 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi", Nx, x1,
391 "tracklet13 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi", Nx, x1,
395 "tracklet23 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi", Nx, x1,
400 const int Nx = xa->GetNbins();
401 const double x1 = xa->GetBinLowEdge(1);
402 const double x2 = xa->GetBinLowEdge(Nx + 1);
405 "raw dN/d#eta for tracklets12;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
408 "(1-#beta) dN/d#eta for tracklets12;#eta;dN/d#eta", Nx, x1, x2, 0,
412 "dN/d#eta for tracklets12;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
414 "Events per vtx-#eta bin from tracklets12;#eta;#", 1,
419 const int Nx = xa->GetNbins();
420 const double x1 = xa->GetBinLowEdge(1);
421 const double x2 = xa->GetBinLowEdge(Nx + 1);
424 "raw dN/d#eta for tracklets13;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
427 "(1-#beta) dN/d#eta for tracklets13;#eta;dN/d#eta", Nx, x1, x2, 0,
431 "dN/d#eta for tracklets13;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
433 "Events per vtx-#eta bin from tracklets13;#eta;#", 1,
438 const int Nx = xa->GetNbins();
439 const double x1 = xa->GetBinLowEdge(1);
440 const double x2 = xa->GetBinLowEdge(Nx + 1);
443 "raw dN/d#eta for tracklets23;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
446 "(1-#beta) dN/d#eta for tracklets23;#eta;dN/d#eta", Nx, x1, x2, 0,
450 "dN/d#eta for tracklets23;#eta;dN/d#eta", Nx, x1, x2, 0, 0);
452 "Events per vtx-#eta bin from tracklets23;#eta;#", 1,
458 const double x1 = -25;
459 const double x2 = +25;
462 "z vertex from clusters12;vz [cm];#", Nx, x1, x2);
467 const double x1 = -3;
468 const double x2 = +3;
470 const double y1 = -0.5;
471 const double y2 = 24.5;
474 "cluster #eta vs local y size on layer 1;#eta;size", Nx, x1, x2,
478 "cluster #eta vs local y size on layer 2;#eta;size", Nx, x1, x2,
482 "cluster #eta vs local y size on layer 3;#eta;size", Nx, x1, x2,
488 const double x1 = -3;
489 const double x2 = +3;
492 const double y2 = 2500;
495 "cluster #eta vs adc on layer 1;#eta;adc", Nx, x1, x2, Ny, y1,
499 "cluster #eta vs adc on layer 2;#eta;adc", Nx, x1, x2, Ny, y1,
503 "cluster #eta vs adc on layer 3;#eta;adc", Nx, x1, x2, Ny, y1,
518 "QcdLowPtDQM::analyze -- Could not obtain pointer to "
519 "TrackerGeometry. Return.");
531 std::vector<MonitorElement *> &mes,
533 int nx,
double x1,
double x2,
bool sumw2,
bool sbox) {
542 if (sumw2) h1->Sumw2();
549 std::vector<MonitorElement *> &mes,
551 int nx,
double x1,
double x2,
int ny,
double y1,
552 double y2,
bool sumw2,
bool sbox) {
560 if (sumw2) h1->Sumw2();
568 double x2,
bool sumw2,
bool sbox) {
576 if (sumw2) h1->Sumw2();
584 double x2,
int ny,
double y1,
double y2,
bool sumw2,
592 nx, x1, x2, ny, y1, y2);
593 if (sumw2) h1->Sumw2();
600 const std::vector<TH3F *> &NsigTracklets,
601 const std::vector<TH3F *> &NbkgTracklets,
602 const std::vector<TH1F *> &NEvsPerEta,
603 std::vector<MonitorElement *> &hdNdEtaRawTrkl,
604 std::vector<MonitorElement *> &hdNdEtaSubTrkl,
605 std::vector<MonitorElement *> &hdNdEtaTrklets) {
608 if (!AlphaTracklets)
return;
610 const int netabins = AlphaTracklets->GetNbinsX();
611 const int nhitbins = AlphaTracklets->GetNbinsY();
612 const int nvzbins = AlphaTracklets->GetNbinsZ();
618 for (
size_t i = 0;
i < hdNdEtaRawTrkl.size(); ++
i) {
627 TH3F *hsig = NsigTracklets.at(
i);
628 TH3F *hbkg = NbkgTracklets.at(
i);
629 TH1F *hepa = NEvsPerEta.at(
i);
631 for (
int etabin = 1; etabin <= netabins; ++etabin) {
632 const double etaval = AlphaTracklets->GetXaxis()->GetBinCenter(etabin);
633 const double etawidth = AlphaTracklets->GetXaxis()->GetBinWidth(etabin);
634 const int zvetabin = hepa->GetXaxis()->FindFixBin(etaval);
635 const double events = hepa->GetBinContent(zvetabin);
636 if (!events)
continue;
646 double dndetaraw = 0;
647 double dndetasub = 0;
649 double dndetarawerr = 0;
650 double dndetasuberr = 0;
651 double dndetaerr = 0;
652 for (
int hitbin = 1; hitbin <= nhitbins; ++hitbin) {
653 for (
int vzbin = 1; vzbin <= nvzbins; ++vzbin) {
654 int gbin = AlphaTracklets->GetBin(etabin, hitbin, vzbin);
655 const double nsig = hsig->GetBinContent(gbin);
657 const double nbkg = hbkg->GetBinContent(gbin);
658 const double nsub = nsig - nbkg;
660 CP(2)
print(2, Form(
"Got negative contributions: %d %d %d %f",
661 etabin, hitbin, vzbin, nsub));
665 const double alpha = AlphaTracklets->GetBinContent(gbin);
666 dndeta += alpha * nsub;
667 double nsig2 = nsig * nsig;
668 double nsub2 = nsub * nsub;
669 double alpha2 = alpha *
alpha;
670 dndetarawerr += nsig2;
671 dndetasuberr += nsub2;
672 dndetaerr += alpha2 * nsub2;
676 double norm = etawidth *
events;
677 double enorm = etawidth * norm;
681 dndetarawerr /= enorm;
682 dndetasuberr /= enorm;
684 double dndetarawsigma2 = (dndetaraw * dndetaraw - dndetarawerr) / events;
685 double dndetasubsigma2 = (dndetasub * dndetasub - dndetasuberr) / events;
686 double dndetasigma2 = (dndeta * dndeta - dndetaerr) / events;
733 for (
size_t i = 0;
i < hs.size(); ++
i) {
735 hs.at(
i)->Fill(val, w);
743 for (
size_t i = 0;
i < mes.size(); ++
i) {
745 mes.at(
i)->Fill(val, w);
753 for (
size_t i = 0;
i < hs.size(); ++
i) {
755 hs.at(
i)->Fill(valx, valy, w);
760 double valy,
double w) {
763 for (
size_t i = 0;
i < mes.size(); ++
i) {
765 mes.at(
i)->Fill(valx, valy, w);
772 for (
size_t i = 0;
i < hs.size(); ++
i) {
774 hs.at(
i)->AddBinContent(gbin, w);
787 if (tbit < triggerResultsHLT->
size()) {
793 print(2, Form(
"Problem slot %i for bit %i for %s",
int(
i),
int(tbit),
818 CP(2)
print(2, Form(
"Can not obtain pixel hit collection with name %s",
833 if (!
hit->isValid())
continue;
836 if (
hit->isOnEdge() ||
hit->hasBadPixels())
continue;
847 vector<SiPixelCluster::Pixel> pixels(
hit->cluster()->pixels());
848 bool pixelOnEdge =
false;
849 for (std::vector<SiPixelCluster::Pixel>::const_iterator pixel =
851 pixel != pixels.end(); ++pixel) {
852 int pixelX = pixel->x;
853 int pixelY = pixel->y;
860 if (pixelOnEdge)
continue;
865 hit->localPosition().
z());
867 double adc =
hit->cluster()->charge() / 135.;
868 double sizex =
hit->cluster()->sizeX();
869 double sizey =
hit->cluster()->sizeY();
871 Pixel pix(gpos, adc, sizex, sizey);
879 }
else if (layer == 2) {
908 "Can not obtain pixel vertex from cluster collection "
915 if (!vertices || vertices->size() == 0)
return;
916 reco::VertexCollection::const_iterator vertex = vertices->begin();
919 std::vector<Pixel> allp(
bpix1_);
924 if (vz <= -999)
return;
936 const double vz,
const std::vector<Pixel> &pix,
937 std::vector<MonitorElement *> &hClusterYSize,
938 std::vector<MonitorElement *> &hClusterADC) {
941 for (
size_t i = 0;
i < pix.size(); ++
i) {
976 const std::vector<Pixel> &pix1,
977 const std::vector<Pixel> &pix2,
978 const Vertex &trackletV) {
986 std::vector<Tracklet> tmptrkls;
987 tmptrkls.reserve(pix1.size() * pix2.size());
988 for (
size_t i = 0;
i < pix1.size(); ++
i) {
990 pix1.at(
i).z() - trackletV.
z());
992 for (
size_t j = 0;
j < pix2.size(); ++
j) {
994 pix2.at(
j).z() - trackletV.
z());
999 tmptrkls.push_back(tracklet);
1007 vector<bool> secused(pix2.size(),
false);
1008 for (
size_t k = 0;
k < tmptrkls.size(); ++
k) {
1010 size_t p2ind = tl.
i2();
1011 if (secused.at(p2ind))
continue;
1012 secused[p2ind] =
true;
1013 tracklets.push_back(tl);
1014 if (tracklets.size() == pix2.size())
1020 const std::vector<Tracklet> &tracklets,
const std::vector<Pixel> &pixels,
1021 const Vertex &trackletV,
const TH3F *AlphaTracklets,
1022 std::vector<TH3F *> &NsigTracklets, std::vector<TH3F *> &NbkgTracklets,
1023 std::vector<TH1F *> &eventpereta, std::vector<MonitorElement *> &detaphi,
1024 std::vector<MonitorElement *> &deta, std::vector<MonitorElement *> &dphi,
1025 std::vector<MonitorElement *> &etavsvtx) {
1028 if (!AlphaTracklets)
return;
1030 if (tracklets.size() == 0)
return;
1033 for (
size_t i = 0;
i < eventpereta.size(); ++
i) {
1035 TH1 *
h = eventpereta.at(
i);
1036 h->AddBinContent(1, 1);
1038 h->AddBinContent(0, 1);
1040 h->AddBinContent(2, 1);
1044 const TAxis *xa = AlphaTracklets->GetXaxis();
1045 int ybin = AlphaTracklets->GetYaxis()->FindFixBin(pixels.size());
1046 int zbin = AlphaTracklets->GetZaxis()->FindFixBin(trackletV.
z());
1047 int tbin = AlphaTracklets->GetBin(0,ybin,zbin);
1048 for(
size_t k=0;
k<tracklets.size(); ++
k) {
1050 fill2D(detaphi, tl.deta(), tl.dphi());
1053 int ebin = xa->FindFixBin(tl.eta());
1054 int gbin = ebin + tbin;
1055 fill2D(etavsvtx, tl.eta(), trackletV.
z());
1061 fill3D(NsigTracklets, gbin);
1063 fill3D(NbkgTracklets, gbin);
1071 printf(
"QcdLowPtDQM: %s\n", msg);
1072 }
else if (level == 1) {
1073 LogWarning(
"QcdLowPtDQM") << msg << std::endl;
1074 }
else if (level == 2) {
1075 LogError(
"QcdLowPtDQM") << msg << std::endl;
1076 }
else if (level == 3) {
1077 LogError(
"QcdLowPtDQM") << msg << std::endl;
1101 std::vector<Pixel> &pix2,
1108 vector<double> zvCands;
1109 zvCands.reserve(pix1.size() * pix2.size());
1112 for (
size_t i = 0;
i < pix1.size(); ++
i) {
1114 const double r12 =
p1.x() *
p1.x() +
p1.y() *
p1.y();
1115 for (
size_t j = 0;
j < pix2.size(); ++
j) {
1118 const double r22 =
p2.x() *
p2.x() +
p2.y() *
p2.y();
1120 p1.z() - (
p2.z() -
p1.z()) / (TMath::Sqrt(r22 / r12) - 1);
1121 if (TMath::IsNaN(vz))
continue;
1123 zvCands.push_back(vz);
1128 sort(zvCands.begin(), zvCands.end());
1135 for (
size_t i = 0;
i < zvCands.size(); ++
i) {
1136 double z1 = zvCands.at(
i);
1140 for (
size_t j =
i;
j < zvCands.size(); ++
j) {
1141 double z2 = zvCands.at(
j);
1151 double_t
s2 = mean * mean - mean2;
1153 if ((ncl < mcl) || (ncl == mcl && s2 > ms2))
continue;
1161 vtx.
set(mcl, mzv, ms2);
1167 double chi_max = 1
e+9;
1168 double z_best = -999;
1171 for (
double z0 = -15.9; z0 <= 15.95; z0 += 0.1) {
1174 for (
size_t i = 0;
i < pix.size(); ++
i) {
1180 if (chitest <= 1.) {
1186 if (nhits <= 0)
continue;
1188 if (nhits < nhits_max)
continue;
1190 if ((nhits > nhits_max) || (chi < chi_max)) {
1206 const int nEtaBin = 12;
1207 const int nHitBin = 14;
1208 const int nVzBin = 10;
1210 double HitBins[nHitBin + 1] = {0, 5, 10, 15, 20, 25, 30, 35,
1211 40, 50, 60, 80, 100, 200, 700};
1213 double EtaBins[nEtaBin + 1];
1214 for (
int i = 0;
i <= nEtaBin;
i++)
1215 EtaBins[
i] = (
double)
i * 6.0 / (double)nEtaBin - 3.0;
1216 double VzBins[nVzBin + 1];
1217 for (
int i = 0;
i <= nVzBin;
i++)
1218 VzBins[
i] = (
double)
i * 20.0 / (double)nVzBin - 10.0;
1221 "hAlphaTracklets12",
"Alpha for tracklets12;#eta;#hits;vz [cm]",
1222 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
2460 const int nEtaBin = 12;
2461 const int nHitBin = 14;
2462 const int nVzBin = 10;
2464 double HitBins[nHitBin + 1] = {0, 5, 10, 15, 20, 25, 30, 35,
2465 40, 50, 60, 80, 100, 200, 700};
2467 double EtaBins[nEtaBin + 1];
2468 for (
int i = 0;
i <= nEtaBin;
i++)
2469 EtaBins[
i] = (
double)
i * 6.0 / (double)nEtaBin - 3.0;
2470 double VzBins[nVzBin + 1];
2471 for (
int i = 0;
i <= nVzBin;
i++)
2472 VzBins[
i] = (
double)
i * 20.0 / (double)nVzBin - 10.0;
2475 "hAlphaTracklets13",
"Alpha for tracklets13;#eta;#hits;vz [cm]",
2476 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
3490 const int nEtaBin = 12;
3491 const int nHitBin = 14;
3492 const int nVzBin = 10;
3494 double HitBins[nHitBin + 1] = {0, 5, 10, 15, 20, 25, 30, 35,
3495 40, 50, 60, 80, 100, 200, 700};
3497 double EtaBins[nEtaBin + 1];
3498 for (
int i = 0;
i <= nEtaBin;
i++)
3499 EtaBins[
i] = (
double)
i * 6.0 / (double)nEtaBin - 3.0;
3500 double VzBins[nVzBin + 1];
3501 for (
int i = 0;
i <= nVzBin;
i++)
3502 VzBins[
i] = (
double)
i * 20.0 / (double)nVzBin - 10.0;
3505 "hAlphaTracklets23",
"Alpha for tracklets23;#eta;#hits;vz [cm]",
3506 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
int adc(sample_type sample)
get the ADC sample (12 bits)
unsigned int size() const
number of trigger paths in trigger table
double vertexZFromClusters(const std::vector< Pixel > &pix) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > hltProcNames_
std::vector< MonitorElement * > hdNdPhiHitsL2_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
void setBinContent(int binx, double content)
set content of bin (1-D)
QcdLowPtDQM(const edm::ParameterSet ¶meters)
std::vector< Tracklet > btracklets23_
std::vector< MonitorElement * > hNhitsL3_
const std::string & triggerName(unsigned int triggerIndex) const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
std::vector< MonitorElement * > hTrkRawDetaDphi13_
HLTConfigProvider hltConfig_
std::vector< TH3F * > NbkgTracklets12_
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
std::vector< MonitorElement * > hdNdEtaRawTrkl23_
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
void trackletVertexUnbinned(const edm::Event &iEvent, int which=12)
std::vector< bool > hltTrgDeci_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup)
std::vector< MonitorElement * > hRawTrkEtaVtxZ12_
std::vector< Vertex > VertexCollection
collection of Vertex objects
std::vector< TH3F * > NsigTracklets12_
std::vector< TH1F * > hEvtCountsPerEta12_
std::vector< MonitorElement * > hNhitsL2z_
std::vector< TH3F * > NsigTracklets23_
std::vector< MonitorElement * > hTrkRawDeta23_
std::vector< MonitorElement * > hdNdEtaHitsL1_
std::vector< MonitorElement * > hdNdEtaSubTrkl23_
std::vector< MonitorElement * > hClusterADC1_
void operator()(TH3F *&h)
std::vector< TH3F * > NsigTracklets13_
std::vector< MonitorElement * > hRawTrkEtaVtxZ23_
std::vector< MonitorElement * > hClusterYSize2_
MonitorElement * repSummary_
std::vector< MonitorElement * > hTrkVtxZ12_
std::vector< MonitorElement * > hTrkVtxZ13_
std::vector< TH3F * > NbkgTracklets13_
std::vector< Tracklet > btracklets12_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< MonitorElement * > hTrkRawDeta12_
std::vector< MonitorElement * > hdNdEtaHitsL2_
std::vector< MonitorElement * > hdNdEtaSubTrkl13_
void fill3D(std::vector< TH3F * > &hs, int gbin, double w=1.)
virtual bool isItEdgePixelInX(int ixbin) const =0
void getProduct(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
MonitorElement * repSumMap_
std::vector< MonitorElement * > hClusterVertexZ_
std::vector< std::string > hltTrgUsedNames_
std::vector< MonitorElement * > hNhitsL1_
std::vector< MonitorElement * > hTrkRawDphi23_
data_type const * data(size_t cell) const
MonitorElement * book1D(Args &&...args)
std::vector< Pixel > bpix3_
std::vector< MonitorElement * > hNhitsL1z_
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
std::vector< MonitorElement * > hTrkRawDphi12_
std::vector< MonitorElement * > hClusterYSize3_
void book2D(DQMStore::IBooker &, std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=1, bool sbox=1)
void endRun(const edm::Run &r, const edm::EventSetup &iSetup)
void create1D(std::vector< TH1F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=1, bool sbox=1)
void fillHltBits(const edm::Event &iEvent)
void fillPixelClusterInfos(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hdNdEtaTrklets23_
void fill2D(std::vector< TH2F * > &hs, double valx, double valy, double w=1.)
std::vector< MonitorElement * > hTrkRawDetaDphi12_
unsigned int pxbLayer(const DetId &id) const
void fillTracklets(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hClusterADC3_
void set(int n, double z, double zs)
bool getProductSafe(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
bool compareTracklets(const QcdLowPtDQM::Tracklet &a, const QcdLowPtDQM::Tracklet &b)
void print(int level, const char *msg)
void setCurrentFolder(const std::string &fullpath)
std::string clusterVtxName_
std::vector< MonitorElement * > hdNdEtaTrklets13_
T const * product() const
MonitorElement * book2D(Args &&...args)
std::vector< MonitorElement * > hTrkRawDetaDphi23_
std::vector< MonitorElement * > hdNdPhiHitsL1_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
std::vector< MonitorElement * > hdNdEtaTrklets12_
T const * product() const
std::vector< MonitorElement * > hRawTrkEtaVtxZ13_
MonitorElement * h2TrigCorr_
std::vector< MonitorElement * > hNhitsL3z_
std::vector< MonitorElement * > hdNdEtaRawTrkl12_
std::vector< MonitorElement * > hClusterADC2_
std::vector< std::vector< double > > tmp
std::vector< MonitorElement * > hdNdEtaHitsL3_
std::vector< MonitorElement * > hClusterYSize1_
void yieldAlphaHistogram(int which=12)
virtual bool isItEdgePixelInY(int iybin) const =0
const TrackerGeometry * tgeo_
std::vector< Pixel > bpix2_
void filldNdeta(const TH3F *AlphaTracklets, const std::vector< TH3F * > &NsigTracklets, const std::vector< TH3F * > &NbkgTracklets, const std::vector< TH1F * > &NEvsPerEta, std::vector< MonitorElement * > &hdNdEtaRawTrkl, std::vector< MonitorElement * > &hdNdEtaSubTrkl, std::vector< MonitorElement * > &hdNdEtaTrklets)
void create2D(std::vector< TH2F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=1, bool sbox=1)
std::string hltUsedResName_
std::vector< Pixel > bpix1_
void book1D(DQMStore::IBooker &, std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=1, bool sbox=1)
std::vector< TH1F * > hEvtCountsPerEta23_
MonitorElement * bookFloat(Args &&...args)
volatile std::atomic< bool > shutdown_flag false
std::vector< MonitorElement * > hTrkRawDeta13_
std::vector< MonitorElement * > hdNdPhiHitsL3_
void fill1D(std::vector< TH1F * > &hs, double val, double w=1.)
std::vector< std::string > hltTrgNames_
std::vector< MonitorElement * > hTrkRawDphi13_
void Reset(void)
reset ME (ie. contents, errors, etc)
std::vector< TH1F * > hEvtCountsPerEta13_
std::vector< Tracklet > btracklets13_
std::vector< MonitorElement * > hdNdEtaSubTrkl12_
tuple size
Write out results.
std::vector< TH3F * > NbkgTracklets23_
std::vector< MonitorElement * > hNhitsL2_
std::vector< int > hltTrgBits_
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
virtual const TrackerGeomDet * idToDet(DetId) const
void dqmBeginRun(const edm::Run &, const edm::EventSetup &)
std::vector< MonitorElement * > hTrkVtxZ23_
void reallyPrint(int level, const char *msg)
void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup)