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",
255 const std::string &
name,
const std::string &
title,
256 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
274 const std::string &
name,
const std::string &
title,
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);
294 const std::string &
name,
const std::string &
title,
295 int nx,
double x1,
double x2,
bool sumw2,
bool sbox)
312 const std::string &
name,
const std::string &
title,
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()));
829 if (
hit->isOnEdge() ||
hit->hasBadPixels())
841 vector<SiPixelCluster::Pixel> pixels(
hit->cluster()->pixels());
842 bool pixelOnEdge =
false;
843 for(std::vector<SiPixelCluster::Pixel>::const_iterator pixel = pixels.begin();
844 pixel != pixels.end(); ++pixel) {
845 int pixelX = pixel->x;
846 int pixelY = pixel->y;
857 hit->localPosition().
y(),
858 hit->localPosition().
z());
860 double adc =
hit->cluster()->charge()/135.;
861 double sizex =
hit->cluster()->sizeX();
862 double sizey =
hit->cluster()->sizeY();
864 Pixel pix(gpos, adc, sizex, sizey);
867 int layer = pid.
layer();
873 }
else if (layer==2) {
903 CP(2)
print(2,Form(
"Can not obtain pixel vertex from cluster collection with name %s",
909 if (!vertices || vertices->size()==0)
911 reco::VertexCollection::const_iterator vertex = vertices->begin();
914 std::vector<Pixel> allp(
bpix1_);
933 const std::vector<Pixel> &pix,
934 std::vector<MonitorElement*> &hClusterYSize,
935 std::vector<MonitorElement*> &hClusterADC)
939 for(
size_t i = 0;
i<pix.size(); ++
i) {
974 const std::vector<Pixel> &pix1,
975 const std::vector<Pixel> &pix2,
982 if (TMath::Abs(trackletV.
z())>
ZVCut_)
986 std::vector<Tracklet> tmptrkls;
987 tmptrkls.reserve(pix1.size()*pix2.size());
988 for(
size_t i = 0;
i<pix1.size(); ++
i) {
989 const GlobalPoint tmp1(pix1.at(
i).x(),pix1.at(
i).y(),pix1.at(
i).z()-trackletV.
z());
991 for(
size_t j = 0;
j<pix2.size(); ++
j) {
992 const GlobalPoint tmp2(pix2.at(
j).x(),pix2.at(
j).y(),pix2.at(
j).z()-trackletV.
z());
997 tmptrkls.push_back(tracklet);
1005 vector<bool> secused(pix2.size(),
false);
1006 for(
size_t k=0;
k<tmptrkls.size(); ++
k) {
1008 size_t p2ind = tl.
i2();
1009 if (secused.at(p2ind))
1011 secused[p2ind] =
true;
1012 tracklets.push_back(tl);
1013 if (tracklets.size()==pix2.size())
1020 const std::vector<Pixel> &pixels,
1022 const TH3F *AlphaTracklets,
1023 std::vector<TH3F*> &NsigTracklets,
1024 std::vector<TH3F*> &NbkgTracklets,
1025 std::vector<TH1F*> &eventpereta,
1026 std::vector<MonitorElement*> &detaphi,
1027 std::vector<MonitorElement*> &deta,
1028 std::vector<MonitorElement*> &dphi,
1029 std::vector<MonitorElement*> &etavsvtx)
1033 if (!AlphaTracklets)
1036 if (tracklets.size()==0)
1040 for(
size_t i=0;
i<eventpereta.size();++
i) {
1043 TH1 *
h = eventpereta.at(
i);
1044 h->AddBinContent(1,1);
1046 h->AddBinContent(0,1);
1048 h->AddBinContent(2,1);
1052 TAxis *xa = AlphaTracklets->GetXaxis();
1053 int ybin = AlphaTracklets->GetYaxis()->FindFixBin(pixels.size());
1054 int zbin = AlphaTracklets->GetZaxis()->FindFixBin(trackletV.
z());
1055 int tbin = AlphaTracklets->GetBin(0,ybin,zbin);
1056 for(
size_t k=0;
k<tracklets.size(); ++
k) {
1058 fill2D(detaphi,tl.deta(),tl.dphi());
1061 int ebin = xa->FindFixBin(tl.eta());
1062 int gbin = ebin + tbin;
1063 fill2D(etavsvtx,tl.eta(),trackletV.
z());
1065 double deta = TMath::Abs(tl.deta());
1066 double dphi = TMath::Abs(tl.dphi());
1069 fill3D(NsigTracklets,gbin);
1071 fill3D(NbkgTracklets,gbin);
1081 printf(
"QcdLowPtDQM: %s\n", msg);
1082 }
else if (level==1) {
1083 LogWarning(
"QcdLowPtDQM") << msg << std::endl;
1084 }
else if (level==2) {
1085 LogError(
"QcdLowPtDQM") << msg << std::endl;
1086 }
else if (level==3) {
1087 LogError(
"QcdLowPtDQM") << msg << std::endl;
1113 std::vector<Pixel> &pix2,
1121 vector<double> zvCands;
1122 zvCands.reserve(pix1.size()*pix2.size());
1125 for(
size_t i = 0;
i<pix1.size(); ++
i) {
1127 const double r12 =
p1.x()*
p1.x()+
p1.y()*
p1.y();
1128 for(
size_t j = 0;
j<pix2.size(); ++
j) {
1132 const double r22 =
p2.x()*
p2.x()+
p2.y()*
p2.y();
1133 const double vz =
p1.z() - (
p2.z()-
p1.z())/(TMath::Sqrt(r22/r12)-1);
1134 if (TMath::IsNaN(vz))
1136 if (TMath::Abs(vz)>25)
1138 zvCands.push_back(vz);
1143 sort(zvCands.begin(),zvCands.end());
1150 for(
size_t i = 0;
i<zvCands.size(); ++
i) {
1151 double z1 = zvCands.at(
i);
1155 for(
size_t j =
i;
j<zvCands.size(); ++
j) {
1156 double z2 = zvCands.at(
j);
1157 if (TMath::Abs(z1-z2)>
dZVc_)
1167 double_t
s2 = mean*mean - mean2;
1169 if ((ncl<mcl) || (ncl==mcl && s2>ms2))
1178 vtx.
set(mcl, mzv, ms2);
1186 double chi_max = 1
e+9;
1187 double z_best = -999;
1190 for(
double z0 = -15.9; z0 <= 15.95; z0 += 0.1) {
1193 for(
size_t i=0;
i<pix.size(); ++
i) {
1197 double pval = 2*TMath::Abs(p.
z()-z0)/p.
rho() + 0.5;
1198 double chitest = TMath::Abs(pval - p.
sizey());
1208 if(nhits < nhits_max)
1211 if ((nhits > nhits_max) || (chi < chi_max)) {
1230 const int nEtaBin = 12;
1231 const int nHitBin = 14;
1232 const int nVzBin = 10;
1234 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
1236 double EtaBins[nEtaBin+1];
1237 for (
int i=0;
i<=nEtaBin;
i++)
1238 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
1239 double VzBins[nVzBin+1];
1240 for (
int i=0;
i<=nVzBin;
i++)
1241 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
1244 "Alpha for tracklets12;#eta;#hits;vz [cm]",
1245 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
2483 const int nEtaBin = 12;
2484 const int nHitBin = 14;
2485 const int nVzBin = 10;
2487 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
2489 double EtaBins[nEtaBin+1];
2490 for (
int i=0;
i<=nEtaBin;
i++)
2491 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
2492 double VzBins[nVzBin+1];
2493 for (
int i=0;
i<=nVzBin;
i++)
2494 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
2497 "Alpha for tracklets13;#eta;#hits;vz [cm]",
2498 nEtaBin, EtaBins, nHitBin, HitBins, nVzBin, VzBins);
3513 const int nEtaBin = 12;
3514 const int nHitBin = 14;
3515 const int nVzBin = 10;
3517 double HitBins[nHitBin+1] = {0,5,10,15,20,25,30,35,40,50,60,80,100,200,700};
3519 double EtaBins[nEtaBin+1];
3520 for (
int i=0;
i<=nEtaBin;
i++)
3521 EtaBins[
i] = (
double)
i*6.0/(double)nEtaBin-3.0;
3522 double VzBins[nVzBin+1];
3523 for (
int i=0;
i<=nVzBin;
i++)
3524 VzBins[
i] = (
double)
i*20.0/(double)nVzBin-10.0;
3527 "Alpha for tracklets23;#eta;#hits;vz [cm]",
3528 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_
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)
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_