CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
MeasurementTrackerImpl Class Referencefinal

#include <MeasurementTrackerImpl.h>

Inheritance diagram for MeasurementTrackerImpl:
MeasurementTracker MeasurementDetSystem

Classes

struct  BadStripCutsDet
 

Public Types

typedef std::unordered_map< unsigned int, MeasurementDet * > DetContainer
 
enum  QualityFlags {
  BadModules = 1, BadAPVFibers = 2, BadStrips = 4, MaskBad128StripBlocks = 8,
  BadROCs = 2
}
 
- Public Types inherited from MeasurementTracker
enum  QualityFlags {
  BadModules = 1, BadAPVFibers = 2, BadStrips = 4, MaskBad128StripBlocks = 8,
  BadROCs = 2
}
 

Public Member Functions

const DetContainerallDets () const
 For debug only. More...
 
const MeasurementDetfindDet (const DetId &id) const
 
const GeometricSearchTrackergeometricSearchTracker () const
 
const TrackerGeometrygeomTracker () const
 
const std::vector< TkGluedMeasurementDet > & gluedDets () const
 
MeasurementDetWithData idToDet (const DetId &id, const MeasurementTrackerEvent &data) const override
 MeasurementDetSystem interface (won't be overloaded anymore) More...
 
const MeasurementDetidToDetBare (const DetId &id, const MeasurementTrackerEvent &data) const
 
 MeasurementTrackerImpl (const BadStripCutsDet &badStripCuts, const PixelClusterParameterEstimator *pixelCPE, const StripClusterParameterEstimator *stripCPE, const SiStripRecHitMatcher *hitMatcher, const TrackerTopology *trackerTopology, const TrackerGeometry *trackerGeom, const GeometricSearchTracker *geometricSearchTracker, const SiStripQuality *stripQuality, int stripQualityFlags, int stripQualityDebugFlags, const SiPixelQuality *pixelQuality, const SiPixelFedCabling *pixelCabling, int pixelQualityFlags, int pixelQualityDebugFlags, const ClusterParameterEstimator< Phase2TrackerCluster1D > *phase2OTCPE=nullptr)
 
const Phase2OTMeasurementConditionSetphase2DetConditions () const override
 
const PxMeasurementConditionSetpixelDetConditions () const override
 
const std::vector< TkPixelMeasurementDet > & pixelDets () const
 
const std::vector< TkStackMeasurementDet > & stackDets () const
 
const StMeasurementConditionSetstripDetConditions () const override
 Provide templates to be filled in. More...
 
const std::vector< TkStripMeasurementDet > & stripDets () const
 
 ~MeasurementTrackerImpl () override
 
- Public Member Functions inherited from MeasurementTracker
const GeometricSearchTrackergeometricSearchTracker () const
 
const TrackerGeometrygeomTracker () const
 
 MeasurementTracker (TrackerGeometry const *trackerGeom, GeometricSearchTracker const *geometricSearchTracker)
 
 ~MeasurementTracker () override
 
- Public Member Functions inherited from MeasurementDetSystem
virtual ~MeasurementDetSystem ()=default
 

Protected Member Functions

void addDets (const TrackingGeometry::DetContainer &dets, bool subIsPixel, bool subIsOT)
 
void addGluedDet (const GluedGeomDet *gd)
 
void addPhase2Det (const GeomDet *gd)
 
void addPixelDet (const GeomDet *gd)
 
void addStackDet (const StackGeomDet *gd)
 
void addStripDet (const GeomDet *gd)
 
bool checkDets ()
 
void initGluedDet (TkGluedMeasurementDet &det, const TrackerTopology *trackerTopology)
 
void initialize (const TrackerTopology *trackerTopology)
 
void initializePixelStatus (const SiPixelQuality *stripQuality, const SiPixelFedCabling *pixelCabling, int qualityFlags, int qualityDebugFlags)
 
void initializeStripStatus (const BadStripCutsDet &badStripCuts, const SiStripQuality *stripQuality, int qualityFlags, int qualityDebugFlags)
 
void initPhase2OTMeasurementConditionSet (std::vector< TkPhase2OTMeasurementDet > &phase2Dets)
 
void initPxMeasurementConditionSet (std::vector< TkPixelMeasurementDet > &pixelDets)
 
void initStackDet (TkStackMeasurementDet &det)
 
void initStMeasurementConditionSet (std::vector< TkStripMeasurementDet > &stripDets)
 

Protected Attributes

DetContainer theDetMap
 
std::vector< TkGluedMeasurementDettheGluedDets
 
Phase2OTMeasurementConditionSet thePhase2DetConditions
 
std::vector< TkPhase2OTMeasurementDetthePhase2Dets
 
const SiPixelFedCablingthePixelCabling
 
std::vector< TkPixelMeasurementDetthePixelDets
 
PxMeasurementConditionSet thePxDetConditions
 
std::vector< TkStackMeasurementDettheStackDets
 
StMeasurementConditionSet theStDetConditions
 
std::vector< TkStripMeasurementDettheStripDets
 
- Protected Attributes inherited from MeasurementTracker
const GeometricSearchTrackertheGeometricSearchTracker
 
const TrackerGeometrytheTrackerGeom
 

Detailed Description

Definition at line 38 of file MeasurementTrackerImpl.h.

Member Typedef Documentation

◆ DetContainer

typedef std::unordered_map<unsigned int, MeasurementDet*> MeasurementTrackerImpl::DetContainer

Definition at line 95 of file MeasurementTrackerImpl.h.

Member Enumeration Documentation

◆ QualityFlags

Enumerator
BadModules 
BadAPVFibers 
BadStrips 
MaskBad128StripBlocks 
BadROCs 

Definition at line 40 of file MeasurementTrackerImpl.h.

40  {
41  BadModules = 1, // for everybody
42  /* Strips: */ BadAPVFibers = 2,
43  BadStrips = 4,
45  /* Pixels: */ BadROCs = 2
46  };

Constructor & Destructor Documentation

◆ MeasurementTrackerImpl()

MeasurementTrackerImpl::MeasurementTrackerImpl ( const BadStripCutsDet badStripCuts,
const PixelClusterParameterEstimator pixelCPE,
const StripClusterParameterEstimator stripCPE,
const SiStripRecHitMatcher hitMatcher,
const TrackerTopology trackerTopology,
const TrackerGeometry trackerGeom,
const GeometricSearchTracker geometricSearchTracker,
const SiStripQuality stripQuality,
int  stripQualityFlags,
int  stripQualityDebugFlags,
const SiPixelQuality pixelQuality,
const SiPixelFedCabling pixelCabling,
int  pixelQualityFlags,
int  pixelQualityDebugFlags,
const ClusterParameterEstimator< Phase2TrackerCluster1D > *  phase2OTCPE = nullptr 
)

Definition at line 76 of file MeasurementTrackerImpl.cc.

92  theStDetConditions(hitMatcher, stripCPE),
94  thePhase2DetConditions(phase2OTCPE) {
95  this->initialize(trackerTopology);
96  this->initializeStripStatus(badStripCuts, stripQuality, stripQualityFlags, stripQualityDebugFlags);
97  this->initializePixelStatus(pixelQuality, pixelCabling, pixelQualityFlags, pixelQualityDebugFlags);
98 }

References initialize(), initializePixelStatus(), and initializeStripStatus().

◆ ~MeasurementTrackerImpl()

MeasurementTrackerImpl::~MeasurementTrackerImpl ( )
override

Definition at line 100 of file MeasurementTrackerImpl.cc.

100 {}

Member Function Documentation

◆ addDets()

void MeasurementTrackerImpl::addDets ( const TrackingGeometry::DetContainer dets,
bool  subIsPixel,
bool  subIsOT 
)
protected

Definition at line 218 of file MeasurementTrackerImpl.cc.

218  {
219  //in phase2, we can have composed subDetector made by Pixel or Strip
220  for (TrackerGeometry::DetContainer::const_iterator gd = dets.begin(); gd != dets.end(); gd++) {
221  const GeomDetUnit* gdu = dynamic_cast<const GeomDetUnit*>(*gd);
222 
223  //Pixel or Strip GeomDetUnit
224  if (gdu->isLeaf()) {
225  if (subIsPixel) {
226  if (!subIsOT) {
227  addPixelDet(*gd);
228  } else {
229  addPhase2Det(*gd);
230  }
231  } else {
232  addStripDet(*gd);
233  }
234  } else {
235  //Glued or Stack GeomDet
236  const GluedGeomDet* gluedDet = dynamic_cast<const GluedGeomDet*>(*gd);
237  const StackGeomDet* stackDet = dynamic_cast<const StackGeomDet*>(*gd);
238 
239  if ((gluedDet == nullptr && stackDet == nullptr) || (gluedDet != nullptr && stackDet != nullptr)) {
240  throw MeasurementDetException("MeasurementTracker ERROR: GeomDet neither DetUnit nor GluedDet nor StackDet");
241  }
242  if (gluedDet != nullptr)
243  addGluedDet(gluedDet);
244  else
245  addStackDet(stackDet);
246  }
247  }
248 }

References addGluedDet(), addPhase2Det(), addPixelDet(), addStackDet(), addStripDet(), and GeomDet::isLeaf().

Referenced by initialize().

◆ addGluedDet()

void MeasurementTrackerImpl::addGluedDet ( const GluedGeomDet gd)
protected

◆ addPhase2Det()

void MeasurementTrackerImpl::addPhase2Det ( const GeomDet gd)
protected

Definition at line 272 of file MeasurementTrackerImpl.cc.

272  {
273  try {
275  } catch (MeasurementDetException& err) {
276  edm::LogError("MeasurementDet") << "Oops, got a MeasurementDetException: " << err.what();
277  }
278 }

References submitPVResolutionJobs::err, thePhase2DetConditions, and thePhase2Dets.

Referenced by addDets().

◆ addPixelDet()

void MeasurementTrackerImpl::addPixelDet ( const GeomDet gd)
protected

Definition at line 264 of file MeasurementTrackerImpl.cc.

264  {
265  try {
267  } catch (MeasurementDetException& err) {
268  edm::LogError("MeasurementDet") << "Oops, got a MeasurementDetException: " << err.what();
269  }
270 }

References submitPVResolutionJobs::err, thePixelDets, and thePxDetConditions.

Referenced by addDets().

◆ addStackDet()

void MeasurementTrackerImpl::addStackDet ( const StackGeomDet gd)
protected

Definition at line 284 of file MeasurementTrackerImpl.cc.

284  {
285  //since the Stack will be composed by PS or 2S,
286  //both cluster parameter estimators are needed? - right now just the thePixelCPE is used.
288 }

References PxMeasurementConditionSet::pixelCPE(), thePxDetConditions, and theStackDets.

Referenced by addDets().

◆ addStripDet()

void MeasurementTrackerImpl::addStripDet ( const GeomDet gd)
protected

Definition at line 256 of file MeasurementTrackerImpl.cc.

256  {
257  try {
259  } catch (MeasurementDetException& err) {
260  edm::LogError("MeasurementDet") << "Oops, got a MeasurementDetException: " << err.what();
261  }
262 }

References submitPVResolutionJobs::err, theStDetConditions, and theStripDets.

Referenced by addDets().

◆ allDets()

const DetContainer& MeasurementTrackerImpl::allDets ( ) const
inline

For debug only.

Definition at line 98 of file MeasurementTrackerImpl.h.

98 { return theDetMap; }

◆ checkDets()

bool MeasurementTrackerImpl::checkDets ( )
protected

Definition at line 250 of file MeasurementTrackerImpl.cc.

250  {
251  if (theTrackerGeom->dets().size() == theDetMap.size())
252  return true;
253  return false;
254 }

References TrackerGeometry::dets(), theDetMap, and MeasurementTracker::theTrackerGeom.

Referenced by initialize().

◆ findDet()

const MeasurementDet* MeasurementTrackerImpl::findDet ( const DetId id) const
inline

Definition at line 84 of file MeasurementTrackerImpl.h.

84  {
85  auto it = theDetMap.find(id);
86  if (it != theDetMap.end()) {
87  return it->second;
88  } else {
89  //throw exception;
90  }
91 
92  return nullptr; //to avoid compile warning
93  }

Referenced by initGluedDet(), and initStackDet().

◆ geometricSearchTracker()

const GeometricSearchTracker* MeasurementTrackerImpl::geometricSearchTracker ( ) const
inline

◆ geomTracker()

const TrackerGeometry* MeasurementTrackerImpl::geomTracker ( ) const
inline

Definition at line 73 of file MeasurementTrackerImpl.h.

73 { return theTrackerGeom; }

References MeasurementTracker::theTrackerGeom.

◆ gluedDets()

const std::vector<TkGluedMeasurementDet>& MeasurementTrackerImpl::gluedDets ( ) const
inline

Definition at line 101 of file MeasurementTrackerImpl.h.

101 { return theGluedDets; }

◆ idToDet()

MeasurementDetWithData MeasurementTrackerImpl::idToDet ( const DetId id,
const MeasurementTrackerEvent data 
) const
inlineoverridevirtual

MeasurementDetSystem interface (won't be overloaded anymore)

Implements MeasurementTracker.

Definition at line 78 of file MeasurementTrackerImpl.h.

78  {
80  }

References data.

◆ idToDetBare()

const MeasurementDet* MeasurementTrackerImpl::idToDetBare ( const DetId id,
const MeasurementTrackerEvent data 
) const
inline

Definition at line 82 of file MeasurementTrackerImpl.h.

82 { return findDet(id); }

◆ initGluedDet()

void MeasurementTrackerImpl::initGluedDet ( TkGluedMeasurementDet det,
const TrackerTopology trackerTopology 
)
protected

Definition at line 290 of file MeasurementTrackerImpl.cc.

290  {
291  const GluedGeomDet& gd = det.specificGeomDet();
292  const MeasurementDet* monoDet = findDet(gd.monoDet()->geographicalId());
293  const MeasurementDet* stereoDet = findDet(gd.stereoDet()->geographicalId());
294  if (monoDet == nullptr || stereoDet == nullptr) {
295  edm::LogError("MeasurementDet") << "MeasurementTracker ERROR: GluedDet components not found as MeasurementDets ";
296  throw MeasurementDetException("MeasurementTracker ERROR: GluedDet components not found as MeasurementDets");
297  }
298  det.init(monoDet, stereoDet, trackerTopology);
299  theDetMap[gd.geographicalId()] = &det;
300 }

References findDet(), GeomDet::geographicalId(), TkGluedMeasurementDet::init(), GluedGeomDet::monoDet(), TkGluedMeasurementDet::specificGeomDet(), GluedGeomDet::stereoDet(), and theDetMap.

Referenced by initialize().

◆ initialize()

void MeasurementTrackerImpl::initialize ( const TrackerTopology trackerTopology)
protected

Definition at line 102 of file MeasurementTrackerImpl.cc.

102  {
103  bool subIsPixel = false;
104  //FIXME:just temporary solution for phase2 :
105  //the OT is defined as PixelSubDetector!
106  bool subIsOT = false;
107 
108  //if the TkGeometry has the subDet vector filled, the theDetMap is filled, otherwise nothing should happen
109  if (!theTrackerGeom->detsPXB().empty()) {
111  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsPXB().front()->geographicalId().subdetId()));
112  addDets(theTrackerGeom->detsPXB(), subIsPixel, subIsOT);
113  }
114 
115  if (!theTrackerGeom->detsPXF().empty()) {
117  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsPXF().front()->geographicalId().subdetId()));
118  addDets(theTrackerGeom->detsPXF(), subIsPixel, subIsOT);
119  }
120 
121  subIsOT = true;
122 
123  if (!theTrackerGeom->detsTIB().empty()) {
125  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsTIB().front()->geographicalId().subdetId()));
126  addDets(theTrackerGeom->detsTIB(), subIsPixel, subIsOT);
127  }
128 
129  if (!theTrackerGeom->detsTID().empty()) {
131  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsTID().front()->geographicalId().subdetId()));
132  addDets(theTrackerGeom->detsTID(), subIsPixel, subIsOT);
133  }
134 
135  if (!theTrackerGeom->detsTOB().empty()) {
137  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsTOB().front()->geographicalId().subdetId()));
138  addDets(theTrackerGeom->detsTOB(), subIsPixel, subIsOT);
139  }
140 
141  if (!theTrackerGeom->detsTEC().empty()) {
143  theTrackerGeom->geomDetSubDetector(theTrackerGeom->detsTEC().front()->geographicalId().subdetId()));
144  addDets(theTrackerGeom->detsTEC(), subIsPixel, subIsOT);
145  }
146 
147  // fist all stripdets
148  sortTKD(theStripDets);
150  for (unsigned int i = 0; i != theStripDets.size(); ++i)
152 
153  // now the glued dets
154  sortTKD(theGluedDets);
155  for (unsigned int i = 0; i != theGluedDets.size(); ++i)
156  initGluedDet(theGluedDets[i], trackerTopology);
157 
158  // then the pixels
159  sortTKD(thePixelDets);
161  for (unsigned int i = 0; i != thePixelDets.size(); ++i)
163 
164  // then the phase2 dets
165  sortTKD(thePhase2Dets);
167  for (unsigned int i = 0; i != thePhase2Dets.size(); ++i)
169 
170  // and then the stack dets, at last
171  sortTKD(theStackDets);
172  for (unsigned int i = 0; i != theStackDets.size(); ++i)
174 
175  if (!checkDets())
176  throw MeasurementDetException("Number of dets in MeasurementTracker not consistent with TrackerGeometry!");
177 }

References addDets(), checkDets(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), TrackerGeometry::detsTEC(), TrackerGeometry::detsTIB(), TrackerGeometry::detsTID(), TrackerGeometry::detsTOB(), TrackerGeometry::geomDetSubDetector(), mps_fire::i, StMeasurementConditionSet::id(), PxMeasurementConditionSet::id(), Phase2OTMeasurementConditionSet::id(), initGluedDet(), initPhase2OTMeasurementConditionSet(), initPxMeasurementConditionSet(), initStackDet(), initStMeasurementConditionSet(), GeomDetEnumerators::isTrackerPixel(), theDetMap, theGluedDets, thePhase2DetConditions, thePhase2Dets, thePixelDets, thePxDetConditions, theStackDets, theStDetConditions, theStripDets, and MeasurementTracker::theTrackerGeom.

Referenced by MeasurementTrackerImpl().

◆ initializePixelStatus()

void MeasurementTrackerImpl::initializePixelStatus ( const SiPixelQuality stripQuality,
const SiPixelFedCabling pixelCabling,
int  qualityFlags,
int  qualityDebugFlags 
)
protected

Definition at line 392 of file MeasurementTrackerImpl.cc.

395  {
396  if ((quality != nullptr) && (qualityFlags != 0)) {
397  edm::LogInfo("MeasurementTracker") << "qualityFlags = " << qualityFlags;
398  unsigned int on = 0, tot = 0, badrocs = 0;
399  for (std::vector<TkPixelMeasurementDet>::iterator i = thePixelDets.begin(); i != thePixelDets.end(); i++) {
400  uint32_t detid = ((*i).geomDet().geographicalId()).rawId();
401  if (qualityFlags & BadModules) {
402  bool isOn = quality->IsModuleUsable(detid);
403  (i)->setActive(isOn);
404  tot++;
405  on += (unsigned int)isOn;
406  if (qualityDebugFlags & BadModules) {
407  edm::LogInfo("MeasurementTracker")
408  << "MeasurementTrackerImpl::initializePixelStatus : detid " << detid << " is " << (isOn ? "on" : "off");
409  }
410  } else {
411  (i)->setActive(true);
412  }
413  if ((qualityFlags & BadROCs) && (quality->getBadRocs(detid) != 0)) {
414  std::vector<LocalPoint> badROCs = quality->getBadRocPositions(detid, *theTrackerGeom, pixelCabling);
415  badrocs += badROCs.size();
416  (i)->setBadRocPositions(badROCs);
417  } else {
418  (i)->clearBadRocPositions();
419  }
420  }
421  if (qualityDebugFlags & BadModules) {
422  edm::LogInfo("MeasurementTracker PixelModuleStatus")
423  << " Total modules: " << tot << ", active " << on << ", inactive " << (tot - on);
424  }
425  if (qualityDebugFlags & BadROCs) {
426  edm::LogInfo("MeasurementTracker PixelROCStatus") << " Total of bad ROCs: " << badrocs;
427  }
428  } else {
429  for (std::vector<TkPixelMeasurementDet>::iterator i = thePixelDets.begin(); i != thePixelDets.end(); i++) {
430  (i)->setActive(true); // module ON
431  }
432  }
433 }

References BadModules, BadROCs, mps_fire::i, createfilelist::int, qcdUeDQM_cfi::quality, thePixelDets, and MeasurementTracker::theTrackerGeom.

Referenced by MeasurementTrackerImpl().

◆ initializeStripStatus()

void MeasurementTrackerImpl::initializeStripStatus ( const BadStripCutsDet badStripCuts,
const SiStripQuality stripQuality,
int  qualityFlags,
int  qualityDebugFlags 
)
protected

Definition at line 314 of file MeasurementTrackerImpl.cc.

317  {
318  if (qualityFlags & BadStrips) {
323  }
325 
326  if ((quality != nullptr) && (qualityFlags != 0)) {
327  edm::LogInfo("MeasurementTracker") << "qualityFlags = " << qualityFlags;
328  unsigned int on = 0, tot = 0;
329  unsigned int foff = 0, ftot = 0, aoff = 0, atot = 0;
330  for (int i = 0; i != theStDetConditions.nDet(); i++) {
331  uint32_t detid = theStDetConditions.id(i);
332  if (qualityFlags & BadModules) {
333  bool isOn = quality->IsModuleUsable(detid);
335  tot++;
336  on += (unsigned int)isOn;
337  if (qualityDebugFlags & BadModules) {
338  edm::LogInfo("MeasurementTracker")
339  << "MeasurementTrackerImpl::initializeStripStatus : detid " << detid << " is " << (isOn ? "on" : "off");
340  }
341  } else {
343  }
344  // first turn all APVs and fibers ON
346  if (qualityFlags & BadAPVFibers) {
347  short badApvs = quality->getBadApvs(detid);
348  short badFibers = quality->getBadFibers(detid);
349  for (int j = 0; j < 6; j++) {
350  atot++;
351  if (badApvs & (1 << j)) {
353  aoff++;
354  }
355  }
356  for (int j = 0; j < 3; j++) {
357  ftot++;
358  if (badFibers & (1 << j)) {
360  theStDetConditions.set128StripStatus(i, false, 2 * j + 1);
361  foff++;
362  }
363  }
364  }
365  auto& badStrips = theStDetConditions.getBadStripBlocks(i);
366  badStrips.clear();
367  if (qualityFlags & BadStrips) {
368  SiStripBadStrip::Range range = quality->getRange(detid);
369  for (SiStripBadStrip::ContainerIterator bit = range.first; bit != range.second; ++bit) {
370  badStrips.push_back(quality->decode(*bit));
371  }
372  }
373  }
374  if (qualityDebugFlags & BadModules) {
375  edm::LogInfo("MeasurementTracker StripModuleStatus")
376  << " Total modules: " << tot << ", active " << on << ", inactive " << (tot - on);
377  }
378  if (qualityDebugFlags & BadAPVFibers) {
379  edm::LogInfo("MeasurementTracker StripAPVStatus")
380  << " Total APVs: " << atot << ", active " << (atot - aoff) << ", inactive " << (aoff);
381  edm::LogInfo("MeasurementTracker StripFiberStatus")
382  << " Total Fibers: " << ftot << ", active " << (ftot - foff) << ", inactive " << (foff);
383  }
384  } else {
385  for (int i = 0; i != theStDetConditions.nDet(); i++) {
386  theStDetConditions.setActive(i, true); // module ON
387  theStDetConditions.set128StripStatus(i, true); // all APVs and fibers ON
388  }
389  }
390 }

References BadAPVFibers, BadModules, HLTSiStripMonitoring_cff::badStripCuts, StMeasurementConditionSet::badStripCuts_, BadStrips, StMeasurementConditionSet::getBadStripBlocks(), mps_fire::i, StMeasurementConditionSet::id(), createfilelist::int, dqmiolumiharvest::j, MaskBad128StripBlocks, StMeasurementConditionSet::nDet(), qcdUeDQM_cfi::quality, FastTimerService_cff::range, StMeasurementConditionSet::set128StripStatus(), StMeasurementConditionSet::setActive(), StMeasurementConditionSet::setMaskBad128StripBlocks(), SiStripDetId::TEC, theStDetConditions, SiStripDetId::TIB, SiStripDetId::TID, and SiStripDetId::TOB.

Referenced by MeasurementTrackerImpl().

◆ initPhase2OTMeasurementConditionSet()

void MeasurementTrackerImpl::initPhase2OTMeasurementConditionSet ( std::vector< TkPhase2OTMeasurementDet > &  phase2Dets)
protected

Definition at line 206 of file MeasurementTrackerImpl.cc.

206  {
207  // assume vector is full and ordered!
208  int size = phase2Dets.size();
210 
211  for (int i = 0; i != size; ++i) {
212  auto& mdet = phase2Dets[i];
213  mdet.setIndex(i);
214  thePhase2DetConditions.id_[i] = mdet.specificGeomDet().geographicalId().rawId();
215  }
216 }

References mps_fire::i, Phase2OTMeasurementConditionSet::id_, Phase2OTMeasurementConditionSet::init(), findQualityFiles::size, and thePhase2DetConditions.

Referenced by initialize().

◆ initPxMeasurementConditionSet()

void MeasurementTrackerImpl::initPxMeasurementConditionSet ( std::vector< TkPixelMeasurementDet > &  pixelDets)
protected

Definition at line 194 of file MeasurementTrackerImpl.cc.

194  {
195  // assume vector is full and ordered!
196  int size = pixelDets.size();
198 
199  for (int i = 0; i != size; ++i) {
200  auto& mdet = pixelDets[i];
201  mdet.setIndex(i);
202  thePxDetConditions.id_[i] = mdet.specificGeomDet().geographicalId().rawId();
203  }
204 }

References mps_fire::i, PxMeasurementConditionSet::id_, PxMeasurementConditionSet::init(), pixelDets(), findQualityFiles::size, and thePxDetConditions.

Referenced by initialize().

◆ initStackDet()

void MeasurementTrackerImpl::initStackDet ( TkStackMeasurementDet det)
protected

Definition at line 302 of file MeasurementTrackerImpl.cc.

302  {
303  const StackGeomDet& gd = det.specificGeomDet();
304  const MeasurementDet* lowerDet = findDet(gd.lowerDet()->geographicalId());
305  const MeasurementDet* upperDet = findDet(gd.upperDet()->geographicalId());
306  if (lowerDet == nullptr || upperDet == nullptr) {
307  edm::LogError("MeasurementDet") << "MeasurementTracker ERROR: StackDet components not found as MeasurementDets ";
308  throw MeasurementDetException("MeasurementTracker ERROR: StackDet components not found as MeasurementDets");
309  }
310  det.init(lowerDet, upperDet);
311  theDetMap[gd.geographicalId()] = &det;
312 }

References findDet(), GeomDet::geographicalId(), TkStackMeasurementDet::init(), StackGeomDet::lowerDet(), TkStackMeasurementDet::specificGeomDet(), theDetMap, and StackGeomDet::upperDet().

Referenced by initialize().

◆ initStMeasurementConditionSet()

void MeasurementTrackerImpl::initStMeasurementConditionSet ( std::vector< TkStripMeasurementDet > &  stripDets)
protected

Definition at line 179 of file MeasurementTrackerImpl.cc.

179  {
180  // assume vector is full and ordered!
181  int size = stripDets.size();
183  for (int i = 0; i != size; ++i) {
184  auto& mdet = stripDets[i];
185  mdet.setIndex(i);
186  //intialize the detId !
187  theStDetConditions.id_[i] = mdet.specificGeomDet().geographicalId().rawId();
189  //initalize the total number of strips
190  theStDetConditions.totalStrips_[i] = mdet.specificGeomDet().specificTopology().nstrips();
191  }
192 }

References mps_fire::i, StMeasurementConditionSet::id_, StMeasurementConditionSet::init(), findQualityFiles::size, stripDets(), DetId::subdetId(), StMeasurementConditionSet::subId_, theStDetConditions, and StMeasurementConditionSet::totalStrips_.

Referenced by initialize().

◆ phase2DetConditions()

const Phase2OTMeasurementConditionSet& MeasurementTrackerImpl::phase2DetConditions ( ) const
inlineoverridevirtual

Implements MeasurementTracker.

Definition at line 106 of file MeasurementTrackerImpl.h.

106 { return thePhase2DetConditions; }

◆ pixelDetConditions()

const PxMeasurementConditionSet& MeasurementTrackerImpl::pixelDetConditions ( ) const
inlineoverridevirtual

Implements MeasurementTracker.

Definition at line 105 of file MeasurementTrackerImpl.h.

105 { return thePxDetConditions; }

◆ pixelDets()

const std::vector<TkPixelMeasurementDet>& MeasurementTrackerImpl::pixelDets ( ) const
inline

Definition at line 100 of file MeasurementTrackerImpl.h.

100 { return thePixelDets; }

Referenced by initPxMeasurementConditionSet().

◆ stackDets()

const std::vector<TkStackMeasurementDet>& MeasurementTrackerImpl::stackDets ( ) const
inline

Definition at line 102 of file MeasurementTrackerImpl.h.

102 { return theStackDets; }

◆ stripDetConditions()

const StMeasurementConditionSet& MeasurementTrackerImpl::stripDetConditions ( ) const
inlineoverridevirtual

Provide templates to be filled in.

Implements MeasurementTracker.

Definition at line 104 of file MeasurementTrackerImpl.h.

104 { return theStDetConditions; }

◆ stripDets()

const std::vector<TkStripMeasurementDet>& MeasurementTrackerImpl::stripDets ( ) const
inline

Definition at line 99 of file MeasurementTrackerImpl.h.

99 { return theStripDets; }

Referenced by initStMeasurementConditionSet().

Member Data Documentation

◆ theDetMap

DetContainer MeasurementTrackerImpl::theDetMap
protected

Definition at line 113 of file MeasurementTrackerImpl.h.

Referenced by checkDets(), initGluedDet(), initialize(), and initStackDet().

◆ theGluedDets

std::vector<TkGluedMeasurementDet> MeasurementTrackerImpl::theGluedDets
protected

Definition at line 118 of file MeasurementTrackerImpl.h.

Referenced by addGluedDet(), and initialize().

◆ thePhase2DetConditions

Phase2OTMeasurementConditionSet MeasurementTrackerImpl::thePhase2DetConditions
protected

◆ thePhase2Dets

std::vector<TkPhase2OTMeasurementDet> MeasurementTrackerImpl::thePhase2Dets
protected

Definition at line 117 of file MeasurementTrackerImpl.h.

Referenced by addPhase2Det(), and initialize().

◆ thePixelCabling

const SiPixelFedCabling* MeasurementTrackerImpl::thePixelCabling
protected

Definition at line 121 of file MeasurementTrackerImpl.h.

◆ thePixelDets

std::vector<TkPixelMeasurementDet> MeasurementTrackerImpl::thePixelDets
protected

Definition at line 115 of file MeasurementTrackerImpl.h.

Referenced by addPixelDet(), initialize(), and initializePixelStatus().

◆ thePxDetConditions

PxMeasurementConditionSet MeasurementTrackerImpl::thePxDetConditions
protected

◆ theStackDets

std::vector<TkStackMeasurementDet> MeasurementTrackerImpl::theStackDets
protected

Definition at line 119 of file MeasurementTrackerImpl.h.

Referenced by addStackDet(), and initialize().

◆ theStDetConditions

StMeasurementConditionSet MeasurementTrackerImpl::theStDetConditions
protected

◆ theStripDets

std::vector<TkStripMeasurementDet> MeasurementTrackerImpl::theStripDets
protected

Definition at line 116 of file MeasurementTrackerImpl.h.

Referenced by addStripDet(), and initialize().

FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
MeasurementTrackerImpl::initialize
void initialize(const TrackerTopology *trackerTopology)
Definition: MeasurementTrackerImpl.cc:102
MeasurementTrackerImpl::initPhase2OTMeasurementConditionSet
void initPhase2OTMeasurementConditionSet(std::vector< TkPhase2OTMeasurementDet > &phase2Dets)
Definition: MeasurementTrackerImpl.cc:206
MeasurementTrackerImpl::addGluedDet
void addGluedDet(const GluedGeomDet *gd)
Definition: MeasurementTrackerImpl.cc:280
MeasurementTrackerImpl::thePhase2DetConditions
Phase2OTMeasurementConditionSet thePhase2DetConditions
Definition: MeasurementTrackerImpl.h:111
mps_fire.i
i
Definition: mps_fire.py:428
Phase2OTMeasurementConditionSet::id_
std::vector< unsigned int > id_
Definition: TkMeasurementDetSet.h:429
MeasurementTrackerImpl::idToDetBare
const MeasurementDet * idToDetBare(const DetId &id, const MeasurementTrackerEvent &data) const
Definition: MeasurementTrackerImpl.h:82
MeasurementTrackerImpl::initializePixelStatus
void initializePixelStatus(const SiPixelQuality *stripQuality, const SiPixelFedCabling *pixelCabling, int qualityFlags, int qualityDebugFlags)
Definition: MeasurementTrackerImpl.cc:392
GeomDet
Definition: GeomDet.h:27
StMeasurementConditionSet::id
unsigned int id(int i) const
Definition: TkMeasurementDetSet.h:70
MeasurementTrackerImpl::thePxDetConditions
PxMeasurementConditionSet thePxDetConditions
Definition: MeasurementTrackerImpl.h:110
Phase2OTMeasurementConditionSet::init
void init(int size)
Definition: TkMeasurementDetSet.cc:42
GluedGeomDet::monoDet
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:19
StackGeomDet::upperDet
const GeomDetUnit * upperDet() const
Definition: StackGeomDet.h:20
MeasurementTrackerImpl::theGluedDets
std::vector< TkGluedMeasurementDet > theGluedDets
Definition: MeasurementTrackerImpl.h:118
MeasurementTrackerImpl::BadROCs
Definition: MeasurementTrackerImpl.h:45
MeasurementDet
Definition: MeasurementDet.h:16
StMeasurementConditionSet::totalStrips_
std::vector< int > totalStrips_
Definition: TkMeasurementDetSet.h:127
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
TrackerGeometry::detsPXB
const DetContainer & detsPXB() const
Definition: TrackerGeometry.cc:171
PxMeasurementConditionSet::pixelCPE
const PixelClusterParameterEstimator * pixelCPE() const
Definition: TkMeasurementDetSet.h:305
MeasurementTrackerImpl::initializeStripStatus
void initializeStripStatus(const BadStripCutsDet &badStripCuts, const SiStripQuality *stripQuality, int qualityFlags, int qualityDebugFlags)
Definition: MeasurementTrackerImpl.cc:314
MeasurementTrackerImpl::theStripDets
std::vector< TkStripMeasurementDet > theStripDets
Definition: MeasurementTrackerImpl.h:116
SiStripBadStrip::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripBadStrip.h:53
HLT_FULL_cff.pixelCPE
pixelCPE
Definition: HLT_FULL_cff.py:50750
TrackerGeometry::detsTOB
const DetContainer & detsTOB() const
Definition: TrackerGeometry.cc:179
MeasurementDetException
Common base class.
Definition: MeasurementDetException.h:12
MeasurementTrackerImpl::addPhase2Det
void addPhase2Det(const GeomDet *gd)
Definition: MeasurementTrackerImpl.cc:272
StMeasurementConditionSet::badStripCuts_
BadStripCuts badStripCuts_[4]
Definition: TkMeasurementDetSet.h:121
StMeasurementConditionSet::stripCPE
const StripClusterParameterEstimator * stripCPE() const
Definition: TkMeasurementDetSet.h:67
PxMeasurementConditionSet::id
unsigned int id(int i) const
Definition: TkMeasurementDetSet.h:302
StMeasurementConditionSet::matcher
const SiStripRecHitMatcher * matcher() const
Definition: TkMeasurementDetSet.h:66
MeasurementTrackerImpl::theStackDets
std::vector< TkStackMeasurementDet > theStackDets
Definition: MeasurementTrackerImpl.h:119
TkStackMeasurementDet::init
void init(const MeasurementDet *lowerDet, const MeasurementDet *upperDet)
Definition: TkStackMeasurementDet.cc:10
MeasurementTrackerImpl::findDet
const MeasurementDet * findDet(const DetId &id) const
Definition: MeasurementTrackerImpl.h:84
PxMeasurementConditionSet::init
void init(int size)
Definition: TkMeasurementDetSet.cc:37
TrackerGeometry::detsPXF
const DetContainer & detsPXF() const
Definition: TrackerGeometry.cc:173
StackGeomDet::lowerDet
const GeomDetUnit * lowerDet() const
Definition: StackGeomDet.h:19
MeasurementTrackerImpl::addDets
void addDets(const TrackingGeometry::DetContainer &dets, bool subIsPixel, bool subIsOT)
Definition: MeasurementTrackerImpl.cc:218
SiStripDetId::TEC
static constexpr auto TEC
Definition: SiStripDetId.h:40
TrackerGeometry::detsTID
const DetContainer & detsTID() const
Definition: TrackerGeometry.cc:177
GluedGeomDet
Definition: GluedGeomDet.h:7
TkStackMeasurementDet
Definition: TkStackMeasurementDet.h:14
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
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
TkGluedMeasurementDet
Definition: TkGluedMeasurementDet.h:17
TkStripMeasurementDet
Definition: TkStripMeasurementDet.h:74
StMeasurementConditionSet::setMaskBad128StripBlocks
void setMaskBad128StripBlocks(bool maskThem)
Definition: TkMeasurementDetSet.h:82
MeasurementTrackerImpl::addStripDet
void addStripDet(const GeomDet *gd)
Definition: MeasurementTrackerImpl.cc:256
TrackerGeometry::geomDetSubDetector
const GeomDetEnumerators::SubDetector geomDetSubDetector(int subdet) const
Definition: TrackerGeometry.cc:203
StMeasurementConditionSet::getBadStripBlocks
std::vector< BadStripBlock > & getBadStripBlocks(int i)
Definition: TkMeasurementDetSet.h:92
StMeasurementConditionSet::subId_
std::vector< unsigned char > subId_
Definition: TkMeasurementDetSet.h:125
MeasurementTrackerImpl::MaskBad128StripBlocks
Definition: MeasurementTrackerImpl.h:44
MeasurementTrackerImpl::geometricSearchTracker
const GeometricSearchTracker * geometricSearchTracker() const
Definition: MeasurementTrackerImpl.h:75
MeasurementTracker::MeasurementTracker
MeasurementTracker(TrackerGeometry const *trackerGeom, GeometricSearchTracker const *geometricSearchTracker)
Definition: MeasurementTracker.h:31
MeasurementTrackerImpl::addPixelDet
void addPixelDet(const GeomDet *gd)
Definition: MeasurementTrackerImpl.cc:264
createfilelist.int
int
Definition: createfilelist.py:10
GeomDetEnumerators::isTrackerPixel
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:68
MeasurementTracker::theGeometricSearchTracker
const GeometricSearchTracker * theGeometricSearchTracker
Definition: MeasurementTracker.h:50
MeasurementTrackerImpl::thePixelDets
std::vector< TkPixelMeasurementDet > thePixelDets
Definition: MeasurementTrackerImpl.h:115
TrackerGeometry::detsTIB
const DetContainer & detsTIB() const
Definition: TrackerGeometry.cc:175
SiStripDetId::TOB
static constexpr auto TOB
Definition: SiStripDetId.h:39
TrackerGeometry::dets
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: TrackerGeometry.h:62
MeasurementTrackerImpl::pixelDets
const std::vector< TkPixelMeasurementDet > & pixelDets() const
Definition: MeasurementTrackerImpl.h:100
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
StMeasurementConditionSet::init
void init(int size)
Definition: TkMeasurementDetSet.cc:3
TkStackMeasurementDet::specificGeomDet
const StackGeomDet & specificGeomDet() const
Definition: TkStackMeasurementDet.h:21
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
MeasurementTrackerImpl::initStMeasurementConditionSet
void initStMeasurementConditionSet(std::vector< TkStripMeasurementDet > &stripDets)
Definition: MeasurementTrackerImpl.cc:179
MeasurementTrackerImpl::BadAPVFibers
Definition: MeasurementTrackerImpl.h:42
MeasurementTrackerImpl::theDetMap
DetContainer theDetMap
Definition: MeasurementTrackerImpl.h:113
MeasurementTrackerImpl::initStackDet
void initStackDet(TkStackMeasurementDet &det)
Definition: MeasurementTrackerImpl.cc:302
TkPhase2OTMeasurementDet
Definition: TkPhase2OTMeasurementDet.h:16
MeasurementTrackerImpl::initPxMeasurementConditionSet
void initPxMeasurementConditionSet(std::vector< TkPixelMeasurementDet > &pixelDets)
Definition: MeasurementTrackerImpl.cc:194
MeasurementTrackerImpl::theStDetConditions
StMeasurementConditionSet theStDetConditions
Definition: MeasurementTrackerImpl.h:109
MeasurementTrackerImpl::checkDets
bool checkDets()
Definition: MeasurementTrackerImpl.cc:250
SiStripDetId::TID
static constexpr auto TID
Definition: SiStripDetId.h:38
GluedGeomDet::stereoDet
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
StackGeomDet
Definition: StackGeomDet.h:7
TkGluedMeasurementDet::init
void init(const MeasurementDet *monoDet, const MeasurementDet *stereoDet, const TrackerTopology *tTopo)
Definition: TkGluedMeasurementDet.cc:72
MeasurementDetWithData
Definition: MeasurementDetWithData.h:6
StMeasurementConditionSet::setActive
void setActive(int i, bool active)
Turn on/off the module for reconstruction, for the full run or lumi (using info from DB,...
Definition: TkMeasurementDetSet.h:78
qcdUeDQM_cfi.quality
quality
Definition: qcdUeDQM_cfi.py:31
HLTSiStripMonitoring_cff.badStripCuts
badStripCuts
Definition: HLTSiStripMonitoring_cff.py:100
TrackerGeometry::detsTEC
const DetContainer & detsTEC() const
Definition: TrackerGeometry.cc:181
MeasurementTrackerImpl::initGluedDet
void initGluedDet(TkGluedMeasurementDet &det, const TrackerTopology *trackerTopology)
Definition: MeasurementTrackerImpl.cc:290
MeasurementTrackerImpl::addStackDet
void addStackDet(const StackGeomDet *gd)
Definition: MeasurementTrackerImpl.cc:284
SiStripDetId::TIB
static constexpr auto TIB
Definition: SiStripDetId.h:37
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
MeasurementTrackerImpl::stripDets
const std::vector< TkStripMeasurementDet > & stripDets() const
Definition: MeasurementTrackerImpl.h:99
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
Phase2OTMeasurementConditionSet::id
unsigned int id(int i) const
Definition: TkMeasurementDetSet.h:412
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
StMeasurementConditionSet::nDet
int nDet() const
Definition: TkMeasurementDetSet.h:69
MeasurementTrackerImpl::thePhase2Dets
std::vector< TkPhase2OTMeasurementDet > thePhase2Dets
Definition: MeasurementTrackerImpl.h:117
StMeasurementConditionSet::id_
std::vector< unsigned int > id_
Definition: TkMeasurementDetSet.h:124
MeasurementTrackerImpl::BadModules
Definition: MeasurementTrackerImpl.h:41
StMeasurementConditionSet::set128StripStatus
void set128StripStatus(int i, bool good, int idx=-1)
Definition: TkMeasurementDetSet.cc:14
PxMeasurementConditionSet::id_
std::vector< unsigned int > id_
Definition: TkMeasurementDetSet.h:319
GeomDet::isLeaf
virtual bool isLeaf() const
is a Unit
Definition: GeomDet.h:70
SiStripBadStrip::ContainerIterator
std::vector< unsigned int >::const_iterator ContainerIterator
Definition: SiStripBadStrip.h:52
MeasurementTrackerImpl::BadStrips
Definition: MeasurementTrackerImpl.h:43
MeasurementTracker::theTrackerGeom
const TrackerGeometry * theTrackerGeom
Definition: MeasurementTracker.h:49
TkPixelMeasurementDet
Definition: TkPixelMeasurementDet.h:17
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
TkGluedMeasurementDet::specificGeomDet
const GluedGeomDet & specificGeomDet() const
Definition: TkGluedMeasurementDet.h:32