CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
MeasurementTrackerImpl Class Referencefinal

#include <MeasurementTrackerImpl.h>

Inheritance diagram for MeasurementTrackerImpl:
MeasurementTracker MeasurementDetSystem

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 TrackingGeometrygeomTracker () const
 
const std::vector
< TkGluedMeasurementDet > & 
gluedDets () const
 
MeasurementDetWithData idToDet (const DetId &id, const MeasurementTrackerEvent &data) const
 MeasurementDetSystem interface (won't be overloaded anymore) More...
 
const MeasurementDetidToDetBare (const DetId &id, const MeasurementTrackerEvent &data) const
 
 MeasurementTrackerImpl (const edm::ParameterSet &conf, const PixelClusterParameterEstimator *pixelCPE, const StripClusterParameterEstimator *stripCPE, const SiStripRecHitMatcher *hitMatcher, const TrackerGeometry *trackerGeom, const GeometricSearchTracker *geometricSearchTracker, const SiStripQuality *stripQuality, int stripQualityFlags, int stripQualityDebugFlags, const SiPixelQuality *pixelQuality, const SiPixelFedCabling *pixelCabling, int pixelQualityFlags, int pixelQualityDebugFlags)
 
virtual const
PxMeasurementConditionSet
pixelDetConditions () const
 
const std::vector
< TkPixelMeasurementDet > & 
pixelDets () const
 
virtual const
StMeasurementConditionSet
stripDetConditions () const
 Provide templates to be filled in. More...
 
const std::vector
< TkStripMeasurementDet > & 
stripDets () const
 
virtual ~MeasurementTrackerImpl ()
 
- Public Member Functions inherited from MeasurementTracker
const GeometricSearchTrackergeometricSearchTracker () const
 
const TrackingGeometrygeomTracker () const
 
 MeasurementTracker (TrackerGeometry const *trackerGeom, GeometricSearchTracker const *geometricSearchTracker)
 
virtual ~MeasurementTracker ()
 

Protected Member Functions

void addGluedDet (const GluedGeomDet *gd)
 
void addPixelDet (const GeomDet *gd)
 
void addPixelDets (const TrackingGeometry::DetContainer &dets)
 
void addStripDet (const GeomDet *gd)
 
void addStripDets (const TrackingGeometry::DetContainer &dets)
 
void initGluedDet (TkGluedMeasurementDet &det)
 
void initialize ()
 
void initializePixelStatus (const SiPixelQuality *stripQuality, const SiPixelFedCabling *pixelCabling, int qualityFlags, int qualityDebugFlags)
 
void initializeStripStatus (const SiStripQuality *stripQuality, int qualityFlags, int qualityDebugFlags)
 
void initPxMeasurementConditionSet (std::vector< TkPixelMeasurementDet > &pixelDets)
 
void initStMeasurementConditionSet (std::vector< TkStripMeasurementDet > &stripDets)
 

Protected Attributes

const std::string name_
 
const edm::ParameterSetpset_
 
DetContainer theDetMap
 
std::vector
< TkGluedMeasurementDet > 
theGluedDets
 
const SiPixelFedCablingthePixelCabling
 
std::vector
< TkPixelMeasurementDet
thePixelDets
 
PxMeasurementConditionSet thePxDetConditions
 
StMeasurementConditionSet theStDetConditions
 
std::vector
< TkStripMeasurementDet > 
theStripDets
 
- Protected Attributes inherited from MeasurementTracker
const GeometricSearchTrackertheGeometricSearchTracker
 
const TrackerGeometrytheTrackerGeom
 

Detailed Description

Definition at line 45 of file MeasurementTrackerImpl.h.

Member Typedef Documentation

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

Definition at line 97 of file MeasurementTrackerImpl.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

MeasurementTrackerImpl::MeasurementTrackerImpl ( const edm::ParameterSet conf,
const PixelClusterParameterEstimator pixelCPE,
const StripClusterParameterEstimator stripCPE,
const SiStripRecHitMatcher hitMatcher,
const TrackerGeometry trackerGeom,
const GeometricSearchTracker geometricSearchTracker,
const SiStripQuality stripQuality,
int  stripQualityFlags,
int  stripQualityDebugFlags,
const SiPixelQuality pixelQuality,
const SiPixelFedCabling pixelCabling,
int  pixelQualityFlags,
int  pixelQualityDebugFlags 
)

Definition at line 71 of file MeasurementTrackerImpl.cc.

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

83  :
84  MeasurementTracker(trackerGeom,geometricSearchTracker),
85  pset_(conf),
86  name_(conf.getParameter<std::string>("ComponentName")),
87  theStDetConditions(hitMatcher,stripCPE),
88  thePxDetConditions(pixelCPE)
89 {
90  this->initialize();
91  this->initializeStripStatus(stripQuality, stripQualityFlags, stripQualityDebugFlags);
92  this->initializePixelStatus(pixelQuality, pixelCabling, pixelQualityFlags, pixelQualityDebugFlags);
93 }
T getParameter(std::string const &) const
StMeasurementConditionSet theStDetConditions
void initializeStripStatus(const SiStripQuality *stripQuality, int qualityFlags, int qualityDebugFlags)
void initializePixelStatus(const SiPixelQuality *stripQuality, const SiPixelFedCabling *pixelCabling, int qualityFlags, int qualityDebugFlags)
const edm::ParameterSet & pset_
MeasurementTracker(TrackerGeometry const *trackerGeom, GeometricSearchTracker const *geometricSearchTracker)
PxMeasurementConditionSet thePxDetConditions
MeasurementTrackerImpl::~MeasurementTrackerImpl ( )
virtual

Definition at line 95 of file MeasurementTrackerImpl.cc.

96 {
97 }

Member Function Documentation

void MeasurementTrackerImpl::addGluedDet ( const GluedGeomDet gd)
protected

Definition at line 214 of file MeasurementTrackerImpl.cc.

References StMeasurementConditionSet::matcher(), StMeasurementConditionSet::stripCPE(), theGluedDets, and theStDetConditions.

Referenced by addStripDets().

215 {
216  theGluedDets.push_back(TkGluedMeasurementDet( gd, theStDetConditions.matcher(), theStDetConditions.stripCPE() ));
217 }
StMeasurementConditionSet theStDetConditions
const SiStripRecHitMatcher * matcher() const
const StripClusterParameterEstimator * stripCPE() const
std::vector< TkGluedMeasurementDet > theGluedDets
void MeasurementTrackerImpl::addPixelDet ( const GeomDet gd)
protected

Definition at line 204 of file MeasurementTrackerImpl.cc.

References thePixelDets, thePxDetConditions, and cms::Exception::what().

Referenced by addPixelDets().

205 {
206  try {
208  }
209  catch(MeasurementDetException& err){
210  edm::LogError("MeasurementDet") << "Oops, got a MeasurementDetException: " << err.what() ;
211  }
212 }
virtual char const * what() const
Definition: Exception.cc:141
std::vector< TkPixelMeasurementDet > thePixelDets
PxMeasurementConditionSet thePxDetConditions
void MeasurementTrackerImpl::addPixelDets ( const TrackingGeometry::DetContainer dets)
protected

Definition at line 161 of file MeasurementTrackerImpl.cc.

References addPixelDet().

Referenced by initialize().

162 {
163  for (TrackerGeometry::DetContainer::const_iterator gd=dets.begin();
164  gd != dets.end(); gd++) {
165  addPixelDet(*gd);
166  }
167 }
void addPixelDet(const GeomDet *gd)
void MeasurementTrackerImpl::addStripDet ( const GeomDet gd)
protected

Definition at line 194 of file MeasurementTrackerImpl.cc.

References theStDetConditions, theStripDets, and cms::Exception::what().

Referenced by addStripDets().

195 {
196  try {
197  theStripDets.push_back(TkStripMeasurementDet( gd, theStDetConditions ));
198  }
199  catch(MeasurementDetException& err){
200  edm::LogError("MeasurementDet") << "Oops, got a MeasurementDetException: " << err.what() ;
201  }
202 }
virtual char const * what() const
Definition: Exception.cc:141
std::vector< TkStripMeasurementDet > theStripDets
StMeasurementConditionSet theStDetConditions
void MeasurementTrackerImpl::addStripDets ( const TrackingGeometry::DetContainer dets)
protected

Definition at line 169 of file MeasurementTrackerImpl.cc.

References addGluedDet(), and addStripDet().

Referenced by initialize().

170 {
171  for (TrackerGeometry::DetContainer::const_iterator gd=dets.begin();
172  gd != dets.end(); gd++) {
173 
174  const GeomDetUnit* gdu = dynamic_cast<const GeomDetUnit*>(*gd);
175 
176  // StripSubdetector stripId( (**gd).geographicalId());
177  // bool isDetUnit( gdu != 0);
178  // cout << "StripSubdetector glued? " << stripId.glued()
179  // << " is DetUnit? " << isDetUnit << endl;
180 
181  if (gdu != 0) {
182  addStripDet(*gd);
183  }
184  else {
185  const GluedGeomDet* gluedDet = dynamic_cast<const GluedGeomDet*>(*gd);
186  if (gluedDet == 0) {
187  throw MeasurementDetException("MeasurementTracker ERROR: GeomDet neither DetUnit nor GluedDet");
188  }
189  addGluedDet(gluedDet);
190  }
191  }
192 }
void addStripDet(const GeomDet *gd)
void addGluedDet(const GluedGeomDet *gd)
const DetContainer& MeasurementTrackerImpl::allDets ( ) const
inline

For debug only.

Definition at line 100 of file MeasurementTrackerImpl.h.

References theDetMap.

100 {return theDetMap;}
const MeasurementDet* MeasurementTrackerImpl::findDet ( const DetId id) const
inline

Definition at line 85 of file MeasurementTrackerImpl.h.

References theDetMap.

Referenced by idToDetBare(), and initGluedDet().

86  {
87  auto it = theDetMap.find(id);
88  if(it !=theDetMap.end()) {
89  return it->second;
90  }else{
91  //throw exception;
92  }
93 
94  return 0; //to avoid compile warning
95  }
const GeometricSearchTracker* MeasurementTrackerImpl::geometricSearchTracker ( ) const
inline

Definition at line 69 of file MeasurementTrackerImpl.h.

References MeasurementTracker::theGeometricSearchTracker.

const GeometricSearchTracker * theGeometricSearchTracker
const TrackingGeometry* MeasurementTrackerImpl::geomTracker ( ) const
inline

Definition at line 67 of file MeasurementTrackerImpl.h.

References MeasurementTracker::theTrackerGeom.

67 { return theTrackerGeom;}
const TrackerGeometry * theTrackerGeom
const std::vector<TkGluedMeasurementDet>& MeasurementTrackerImpl::gluedDets ( ) const
inline

Definition at line 103 of file MeasurementTrackerImpl.h.

References theGluedDets.

103 {return theGluedDets;}
std::vector< TkGluedMeasurementDet > theGluedDets
MeasurementDetWithData MeasurementTrackerImpl::idToDet ( const DetId id,
const MeasurementTrackerEvent data 
) const
inlinevirtual

MeasurementDetSystem interface (won't be overloaded anymore)

Implements MeasurementTracker.

Definition at line 73 of file MeasurementTrackerImpl.h.

References idToDetBare().

73  {
74  return MeasurementDetWithData(*idToDetBare(id, data), data);
75  }
const MeasurementDet * idToDetBare(const DetId &id, const MeasurementTrackerEvent &data) const
const MeasurementDet* MeasurementTrackerImpl::idToDetBare ( const DetId id,
const MeasurementTrackerEvent data 
) const
inline

Definition at line 78 of file MeasurementTrackerImpl.h.

References findDet().

Referenced by idToDet().

78  {
79  return findDet(id);
80  }
const MeasurementDet * findDet(const DetId &id) const
void MeasurementTrackerImpl::initGluedDet ( TkGluedMeasurementDet &  det)
protected

Definition at line 219 of file MeasurementTrackerImpl.cc.

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

Referenced by initialize().

220 {
221  const GluedGeomDet& gd = det.specificGeomDet();
222  const MeasurementDet* monoDet = findDet( gd.monoDet()->geographicalId());
223  const MeasurementDet* stereoDet = findDet( gd.stereoDet()->geographicalId());
224  if (monoDet == 0 || stereoDet == 0) {
225  edm::LogError("MeasurementDet") << "MeasurementTracker ERROR: GluedDet components not found as MeasurementDets ";
226  throw MeasurementDetException("MeasurementTracker ERROR: GluedDet components not found as MeasurementDets");
227  }
228  det.init(monoDet,stereoDet);
229  theDetMap[gd.geographicalId()] = &det;
230 }
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:20
const MeasurementDet * findDet(const DetId &id) const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21
void MeasurementTrackerImpl::initialize ( )
protected

Definition at line 100 of file MeasurementTrackerImpl.cc.

References addPixelDets(), addStripDets(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), TrackerGeometry::detsTEC(), TrackerGeometry::detsTIB(), TrackerGeometry::detsTID(), TrackerGeometry::detsTOB(), i, StMeasurementConditionSet::id(), PxMeasurementConditionSet::id(), initGluedDet(), initPxMeasurementConditionSet(), initStMeasurementConditionSet(), theDetMap, theGluedDets, thePixelDets, thePxDetConditions, theStDetConditions, theStripDets, and MeasurementTracker::theTrackerGeom.

Referenced by MeasurementTrackerImpl().

101 {
104 
109 
110  // fist all stripdets
111  sortTKD(theStripDets);
113  for (unsigned int i=0; i!=theStripDets.size(); ++i)
115 
116  // now the glued dets
117  sortTKD(theGluedDets);
118  for (unsigned int i=0; i!=theGluedDets.size(); ++i)
120 
121  // and then the pixels, at last
122  sortTKD(thePixelDets);
124  for (unsigned int i=0; i!=thePixelDets.size(); ++i)
126 
127 }
int i
Definition: DBlmapReader.cc:9
unsigned int id(int i) const
std::vector< TkStripMeasurementDet > theStripDets
StMeasurementConditionSet theStDetConditions
const TrackerGeometry * theTrackerGeom
void initGluedDet(TkGluedMeasurementDet &det)
void addPixelDets(const TrackingGeometry::DetContainer &dets)
void addStripDets(const TrackingGeometry::DetContainer &dets)
unsigned int id(int i) const
const DetContainer & detsTEC() const
std::vector< TkPixelMeasurementDet > thePixelDets
void initStMeasurementConditionSet(std::vector< TkStripMeasurementDet > &stripDets)
const DetContainer & detsPXB() const
const DetContainer & detsTIB() const
std::vector< TkGluedMeasurementDet > theGluedDets
PxMeasurementConditionSet thePxDetConditions
const DetContainer & detsPXF() const
const DetContainer & detsTOB() const
void initPxMeasurementConditionSet(std::vector< TkPixelMeasurementDet > &pixelDets)
const DetContainer & detsTID() const
void MeasurementTrackerImpl::initializePixelStatus ( const SiPixelQuality stripQuality,
const SiPixelFedCabling pixelCabling,
int  qualityFlags,
int  qualityDebugFlags 
)
protected

Definition at line 309 of file MeasurementTrackerImpl.cc.

References BadModules, BadROCs, cond::rpcobgas::detid, SiPixelQuality::getBadRocPositions(), SiPixelQuality::getBadRocs(), i, SiPixelQuality::IsModuleUsable(), thePixelDets, and MeasurementTracker::theTrackerGeom.

Referenced by MeasurementTrackerImpl().

309  {
310  if ((quality != 0) && (qualityFlags != 0)) {
311  edm::LogInfo("MeasurementTracker") << "qualityFlags = " << qualityFlags;
312  unsigned int on = 0, tot = 0, badrocs = 0;
313  for (std::vector<TkPixelMeasurementDet>::iterator i=thePixelDets.begin();
314  i!=thePixelDets.end(); i++) {
315  uint32_t detid = ((*i).geomDet().geographicalId()).rawId();
316  if (qualityFlags & BadModules) {
317  bool isOn = quality->IsModuleUsable(detid);
318  (i)->setActive(isOn);
319  tot++; on += (unsigned int) isOn;
320  if (qualityDebugFlags & BadModules) {
321  edm::LogInfo("MeasurementTracker")<< "MeasurementTrackerImpl::initializePixelStatus : detid " << detid << " is " << (isOn ? "on" : "off");
322  }
323  } else {
324  (i)->setActive(true);
325  }
326  if ((qualityFlags & BadROCs) && (quality->getBadRocs(detid) != 0)) {
327  std::vector<LocalPoint> badROCs = quality->getBadRocPositions(detid, *theTrackerGeom, pixelCabling);
328  badrocs += badROCs.size();
329  (i)->setBadRocPositions(badROCs);
330  } else {
331  (i)->clearBadRocPositions();
332  }
333  }
334  if (qualityDebugFlags & BadModules) {
335  edm::LogInfo("MeasurementTracker PixelModuleStatus") <<
336  " Total modules: " << tot << ", active " << on <<", inactive " << (tot - on);
337  }
338  if (qualityDebugFlags & BadROCs) {
339  edm::LogInfo("MeasurementTracker PixelROCStatus") << " Total of bad ROCs: " << badrocs ;
340  }
341  } else {
342  for (std::vector<TkPixelMeasurementDet>::iterator i=thePixelDets.begin();
343  i!=thePixelDets.end(); i++) {
344  (i)->setActive(true); // module ON
345  }
346  }
347 }
int i
Definition: DBlmapReader.cc:9
const TrackerGeometry * theTrackerGeom
std::vector< TkPixelMeasurementDet > thePixelDets
void MeasurementTrackerImpl::initializeStripStatus ( const SiStripQuality stripQuality,
int  qualityFlags,
int  qualityDebugFlags 
)
protected

Definition at line 232 of file MeasurementTrackerImpl.cc.

References BadAPVFibers, BadModules, StMeasurementConditionSet::badStripCuts_, BadStrips, cond::rpcobgas::detid, StMeasurementConditionSet::getBadStripBlocks(), edm::ParameterSet::getParameter(), i, StMeasurementConditionSet::id(), j, MaskBad128StripBlocks, StMeasurementConditionSet::nDet(), pset_, StMeasurementConditionSet::set128StripStatus(), StMeasurementConditionSet::setActive(), StMeasurementConditionSet::setMaskBad128StripBlocks(), SiStripDetId::TEC, theStDetConditions, SiStripDetId::TIB, SiStripDetId::TID, and SiStripDetId::TOB.

Referenced by MeasurementTrackerImpl().

232  {
233  edm::ParameterSet cutPset = pset_.getParameter<edm::ParameterSet>("badStripCuts");
234  if (qualityFlags & BadStrips) {
235  typedef StMeasurementConditionSet::BadStripCuts BadStripCuts;
240  }
242 
243 
244  if ((quality != 0) && (qualityFlags != 0)) {
245  edm::LogInfo("MeasurementTracker") << "qualityFlags = " << qualityFlags;
246  unsigned int on = 0, tot = 0;
247  unsigned int foff = 0, ftot = 0, aoff = 0, atot = 0;
248  for (int i=0; i!= theStDetConditions.nDet(); i++) {
249  uint32_t detid = theStDetConditions.id(i);
250  if (qualityFlags & BadModules) {
251  bool isOn = quality->IsModuleUsable(detid);
253  tot++; on += (unsigned int) isOn;
254  if (qualityDebugFlags & BadModules) {
255  edm::LogInfo("MeasurementTracker")<< "MeasurementTrackerImpl::initializeStripStatus : detid " << detid << " is " << (isOn ? "on" : "off");
256  }
257  } else {
259  }
260  // first turn all APVs and fibers ON
262  if (qualityFlags & BadAPVFibers) {
263  short badApvs = quality->getBadApvs(detid);
264  short badFibers = quality->getBadFibers(detid);
265  for (int j = 0; j < 6; j++) {
266  atot++;
267  if (badApvs & (1 << j)) {
269  aoff++;
270  }
271  }
272  for (int j = 0; j < 3; j++) {
273  ftot++;
274  if (badFibers & (1 << j)) {
277  foff++;
278  }
279  }
280  }
281  auto & badStrips = theStDetConditions.getBadStripBlocks(i);
282  badStrips.clear();
283  if (qualityFlags & BadStrips) {
284  SiStripBadStrip::Range range = quality->getRange(detid);
285  for (SiStripBadStrip::ContainerIterator bit = range.first; bit != range.second; ++bit) {
286  badStrips.push_back(quality->decode(*bit));
287  }
288  }
289  }
290  if (qualityDebugFlags & BadModules) {
291  edm::LogInfo("MeasurementTracker StripModuleStatus") <<
292  " Total modules: " << tot << ", active " << on <<", inactive " << (tot - on);
293  }
294  if (qualityDebugFlags & BadAPVFibers) {
295  edm::LogInfo("MeasurementTracker StripAPVStatus") <<
296  " Total APVs: " << atot << ", active " << (atot-aoff) <<", inactive " << (aoff);
297  edm::LogInfo("MeasurementTracker StripFiberStatus") <<
298  " Total Fibers: " << ftot << ", active " << (ftot-foff) <<", inactive " << (foff);
299  }
300  } else {
301  for (int i=0; i!=theStDetConditions.nDet(); i++) {
302  theStDetConditions.setActive(i,true); // module ON
303  theStDetConditions.set128StripStatus(i,true); // all APVs and fibers ON
304  }
305  }
306 
307 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
StMeasurementConditionSet theStDetConditions
std::vector< unsigned int >::const_iterator ContainerIterator
unsigned int id(int i) const
void setActive(int i, bool active)
Turn on/off the module for reconstruction, for the full run or lumi (using info from DB...
std::vector< BadStripBlock > & getBadStripBlocks(int i)
int j
Definition: DBlmapReader.cc:9
const edm::ParameterSet & pset_
void setMaskBad128StripBlocks(bool maskThem)
std::pair< ContainerIterator, ContainerIterator > Range
void set128StripStatus(int i, bool good, int idx=-1)
void MeasurementTrackerImpl::initPxMeasurementConditionSet ( std::vector< TkPixelMeasurementDet > &  pixelDets)
protected

Definition at line 145 of file MeasurementTrackerImpl.cc.

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

Referenced by initialize().

146 {
147  // assume vector is full and ordered!
148  int size = pixelDets.size();
149  thePxDetConditions.init(size);
150 
151  for (int i=0; i!=size; ++i) {
152  auto & mdet = pixelDets[i];
153  mdet.setIndex(i);
154  thePxDetConditions.id_[i] = mdet.specificGeomDet().geographicalId().rawId();
155  }
156 }
int i
Definition: DBlmapReader.cc:9
const std::vector< TkPixelMeasurementDet > & pixelDets() const
std::vector< unsigned int > id_
PxMeasurementConditionSet thePxDetConditions
tuple size
Write out results.
void MeasurementTrackerImpl::initStMeasurementConditionSet ( std::vector< TkStripMeasurementDet > &  stripDets)
protected

Definition at line 129 of file MeasurementTrackerImpl.cc.

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

Referenced by initialize().

130 {
131  // assume vector is full and ordered!
132  int size = stripDets.size();
133  theStDetConditions.init(size);
134  for (int i=0; i!=size; ++i) {
135  auto & mdet = stripDets[i];
136  mdet.setIndex(i);
137  //intialize the detId !
138  theStDetConditions.id_[i] = mdet.specificGeomDet().geographicalId().rawId();
140  //initalize the total number of strips
141  theStDetConditions.totalStrips_[i] = mdet.specificGeomDet().specificTopology().nstrips();
142  }
143 }
int i
Definition: DBlmapReader.cc:9
StMeasurementConditionSet theStDetConditions
std::vector< unsigned char > subId_
const std::vector< TkStripMeasurementDet > & stripDets() const
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
std::vector< int > totalStrips_
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
std::vector< unsigned int > id_
tuple size
Write out results.
virtual const PxMeasurementConditionSet& MeasurementTrackerImpl::pixelDetConditions ( ) const
inlinevirtual

Implements MeasurementTracker.

Definition at line 106 of file MeasurementTrackerImpl.h.

References thePxDetConditions.

106 { return thePxDetConditions; }
PxMeasurementConditionSet thePxDetConditions
const std::vector<TkPixelMeasurementDet>& MeasurementTrackerImpl::pixelDets ( ) const
inline

Definition at line 102 of file MeasurementTrackerImpl.h.

References thePixelDets.

102 {return thePixelDets;}
std::vector< TkPixelMeasurementDet > thePixelDets
virtual const StMeasurementConditionSet& MeasurementTrackerImpl::stripDetConditions ( ) const
inlinevirtual

Provide templates to be filled in.

Implements MeasurementTracker.

Definition at line 105 of file MeasurementTrackerImpl.h.

References theStDetConditions.

105 { return theStDetConditions; }
StMeasurementConditionSet theStDetConditions
const std::vector<TkStripMeasurementDet>& MeasurementTrackerImpl::stripDets ( ) const
inline

Definition at line 101 of file MeasurementTrackerImpl.h.

References theStripDets.

101 {return theStripDets;}
std::vector< TkStripMeasurementDet > theStripDets

Member Data Documentation

const std::string MeasurementTrackerImpl::name_
protected

Definition at line 110 of file MeasurementTrackerImpl.h.

const edm::ParameterSet& MeasurementTrackerImpl::pset_
protected

Definition at line 109 of file MeasurementTrackerImpl.h.

Referenced by initializeStripStatus().

DetContainer MeasurementTrackerImpl::theDetMap
protected

Definition at line 115 of file MeasurementTrackerImpl.h.

Referenced by allDets(), findDet(), initGluedDet(), and initialize().

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

Definition at line 119 of file MeasurementTrackerImpl.h.

Referenced by addGluedDet(), gluedDets(), and initialize().

const SiPixelFedCabling* MeasurementTrackerImpl::thePixelCabling
protected

Definition at line 121 of file MeasurementTrackerImpl.h.

std::vector<TkPixelMeasurementDet> MeasurementTrackerImpl::thePixelDets
protected
PxMeasurementConditionSet MeasurementTrackerImpl::thePxDetConditions
protected
StMeasurementConditionSet MeasurementTrackerImpl::theStDetConditions
protected
std::vector<TkStripMeasurementDet> MeasurementTrackerImpl::theStripDets
protected

Definition at line 118 of file MeasurementTrackerImpl.h.

Referenced by addStripDet(), initialize(), and stripDets().