44 return (TMath::Abs(a.
deta())<TMath::Abs(b.
deta()));
49 hltResName_(parameters.getUntrackedParameter<string>(
"hltTrgResults",
"TriggerResults")),
50 pixelName_(parameters.getUntrackedParameter<string>(
"pixelRecHits",
"siPixelRecHits")),
51 clusterVtxName_(parameters.getUntrackedParameter<string>(
"clusterVertices",
"")),
52 ZVCut_(parameters.getUntrackedParameter<double>(
"ZVertexCut",10)),
53 ZVEtaRegion_(parameters.getUntrackedParameter<double>(
"ZVertexEtaRegion",2)),
54 ZVVtxRegion_(parameters.getUntrackedParameter<double>(
"ZVertexVtxRegion",2)),
55 dPhiVc_(parameters.getUntrackedParameter<double>(
"dPhiVertexCut",0.08)),
56 dZVc_(parameters.getUntrackedParameter<double>(
"dZVertexCut",0.25)),
57 sigEtaCut_(parameters.getUntrackedParameter<double>(
"signalEtaCut",0.1)),
58 sigPhiCut_(parameters.getUntrackedParameter<double>(
"signalPhiCut",1.5)),
59 bkgEtaCut_(parameters.getUntrackedParameter<double>(
"backgroundEtaCut",0.1)),
60 bkgPhiCut_(parameters.getUntrackedParameter<double>(
"backgroundPhiCut",3.0)),
61 verbose_(parameters.getUntrackedParameter<int>(
"verbose",3)),
62 pixLayers_(parameters.getUntrackedParameter<int>(
"pixLayerCombinations",12)),
63 clusLayers_(parameters.getUntrackedParameter<int>(
"clusLayerCombinations",12)),
64 useRecHitQ_(parameters.getUntrackedParameter<bool>(
"useRecHitQualityWord",
false)),
65 usePixelQ_(parameters.getUntrackedParameter<bool>(
"usePixelQualityWord",
true)),
77 if (parameters.
exists(
"hltTrgNames"))
80 if (parameters.
exists(
"hltProcNames"))
88 print(2,Form(
"Value for pixLayerCombinations must be one of 12,13, or 23. "
120 print(3,
"Could not obtain pointer to TrackerGeometry");
136 print(3,
"Could not obtain pointer to DQMStore");
155 bool isHltCfgChanged =
false;
174 print(3,Form(
"Could not obtain HLT config for process name(s) %s", teststr.c_str()));
190 if(0)
print(0,Form(
"Checking trigger name %s for %s", n2.c_str(), n1.c_str()));
195 print(0,Form(
"Added trigger %d with name %s for bit %d",
202 CP(2)
print(2,Form(
"Could not find trigger bit for %s", n1.c_str()));
208 print(3,Form(
"Size of trigger bits not equal used names: %d %d",
211 print(3,Form(
"Size of decision bits not equal names: %d %d",
252 const std::string &
name,
const std::string &
title,
253 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
271 const std::string &
name,
const std::string &
title,
272 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
273 bool sumw2,
bool sbox)
280 nx, x1, x2, ny, y1, y2);
291 const std::string &
name,
const std::string &
title,
292 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
309 const std::string &
name,
const std::string &
title,
310 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
311 bool sumw2,
bool sbox)
318 nx, x1, x2, ny, y1, y2);
343 const double x1 = -0.5;
344 const double x2 = Nx-0.5;
357 const double x1 = -0.5;
358 const double x2 = 149.5;
359 book1D(
hNhitsL1_,
"hNhitsLayer1",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
360 if(0)
book1D(
hNhitsL2_,
"hNhitsLayer2",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
361 if(0)
book1D(
hNhitsL3_,
"hNhitsLayer3",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
366 const double x1 = -0.5;
367 const double x2 = 14.5;
368 book1D(
hNhitsL1z_,
"hNhitsLayer1Zoom",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
369 if(0)
book1D(
hNhitsL2z_,
"hNhitsLayer2Zoom",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
370 if(0)
book1D(
hNhitsL3z_,
"hNhitsLayer3Zoom",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
375 const double x1 = -3;
376 const double x2 = +3;
384 const double x1 = -3.2;
385 const double x2 = +3.2;
393 const double x1 = -25;
394 const double x2 = +25;
396 book1D(
hTrkVtxZ12_,
"hTrackletVtxZ12",
"z vertex from tracklets12;vz [cm];#",Nx,x1,x2);
398 book1D(
hTrkVtxZ13_,
"hTrackletVtxZ13",
"z vertex from tracklets13;vz [cm];#",Nx,x1,x2);
400 book1D(
hTrkVtxZ23_,
"hTrackletVtxZ23",
"z vertex from tracklets23;vz [cm];#",Nx,x1,x2);
406 const double x1 = -3;
407 const double x2 = +3;
408 const int Ny = 2*(int)
ZVCut_;
409 const double y1 = -
ZVCut_;
410 const double y2 = +
ZVCut_;
413 "raw #eta vs z vertex from tracklets12;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
416 "raw #eta vs z vertex from tracklets13;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
419 "raw #eta vs z vertex from tracklets23;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
424 const double x1 = -3;
425 const double x2 = +3;
427 const double y1 = -3.2;
428 const double y2 = +3.2;
431 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
434 "tracklet13 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
437 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
442 const double x1 = -3;
443 const double x2 = +3;
446 "tracklet12 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
449 "tracklet13 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
452 "tracklet23 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
457 const double x1 = -3.2;
458 const double x2 = +3.2;
461 "tracklet12 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
464 "tracklet13 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
467 "tracklet23 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
471 const int Nx = xa->GetNbins();
472 const double x1 = xa->GetBinLowEdge(1);
473 const double x2 = xa->GetBinLowEdge(Nx+1);
476 "raw dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
479 "(1-#beta) dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
482 "dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
488 const int Nx = xa->GetNbins();
489 const double x1 = xa->GetBinLowEdge(1);
490 const double x2 = xa->GetBinLowEdge(Nx+1);
493 "raw dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
496 "(1-#beta) dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
499 "dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
505 const int Nx = xa->GetNbins();
506 const double x1 = xa->GetBinLowEdge(1);
507 const double x2 = xa->GetBinLowEdge(Nx+1);
510 "raw dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
513 "(1-#beta) dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
516 "dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
523 const double x1 = -25;
524 const double x2 = +25;
531 const double x1 = -3;
532 const double x2 = +3;
534 const double y1 = -0.5;
535 const double y2 = 24.5;
538 "cluster #eta vs local y size on layer 1;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
541 "cluster #eta vs local y size on layer 2;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
544 "cluster #eta vs local y size on layer 3;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
549 const double x1 = -3;
550 const double x2 = +3;
553 const double y2 = 2500;
556 "cluster #eta vs adc on layer 1;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
559 "cluster #eta vs adc on layer 2;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
562 "cluster #eta vs adc on layer 3;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
575 const std::vector<TH3F*> &NsigTracklets,
576 const std::vector<TH3F*> &NbkgTracklets,
577 const std::vector<TH1F*> &NEvsPerEta,
578 std::vector<MonitorElement*> &hdNdEtaRawTrkl,
579 std::vector<MonitorElement*> &hdNdEtaSubTrkl,
580 std::vector<MonitorElement*> &hdNdEtaTrklets)
587 const int netabins = AlphaTracklets->GetNbinsX();
588 const int nhitbins = AlphaTracklets->GetNbinsY();
589 const int nvzbins = AlphaTracklets->GetNbinsZ();
590 const int zvlbin = AlphaTracklets->GetZaxis()->FindFixBin(-
ZVVtxRegion_)-1;
591 const int zvhbin = AlphaTracklets->GetZaxis()->FindFixBin(+
ZVVtxRegion_)+1;
593 for(
size_t i=0;
i<hdNdEtaRawTrkl.size();++
i) {
602 TH3F *hsig = NsigTracklets.at(
i);
603 TH3F *hbkg = NbkgTracklets.at(
i);
604 TH1F *hepa = NEvsPerEta.at(
i);
606 for(
int etabin=1;etabin<=netabins;++etabin) {
607 const double etaval = AlphaTracklets->GetXaxis()->GetBinCenter(etabin);
608 const double etawidth = AlphaTracklets->GetXaxis()->GetBinWidth(etabin);
609 const int zvetabin = hepa->GetXaxis()->FindFixBin(etaval);
610 const double events = hepa->GetBinContent(zvetabin);
615 int zvbin2 = nvzbins;
618 }
else if (zvetabin==2) {
622 double dndetaraw = 0;
623 double dndetasub = 0;
625 double dndetarawerr = 0;
626 double dndetasuberr = 0;
627 double dndetaerr = 0;
628 for(
int hitbin=1;hitbin<=nhitbins;++hitbin) {
629 for(
int vzbin=1;vzbin<=nvzbins;++vzbin) {
630 int gbin = AlphaTracklets->GetBin(etabin,hitbin,vzbin);
631 const double nsig = hsig->GetBinContent(gbin);
633 const double nbkg = hbkg->GetBinContent(gbin);
634 const double nsub = nsig - nbkg;
636 CP(2)
print(2,Form(
"Got negative contributions: %d %d %d %f",etabin,hitbin,vzbin,nsub));
640 const double alpha = AlphaTracklets->GetBinContent(gbin);
641 dndeta += alpha*nsub;
642 double nsig2 = nsig*nsig;
643 double nsub2 = nsub*nsub;
644 double alpha2 = alpha*
alpha;
645 dndetarawerr += nsig2;
646 dndetasuberr += nsub2;
647 dndetaerr += alpha2*nsub2;
652 double enorm = etawidth *
norm;
656 dndetarawerr /= enorm;
657 dndetasuberr /= enorm;
659 double dndetarawsigma2 = (dndetaraw*dndetaraw - dndetarawerr) / events;
660 double dndetasubsigma2 = (dndetasub*dndetasub - dndetasuberr) / events;
661 double dndetasigma2 = (dndeta*dndeta - dndetaerr) / events;
663 mrawtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetarawsigma2)));
665 msubtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasubsigma2)));
667 mtrklet->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasigma2)));
713 for(
size_t i=0;
i<hs.size();++
i) {
716 hs.at(
i)->Fill(val,w);
725 for(
size_t i=0;
i<mes.size();++
i) {
728 mes.at(
i)->Fill(val,w);
737 for(
size_t i=0;
i<hs.size();++
i) {
740 hs.at(
i)->Fill(valx, valy ,w);
749 for(
size_t i=0;
i<mes.size();++
i) {
752 mes.at(
i)->Fill(valx, valy ,w);
761 for(
size_t i=0;
i<hs.size();++
i) {
764 hs.at(
i)->AddBinContent(gbin, w);
780 if (tbit<triggerResultsHLT->
size()) {
782 if (0)
print(0,Form(
"Decision %i for %s",
785 print(2,Form(
"Problem slot %i for bit %i for %s",
814 CP(2)
print(2,Form(
"Can not obtain pixel hit collection with name %s",
pixelName_.c_str()));
826 if (
hit->isOnEdge() ||
hit->hasBadPixels())
838 vector<SiPixelCluster::Pixel> pixels(
hit->cluster()->pixels());
839 bool pixelOnEdge =
false;
840 for(std::vector<SiPixelCluster::Pixel>::const_iterator pixel = pixels.begin();
841 pixel != pixels.end(); ++pixel) {
842 int pixelX = pixel->x;
843 int pixelY = pixel->y;
854 hit->localPosition().
y(),
855 hit->localPosition().
z());
857 double adc =
hit->cluster()->charge()/135.;
858 double sizex =
hit->cluster()->sizeX();
859 double sizey =
hit->cluster()->sizeY();
861 Pixel pix(gpos, adc, sizex, sizey);
864 int layer = pid.
layer();
870 }
else if (layer==2) {
900 CP(2)
print(2,Form(
"Can not obtain pixel vertex from cluster collection with name %s",
906 if (!vertices || vertices->size()==0)
908 reco::VertexCollection::const_iterator vertex = vertices->begin();
911 std::vector<Pixel> allp(
bpix1_);
930 const std::vector<Pixel> &pix,
931 std::vector<MonitorElement*> &hClusterYSize,
932 std::vector<MonitorElement*> &hClusterADC)
936 for(
size_t i = 0;
i<pix.size(); ++
i) {
971 const std::vector<Pixel> &pix1,
972 const std::vector<Pixel> &pix2,
979 if (TMath::Abs(trackletV.
z())>
ZVCut_)
983 std::vector<Tracklet> tmptrkls;
984 tmptrkls.reserve(pix1.size()*pix2.size());
985 for(
size_t i = 0;
i<pix1.size(); ++
i) {
986 const GlobalPoint tmp1(pix1.at(
i).x(),pix1.at(
i).y(),pix1.at(
i).z()-trackletV.
z());
988 for(
size_t j = 0;
j<pix2.size(); ++
j) {
989 const GlobalPoint tmp2(pix2.at(
j).x(),pix2.at(
j).y(),pix2.at(
j).z()-trackletV.
z());
994 tmptrkls.push_back(tracklet);
1002 vector<bool> secused(pix2.size(),
false);
1003 for(
size_t k=0;
k<tmptrkls.size(); ++
k) {
1005 size_t p2ind = tl.
i2();
1006 if (secused.at(p2ind))
1008 secused[p2ind] =
true;
1009 tracklets.push_back(tl);
1010 if (tracklets.size()==pix2.size())
1017 const std::vector<Pixel> &pixels,
1019 const TH3F *AlphaTracklets,
1020 std::vector<TH3F*> &NsigTracklets,
1021 std::vector<TH3F*> &NbkgTracklets,
1022 std::vector<TH1F*> &eventpereta,
1023 std::vector<MonitorElement*> &detaphi,
1024 std::vector<MonitorElement*> &deta,
1025 std::vector<MonitorElement*> &dphi,
1026 std::vector<MonitorElement*> &etavsvtx)
1030 if (!AlphaTracklets)
1033 if (tracklets.size()==0)
1037 for(
size_t i=0;
i<eventpereta.size();++
i) {
1040 TH1 *
h = eventpereta.at(
i);
1041 h->AddBinContent(1,1);
1043 h->AddBinContent(0,1);
1045 h->AddBinContent(2,1);
1049 TAxis *xa = AlphaTracklets->GetXaxis();
1050 int ybin = AlphaTracklets->GetYaxis()->FindFixBin(pixels.size());
1051 int zbin = AlphaTracklets->GetZaxis()->FindFixBin(trackletV.
z());
1052 int tbin = AlphaTracklets->GetBin(0,ybin,zbin);
1053 for(
size_t k=0;
k<tracklets.size(); ++
k) {
1055 fill2D(detaphi,tl.deta(),tl.dphi());
1058 int ebin = xa->FindFixBin(tl.eta());
1059 int gbin = ebin + tbin;
1060 fill2D(etavsvtx,tl.eta(),trackletV.
z());
1062 double deta = TMath::Abs(tl.deta());
1063 double dphi = TMath::Abs(tl.dphi());
1066 fill3D(NsigTracklets,gbin);
1068 fill3D(NbkgTracklets,gbin);
1078 printf(
"QcdLowPtDQM: %s\n", msg);
1079 }
else if (level==1) {
1080 LogWarning(
"QcdLowPtDQM") << msg << std::endl;
1081 }
else if (level==2) {
1082 LogError(
"QcdLowPtDQM") << msg << std::endl;
1083 }
else if (level==3) {
1084 LogError(
"QcdLowPtDQM") << msg << std::endl;
1110 std::vector<Pixel> &pix2,
1118 vector<double> zvCands;
1119 zvCands.reserve(pix1.size()*pix2.size());
1122 for(
size_t i = 0;
i<pix1.size(); ++
i) {
1124 const double r12 =
p1.x()*
p1.x()+
p1.y()*
p1.y();
1125 for(
size_t j = 0;
j<pix2.size(); ++
j) {
1129 const double r22 =
p2.x()*
p2.x()+
p2.y()*
p2.y();
1130 const double vz =
p1.z() - (
p2.z()-
p1.z())/(TMath::Sqrt(r22/r12)-1);
1131 if (TMath::IsNaN(vz))
1133 if (TMath::Abs(vz)>25)
1135 zvCands.push_back(vz);
1140 sort(zvCands.begin(),zvCands.end());
1147 for(
size_t i = 0;
i<zvCands.size(); ++
i) {
1148 double z1 = zvCands.at(
i);
1152 for(
size_t j =
i;
j<zvCands.size(); ++
j) {
1153 double z2 = zvCands.at(
j);
1154 if (TMath::Abs(z1-z2)>
dZVc_)
1164 double_t
s2 = mean*mean - mean2;
1166 if ((ncl<mcl) || (ncl==mcl && s2>ms2))
1175 vtx.
set(mcl, mzv, ms2);
1183 double chi_max = 1e+9;
1184 double z_best = -999;
1187 for(
double z0 = -15.9; z0 <= 15.95; z0 += 0.1) {
1190 for(
size_t i=0;
i<pix.size(); ++
i) {
1194 double pval = 2*TMath::Abs(p.
z()-z0)/p.
rho() + 0.5;
1195 double chitest = TMath::Abs(pval - p.
sizey());
1205 if(nhits < nhits_max)
1208 if ((nhits > nhits_max) || (chi < chi_max)) {
1227 const int nEtaBin = 12;
1228 const int nHitBin = 14;
1229 const int nVzBin = 10;
1231 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
1233 double EtaBins[nEtaBin+1];
1234 for (
int i=0;
i<=nEtaBin;
i++)
1235 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
1236 double VzBins[nVzBin+1];
1237 for (
int i=0;
i<=nVzBin;
i++)
1238 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
1241 "Alpha for tracklets12;#eta;#hits;vz [cm]",
1242 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
2480 const int nEtaBin = 12;
2481 const int nHitBin = 14;
2482 const int nVzBin = 10;
2484 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
2486 double EtaBins[nEtaBin+1];
2487 for (
int i=0;
i<=nEtaBin;
i++)
2488 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
2489 double VzBins[nVzBin+1];
2490 for (
int i=0;
i<=nVzBin;
i++)
2491 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
2494 "Alpha for tracklets13;#eta;#hits;vz [cm]",
2495 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
3510 const int nEtaBin = 12;
3511 const int nHitBin = 14;
3512 const int nVzBin = 10;
3514 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
3516 double EtaBins[nEtaBin+1];
3517 for (
int i=0;
i<=nEtaBin;
i++)
3518 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
3519 double VzBins[nVzBin+1];
3520 for (
int i=0;
i<=nVzBin;
i++)
3521 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
3524 "Alpha for tracklets23;#eta;#hits;vz [cm]",
3525 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
std::vector< MonitorElement * > hRawTrkEtaVtxZ23_
std::vector< MonitorElement * > hdNdEtaSubTrkl23_
std::vector< TH1F * > hEvtCountsPerEta12_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > hltProcNames_
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< MonitorElement * > hdNdEtaSubTrkl12_
std::vector< TH3F * > NbkgTracklets23_
std::vector< Tracklet > btracklets23_
std::vector< TH3F * > NsigTracklets13_
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< MonitorElement * > hTrkRawDeta12_
std::vector< MonitorElement * > hdNdEtaHitsL1_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
HLTConfigProvider hltConfig_
std::vector< MonitorElement * > hRawTrkEtaVtxZ12_
std::vector< MonitorElement * > hdNdPhiHitsL3_
std::vector< MonitorElement * > hdNdPhiHitsL2_
double deltaPhi(float phi1, float phi2)
std::vector< MonitorElement * > hNhitsL1_
std::vector< TH3F * > NbkgTracklets12_
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< TH1F * > hEvtCountsPerEta13_
std::vector< TH1F * > hEvtCountsPerEta23_
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< Vertex > VertexCollection
collection of Vertex objects
void book2D(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)
std::vector< MonitorElement * > hClusterYSize1_
std::vector< MonitorElement * > hClusterADC2_
std::vector< MonitorElement * > hNhitsL3_
void beginLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
void operator()(TH3F *&h)
std::vector< TH3F * > NbkgTracklets13_
std::vector< MonitorElement * > hTrkRawDeta13_
MonitorElement * repSummary_
unsigned int layer() const
layer id
MonitorElement * bookFloat(const char *name)
Book float.
std::vector< MonitorElement * > hdNdEtaTrklets23_
void beginRun(const edm::Run &r, const edm::EventSetup &iSetup)
std::vector< TH3F * > NsigTracklets23_
std::vector< Tracklet > btracklets12_
std::vector< MonitorElement * > hClusterADC1_
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
std::vector< MonitorElement * > hTrkVtxZ12_
std::vector< MonitorElement * > hdNdEtaHitsL2_
std::vector< MonitorElement * > hTrkRawDphi13_
std::vector< MonitorElement * > hClusterVertexZ_
MonitorElement * repSumMap_
std::vector< MonitorElement * > hNhitsL2_
std::vector< MonitorElement * > hTrkVtxZ23_
std::vector< MonitorElement * > hTrkRawDetaDphi12_
std::vector< MonitorElement * > hNhitsL1z_
std::vector< MonitorElement * > hTrkRawDetaDphi23_
std::vector< std::string > hltTrgUsedNames_
std::vector< MonitorElement * > hdNdEtaRawTrkl12_
data_type const * data(size_t cell) const
std::vector< MonitorElement * > hdNdEtaTrklets12_
std::vector< Pixel > bpix3_
std::vector< MonitorElement * > hClusterADC3_
std::vector< MonitorElement * > hNhitsL3z_
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
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)
virtual const GeomDet * idToDet(DetId) const
std::vector< TH3F * > NsigTracklets12_
void fill2D(std::vector< TH2F * > &hs, double valx, double valy, double w=1.)
void fillTracklets(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hRawTrkEtaVtxZ13_
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)
std::vector< MonitorElement * > hdNdPhiHitsL1_
std::string clusterVtxName_
std::vector< MonitorElement * > hTrkRawDeta23_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
T const * product() const
MonitorElement * h2TrigCorr_
T const * product() const
std::vector< std::vector< double > > tmp
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)
std::vector< MonitorElement * > hdNdEtaHitsL3_
void book1D(std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=1, bool sbox=1)
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::vector< MonitorElement * > hdNdEtaTrklets13_
std::string hltUsedResName_
std::vector< Pixel > bpix1_
std::vector< MonitorElement * > hdNdEtaSubTrkl13_
std::vector< MonitorElement * > hNhitsL2z_
void fill1D(std::vector< TH1F * > &hs, double val, double w=1.)
std::vector< std::string > hltTrgNames_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::vector< MonitorElement * > hTrkRawDetaDphi13_
void Reset(void)
reset ME (ie. contents, errors, etc)
std::vector< Tracklet > btracklets13_
std::vector< MonitorElement * > hTrkVtxZ13_
std::vector< MonitorElement * > hClusterYSize2_
tuple size
Write out results.
void setCurrentFolder(const std::string &fullpath)
std::vector< MonitorElement * > hTrkRawDphi23_
std::vector< int > hltTrgBits_
std::vector< MonitorElement * > hTrkRawDphi12_
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
void fillPixels(const edm::Event &iEvent)
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
std::vector< MonitorElement * > hClusterYSize3_
void reallyPrint(int level, const char *msg)
std::vector< MonitorElement * > hdNdEtaRawTrkl23_