CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SiPixelHitEfficiencySource Class Reference

#include <SiPixelHitEfficiencySource.h>

Inheritance diagram for SiPixelHitEfficiencySource:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &r, edm::EventSetup const &iSetup) override
 
virtual void fillClusterProbability (int, int, bool, double)
 
 SiPixelHitEfficiencySource (const edm::ParameterSet &)
 
 ~SiPixelHitEfficiencySource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Attributes

bool applyEdgeCut_
 
bool bladeOn
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterCollectionToken_
 
bool debug_
 
bool diskOn
 
bool firstRun
 
bool isUpgrade
 
bool ladOn
 
bool layOn
 
edm::EDGetTokenT< MeasurementTrackerEventmeasurementTrackerEventToken_
 
MonitorElementmeClusterProbabilityD1_Minus_
 
MonitorElementmeClusterProbabilityD1_Plus_
 
MonitorElementmeClusterProbabilityD2_Minus_
 
MonitorElementmeClusterProbabilityD2_Plus_
 
MonitorElementmeClusterProbabilityL1_Minus_
 
MonitorElementmeClusterProbabilityL1_Plus_
 
MonitorElementmeClusterProbabilityL2_Minus_
 
MonitorElementmeClusterProbabilityL2_Plus_
 
MonitorElementmeClusterProbabilityL3_Minus_
 
MonitorElementmeClusterProbabilityL3_Plus_
 
bool modOn
 
int nmissing
 
double nSigma_EdgeCut_
 
int nvalid
 
int nvtx_
 
bool phiOn
 
edm::ParameterSet pSet_
 
bool ringOn
 
edm::InputTag src_
 
std::map< uint32_t, SiPixelHitEfficiencyModule * > theSiPixelStructure
 
edm::EDGetTokenT< TrajTrackAssociationCollectiontracksrc_
 
edm::EDGetTokenT< reco::VertexCollectionvertexCollectionToken_
 
double vtxchi2_
 
double vtxD0_
 
double vtxndof_
 
int vtxntrk_
 
std::string vtxsrc_
 
double vtxX_
 
double vtxY_
 
double vtxZ_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 43 of file SiPixelHitEfficiencySource.h.

Constructor & Destructor Documentation

◆ SiPixelHitEfficiencySource()

SiPixelHitEfficiencySource::SiPixelHitEfficiencySource ( const edm::ParameterSet pSet)
explicit

Definition at line 71 of file SiPixelHitEfficiencySource.cc.

72  : pSet_(pSet),
73  modOn(pSet.getUntrackedParameter<bool>("modOn", true)),
74  ladOn(pSet.getUntrackedParameter<bool>("ladOn", false)),
75  layOn(pSet.getUntrackedParameter<bool>("layOn", false)),
76  phiOn(pSet.getUntrackedParameter<bool>("phiOn", false)),
77  ringOn(pSet.getUntrackedParameter<bool>("ringOn", false)),
78  bladeOn(pSet.getUntrackedParameter<bool>("bladeOn", false)),
79  diskOn(pSet.getUntrackedParameter<bool>("diskOn", false)),
80  isUpgrade(pSet.getUntrackedParameter<bool>("isUpgrade", false))
81 // updateEfficiencies(
82 // pSet.getUntrackedParameter<bool>("updateEfficiencies",false) )
83 {
84  pSet_ = pSet;
85  debug_ = pSet_.getUntrackedParameter<bool>("debug", false);
86  applyEdgeCut_ = pSet_.getUntrackedParameter<bool>("applyEdgeCut");
87  nSigma_EdgeCut_ = pSet_.getUntrackedParameter<double>("nSigma_EdgeCut");
88  vtxsrc_ = pSet_.getUntrackedParameter<std::string>("vtxsrc", "offlinePrimaryVertices");
89  vertexCollectionToken_ = consumes<reco::VertexCollection>(vtxsrc_);
90  tracksrc_ = consumes<TrajTrackAssociationCollection>(pSet_.getParameter<edm::InputTag>("trajectoryInput"));
91  clusterCollectionToken_ = consumes<edmNew::DetSetVector<SiPixelCluster>>(std::string("siPixelClusters"));
92 
93  measurementTrackerEventToken_ = consumes<MeasurementTrackerEvent>(std::string("MeasurementTrackerEvent"));
94 
95  firstRun = true;
96 
97  LogInfo("PixelDQM") << "SiPixelHitEfficiencySource constructor" << endl;
98  LogInfo("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/" << layOn << "/" << phiOn << std::endl;
99  LogInfo("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/" << ringOn << std::endl;
100 }

References applyEdgeCut_, bladeOn, clusterCollectionToken_, debug_, diskOn, firstRun, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ladOn, layOn, measurementTrackerEventToken_, modOn, nSigma_EdgeCut_, phiOn, pSet_, ringOn, AlCaHLTBitMon_QueryRunRegistry::string, tracksrc_, vertexCollectionToken_, and vtxsrc_.

◆ ~SiPixelHitEfficiencySource()

SiPixelHitEfficiencySource::~SiPixelHitEfficiencySource ( )
override

Definition at line 102 of file SiPixelHitEfficiencySource.cc.

102  {
103  LogInfo("PixelDQM") << "SiPixelHitEfficiencySource destructor" << endl;
104 
105  std::map<uint32_t, SiPixelHitEfficiencyModule *>::iterator struct_iter;
106  for (struct_iter = theSiPixelStructure.begin(); struct_iter != theSiPixelStructure.end(); struct_iter++) {
107  delete struct_iter->second;
108  struct_iter->second = nullptr;
109  }
110 }

References theSiPixelStructure.

Member Function Documentation

◆ analyze()

void SiPixelHitEfficiencySource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 288 of file SiPixelHitEfficiencySource.cc.

288  {
289  edm::ESHandle<TrackerTopology> tTopoHandle;
290  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
291  const TrackerTopology *pTT = tTopoHandle.product();
292 
293  edm::Handle<reco::VertexCollection> vertexCollectionHandle;
294  iEvent.getByToken(vertexCollectionToken_, vertexCollectionHandle);
295  if (!vertexCollectionHandle.isValid())
296  return;
297  nvtx_ = 0;
298  vtxntrk_ = -9999;
299  vtxD0_ = -9999.;
300  vtxX_ = -9999.;
301  vtxY_ = -9999.;
302  vtxZ_ = -9999.;
303  vtxndof_ = -9999.;
304  vtxchi2_ = -9999.;
305  const reco::VertexCollection &vertices = *vertexCollectionHandle.product();
306  reco::VertexCollection::const_iterator bestVtx = vertices.end();
307  for (reco::VertexCollection::const_iterator it = vertices.begin(); it != vertices.end(); ++it) {
308  if (!it->isValid())
309  continue;
310  if (vtxntrk_ == -9999 || vtxntrk_ < int(it->tracksSize()) ||
311  (vtxntrk_ == int(it->tracksSize()) && fabs(vtxZ_) > fabs(it->z()))) {
312  vtxntrk_ = it->tracksSize();
313  vtxD0_ = it->position().rho();
314  vtxX_ = it->x();
315  vtxY_ = it->y();
316  vtxZ_ = it->z();
317  vtxndof_ = it->ndof();
318  vtxchi2_ = it->chi2();
319  bestVtx = it;
320  }
321  if (fabs(it->z()) <= 20. && fabs(it->position().rho()) <= 2. && it->ndof() > 4)
322  nvtx_++;
323  }
324  if (nvtx_ < 1)
325  return;
326 
327  // get the map
329  iEvent.getByToken(tracksrc_, match);
330 
331  if (debug_) {
333  labelsForToken(tracksrc_, labels);
334  std::cout << "Trajectories from " << labels.module << std::endl;
335  }
336 
337  if (!match.isValid())
338  return;
339 
340  const TrajTrackAssociationCollection ttac = *(match.product());
341 
342  if (debug_) {
343  std::cout << "+++ NEW EVENT +++" << std::endl;
344  std::cout << "Map entries \t : " << ttac.size() << std::endl;
345  }
346 
347  std::set<SiPixelCluster> clusterSet;
348  // TrajectoryStateCombiner tsoscomb;
349  // define variables for extrapolation
350  int extrapolateFrom_ = 2;
351  int extrapolateTo_ = 1;
352  float maxlxmatch_ = 0.2;
353  float maxlymatch_ = 0.2;
354  bool keepOriginalMissingHit_ = true;
355  ESHandle<MeasurementTracker> measurementTrackerHandle;
356 
357  iSetup.get<CkfComponentsRecord>().get(measurementTrackerHandle);
358 
360  iSetup.get<TrackingComponentsRecord>().get("Chi2", est);
361  edm::Handle<MeasurementTrackerEvent> measurementTrackerEventHandle;
362  iEvent.getByToken(measurementTrackerEventToken_, measurementTrackerEventHandle);
364  iSetup.get<TrackingComponentsRecord>().get("PropagatorWithMaterial", prop);
365  Propagator *thePropagator = prop.product()->clone();
366  // determines direction of the propagator => inward
367  if (extrapolateFrom_ >= extrapolateTo_) {
369  }
370  TrajectoryStateCombiner trajStateComb;
371  bool debug_ = false;
372 
373  // Loop over track collection
374  for (TrajTrackAssociationCollection::const_iterator it = ttac.begin(); it != ttac.end(); ++it) {
375  // define vector to save extrapolated tracks
376  std::vector<TrajectoryMeasurement> expTrajMeasurements;
377 
378  const edm::Ref<std::vector<Trajectory>> traj_iterator = it->key;
379  // Trajectory Map, extract Trajectory for this track
380  reco::TrackRef trackref = it->val;
381  // tracks++;
382 
383  bool isBpixtrack = false, isFpixtrack = false;
384  int nStripHits = 0;
385  int L1hits = 0;
386  int L2hits = 0;
387  int L3hits = 0;
388  int L4hits = 0;
389  int D1hits = 0;
390  int D2hits = 0;
391  int D3hits = 0;
392  std::vector<TrajectoryMeasurement> tmeasColl = traj_iterator->measurements();
393  std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
394  // loop on measurements to find out what kind of hits there are
395  for (tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end(); tmeasIt++) {
396  // if(! tmeasIt->updatedState().isValid()) continue; NOT NECESSARY (I
397  // HOPE)
398  TransientTrackingRecHit::ConstRecHitPointer testhit = tmeasIt->recHit();
399  if (testhit->geographicalId().det() != DetId::Tracker)
400  continue;
401  uint testSubDetID = (testhit->geographicalId().subdetId());
402  const DetId &hit_detId = testhit->geographicalId();
403  int hit_layer = 0;
404  int hit_ladder = 0;
405  int hit_mod = 0;
406  int hit_disk = 0;
407 
408  if (testSubDetID == PixelSubdetector::PixelBarrel) {
409  isBpixtrack = true;
410  hit_layer = PixelBarrelName(hit_detId, pTT, isUpgrade).layerName();
411 
412  hit_ladder = PXBDetId(hit_detId).ladder();
413  hit_mod = PXBDetId(hit_detId).module();
414 
415  if (hit_layer == 1)
416  L1hits++;
417  if (hit_layer == 2)
418  L2hits++;
419  if (hit_layer == 3)
420  L3hits++;
421  if (hit_layer == 4)
422  L4hits++;
423  }
424  if (testSubDetID == PixelSubdetector::PixelEndcap) {
425  isFpixtrack = true;
426  hit_disk = PixelEndcapName(hit_detId, pTT, isUpgrade).diskName();
427 
428  if (hit_disk == 1)
429  D1hits++;
430  if (hit_disk == 2)
431  D2hits++;
432  if (hit_disk == 3)
433  D3hits++;
434  }
435  if (testSubDetID == StripSubdetector::TIB)
436  nStripHits++;
437  if (testSubDetID == StripSubdetector::TOB)
438  nStripHits++;
439  if (testSubDetID == StripSubdetector::TID)
440  nStripHits++;
441  if (testSubDetID == StripSubdetector::TEC)
442  nStripHits++;
443  // check if last valid hit is in Layer 2 or Disk 1
444 
445  bool lastValidL2 = false;
446  if ((testSubDetID == PixelSubdetector::PixelBarrel && hit_layer == extrapolateFrom_) ||
447  (testSubDetID == PixelSubdetector::PixelEndcap && hit_disk == 1)) {
448  if (testhit->isValid()) {
449  if (tmeasIt == tmeasColl.end() - 1) {
450  lastValidL2 = true;
451  } else {
452  tmeasIt++;
453  TransientTrackingRecHit::ConstRecHitPointer nextRecHit = tmeasIt->recHit();
454  uint nextSubDetID = (nextRecHit->geographicalId().subdetId());
455  int nextlayer = PixelBarrelName(nextRecHit->geographicalId()).layerName();
456  if (nextSubDetID == PixelSubdetector::PixelBarrel && nextlayer == extrapolateTo_) {
457  lastValidL2 = true; //&& !nextRecHit->isValid()) lastValidL2=true;
458  }
459  tmeasIt--;
460  }
461  }
462  } // end check last valid layer
463  if (lastValidL2) {
464  std::vector<const BarrelDetLayer *> pxbLayers =
465  measurementTrackerHandle->geometricSearchTracker()->pixelBarrelLayers();
466  const DetLayer *pxb1 = pxbLayers[extrapolateTo_ - 1];
467  const MeasurementEstimator *estimator = est.product();
468  const LayerMeasurements *theLayerMeasurements =
469  new LayerMeasurements(*measurementTrackerHandle, *measurementTrackerEventHandle);
470  const TrajectoryStateOnSurface tsosPXB2 = tmeasIt->updatedState();
471  expTrajMeasurements = theLayerMeasurements->measurements(*pxb1, tsosPXB2, *thePropagator, *estimator);
472  delete theLayerMeasurements;
473  if (!expTrajMeasurements.empty()) {
474  for (uint p = 0; p < expTrajMeasurements.size(); p++) {
475  TrajectoryMeasurement pxb1TM(expTrajMeasurements[p]);
476  const auto &pxb1Hit = pxb1TM.recHit();
477  // remove hits with rawID == 0
478  if (pxb1Hit->geographicalId().rawId() == 0) {
479  expTrajMeasurements.erase(expTrajMeasurements.begin() + p);
480  continue;
481  }
482  }
483  }
484  //
485  }
486  // check if extrapolated hit to layer 1 one matches the original hit
487  TrajectoryStateOnSurface chkPredTrajState =
488  trajStateComb(tmeasIt->forwardPredictedState(), tmeasIt->backwardPredictedState());
489  if (!chkPredTrajState.isValid())
490  continue;
491  float chkx = chkPredTrajState.globalPosition().x();
492  float chky = chkPredTrajState.globalPosition().y();
493  float chkz = chkPredTrajState.globalPosition().z();
494  LocalPoint chklp = chkPredTrajState.localPosition();
495  if (testSubDetID == PixelSubdetector::PixelBarrel && hit_layer == extrapolateTo_) {
496  // Here we will drop the extrapolated hits if there is a hit and use
497  // that hit
498  vector<int> imatches;
499  size_t imatch = 0;
500  float glmatch = 9999.;
501  for (size_t iexp = 0; iexp < expTrajMeasurements.size(); iexp++) {
502  const DetId &exphit_detId = expTrajMeasurements[iexp].recHit()->geographicalId();
503  int exphit_ladder = PXBDetId(exphit_detId).ladder();
504  int exphit_mod = PXBDetId(exphit_detId).module();
505  int dladder = abs(exphit_ladder - hit_ladder);
506  if (dladder > 10)
507  dladder = 20 - dladder;
508  int dmodule = abs(exphit_mod - hit_mod);
509  if (dladder != 0 || dmodule != 0) {
510  continue;
511  }
512 
513  TrajectoryStateOnSurface predTrajState = expTrajMeasurements[iexp].updatedState();
514  float x = predTrajState.globalPosition().x();
515  float y = predTrajState.globalPosition().y();
516  float z = predTrajState.globalPosition().z();
517  float dxyz = sqrt((chkx - x) * (chkx - x) + (chky - y) * (chky - y) + (chkz - z) * (chkz - z));
518 
519  if (dxyz <= glmatch) {
520  glmatch = dxyz;
521  imatch = iexp;
522  imatches.push_back(int(imatch));
523  }
524 
525  } // found the propagated traj best matching the hit in data
526 
527  float lxmatch = 9999.0;
528  float lymatch = 9999.0;
529  if (!expTrajMeasurements.empty()) {
530  if (glmatch < 9999.) { // if there is any propagated trajectory for this hit
531  const DetId &matchhit_detId = expTrajMeasurements[imatch].recHit()->geographicalId();
532 
533  int matchhit_ladder = PXBDetId(matchhit_detId).ladder();
534  int dladder = abs(matchhit_ladder - hit_ladder);
535  if (dladder > 10)
536  dladder = 20 - dladder;
537  LocalPoint lp = expTrajMeasurements[imatch].updatedState().localPosition();
538  lxmatch = fabs(lp.x() - chklp.x());
539  lymatch = fabs(lp.y() - chklp.y());
540  }
541  if (lxmatch < maxlxmatch_ && lymatch < maxlymatch_) {
542  if (testhit->getType() != TrackingRecHit::missing || keepOriginalMissingHit_) {
543  expTrajMeasurements.erase(expTrajMeasurements.begin() + imatch);
544  }
545  }
546 
547  } // expected trajectory measurment not empty
548  }
549  } // loop on trajectory measurments tmeasColl
550 
551  // if an extrapolated hit was found but not matched to an exisitng L1 hit
552  // then push the hit back into the collection now keep the first one that is
553  // left
554  if (!expTrajMeasurements.empty()) {
555  for (size_t f = 0; f < expTrajMeasurements.size(); f++) {
556  TrajectoryMeasurement AddHit = expTrajMeasurements[f];
557  if (AddHit.recHit()->getType() == TrackingRecHit::missing) {
558  tmeasColl.push_back(AddHit);
559  isBpixtrack = true;
560  }
561  }
562  }
563 
564  if (isBpixtrack || isFpixtrack) {
565  if (trackref->pt() < 0.6 || nStripHits < 8 || fabs(trackref->dxy(bestVtx->position())) > 0.05 ||
566  fabs(trackref->dz(bestVtx->position())) > 0.5)
567  continue;
568 
569  if (debug_) {
570  std::cout << "isBpixtrack : " << isBpixtrack << std::endl;
571  std::cout << "isFpixtrack : " << isFpixtrack << std::endl;
572  }
573  // std::cout<<"This tracks has so many hits:
574  // "<<tmeasColl.size()<<std::endl;
575  for (std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt != tmeasColl.end();
576  tmeasIt++) {
577  // if(! tmeasIt->updatedState().isValid()) continue;
578  TrajectoryStateOnSurface tsos = tmeasIt->updatedState();
579 
581  if (hit->geographicalId().det() != DetId::Tracker)
582  continue;
583  else {
584  // //residual
585  const DetId &hit_detId = hit->geographicalId();
586  // uint IntRawDetID = (hit_detId.rawId());
587  uint IntSubDetID = (hit_detId.subdetId());
588 
589  if (IntSubDetID == 0) {
590  if (debug_)
591  std::cout << "NO IntSubDetID\n";
592  continue;
593  }
594  if (IntSubDetID != PixelSubdetector::PixelBarrel && IntSubDetID != PixelSubdetector::PixelEndcap)
595  continue;
596 
597  int disk = 0;
598  int layer = 0;
599  int panel = 0;
600  int module = 0;
601  bool isHalfModule = false;
602 
603  const SiPixelRecHit *pixhit = dynamic_cast<const SiPixelRecHit *>(hit->hit());
604 
605  if (IntSubDetID == PixelSubdetector::PixelBarrel) { // it's a BPIX hit
606  layer = PixelBarrelName(hit_detId, pTT, isUpgrade).layerName();
607  isHalfModule = PixelBarrelName(hit_detId, pTT, isUpgrade).isHalfModule();
608 
609  if (hit->isValid()) { // fill the cluster probability in barrel
610  bool plus = true;
611  if ((PixelBarrelName(hit_detId, pTT, isUpgrade).shell() == PixelBarrelName::Shell::mO) ||
612  (PixelBarrelName(hit_detId, pTT, isUpgrade).shell() == PixelBarrelName::Shell::mI))
613  plus = false;
614  double clusterProbability = pixhit->clusterProbability(0);
615  if (clusterProbability != 0)
616  fillClusterProbability(layer, 0, plus, log10(clusterProbability));
617  }
618 
619  } else if (IntSubDetID == PixelSubdetector::PixelEndcap) { // it's an FPIX hit
620  disk = PixelEndcapName(hit_detId, pTT, isUpgrade).diskName();
621  panel = PixelEndcapName(hit_detId, pTT, isUpgrade).pannelName();
622  module = PixelEndcapName(hit_detId, pTT, isUpgrade).plaquetteName();
623 
624  if (hit->isValid()) {
625  bool plus = true;
626  if ((PixelEndcapName(hit_detId, pTT, isUpgrade).halfCylinder() == PixelEndcapName::HalfCylinder::mO) ||
627  (PixelEndcapName(hit_detId, pTT, isUpgrade).halfCylinder() == PixelEndcapName::HalfCylinder::mI))
628  plus = false;
629  double clusterProbability = pixhit->clusterProbability(0);
630  if (clusterProbability != 0)
631  fillClusterProbability(0, disk, plus, log10(clusterProbability));
632  }
633  }
634 
635  if (layer == 1) {
636  if (fabs(trackref->dxy(bestVtx->position())) > 0.01 || fabs(trackref->dz(bestVtx->position())) > 0.1)
637  continue;
638  if (!(L2hits > 0 && L3hits > 0) && !(L2hits > 0 && D1hits > 0) && !(D1hits > 0 && D2hits > 0))
639  continue;
640  } else if (layer == 2) {
641  if (fabs(trackref->dxy(bestVtx->position())) > 0.02 || fabs(trackref->dz(bestVtx->position())) > 0.1)
642  continue;
643  if (!(L1hits > 0 && L3hits > 0) && !(L1hits > 0 && D1hits > 0))
644  continue;
645  } else if (layer == 3) {
646  if (fabs(trackref->dxy(bestVtx->position())) > 0.02 || fabs(trackref->dz(bestVtx->position())) > 0.1)
647  continue;
648  if (!(L1hits > 0 && L2hits > 0))
649  continue;
650  } else if (layer == 4) {
651  if (fabs(trackref->dxy(bestVtx->position())) > 0.02 || fabs(trackref->dz(bestVtx->position())) > 0.1)
652  continue;
653  } else if (disk == 1) {
654  if (fabs(trackref->dxy(bestVtx->position())) > 0.05 || fabs(trackref->dz(bestVtx->position())) > 0.5)
655  continue;
656  if (!(L1hits > 0 && D2hits > 0) && !(L2hits > 0 && D2hits > 0))
657  continue;
658  } else if (disk == 2) {
659  if (fabs(trackref->dxy(bestVtx->position())) > 0.05 || fabs(trackref->dz(bestVtx->position())) > 0.5)
660  continue;
661  if (!(L1hits > 0 && D1hits > 0))
662  continue;
663  } else if (disk == 3) {
664  if (fabs(trackref->dxy(bestVtx->position())) > 0.05 || fabs(trackref->dz(bestVtx->position())) > 0.5)
665  continue;
666  }
667 
668  // check whether hit is valid or missing using track algo flag
669  bool isHitValid = hit->hit()->getType() == TrackingRecHit::valid;
670  bool isHitMissing = hit->hit()->getType() == TrackingRecHit::missing;
671 
672  if (debug_)
673  std::cout << "the hit is persistent\n";
674 
675  std::map<uint32_t, SiPixelHitEfficiencyModule *>::iterator pxd =
676  theSiPixelStructure.find((*hit).geographicalId().rawId());
677 
678  // calculate alpha and beta from cluster position
680  // LocalVector localDir = ltp.momentum()/ltp.momentum().mag();
681 
682  //*************** Edge cut ********************
683  double lx = tsos.localPosition().x();
684  double ly = tsos.localPosition().y();
685 
686  if (fabs(lx) > 0.55 || fabs(ly) > 3.0)
687  continue;
688 
689  bool passedFiducial = true;
690 
691  // Module fiducials:
692  if (IntSubDetID == PixelSubdetector::PixelBarrel && fabs(ly) >= 3.1)
693  passedFiducial = false;
694  if (IntSubDetID == PixelSubdetector::PixelEndcap &&
695  !((panel == 1 &&
696  ((module == 1 && fabs(ly) < 0.7) ||
697  ((module == 2 && fabs(ly) < 1.1) && !(disk == -1 && ly > 0.8 && lx > 0.2) &&
698  !(disk == 1 && ly < -0.7 && lx > 0.2) && !(disk == 2 && ly < -0.8)) ||
699  ((module == 3 && fabs(ly) < 1.5) && !(disk == -2 && lx > 0.1 && ly > 1.0) &&
700  !(disk == 2 && lx > 0.1 && ly < -1.0)) ||
701  ((module == 4 && fabs(ly) < 1.9) && !(disk == -2 && ly > 1.5) && !(disk == 2 && ly < -1.5)))) ||
702  (panel == 2 &&
703  ((module == 1 && fabs(ly) < 0.7) ||
704  (module == 2 && fabs(ly) < 1.2 && !(disk > 0 && ly > 1.1) && !(disk < 0 && ly < -1.1)) ||
705  (module == 3 && fabs(ly) < 1.6 && !(disk > 0 && ly > 1.5) && !(disk < 0 && ly < -1.5))))))
706  passedFiducial = false;
707  if (IntSubDetID == PixelSubdetector::PixelEndcap &&
708  ((panel == 1 && (module == 1 || (module >= 3 && abs(disk) == 1))) ||
709  (panel == 2 && ((module == 1 && abs(disk) == 2) || (module == 3 && abs(disk) == 1)))))
710  passedFiducial = false;
711  // ROC fiducials:
712  double ly_mod = fabs(ly);
713  if (IntSubDetID == PixelSubdetector::PixelEndcap && (panel + module) % 2 == 1)
714  ly_mod = ly_mod + 0.405;
715  float d_rocedge = fabs(fmod(ly_mod, 0.81) - 0.405);
716  if (d_rocedge <= 0.0625)
717  passedFiducial = false;
718  if (!((IntSubDetID == PixelSubdetector::PixelBarrel &&
719  ((!isHalfModule && fabs(lx) < 0.6) || (isHalfModule && lx > -0.3 && lx < 0.2))) ||
720  (IntSubDetID == PixelSubdetector::PixelEndcap &&
721  ((panel == 1 &&
722  ((module == 1 && fabs(lx) < 0.2) ||
723  (module == 2 && ((fabs(lx) < 0.55 && abs(disk) == 1) || (lx > -0.5 && lx < 0.2 && disk == -2) ||
724  (lx > -0.5 && lx < 0.0 && disk == 2))) ||
725  (module == 3 && lx > -0.6 && lx < 0.5) || (module == 4 && lx > -0.3 && lx < 0.15))) ||
726  (panel == 2 && ((module == 1 && fabs(lx) < 0.6) ||
727  (module == 2 && ((fabs(lx) < 0.55 && abs(disk) == 1) ||
728  (lx > -0.6 && lx < 0.5 && abs(disk) == 2))) ||
729  (module == 3 && fabs(lx) < 0.5)))))))
730  passedFiducial = false;
731  if (((IntSubDetID == PixelSubdetector::PixelBarrel && !isHalfModule) ||
732  (IntSubDetID == PixelSubdetector::PixelEndcap && !(panel == 1 && (module == 1 || module == 4)))) &&
733  fabs(lx) < 0.06)
734  passedFiducial = false;
735 
736  //*************** find closest clusters ********************
737  float dx_cl[2];
738  float dy_cl[2];
739  dx_cl[0] = dx_cl[1] = dy_cl[0] = dy_cl[1] = -9999.;
741  iSetup.get<TkPixelCPERecord>().get("PixelCPEGeneric", cpEstimator);
742  if (cpEstimator.isValid()) {
743  const PixelClusterParameterEstimator &cpe(*cpEstimator);
746  if (tracker.isValid()) {
747  const TrackerGeometry *tkgeom = &(*tracker);
748  edm::Handle<edmNew::DetSetVector<SiPixelCluster>> clusterCollectionHandle;
749  iEvent.getByToken(clusterCollectionToken_, clusterCollectionHandle);
750  if (clusterCollectionHandle.isValid()) {
751  const edmNew::DetSetVector<SiPixelCluster> &clusterCollection = *clusterCollectionHandle;
752  edmNew::DetSetVector<SiPixelCluster>::const_iterator itClusterSet = clusterCollection.begin();
753  float minD[2];
754  minD[0] = minD[1] = 10000.;
755  for (; itClusterSet != clusterCollection.end(); itClusterSet++) {
756  DetId detId(itClusterSet->id());
757  if (detId.rawId() != hit->geographicalId().rawId())
758  continue;
759  // unsigned int sdId=detId.subdetId();
760  const PixelGeomDetUnit *pixdet = (const PixelGeomDetUnit *)tkgeom->idToDetUnit(detId);
761  edmNew::DetSet<SiPixelCluster>::const_iterator itCluster = itClusterSet->begin();
762  for (; itCluster != itClusterSet->end(); ++itCluster) {
763  LocalPoint lp(itCluster->x(), itCluster->y(), 0.);
764  PixelClusterParameterEstimator::ReturnType params = cpe.getParameters(*itCluster, *pixdet);
765  lp = std::get<0>(params);
766  float D = sqrt((lp.x() - lx) * (lp.x() - lx) + (lp.y() - ly) * (lp.y() - ly));
767  if (D < minD[0]) {
768  minD[1] = minD[0];
769  dx_cl[1] = dx_cl[0];
770  dy_cl[1] = dy_cl[0];
771  minD[0] = D;
772  dx_cl[0] = lp.x();
773  dy_cl[0] = lp.y();
774  } else if (D < minD[1]) {
775  minD[1] = D;
776  dx_cl[1] = lp.x();
777  dy_cl[1] = lp.y();
778  }
779  } // loop on clusterSets
780  } // loop on clusterCollection
781  for (size_t i = 0; i < 2; i++) {
782  if (minD[i] < 9999.) {
783  dx_cl[i] = fabs(dx_cl[i] - lx);
784  dy_cl[i] = fabs(dy_cl[i] - ly);
785  }
786  }
787  } // valid clusterCollectionHandle
788  } // valid tracker
789  } // valid cpEstimator
790  // distance of hit from closest cluster!
791  float d_cl[2];
792  d_cl[0] = d_cl[1] = -9999.;
793  if (dx_cl[0] != -9999. && dy_cl[0] != -9999.)
794  d_cl[0] = sqrt(dx_cl[0] * dx_cl[0] + dy_cl[0] * dy_cl[0]);
795  if (dx_cl[1] != -9999. && dy_cl[1] != -9999.)
796  d_cl[1] = sqrt(dx_cl[1] * dx_cl[1] + dy_cl[1] * dy_cl[1]);
797  if (isHitMissing && (d_cl[0] < 0.05 || d_cl[1] < 0.05)) {
798  isHitMissing = false;
799  isHitValid = true;
800  }
801 
802  if (debug_) {
803  std::cout << "Ready to add hit in histogram:\n";
804  // std::cout << "detid: "<<hit_detId<<std::endl;
805  std::cout << "isHitValid: " << isHitValid << std::endl;
806  std::cout << "isHitMissing: " << isHitMissing << std::endl;
807  // std::cout << "passedEdgeCut: "<<passedFiducial<<std::endl;
808  }
809 
810  if (nStripHits < 11)
811  continue; // Efficiency plots are filled with hits on tracks that
812  // have at least 11 Strip hits
813 
814  if (pxd != theSiPixelStructure.end() && isHitValid && passedFiducial)
815  ++nvalid;
816  if (pxd != theSiPixelStructure.end() && isHitMissing && passedFiducial)
817  ++nmissing;
818 
819  if (pxd != theSiPixelStructure.end() && passedFiducial && (isHitValid || isHitMissing))
820  (*pxd).second->fill(pTT, ltp, isHitValid, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
821 
822  //}//end if (persistent hit exists and is pixel hit)
823 
824  } // end of else
825 
826  } // end for (all traj measurements of pixeltrack)
827  } // end if (is pixeltrack)
828  else if (debug_)
829  std::cout << "no pixeltrack:\n";
830 
831  } // end loop on map entries
832 }

References funct::abs(), edm::AssociationMap< Tag >::begin(), edmNew::DetSetVector< T >::begin(), bladeOn, Propagator::clone(), clusterCollectionToken_, SiPixelRecHit::clusterProbability(), edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator, gather_cfg::cout, debug_, PixelEndcapName::diskName(), diskOn, edm::AssociationMap< Tag >::end(), edmNew::DetSetVector< T >::end(), f, fillClusterProbability(), edm::EventSetup::get(), get, PixelClusterParameterEstimator::getParameters(), TrajectoryStateOnSurface::globalPosition(), PixelEndcapName::halfCylinder(), mps_fire::i, edmNew::DetSetVector< T >::id(), TrackerGeometry::idToDetUnit(), iEvent, PixelBarrelName::isHalfModule(), isUpgrade, edm::ESHandleBase::isValid(), TrajectoryStateOnSurface::isValid(), edm::HandleBase::isValid(), edm::Ref< C, T, F >::key(), SummaryClient_cfi::labels, PXBDetId::ladder(), ladOn, PixelBarrelName::layerName(), layOn, TrajectoryStateOnSurface::localParameters(), TrajectoryStateOnSurface::localPosition(), match(), LayerMeasurements::measurements(), measurementTrackerEventToken_, TrackingRecHit::missing, modOn, PXBDetId::module(), nmissing, nvalid, nvtx_, oppositeToMomentum, AlCaHLTBitMon_ParallelJobs::p, PixelEndcapName::pannelName(), CalibrationSummaryClient_cfi::params, phiOn, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), reco::HaloData::plus, edm::Handle< T >::product(), edm::ESHandle< T >::product(), TrajectoryMeasurement::recHit(), ringOn, Propagator::setPropagationDirection(), PixelBarrelName::shell(), fileinputsource_cfi::shell, edm::AssociationMap< Tag >::size(), mathSSE::sqrt(), DetId::subdetId(), StripSubdetector::TEC, theSiPixelStructure, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, DetId::Tracker, PbPb_ZMuSkimMuonDPG_cff::tracker, tracksrc_, parallelization::uint, TrackingRecHit::valid, vertexCollectionToken_, pwdgSkimBPark_cfi::vertices, vtxchi2_, vtxD0_, vtxndof_, vtxntrk_, vtxX_, vtxY_, vtxZ_, x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().

◆ bookHistograms()

void SiPixelHitEfficiencySource::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 189 of file SiPixelHitEfficiencySource.cc.

191  {
192  // book residual histograms in theSiPixelFolder - one (x,y) pair of histograms
193  // per det
194  SiPixelFolderOrganizer theSiPixelFolder(false);
195  for (std::map<uint32_t, SiPixelHitEfficiencyModule *>::iterator pxd = theSiPixelStructure.begin();
196  pxd != theSiPixelStructure.end();
197  pxd++) {
198  if (modOn) {
199  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 0, isUpgrade))
200  (*pxd).second->book(pSet_, iSetup, iBooker, 0, isUpgrade);
201  else
202  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource Folder Creation Failed! ";
203  }
204  if (ladOn) {
205  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 1, isUpgrade))
206  (*pxd).second->book(pSet_, iSetup, iBooker, 1, isUpgrade);
207  else
208  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource ladder Folder Creation Failed! ";
209  }
210  if (layOn) {
211  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 2, isUpgrade))
212  (*pxd).second->book(pSet_, iSetup, iBooker, 2, isUpgrade);
213  else
214  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource layer Folder Creation Failed! ";
215  }
216  if (phiOn) {
217  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 3, isUpgrade))
218  (*pxd).second->book(pSet_, iSetup, iBooker, 3, isUpgrade);
219  else
220  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource phi Folder Creation Failed! ";
221  }
222  if (bladeOn) {
223  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 4, isUpgrade))
224  (*pxd).second->book(pSet_, iSetup, iBooker, 4, isUpgrade);
225  else
226  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource Blade Folder Creation Failed! ";
227  }
228  if (diskOn) {
229  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 5, isUpgrade))
230  (*pxd).second->book(pSet_, iSetup, iBooker, 5, isUpgrade);
231  else
232  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource Disk Folder Creation Failed! ";
233  }
234  if (ringOn) {
235  if (theSiPixelFolder.setModuleFolder(iBooker, (*pxd).first, 6, isUpgrade))
236  (*pxd).second->book(pSet_, iSetup, iBooker, 6, isUpgrade);
237  else
238  throw cms::Exception("LogicError") << "SiPixelHitEfficiencySource Ring Folder Creation Failed! ";
239  }
240  }
241 
242  // book cluster probability histos for Barrel and Endcap
243  iBooker.setCurrentFolder("Pixel/Barrel");
244 
246  iBooker.book1D("ClusterProbabilityXY_Layer1_Plus", "ClusterProbabilityXY_Layer1_Plus", 500, -14, 0.1);
247  meClusterProbabilityL1_Plus_->setAxisTitle("Log(ClusterProbability)", 1);
248 
250  iBooker.book1D("ClusterProbabilityXY_Layer1_Minus", "ClusterProbabilityXY_Layer1_Minus", 500, -14, 0.1);
251  meClusterProbabilityL1_Minus_->setAxisTitle("Log(ClusterProbability)", 1);
252 
254  iBooker.book1D("ClusterProbabilityXY_Layer2_Plus", "ClusterProbabilityXY_Layer2_Plus", 500, -14, 0.1);
255  meClusterProbabilityL2_Plus_->setAxisTitle("Log(ClusterProbability)", 1);
256 
258  iBooker.book1D("ClusterProbabilityXY_Layer2_Minus", "ClusterProbabilityXY_Layer2_Minus", 500, -14, 0.1);
259  meClusterProbabilityL2_Minus_->setAxisTitle("Log(ClusterProbability)", 1);
260 
262  iBooker.book1D("ClusterProbabilityXY_Layer3_Plus", "ClusterProbabilityXY_Layer3_Plus", 500, -14, 0.1);
263  meClusterProbabilityL3_Plus_->setAxisTitle("Log(ClusterProbability)", 1);
264 
266  iBooker.book1D("ClusterProbabilityXY_Layer3_Minus", "ClusterProbabilityXY_Layer3_Minus", 500, -14, 0.1);
267  meClusterProbabilityL3_Minus_->setAxisTitle("Log(ClusterProbability)", 1);
268 
269  iBooker.setCurrentFolder("Pixel/Endcap");
270 
272  iBooker.book1D("ClusterProbabilityXY_Disk1_Plus", "ClusterProbabilityXY_Disk1_Plus", 500, -14, 0.1);
273  meClusterProbabilityD1_Plus_->setAxisTitle("Log(ClusterProbability)", 1);
274 
276  iBooker.book1D("ClusterProbabilityXY_Disk1_Minus", "ClusterProbabilityXY_Disk1_Minus", 500, -14, 0.1);
277  meClusterProbabilityD1_Minus_->setAxisTitle("Log(ClusterProbability)", 1);
278 
280  iBooker.book1D("ClusterProbabilityXY_Disk2_Plus", "ClusterProbabilityXY_Disk2_Plus", 500, -14, 0.1);
281  meClusterProbabilityD2_Plus_->setAxisTitle("Log(ClusterProbability)", 1);
282 
284  iBooker.book1D("ClusterProbabilityXY_Disk2_Minus", "ClusterProbabilityXY_Disk2_Minus", 500, -14, 0.1);
285  meClusterProbabilityD2_Minus_->setAxisTitle("Log(ClusterProbability)", 1);
286 }

References bladeOn, dqm::implementation::IBooker::book1D(), diskOn, Exception, isUpgrade, ladOn, layOn, meClusterProbabilityD1_Minus_, meClusterProbabilityD1_Plus_, meClusterProbabilityD2_Minus_, meClusterProbabilityD2_Plus_, meClusterProbabilityL1_Minus_, meClusterProbabilityL1_Plus_, meClusterProbabilityL2_Minus_, meClusterProbabilityL2_Plus_, meClusterProbabilityL3_Minus_, meClusterProbabilityL3_Plus_, modOn, phiOn, pSet_, ringOn, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), and theSiPixelStructure.

◆ dqmBeginRun()

void SiPixelHitEfficiencySource::dqmBeginRun ( const edm::Run r,
edm::EventSetup const &  iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 153 of file SiPixelHitEfficiencySource.cc.

153  {
154  LogInfo("PixelDQM") << "SiPixelHitEfficiencySource beginRun()" << endl;
155 
156  if (firstRun) {
157  // retrieve TrackerGeometry for pixel dets
158 
159  nvalid = 0;
160  nmissing = 0;
161 
162  firstRun = false;
163  }
164 
166  iSetup.get<TrackerDigiGeometryRecord>().get(TG);
167  if (debug_)
168  LogVerbatim("PixelDQM") << "TrackerGeometry " << &(*TG) << " size is " << TG->dets().size() << endl;
169 
170  // build theSiPixelStructure with the pixel barrel and endcap dets from
171  // TrackerGeometry
172  for (TrackerGeometry::DetContainer::const_iterator pxb = TG->detsPXB().begin(); pxb != TG->detsPXB().end(); pxb++) {
173  if (dynamic_cast<PixelGeomDetUnit const *>((*pxb)) != nullptr) {
174  SiPixelHitEfficiencyModule *module = new SiPixelHitEfficiencyModule((*pxb)->geographicalId().rawId());
175  theSiPixelStructure.insert(
176  pair<uint32_t, SiPixelHitEfficiencyModule *>((*pxb)->geographicalId().rawId(), module));
177  }
178  }
179  for (TrackerGeometry::DetContainer::const_iterator pxf = TG->detsPXF().begin(); pxf != TG->detsPXF().end(); pxf++) {
180  if (dynamic_cast<PixelGeomDetUnit const *>((*pxf)) != nullptr) {
181  SiPixelHitEfficiencyModule *module = new SiPixelHitEfficiencyModule((*pxf)->geographicalId().rawId());
182  theSiPixelStructure.insert(
183  pair<uint32_t, SiPixelHitEfficiencyModule *>((*pxf)->geographicalId().rawId(), module));
184  }
185  }
186  LogInfo("PixelDQM") << "SiPixelStructure size is " << theSiPixelStructure.size() << endl;
187 }

References debug_, TrackerGeometry::dets(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), firstRun, edm::EventSetup::get(), get, nmissing, nvalid, and theSiPixelStructure.

◆ fillClusterProbability()

void SiPixelHitEfficiencySource::fillClusterProbability ( int  layer,
int  disk,
bool  plus,
double  probability 
)
virtual

Definition at line 112 of file SiPixelHitEfficiencySource.cc.

112  {
113  // barrel
114  if (layer != 0) {
115  if (layer == 1) {
116  if (plus)
117  meClusterProbabilityL1_Plus_->Fill(probability);
118  else
119  meClusterProbabilityL1_Minus_->Fill(probability);
120  }
121 
122  else if (layer == 2) {
123  if (plus)
124  meClusterProbabilityL2_Plus_->Fill(probability);
125  else
126  meClusterProbabilityL2_Minus_->Fill(probability);
127  }
128 
129  else if (layer == 3) {
130  if (plus)
131  meClusterProbabilityL3_Plus_->Fill(probability);
132  else
133  meClusterProbabilityL3_Minus_->Fill(probability);
134  }
135  }
136  // Endcap
137  if (disk != 0) {
138  if (disk == 1) {
139  if (plus)
140  meClusterProbabilityD1_Plus_->Fill(probability);
141  else
142  meClusterProbabilityD1_Minus_->Fill(probability);
143  }
144  if (disk == 2) {
145  if (plus)
146  meClusterProbabilityD2_Plus_->Fill(probability);
147  else
148  meClusterProbabilityD2_Minus_->Fill(probability);
149  }
150  }
151 }

References dqm::impl::MonitorElement::Fill(), meClusterProbabilityD1_Minus_, meClusterProbabilityD1_Plus_, meClusterProbabilityD2_Minus_, meClusterProbabilityD2_Plus_, meClusterProbabilityL1_Minus_, meClusterProbabilityL1_Plus_, meClusterProbabilityL2_Minus_, meClusterProbabilityL2_Plus_, meClusterProbabilityL3_Minus_, meClusterProbabilityL3_Plus_, and reco::HaloData::plus.

Referenced by analyze().

Member Data Documentation

◆ applyEdgeCut_

bool SiPixelHitEfficiencySource::applyEdgeCut_
private

Definition at line 63 of file SiPixelHitEfficiencySource.h.

Referenced by SiPixelHitEfficiencySource().

◆ bladeOn

bool SiPixelHitEfficiencySource::bladeOn
private

◆ clusterCollectionToken_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > SiPixelHitEfficiencySource::clusterCollectionToken_
private

Definition at line 59 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and SiPixelHitEfficiencySource().

◆ debug_

bool SiPixelHitEfficiencySource::debug_
private

Definition at line 66 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), dqmBeginRun(), and SiPixelHitEfficiencySource().

◆ diskOn

bool SiPixelHitEfficiencySource::diskOn
private

◆ firstRun

bool SiPixelHitEfficiencySource::firstRun
private

Definition at line 73 of file SiPixelHitEfficiencySource.h.

Referenced by dqmBeginRun(), and SiPixelHitEfficiencySource().

◆ isUpgrade

bool SiPixelHitEfficiencySource::isUpgrade
private

Definition at line 89 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and bookHistograms().

◆ ladOn

bool SiPixelHitEfficiencySource::ladOn
private

◆ layOn

bool SiPixelHitEfficiencySource::layOn
private

◆ measurementTrackerEventToken_

edm::EDGetTokenT<MeasurementTrackerEvent> SiPixelHitEfficiencySource::measurementTrackerEventToken_
private

Definition at line 61 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and SiPixelHitEfficiencySource().

◆ meClusterProbabilityD1_Minus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityD1_Minus_
private

Definition at line 102 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityD1_Plus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityD1_Plus_
private

Definition at line 101 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityD2_Minus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityD2_Minus_
private

Definition at line 105 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityD2_Plus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityD2_Plus_
private

Definition at line 104 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL1_Minus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL1_Minus_
private

Definition at line 93 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL1_Plus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL1_Plus_
private

Definition at line 92 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL2_Minus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL2_Minus_
private

Definition at line 96 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL2_Plus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL2_Plus_
private

Definition at line 95 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL3_Minus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL3_Minus_
private

Definition at line 99 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ meClusterProbabilityL3_Plus_

MonitorElement* SiPixelHitEfficiencySource::meClusterProbabilityL3_Plus_
private

Definition at line 98 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and fillClusterProbability().

◆ modOn

bool SiPixelHitEfficiencySource::modOn
private

◆ nmissing

int SiPixelHitEfficiencySource::nmissing
private

Definition at line 78 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and dqmBeginRun().

◆ nSigma_EdgeCut_

double SiPixelHitEfficiencySource::nSigma_EdgeCut_
private

Definition at line 64 of file SiPixelHitEfficiencySource.h.

Referenced by SiPixelHitEfficiencySource().

◆ nvalid

int SiPixelHitEfficiencySource::nvalid
private

Definition at line 78 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and dqmBeginRun().

◆ nvtx_

int SiPixelHitEfficiencySource::nvtx_
private

Definition at line 80 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ phiOn

bool SiPixelHitEfficiencySource::phiOn
private

◆ pSet_

edm::ParameterSet SiPixelHitEfficiencySource::pSet_
private

Definition at line 54 of file SiPixelHitEfficiencySource.h.

Referenced by bookHistograms(), and SiPixelHitEfficiencySource().

◆ ringOn

bool SiPixelHitEfficiencySource::ringOn
private

◆ src_

edm::InputTag SiPixelHitEfficiencySource::src_
private

Definition at line 55 of file SiPixelHitEfficiencySource.h.

◆ theSiPixelStructure

std::map<uint32_t, SiPixelHitEfficiencyModule *> SiPixelHitEfficiencySource::theSiPixelStructure
private

◆ tracksrc_

edm::EDGetTokenT<TrajTrackAssociationCollection> SiPixelHitEfficiencySource::tracksrc_
private

Definition at line 58 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and SiPixelHitEfficiencySource().

◆ vertexCollectionToken_

edm::EDGetTokenT<reco::VertexCollection> SiPixelHitEfficiencySource::vertexCollectionToken_
private

Definition at line 57 of file SiPixelHitEfficiencySource.h.

Referenced by analyze(), and SiPixelHitEfficiencySource().

◆ vtxchi2_

double SiPixelHitEfficiencySource::vtxchi2_
private

Definition at line 87 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxD0_

double SiPixelHitEfficiencySource::vtxD0_
private

Definition at line 82 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxndof_

double SiPixelHitEfficiencySource::vtxndof_
private

Definition at line 86 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxntrk_

int SiPixelHitEfficiencySource::vtxntrk_
private

Definition at line 81 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxsrc_

std::string SiPixelHitEfficiencySource::vtxsrc_
private

Definition at line 77 of file SiPixelHitEfficiencySource.h.

Referenced by SiPixelHitEfficiencySource().

◆ vtxX_

double SiPixelHitEfficiencySource::vtxX_
private

Definition at line 83 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxY_

double SiPixelHitEfficiencySource::vtxY_
private

Definition at line 84 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

◆ vtxZ_

double SiPixelHitEfficiencySource::vtxZ_
private

Definition at line 85 of file SiPixelHitEfficiencySource.h.

Referenced by analyze().

SiPixelHitEfficiencySource::applyEdgeCut_
bool applyEdgeCut_
Definition: SiPixelHitEfficiencySource.h:63
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
MeasurementEstimator
Definition: MeasurementEstimator.h:19
PixelClusterParameterEstimator
Definition: PixelClusterParameterEstimator.h:15
DDAxes::y
PXBDetId::module
unsigned int module() const
det id
Definition: PXBDetId.h:37
LayerMeasurements::measurements
std::vector< TrajectoryMeasurement > measurements(const DetLayer &layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Definition: LayerMeasurements.cc:122
mps_fire.i
i
Definition: mps_fire.py:428
PXBDetId::ladder
unsigned int ladder() const
ladder id
Definition: PXBDetId.h:34
edmNew::DetSetVector::id
id_type id(size_t cell) const
Definition: DetSetVectorNew.h:564
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
SiPixelHitEfficiencySource::vtxsrc_
std::string vtxsrc_
Definition: SiPixelHitEfficiencySource.h:77
SiPixelHitEfficiencySource::meClusterProbabilityL2_Minus_
MonitorElement * meClusterProbabilityL2_Minus_
Definition: SiPixelHitEfficiencySource.h:96
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
edm::Handle::product
T const * product() const
Definition: Handle.h:70
SiPixelHitEfficiencySource::meClusterProbabilityL3_Plus_
MonitorElement * meClusterProbabilityL3_Plus_
Definition: SiPixelHitEfficiencySource.h:98
DetLayer
Definition: DetLayer.h:21
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
SiPixelHitEfficiencySource::tracksrc_
edm::EDGetTokenT< TrajTrackAssociationCollection > tracksrc_
Definition: SiPixelHitEfficiencySource.h:58
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiPixelHitEfficiencySource::vtxntrk_
int vtxntrk_
Definition: SiPixelHitEfficiencySource.h:81
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
SiPixelHitEfficiencySource::debug_
bool debug_
Definition: SiPixelHitEfficiencySource.h:66
TrackerTopology
Definition: TrackerTopology.h:16
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
gather_cfg.cout
cout
Definition: gather_cfg.py:144
SiPixelHitEfficiencySource::modOn
bool modOn
Definition: SiPixelHitEfficiencySource.h:67
SiPixelHitEfficiencySource::meClusterProbabilityL1_Plus_
MonitorElement * meClusterProbabilityL1_Plus_
Definition: SiPixelHitEfficiencySource.h:92
PixelBarrelName
Definition: PixelBarrelName.h:16
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
edmNew::DetSetVector::const_iterator
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetSetVectorNew.h:197
TkPixelCPERecord
Definition: TkPixelCPERecord.h:18
oppositeToMomentum
Definition: PropagationDirection.h:4
edmNew::DetSetVector::begin
const_iterator begin(bool update=false) const
Definition: DetSetVectorNew.h:530
PixelEndcapName::halfCylinder
HalfCylinder halfCylinder() const
Definition: PixelEndcapName.h:42
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DDAxes::x
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiPixelHitEfficiencySource::theSiPixelStructure
std::map< uint32_t, SiPixelHitEfficiencyModule * > theSiPixelStructure
Definition: SiPixelHitEfficiencySource.h:75
fileinputsource_cfi.shell
shell
Definition: fileinputsource_cfi.py:77
PixelBarrelName::layerName
int layerName() const
layer id
Definition: PixelBarrelName.h:43
PixelEndcapName::pannelName
int pannelName() const
pannel id
Definition: PixelEndcapName.h:51
edm::Handle< reco::VertexCollection >
parallelization.uint
uint
Definition: parallelization.py:124
SiPixelHitEfficiencySource::meClusterProbabilityD2_Minus_
MonitorElement * meClusterProbabilityD2_Minus_
Definition: SiPixelHitEfficiencySource.h:105
SiPixelHitEfficiencySource::bladeOn
bool bladeOn
Definition: SiPixelHitEfficiencySource.h:71
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
edm::Ref
Definition: AssociativeIterator.h:58
SiPixelHitEfficiencySource::fillClusterProbability
virtual void fillClusterProbability(int, int, bool, double)
Definition: SiPixelHitEfficiencySource.cc:112
SiPixelHitEfficiencySource::meClusterProbabilityD1_Plus_
MonitorElement * meClusterProbabilityD1_Plus_
Definition: SiPixelHitEfficiencySource.h:101
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
SiPixelHitEfficiencySource::vtxchi2_
double vtxchi2_
Definition: SiPixelHitEfficiencySource.h:87
SiPixelHitEfficiencySource::meClusterProbabilityL3_Minus_
MonitorElement * meClusterProbabilityL3_Minus_
Definition: SiPixelHitEfficiencySource.h:99
TrackerGeometry::detsPXB
const DetContainer & detsPXB() const
Definition: TrackerGeometry.cc:171
Propagator
Definition: Propagator.h:44
DetId
Definition: DetId.h:17
edm::AssociationMap::end
const_iterator end() const
last iterator over the map (read only)
Definition: AssociationMap.h:171
SiPixelHitEfficiencySource::firstRun
bool firstRun
Definition: SiPixelHitEfficiencySource.h:73
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
LayerMeasurements
Definition: LayerMeasurements.h:18
PixelEndcapName
Definition: PixelEndcapName.h:16
PVValHelper::estimator
estimator
Definition: PVValidationHelpers.h:44
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
SiPixelHitEfficiencySource::vtxX_
double vtxX_
Definition: SiPixelHitEfficiencySource.h:83
CkfComponentsRecord
Definition: CkfComponentsRecord.h:22
reco::HaloData::plus
Definition: HaloData.h:14
SiPixelHitEfficiencySource::isUpgrade
bool isUpgrade
Definition: SiPixelHitEfficiencySource.h:89
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
DDAxes::z
edm::ESHandle< TrackerTopology >
SiPixelHitEfficiencySource::meClusterProbabilityD2_Plus_
MonitorElement * meClusterProbabilityD2_Plus_
Definition: SiPixelHitEfficiencySource.h:104
TrackerGeometry::detsPXF
const DetContainer & detsPXF() const
Definition: TrackerGeometry.cc:173
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
Point3DBase< float, LocalTag >
Propagator::setPropagationDirection
virtual void setPropagationDirection(PropagationDirection dir)
Definition: Propagator.h:130
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
SiPixelHitEfficiencySource::layOn
bool layOn
Definition: SiPixelHitEfficiencySource.h:69
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrajectoryStateOnSurface::localParameters
const LocalTrajectoryParameters & localParameters() const
Definition: TrajectoryStateOnSurface.h:73
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >::const_iterator
friend struct const_iterator
Definition: AssociationMap.h:274
TrajectoryStateCombiner
Definition: TrajectoryStateCombiner.h:13
TrajectoryStateOnSurface::localPosition
LocalPoint localPosition() const
Definition: TrajectoryStateOnSurface.h:74
edm::AssociationMap::size
size_type size() const
map size
Definition: AssociationMap.h:162
DetId::Tracker
Definition: DetId.h:25
PixelBarrelName::shell
Shell shell() const
Definition: PixelBarrelName.h:40
SiPixelHitEfficiencySource::ladOn
bool ladOn
Definition: SiPixelHitEfficiencySource.h:69
edm::AssociationMap< edm::OneToOne< std::vector< Trajectory >, reco::TrackCollection, unsigned short > >
TrackingRecHit::missing
Definition: TrackingRecHit.h:47
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
SiPixelHitEfficiencySource::nvtx_
int nvtx_
Definition: SiPixelHitEfficiencySource.h:80
SiPixelHitEfficiencySource::vtxZ_
double vtxZ_
Definition: SiPixelHitEfficiencySource.h:85
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
iEvent
int iEvent
Definition: GenABIO.cc:224
SiPixelHitEfficiencySource::nvalid
int nvalid
Definition: SiPixelHitEfficiencySource.h:78
SiPixelHitEfficiencySource::nmissing
int nmissing
Definition: SiPixelHitEfficiencySource.h:78
SiPixelHitEfficiencySource::ringOn
bool ringOn
Definition: SiPixelHitEfficiencySource.h:71
TrackerGeometry::dets
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: TrackerGeometry.h:62
SiPixelHitEfficiencySource::phiOn
bool phiOn
Definition: SiPixelHitEfficiencySource.h:69
get
#define get
SiPixelHitEfficiencySource::clusterCollectionToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterCollectionToken_
Definition: SiPixelHitEfficiencySource.h:59
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
TrackingRecHit::valid
Definition: TrackingRecHit.h:46
SiPixelHitEfficiencySource::meClusterProbabilityD1_Minus_
MonitorElement * meClusterProbabilityD1_Minus_
Definition: SiPixelHitEfficiencySource.h:102
SiPixelHitEfficiencySource::nSigma_EdgeCut_
double nSigma_EdgeCut_
Definition: SiPixelHitEfficiencySource.h:64
TrajectoryMeasurement::recHit
ConstRecHitPointer const & recHit() const
Definition: TrajectoryMeasurement.h:190
edmNew::DetSetVector
Definition: DetSetNew.h:13
funct::D
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:141
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
PixelEndcapName::diskName
int diskName() const
disk id
Definition: PixelEndcapName.h:45
SiPixelHitEfficiencySource::vtxndof_
double vtxndof_
Definition: SiPixelHitEfficiencySource.h:86
Propagator::clone
virtual Propagator * clone() const =0
SiPixelHitEfficiencySource::meClusterProbabilityL2_Plus_
MonitorElement * meClusterProbabilityL2_Plus_
Definition: SiPixelHitEfficiencySource.h:95
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
edmNew::DetSetVector::end
const_iterator end(bool update=false) const
Definition: DetSetVectorNew.h:535
SiPixelHitEfficiencySource::diskOn
bool diskOn
Definition: SiPixelHitEfficiencySource.h:71
Exception
Definition: hltDiff.cc:246
edm::AssociationMap::begin
const_iterator begin() const
first iterator over the map (read only)
Definition: AssociationMap.h:169
SiPixelFolderOrganizer
Definition: SiPixelFolderOrganizer.h:26
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiPixelHitEfficiencySource::vtxY_
double vtxY_
Definition: SiPixelHitEfficiencySource.h:84
SiPixelHitEfficiencySource::pSet_
edm::ParameterSet pSet_
Definition: SiPixelHitEfficiencySource.h:54
edm::Ref::key
key_type key() const
Accessor for product key.
Definition: Ref.h:250
SiPixelHitEfficiencySource::meClusterProbabilityL1_Minus_
MonitorElement * meClusterProbabilityL1_Minus_
Definition: SiPixelHitEfficiencySource.h:93
PixelEndcapName::plaquetteName
int plaquetteName() const
plaquetteId (in pannel)
Definition: PixelEndcapName.h:54
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PXBDetId
Definition: PXBDetId.h:16
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
SiPixelHitEfficiencySource::vertexCollectionToken_
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken_
Definition: SiPixelHitEfficiencySource.h:57
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
PixelBarrelName::isHalfModule
bool isHalfModule() const
full or half module
Definition: PixelBarrelName.cc:702
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
SiPixelRecHit::clusterProbability
float clusterProbability(unsigned int flags=0) const
Definition: SiPixelRecHit.cc:9
edm::InputTag
Definition: InputTag.h:15
SiPixelHitEfficiencySource::vtxD0_
double vtxD0_
Definition: SiPixelHitEfficiencySource.h:82
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
hit
Definition: SiStripHitEffFromCalibTree.cc:88
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
SiPixelHitEfficiencyModule
Definition: SiPixelHitEfficiencyModule.h:30
edm::ProductLabels
Definition: ProductLabels.h:4
SiPixelHitEfficiencySource::measurementTrackerEventToken_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrackerEventToken_
Definition: SiPixelHitEfficiencySource.h:61
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7
PixelClusterParameterEstimator::ReturnType
std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType > ReturnType
Definition: PixelClusterParameterEstimator.h:22
TrackerGeometry
Definition: TrackerGeometry.h:14
edmNew::DetSet::const_iterator
const data_type * const_iterator
Definition: DetSetNew.h:31
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12