43 return (TMath::Abs(a.
deta())<TMath::Abs(b.
deta()));
48 hltResName_(parameters.getUntrackedParameter<
string>(
"hltTrgResults",
"TriggerResults")),
49 pixelName_(parameters.getUntrackedParameter<
string>(
"pixelRecHits",
"siPixelRecHits")),
50 clusterVtxName_(parameters.getUntrackedParameter<
string>(
"clusterVertices",
"")),
51 ZVCut_(parameters.getUntrackedParameter<double>(
"ZVertexCut",10)),
52 ZVEtaRegion_(parameters.getUntrackedParameter<double>(
"ZVertexEtaRegion",2)),
53 ZVVtxRegion_(parameters.getUntrackedParameter<double>(
"ZVertexVtxRegion",2)),
54 dPhiVc_(parameters.getUntrackedParameter<double>(
"dPhiVertexCut",0.08)),
55 dZVc_(parameters.getUntrackedParameter<double>(
"dZVertexCut",0.25)),
56 sigEtaCut_(parameters.getUntrackedParameter<double>(
"signalEtaCut",0.1)),
57 sigPhiCut_(parameters.getUntrackedParameter<double>(
"signalPhiCut",1.5)),
58 bkgEtaCut_(parameters.getUntrackedParameter<double>(
"backgroundEtaCut",0.1)),
59 bkgPhiCut_(parameters.getUntrackedParameter<double>(
"backgroundPhiCut",3.0)),
60 verbose_(parameters.getUntrackedParameter<int>(
"verbose",3)),
61 pixLayers_(parameters.getUntrackedParameter<int>(
"pixLayerCombinations",12)),
62 clusLayers_(parameters.getUntrackedParameter<int>(
"clusLayerCombinations",12)),
63 useRecHitQ_(parameters.getUntrackedParameter<bool>(
"useRecHitQualityWord",
false)),
64 usePixelQ_(parameters.getUntrackedParameter<bool>(
"usePixelQualityWord",
true)),
76 if (parameters.
exists(
"hltTrgNames"))
79 if (parameters.
exists(
"hltProcNames"))
87 print(2,Form(
"Value for pixLayerCombinations must be one of 12,13, or 23. "
119 print(3,
"QcdLowPtDQM::analyze -- Could not obtain pointer to TrackerGeometry. Return.");
137 print(3,
"QcdLowPtDQM::beginJob -- Could not obtain pointer to DQMStore. Return.");
157 bool isHltCfgChanged =
false;
176 print(3,Form(
"Could not obtain HLT config for process name(s) %s", teststr.c_str()));
192 if(0)
print(0,Form(
"Checking trigger name %s for %s", n2.c_str(), n1.c_str()));
197 print(0,Form(
"Added trigger %d with name %s for bit %d",
204 CP(2)
print(2,Form(
"Could not find trigger bit for %s", n1.c_str()));
210 print(3,Form(
"Size of trigger bits not equal used names: %d %d",
213 print(3,Form(
"Size of decision bits not equal names: %d %d",
255 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
274 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
275 bool sumw2,
bool sbox)
282 nx, x1, x2, ny, y1, y2);
294 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
312 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
313 bool sumw2,
bool sbox)
320 nx, x1, x2, ny, y1, y2);
345 const double x1 = -0.5;
346 const double x2 = Nx-0.5;
359 const double x1 = -0.5;
360 const double x2 = 149.5;
361 book1D(
hNhitsL1_,
"hNhitsLayer1",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
362 if(0)
book1D(
hNhitsL2_,
"hNhitsLayer2",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
363 if(0)
book1D(
hNhitsL3_,
"hNhitsLayer3",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
368 const double x1 = -0.5;
369 const double x2 = 14.5;
370 book1D(
hNhitsL1z_,
"hNhitsLayer1Zoom",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
371 if(0)
book1D(
hNhitsL2z_,
"hNhitsLayer2Zoom",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
372 if(0)
book1D(
hNhitsL3z_,
"hNhitsLayer3Zoom",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
377 const double x1 = -3;
378 const double x2 = +3;
386 const double x1 = -3.2;
387 const double x2 = +3.2;
395 const double x1 = -25;
396 const double x2 = +25;
398 book1D(
hTrkVtxZ12_,
"hTrackletVtxZ12",
"z vertex from tracklets12;vz [cm];#",Nx,x1,x2);
400 book1D(
hTrkVtxZ13_,
"hTrackletVtxZ13",
"z vertex from tracklets13;vz [cm];#",Nx,x1,x2);
402 book1D(
hTrkVtxZ23_,
"hTrackletVtxZ23",
"z vertex from tracklets23;vz [cm];#",Nx,x1,x2);
408 const double x1 = -3;
409 const double x2 = +3;
410 const int Ny = 2*(int)
ZVCut_;
411 const double y1 = -
ZVCut_;
412 const double y2 = +
ZVCut_;
415 "raw #eta vs z vertex from tracklets12;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
418 "raw #eta vs z vertex from tracklets13;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
421 "raw #eta vs z vertex from tracklets23;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
426 const double x1 = -3;
427 const double x2 = +3;
429 const double y1 = -3.2;
430 const double y2 = +3.2;
433 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
436 "tracklet13 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
439 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
444 const double x1 = -3;
445 const double x2 = +3;
448 "tracklet12 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
451 "tracklet13 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
454 "tracklet23 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
459 const double x1 = -3.2;
460 const double x2 = +3.2;
463 "tracklet12 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
466 "tracklet13 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
469 "tracklet23 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
473 const int Nx = xa->GetNbins();
474 const double x1 = xa->GetBinLowEdge(1);
475 const double x2 = xa->GetBinLowEdge(Nx+1);
478 "raw dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
481 "(1-#beta) dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
484 "dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
490 const int Nx = xa->GetNbins();
491 const double x1 = xa->GetBinLowEdge(1);
492 const double x2 = xa->GetBinLowEdge(Nx+1);
495 "raw dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
498 "(1-#beta) dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
501 "dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
507 const int Nx = xa->GetNbins();
508 const double x1 = xa->GetBinLowEdge(1);
509 const double x2 = xa->GetBinLowEdge(Nx+1);
512 "raw dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
515 "(1-#beta) dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
518 "dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
525 const double x1 = -25;
526 const double x2 = +25;
533 const double x1 = -3;
534 const double x2 = +3;
536 const double y1 = -0.5;
537 const double y2 = 24.5;
540 "cluster #eta vs local y size on layer 1;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
543 "cluster #eta vs local y size on layer 2;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
546 "cluster #eta vs local y size on layer 3;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
551 const double x1 = -3;
552 const double x2 = +3;
555 const double y2 = 2500;
558 "cluster #eta vs adc on layer 1;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
561 "cluster #eta vs adc on layer 2;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
564 "cluster #eta vs adc on layer 3;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
577 const std::vector<TH3F*> &NsigTracklets,
578 const std::vector<TH3F*> &NbkgTracklets,
579 const std::vector<TH1F*> &NEvsPerEta,
580 std::vector<MonitorElement*> &hdNdEtaRawTrkl,
581 std::vector<MonitorElement*> &hdNdEtaSubTrkl,
582 std::vector<MonitorElement*> &hdNdEtaTrklets)
589 const int netabins = AlphaTracklets->GetNbinsX();
590 const int nhitbins = AlphaTracklets->GetNbinsY();
591 const int nvzbins = AlphaTracklets->GetNbinsZ();
595 for(
size_t i=0;
i<hdNdEtaRawTrkl.size();++
i) {
604 TH3F *hsig = NsigTracklets.at(
i);
605 TH3F *hbkg = NbkgTracklets.at(
i);
606 TH1F *hepa = NEvsPerEta.at(
i);
608 for(
int etabin=1;etabin<=netabins;++etabin) {
609 const double etaval = AlphaTracklets->GetXaxis()->GetBinCenter(etabin);
610 const double etawidth = AlphaTracklets->GetXaxis()->GetBinWidth(etabin);
611 const int zvetabin = hepa->GetXaxis()->FindFixBin(etaval);
612 const double events = hepa->GetBinContent(zvetabin);
624 double dndetaraw = 0;
625 double dndetasub = 0;
627 double dndetarawerr = 0;
628 double dndetasuberr = 0;
629 double dndetaerr = 0;
630 for(
int hitbin=1;hitbin<=nhitbins;++hitbin) {
631 for(
int vzbin=1;vzbin<=nvzbins;++vzbin) {
632 int gbin = AlphaTracklets->GetBin(etabin,hitbin,vzbin);
633 const double nsig = hsig->GetBinContent(gbin);
635 const double nbkg = hbkg->GetBinContent(gbin);
636 const double nsub = nsig - nbkg;
638 CP(2)
print(2,Form(
"Got negative contributions: %d %d %d %f",etabin,hitbin,vzbin,nsub));
642 const double alpha = AlphaTracklets->GetBinContent(gbin);
643 dndeta += alpha*nsub;
644 double nsig2 = nsig*nsig;
645 double nsub2 = nsub*nsub;
646 double alpha2 = alpha*
alpha;
647 dndetarawerr += nsig2;
648 dndetasuberr += nsub2;
649 dndetaerr += alpha2*nsub2;
653 double norm = etawidth *
events;
654 double enorm = etawidth * norm;
658 dndetarawerr /= enorm;
659 dndetasuberr /= enorm;
661 double dndetarawsigma2 = (dndetaraw*dndetaraw - dndetarawerr) / events;
662 double dndetasubsigma2 = (dndetasub*dndetasub - dndetasuberr) / events;
663 double dndetasigma2 = (dndeta*dndeta - dndetaerr) / events;
665 mrawtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetarawsigma2)));
667 msubtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasubsigma2)));
669 mtrklet->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasigma2)));
715 for(
size_t i=0;
i<hs.size();++
i) {
718 hs.at(
i)->Fill(val,w);
727 for(
size_t i=0;
i<mes.size();++
i) {
730 mes.at(
i)->Fill(val,w);
739 for(
size_t i=0;
i<hs.size();++
i) {
742 hs.at(
i)->Fill(valx, valy ,w);
751 for(
size_t i=0;
i<mes.size();++
i) {
754 mes.at(
i)->Fill(valx, valy ,w);
763 for(
size_t i=0;
i<hs.size();++
i) {
766 hs.at(
i)->AddBinContent(gbin, w);
782 if (tbit<triggerResultsHLT->
size()) {
784 if (0)
print(0,Form(
"Decision %i for %s",
787 print(2,Form(
"Problem slot %i for bit %i for %s",
816 CP(2)
print(2,Form(
"Can not obtain pixel hit collection with name %s",
pixelName_.c_str()));
833 if (
hit->isOnEdge() ||
hit->hasBadPixels())
845 vector<SiPixelCluster::Pixel> pixels(
hit->cluster()->pixels());
846 bool pixelOnEdge =
false;
847 for(std::vector<SiPixelCluster::Pixel>::const_iterator pixel = pixels.begin();
848 pixel != pixels.end(); ++pixel) {
849 int pixelX = pixel->x;
850 int pixelY = pixel->y;
861 hit->localPosition().
y(),
862 hit->localPosition().
z());
864 double adc =
hit->cluster()->charge()/135.;
865 double sizex =
hit->cluster()->sizeX();
866 double sizey =
hit->cluster()->sizeY();
868 Pixel pix(gpos, adc, sizex, sizey);
877 }
else if (layer==2) {
907 CP(2)
print(2,Form(
"Can not obtain pixel vertex from cluster collection with name %s",
913 if (!vertices || vertices->size()==0)
915 reco::VertexCollection::const_iterator vertex = vertices->begin();
918 std::vector<Pixel> allp(
bpix1_);
937 const std::vector<Pixel> &pix,
938 std::vector<MonitorElement*> &hClusterYSize,
939 std::vector<MonitorElement*> &hClusterADC)
943 for(
size_t i = 0;
i<pix.size(); ++
i) {
978 const std::vector<Pixel> &pix1,
979 const std::vector<Pixel> &pix2,
986 if (TMath::Abs(trackletV.
z())>
ZVCut_)
990 std::vector<Tracklet> tmptrkls;
991 tmptrkls.reserve(pix1.size()*pix2.size());
992 for(
size_t i = 0;
i<pix1.size(); ++
i) {
993 const GlobalPoint tmp1(pix1.at(
i).x(),pix1.at(
i).y(),pix1.at(
i).z()-trackletV.
z());
995 for(
size_t j = 0;
j<pix2.size(); ++
j) {
996 const GlobalPoint tmp2(pix2.at(
j).x(),pix2.at(
j).y(),pix2.at(
j).z()-trackletV.
z());
1001 tmptrkls.push_back(tracklet);
1009 vector<bool> secused(pix2.size(),
false);
1010 for(
size_t k=0;
k<tmptrkls.size(); ++
k) {
1012 size_t p2ind = tl.
i2();
1013 if (secused.at(p2ind))
1015 secused[p2ind] =
true;
1016 tracklets.push_back(tl);
1017 if (tracklets.size()==pix2.size())
1024 const std::vector<Pixel> &pixels,
1026 const TH3F *AlphaTracklets,
1027 std::vector<TH3F*> &NsigTracklets,
1028 std::vector<TH3F*> &NbkgTracklets,
1029 std::vector<TH1F*> &eventpereta,
1030 std::vector<MonitorElement*> &detaphi,
1031 std::vector<MonitorElement*> &deta,
1032 std::vector<MonitorElement*> &dphi,
1033 std::vector<MonitorElement*> &etavsvtx)
1037 if (!AlphaTracklets)
1040 if (tracklets.size()==0)
1044 for(
size_t i=0;
i<eventpereta.size();++
i) {
1047 TH1 *
h = eventpereta.at(
i);
1048 h->AddBinContent(1,1);
1050 h->AddBinContent(0,1);
1052 h->AddBinContent(2,1);
1056 TAxis *xa = AlphaTracklets->GetXaxis();
1057 int ybin = AlphaTracklets->GetYaxis()->FindFixBin(pixels.size());
1058 int zbin = AlphaTracklets->GetZaxis()->FindFixBin(trackletV.
z());
1059 int tbin = AlphaTracklets->GetBin(0,ybin,zbin);
1060 for(
size_t k=0;
k<tracklets.size(); ++
k) {
1062 fill2D(detaphi,tl.deta(),tl.dphi());
1065 int ebin = xa->FindFixBin(tl.eta());
1066 int gbin = ebin + tbin;
1067 fill2D(etavsvtx,tl.eta(),trackletV.
z());
1069 double deta = TMath::Abs(tl.deta());
1070 double dphi = TMath::Abs(tl.dphi());
1073 fill3D(NsigTracklets,gbin);
1075 fill3D(NbkgTracklets,gbin);
1085 printf(
"QcdLowPtDQM: %s\n", msg);
1086 }
else if (level==1) {
1087 LogWarning(
"QcdLowPtDQM") << msg << std::endl;
1088 }
else if (level==2) {
1089 LogError(
"QcdLowPtDQM") << msg << std::endl;
1090 }
else if (level==3) {
1091 LogError(
"QcdLowPtDQM") << msg << std::endl;
1117 std::vector<Pixel> &pix2,
1125 vector<double> zvCands;
1126 zvCands.reserve(pix1.size()*pix2.size());
1129 for(
size_t i = 0;
i<pix1.size(); ++
i) {
1131 const double r12 =
p1.x()*
p1.x()+
p1.y()*
p1.y();
1132 for(
size_t j = 0;
j<pix2.size(); ++
j) {
1136 const double r22 =
p2.x()*
p2.x()+
p2.y()*
p2.y();
1137 const double vz =
p1.z() - (
p2.z()-
p1.z())/(TMath::Sqrt(r22/r12)-1);
1138 if (TMath::IsNaN(vz))
1140 if (TMath::Abs(vz)>25)
1142 zvCands.push_back(vz);
1147 sort(zvCands.begin(),zvCands.end());
1154 for(
size_t i = 0;
i<zvCands.size(); ++
i) {
1155 double z1 = zvCands.at(
i);
1159 for(
size_t j =
i;
j<zvCands.size(); ++
j) {
1160 double z2 = zvCands.at(
j);
1161 if (TMath::Abs(z1-z2)>
dZVc_)
1171 double_t
s2 = mean*mean - mean2;
1173 if ((ncl<mcl) || (ncl==mcl && s2>ms2))
1182 vtx.
set(mcl, mzv, ms2);
1190 double chi_max = 1
e+9;
1191 double z_best = -999;
1194 for(
double z0 = -15.9; z0 <= 15.95; z0 += 0.1) {
1197 for(
size_t i=0;
i<pix.size(); ++
i) {
1201 double pval = 2*TMath::Abs(p.
z()-z0)/p.
rho() + 0.5;
1202 double chitest = TMath::Abs(pval - p.
sizey());
1212 if(nhits < nhits_max)
1215 if ((nhits > nhits_max) || (chi < chi_max)) {
1234 const int nEtaBin = 12;
1235 const int nHitBin = 14;
1236 const int nVzBin = 10;
1238 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
1240 double EtaBins[nEtaBin+1];
1241 for (
int i=0;
i<=nEtaBin;
i++)
1242 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
1243 double VzBins[nVzBin+1];
1244 for (
int i=0;
i<=nVzBin;
i++)
1245 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
1248 "Alpha for tracklets12;#eta;#hits;vz [cm]",
1249 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
2487 const int nEtaBin = 12;
2488 const int nHitBin = 14;
2489 const int nVzBin = 10;
2491 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
2493 double EtaBins[nEtaBin+1];
2494 for (
int i=0;
i<=nEtaBin;
i++)
2495 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
2496 double VzBins[nVzBin+1];
2497 for (
int i=0;
i<=nVzBin;
i++)
2498 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
2501 "Alpha for tracklets13;#eta;#hits;vz [cm]",
2502 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
3517 const int nEtaBin = 12;
3518 const int nHitBin = 14;
3519 const int nVzBin = 10;
3521 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
3523 double EtaBins[nEtaBin+1];
3524 for (
int i=0;
i<=nEtaBin;
i++)
3525 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
3526 double VzBins[nVzBin+1];
3527 for (
int i=0;
i<=nVzBin;
i++)
3528 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
3531 "Alpha for tracklets23;#eta;#hits;vz [cm]",
3532 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_
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.)
unsigned int pxbLayer(const DetId &id) const
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_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
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.
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_
volatile std::atomic< bool > shutdown_flag false
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.
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)
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
std::vector< MonitorElement * > hClusterYSize3_
void reallyPrint(int level, const char *msg)
void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup)
std::vector< MonitorElement * > hdNdEtaRawTrkl23_