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,
"QcdLowPtDQM::analyze -- Could not obtain pointer to TrackerGeometry. Return.");
138 print(3,
"QcdLowPtDQM::beginJob -- Could not obtain pointer to DQMStore. Return.");
158 bool isHltCfgChanged =
false;
177 print(3,Form(
"Could not obtain HLT config for process name(s) %s", teststr.c_str()));
193 if(0)
print(0,Form(
"Checking trigger name %s for %s", n2.c_str(), n1.c_str()));
198 print(0,Form(
"Added trigger %d with name %s for bit %d",
205 CP(2)
print(2,Form(
"Could not find trigger bit for %s", n1.c_str()));
211 print(3,Form(
"Size of trigger bits not equal used names: %d %d",
214 print(3,Form(
"Size of decision bits not equal names: %d %d",
256 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
275 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
276 bool sumw2,
bool sbox)
283 nx, x1, x2, ny, y1, y2);
295 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
313 int nx,
double x1,
double x2,
int ny,
double y1,
double y2,
314 bool sumw2,
bool sbox)
321 nx, x1, x2, ny, y1, y2);
346 const double x1 = -0.5;
347 const double x2 = Nx-0.5;
360 const double x1 = -0.5;
361 const double x2 = 149.5;
362 book1D(
hNhitsL1_,
"hNhitsLayer1",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
363 if(0)
book1D(
hNhitsL2_,
"hNhitsLayer2",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
364 if(0)
book1D(
hNhitsL3_,
"hNhitsLayer3",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
369 const double x1 = -0.5;
370 const double x2 = 14.5;
371 book1D(
hNhitsL1z_,
"hNhitsLayer1Zoom",
"number of hits on layer 1;#hits;#",Nx,x1,x2);
372 if(0)
book1D(
hNhitsL2z_,
"hNhitsLayer2Zoom",
"number of hits on layer 2;#hits;#",Nx,x1,x2);
373 if(0)
book1D(
hNhitsL3z_,
"hNhitsLayer3Zoom",
"number of hits on layer 3;#hits;#",Nx,x1,x2);
378 const double x1 = -3;
379 const double x2 = +3;
387 const double x1 = -3.2;
388 const double x2 = +3.2;
396 const double x1 = -25;
397 const double x2 = +25;
399 book1D(
hTrkVtxZ12_,
"hTrackletVtxZ12",
"z vertex from tracklets12;vz [cm];#",Nx,x1,x2);
401 book1D(
hTrkVtxZ13_,
"hTrackletVtxZ13",
"z vertex from tracklets13;vz [cm];#",Nx,x1,x2);
403 book1D(
hTrkVtxZ23_,
"hTrackletVtxZ23",
"z vertex from tracklets23;vz [cm];#",Nx,x1,x2);
409 const double x1 = -3;
410 const double x2 = +3;
411 const int Ny = 2*(int)
ZVCut_;
412 const double y1 = -
ZVCut_;
413 const double y2 = +
ZVCut_;
416 "raw #eta vs z vertex from tracklets12;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
419 "raw #eta vs z vertex from tracklets13;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
422 "raw #eta vs z vertex from tracklets23;#eta;vz [cm]",Nx,x1,x2,Ny,y1,y2,0,0);
427 const double x1 = -3;
428 const double x2 = +3;
430 const double y1 = -3.2;
431 const double y2 = +3.2;
434 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
437 "tracklet13 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
440 "tracklet12 raw #Delta#eta vs #Delta#phi;#Delta#eta;#Delta#phi",Nx,x1,x2,Ny,y1,y2,0,0);
445 const double x1 = -3;
446 const double x2 = +3;
449 "tracklet12 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
452 "tracklet13 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
455 "tracklet23 raw dN/#Delta#eta;#Delta#eta;dN/#Delta#eta",Nx,x1,x2,0,0);
460 const double x1 = -3.2;
461 const double x2 = +3.2;
464 "tracklet12 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
467 "tracklet13 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
470 "tracklet23 raw dN/#Delta#phi;#Delta#phi;dN/#Delta#phi",Nx,x1,x2,0,0);
474 const int Nx = xa->GetNbins();
475 const double x1 = xa->GetBinLowEdge(1);
476 const double x2 = xa->GetBinLowEdge(Nx+1);
479 "raw dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
482 "(1-#beta) dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
485 "dN/d#eta for tracklets12;#eta;dN/d#eta",Nx,x1,x2,0,0);
491 const int Nx = xa->GetNbins();
492 const double x1 = xa->GetBinLowEdge(1);
493 const double x2 = xa->GetBinLowEdge(Nx+1);
496 "raw dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
499 "(1-#beta) dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
502 "dN/d#eta for tracklets13;#eta;dN/d#eta",Nx,x1,x2,0,0);
508 const int Nx = xa->GetNbins();
509 const double x1 = xa->GetBinLowEdge(1);
510 const double x2 = xa->GetBinLowEdge(Nx+1);
513 "raw dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
516 "(1-#beta) dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
519 "dN/d#eta for tracklets23;#eta;dN/d#eta",Nx,x1,x2,0,0);
526 const double x1 = -25;
527 const double x2 = +25;
534 const double x1 = -3;
535 const double x2 = +3;
537 const double y1 = -0.5;
538 const double y2 = 24.5;
541 "cluster #eta vs local y size on layer 1;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
544 "cluster #eta vs local y size on layer 2;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
547 "cluster #eta vs local y size on layer 3;#eta;size",Nx,x1,x2,Ny,y1,y2,0,0);
552 const double x1 = -3;
553 const double x2 = +3;
556 const double y2 = 2500;
559 "cluster #eta vs adc on layer 1;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
562 "cluster #eta vs adc on layer 2;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
565 "cluster #eta vs adc on layer 3;#eta;adc",Nx,x1,x2,Ny,y1,y2,0,0);
578 const std::vector<TH3F*> &NsigTracklets,
579 const std::vector<TH3F*> &NbkgTracklets,
580 const std::vector<TH1F*> &NEvsPerEta,
581 std::vector<MonitorElement*> &hdNdEtaRawTrkl,
582 std::vector<MonitorElement*> &hdNdEtaSubTrkl,
583 std::vector<MonitorElement*> &hdNdEtaTrklets)
590 const int netabins = AlphaTracklets->GetNbinsX();
591 const int nhitbins = AlphaTracklets->GetNbinsY();
592 const int nvzbins = AlphaTracklets->GetNbinsZ();
596 for(
size_t i=0;
i<hdNdEtaRawTrkl.size();++
i) {
605 TH3F *hsig = NsigTracklets.at(
i);
606 TH3F *hbkg = NbkgTracklets.at(
i);
607 TH1F *hepa = NEvsPerEta.at(
i);
609 for(
int etabin=1;etabin<=netabins;++etabin) {
610 const double etaval = AlphaTracklets->GetXaxis()->GetBinCenter(etabin);
611 const double etawidth = AlphaTracklets->GetXaxis()->GetBinWidth(etabin);
612 const int zvetabin = hepa->GetXaxis()->FindFixBin(etaval);
613 const double events = hepa->GetBinContent(zvetabin);
625 double dndetaraw = 0;
626 double dndetasub = 0;
628 double dndetarawerr = 0;
629 double dndetasuberr = 0;
630 double dndetaerr = 0;
631 for(
int hitbin=1;hitbin<=nhitbins;++hitbin) {
632 for(
int vzbin=1;vzbin<=nvzbins;++vzbin) {
633 int gbin = AlphaTracklets->GetBin(etabin,hitbin,vzbin);
634 const double nsig = hsig->GetBinContent(gbin);
636 const double nbkg = hbkg->GetBinContent(gbin);
637 const double nsub = nsig - nbkg;
639 CP(2)
print(2,Form(
"Got negative contributions: %d %d %d %f",etabin,hitbin,vzbin,nsub));
643 const double alpha = AlphaTracklets->GetBinContent(gbin);
644 dndeta += alpha*nsub;
645 double nsig2 = nsig*nsig;
646 double nsub2 = nsub*nsub;
647 double alpha2 = alpha*
alpha;
648 dndetarawerr += nsig2;
649 dndetasuberr += nsub2;
650 dndetaerr += alpha2*nsub2;
654 double norm = etawidth *
events;
655 double enorm = etawidth * norm;
659 dndetarawerr /= enorm;
660 dndetasuberr /= enorm;
662 double dndetarawsigma2 = (dndetaraw*dndetaraw - dndetarawerr) / events;
663 double dndetasubsigma2 = (dndetasub*dndetasub - dndetasuberr) / events;
664 double dndetasigma2 = (dndeta*dndeta - dndetaerr) / events;
666 mrawtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetarawsigma2)));
668 msubtrk->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasubsigma2)));
670 mtrklet->
setBinError(etabin,TMath::Sqrt(TMath::Abs(dndetasigma2)));
716 for(
size_t i=0;
i<hs.size();++
i) {
719 hs.at(
i)->Fill(val,w);
728 for(
size_t i=0;
i<mes.size();++
i) {
731 mes.at(
i)->Fill(val,w);
740 for(
size_t i=0;
i<hs.size();++
i) {
743 hs.at(
i)->Fill(valx, valy ,w);
752 for(
size_t i=0;
i<mes.size();++
i) {
755 mes.at(
i)->Fill(valx, valy ,w);
764 for(
size_t i=0;
i<hs.size();++
i) {
767 hs.at(
i)->AddBinContent(gbin, w);
783 if (tbit<triggerResultsHLT->
size()) {
785 if (0)
print(0,Form(
"Decision %i for %s",
788 print(2,Form(
"Problem slot %i for bit %i for %s",
817 CP(2)
print(2,Form(
"Can not obtain pixel hit collection with name %s",
pixelName_.c_str()));
834 if (
hit->isOnEdge() ||
hit->hasBadPixels())
846 vector<SiPixelCluster::Pixel> pixels(
hit->cluster()->pixels());
847 bool pixelOnEdge =
false;
848 for(std::vector<SiPixelCluster::Pixel>::const_iterator pixel = pixels.begin();
849 pixel != pixels.end(); ++pixel) {
850 int pixelX = pixel->x;
851 int pixelY = pixel->y;
862 hit->localPosition().
y(),
863 hit->localPosition().
z());
865 double adc =
hit->cluster()->charge()/135.;
866 double sizex =
hit->cluster()->sizeX();
867 double sizey =
hit->cluster()->sizeY();
869 Pixel pix(gpos, adc, sizex, sizey);
878 }
else if (layer==2) {
908 CP(2)
print(2,Form(
"Can not obtain pixel vertex from cluster collection with name %s",
914 if (!vertices || vertices->size()==0)
916 reco::VertexCollection::const_iterator vertex = vertices->begin();
919 std::vector<Pixel> allp(
bpix1_);
938 const std::vector<Pixel> &pix,
939 std::vector<MonitorElement*> &hClusterYSize,
940 std::vector<MonitorElement*> &hClusterADC)
944 for(
size_t i = 0;
i<pix.size(); ++
i) {
979 const std::vector<Pixel> &pix1,
980 const std::vector<Pixel> &pix2,
987 if (TMath::Abs(trackletV.
z())>
ZVCut_)
991 std::vector<Tracklet> tmptrkls;
992 tmptrkls.reserve(pix1.size()*pix2.size());
993 for(
size_t i = 0;
i<pix1.size(); ++
i) {
994 const GlobalPoint tmp1(pix1.at(
i).x(),pix1.at(
i).y(),pix1.at(
i).z()-trackletV.
z());
996 for(
size_t j = 0;
j<pix2.size(); ++
j) {
997 const GlobalPoint tmp2(pix2.at(
j).x(),pix2.at(
j).y(),pix2.at(
j).z()-trackletV.
z());
1002 tmptrkls.push_back(tracklet);
1010 vector<bool> secused(pix2.size(),
false);
1011 for(
size_t k=0;
k<tmptrkls.size(); ++
k) {
1013 size_t p2ind = tl.
i2();
1014 if (secused.at(p2ind))
1016 secused[p2ind] =
true;
1017 tracklets.push_back(tl);
1018 if (tracklets.size()==pix2.size())
1025 const std::vector<Pixel> &pixels,
1027 const TH3F *AlphaTracklets,
1028 std::vector<TH3F*> &NsigTracklets,
1029 std::vector<TH3F*> &NbkgTracklets,
1030 std::vector<TH1F*> &eventpereta,
1031 std::vector<MonitorElement*> &detaphi,
1032 std::vector<MonitorElement*> &deta,
1033 std::vector<MonitorElement*> &dphi,
1034 std::vector<MonitorElement*> &etavsvtx)
1038 if (!AlphaTracklets)
1041 if (tracklets.size()==0)
1045 for(
size_t i=0;
i<eventpereta.size();++
i) {
1048 TH1 *
h = eventpereta.at(
i);
1049 h->AddBinContent(1,1);
1051 h->AddBinContent(0,1);
1053 h->AddBinContent(2,1);
1057 TAxis *xa = AlphaTracklets->GetXaxis();
1058 int ybin = AlphaTracklets->GetYaxis()->FindFixBin(pixels.size());
1059 int zbin = AlphaTracklets->GetZaxis()->FindFixBin(trackletV.
z());
1060 int tbin = AlphaTracklets->GetBin(0,ybin,zbin);
1061 for(
size_t k=0;
k<tracklets.size(); ++
k) {
1063 fill2D(detaphi,tl.deta(),tl.dphi());
1066 int ebin = xa->FindFixBin(tl.eta());
1067 int gbin = ebin + tbin;
1068 fill2D(etavsvtx,tl.eta(),trackletV.
z());
1070 double deta = TMath::Abs(tl.deta());
1071 double dphi = TMath::Abs(tl.dphi());
1074 fill3D(NsigTracklets,gbin);
1076 fill3D(NbkgTracklets,gbin);
1086 printf(
"QcdLowPtDQM: %s\n", msg);
1087 }
else if (level==1) {
1088 LogWarning(
"QcdLowPtDQM") << msg << std::endl;
1089 }
else if (level==2) {
1090 LogError(
"QcdLowPtDQM") << msg << std::endl;
1091 }
else if (level==3) {
1092 LogError(
"QcdLowPtDQM") << msg << std::endl;
1118 std::vector<Pixel> &pix2,
1126 vector<double> zvCands;
1127 zvCands.reserve(pix1.size()*pix2.size());
1130 for(
size_t i = 0;
i<pix1.size(); ++
i) {
1132 const double r12 =
p1.x()*
p1.x()+
p1.y()*
p1.y();
1133 for(
size_t j = 0;
j<pix2.size(); ++
j) {
1137 const double r22 =
p2.x()*
p2.x()+
p2.y()*
p2.y();
1138 const double vz =
p1.z() - (
p2.z()-
p1.z())/(TMath::Sqrt(r22/r12)-1);
1139 if (TMath::IsNaN(vz))
1141 if (TMath::Abs(vz)>25)
1143 zvCands.push_back(vz);
1148 sort(zvCands.begin(),zvCands.end());
1155 for(
size_t i = 0;
i<zvCands.size(); ++
i) {
1156 double z1 = zvCands.at(
i);
1160 for(
size_t j =
i;
j<zvCands.size(); ++
j) {
1161 double z2 = zvCands.at(
j);
1162 if (TMath::Abs(z1-z2)>
dZVc_)
1172 double_t
s2 = mean*mean - mean2;
1174 if ((ncl<mcl) || (ncl==mcl && s2>ms2))
1183 vtx.
set(mcl, mzv, ms2);
1191 double chi_max = 1
e+9;
1192 double z_best = -999;
1195 for(
double z0 = -15.9; z0 <= 15.95; z0 += 0.1) {
1198 for(
size_t i=0;
i<pix.size(); ++
i) {
1202 double pval = 2*TMath::Abs(p.
z()-z0)/p.
rho() + 0.5;
1203 double chitest = TMath::Abs(pval - p.
sizey());
1213 if(nhits < nhits_max)
1216 if ((nhits > nhits_max) || (chi < chi_max)) {
1235 const int nEtaBin = 12;
1236 const int nHitBin = 14;
1237 const int nVzBin = 10;
1239 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
1241 double EtaBins[nEtaBin+1];
1242 for (
int i=0;
i<=nEtaBin;
i++)
1243 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
1244 double VzBins[nVzBin+1];
1245 for (
int i=0;
i<=nVzBin;
i++)
1246 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
1249 "Alpha for tracklets12;#eta;#hits;vz [cm]",
1250 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
2488 const int nEtaBin = 12;
2489 const int nHitBin = 14;
2490 const int nVzBin = 10;
2492 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
2494 double EtaBins[nEtaBin+1];
2495 for (
int i=0;
i<=nEtaBin;
i++)
2496 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
2497 double VzBins[nVzBin+1];
2498 for (
int i=0;
i<=nVzBin;
i++)
2499 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
2502 "Alpha for tracklets13;#eta;#hits;vz [cm]",
2503 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
3518 const int nEtaBin = 12;
3519 const int nHitBin = 14;
3520 const int nVzBin = 10;
3522 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
3524 double EtaBins[nEtaBin+1];
3525 for (
int i=0;
i<=nEtaBin;
i++)
3526 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
3527 double VzBins[nVzBin+1];
3528 for (
int i=0;
i<=nVzBin;
i++)
3529 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
3532 "Alpha for tracklets23;#eta;#hits;vz [cm]",
3533 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_
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_