CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TkStripMeasurementDet Class Reference

#include <TkStripMeasurementDet.h>

Inheritance diagram for TkStripMeasurementDet:
MeasurementDet

Classes

struct  BadStripBlock
 
struct  BadStripCuts
 

Public Types

typedef std::vector
< SiStripCluster >
::const_iterator 
const_iterator
 
typedef edmNew::DetSet
< SiStripCluster
detset
 
typedef
StripClusterParameterEstimator::LocalValues 
LocalValues
 
typedef detset::const_iterator new_const_iterator
 
typedef SiStripRecHit2D::ClusterRef SiStripClusterRef
 
typedef edm::LazyGetter
< SiStripCluster >::value_ref 
SiStripRegionalClusterRef
 
typedef
StripClusterParameterEstimator::VLocalValues 
VLocalValues
 
- Public Types inherited from MeasurementDet
typedef
TransientTrackingRecHit::ConstRecHitContainer 
RecHitContainer
 

Public Member Functions

bool accept (SiStripClusterRef &r) const
 
bool accept (SiStripRegionalClusterRef &r) const
 
TransientTrackingRecHit::RecHitPointer buildRecHit (const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TransientTrackingRecHit::RecHitPointer buildRecHit (const SiStripRegionalClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TkStripMeasurementDet::RecHitContainer buildRecHits (const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
TkStripMeasurementDet::RecHitContainer buildRecHits (const SiStripRegionalClusterRef &, const TrajectoryStateOnSurface &ltp) const
 
virtual std::vector
< TrajectoryMeasurement
fastMeasurements (const TrajectoryStateOnSurface &stateOnThisDet, const TrajectoryStateOnSurface &startingState, const Propagator &, const MeasurementEstimator &) const
 
std::vector< BadStripBlock > & getBadStripBlocks ()
 
bool hasAllGoodChannels () const
 does this module have at least one bad strip, APV or channel? More...
 
bool hasBadComponents (const TrajectoryStateOnSurface &tsos) const
 
bool isActive () const
 Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'. More...
 
bool isEmpty ()
 
unsigned int rawId () const
 
virtual RecHitContainer recHits (const TrajectoryStateOnSurface &) const
 
void set128StripStatus (bool good, int idx=-1)
 Sets the status of a block of 128 strips (or all blocks if idx=-1) More...
 
void setActive (bool active)
 Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually). This also resets the 'setActiveThisEvent' to true. More...
 
void setActiveThisEvent (bool active)
 Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call to 'update' or 'setEmpty'. More...
 
void setBadStripCuts (BadStripCuts cuts)
 
template<typename IT >
void setClusterToSkip (IT begin, IT end)
 
void setEmpty ()
 
void setMaskBad128StripBlocks (bool maskThem)
 
template<typename IT >
void setRegionalClustersToSkip (IT begin, IT end)
 
void simpleRecHits (const TrajectoryStateOnSurface &ts, std::vector< SiStripRecHit2D > &result) const
 
int size () const
 
const StripGeomDetUnitspecificGeomDet () const
 
bool testStrips (float utraj, float uerr) const
 return true if there are 'enough' good strips in the utraj +/- 3 uerr range. More...
 
const detsettheSet ()
 
 TkStripMeasurementDet (const GeomDet *gdet, const StripClusterParameterEstimator *cpe, bool regional)
 
void unset ()
 
void update (const detset &detSet, const edm::Handle< edmNew::DetSetVector< SiStripCluster > > h, unsigned int id)
 
void update (std::vector< SiStripCluster >::const_iterator begin, std::vector< SiStripCluster >::const_iterator end, const edm::Handle< edm::LazyGetter< SiStripCluster > > h, unsigned int id)
 
virtual ~TkStripMeasurementDet ()
 
- Public Member Functions inherited from MeasurementDet
virtual const GeomDetgeomDet () const
 
 MeasurementDet (const GeomDet *gdet)
 
const Surface::PositionTypeposition () const
 
const BoundSurfacesurface () const
 

Private Member Functions

template<class ClusterRefT >
void buildSimpleRecHit (const ClusterRefT &cluster, const TrajectoryStateOnSurface &ltp, std::vector< SiStripRecHit2D > &res) const
 
bool isMasked (const SiStripCluster &cluster) const
 

Private Attributes

bool activeThisEvent_
 
bool activeThisPeriod_
 
bool bad128Strip_ [6]
 
std::vector< BadStripBlockbadStripBlocks_
 
BadStripCuts badStripCuts_
 
uint beginClusterI_
 
detset detSet_
 
bool empty
 
uint endClusterI_
 
edm::Handle
< edmNew::DetSetVector
< SiStripCluster > > 
handle_
 
bool hasAny128StripBad_
 
unsigned int id_
 
bool isRegional
 
bool maskBad128StripBlocks_
 
edm::Handle< edm::LazyGetter
< SiStripCluster > > 
regionalHandle_
 
std::set< SiStripClusterRefskipClusters_
 
std::set
< SiStripRegionalClusterRef
skipRegClusters_
 
const
StripClusterParameterEstimator
theCPE
 
const StripGeomDetUnittheStripGDU
 
int totalStrips_
 

Detailed Description

Definition at line 22 of file TkStripMeasurementDet.h.

Member Typedef Documentation

Definition at line 35 of file TkStripMeasurementDet.h.

Definition at line 32 of file TkStripMeasurementDet.h.

Definition at line 25 of file TkStripMeasurementDet.h.

Definition at line 33 of file TkStripMeasurementDet.h.

Definition at line 28 of file TkStripMeasurementDet.h.

Definition at line 30 of file TkStripMeasurementDet.h.

Definition at line 26 of file TkStripMeasurementDet.h.

Constructor & Destructor Documentation

virtual TkStripMeasurementDet::~TkStripMeasurementDet ( )
inlinevirtual

Definition at line 37 of file TkStripMeasurementDet.h.

37 {}
TkStripMeasurementDet::TkStripMeasurementDet ( const GeomDet gdet,
const StripClusterParameterEstimator cpe,
bool  regional 
)

Definition at line 17 of file TkStripMeasurementDet.cc.

References GeomDet::geographicalId(), id_, StripTopology::nstrips(), DetId::rawId(), specificGeomDet(), StripGeomDetUnit::specificTopology(), theStripGDU, and totalStrips_.

19  :
20  MeasurementDet (gdet),
21  isRegional(regional),
22  empty(true),
24  theCPE(cpe)
25  {
26  theStripGDU = dynamic_cast<const StripGeomDetUnit*>(gdet);
27  if (theStripGDU == 0) {
28  throw MeasurementDetException( "TkStripMeasurementDet constructed with a GeomDet which is not a StripGeomDetUnit");
29  }
30 
31  //intialize the detId !
32  id_ = gdet->geographicalId().rawId();
33  //initalize the total number of strips
35  }
virtual int nstrips() const =0
const StripClusterParameterEstimator * theCPE
MeasurementDet(const GeomDet *gdet)
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
const StripGeomDetUnit & specificGeomDet() const
const StripGeomDetUnit * theStripGDU

Member Function Documentation

bool TkStripMeasurementDet::accept ( SiStripClusterRef r) const
inline
bool TkStripMeasurementDet::accept ( SiStripRegionalClusterRef r) const
inline

Definition at line 202 of file TkStripMeasurementDet.h.

References skipRegClusters_.

Referenced by python.Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), and python.Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply().

202  {
203  return (skipRegClusters_.find(r) == skipRegClusters_.end());
204  }
std::set< SiStripRegionalClusterRef > skipRegClusters_
TransientTrackingRecHit::RecHitPointer TkStripMeasurementDet::buildRecHit ( const SiStripClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 195 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), MeasurementDet::geomDet(), ClusterParameterEstimator< T >::localParameters(), specificGeomDet(), and theCPE.

Referenced by recHits().

197 {
198  const GeomDetUnit& gdu( specificGeomDet());
199  LocalValues lv = theCPE->localParameters( *cluster, gdu, ltp);
200  return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, &geomDet(), cluster, theCPE);
201 }
const StripClusterParameterEstimator * theCPE
StripClusterParameterEstimator::LocalValues LocalValues
virtual const GeomDet & geomDet() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripGeomDetUnit & specificGeomDet() const
TransientTrackingRecHit::RecHitPointer TkStripMeasurementDet::buildRecHit ( const SiStripRegionalClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 204 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), MeasurementDet::geomDet(), ClusterParameterEstimator< T >::localParameters(), specificGeomDet(), and theCPE.

206 {
207  const GeomDetUnit& gdu( specificGeomDet());
208  LocalValues lv = theCPE->localParameters( *cluster, gdu, ltp);
209  return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, &geomDet(), cluster, theCPE);
210 }
const StripClusterParameterEstimator * theCPE
StripClusterParameterEstimator::LocalValues LocalValues
virtual const GeomDet & geomDet() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripGeomDetUnit & specificGeomDet() const
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::buildRecHits ( const SiStripClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 215 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), MeasurementDet::geomDet(), ClusterParameterEstimator< T >::localParametersV(), specificGeomDet(), and theCPE.

Referenced by fastMeasurements().

217 {
218  const GeomDetUnit& gdu( specificGeomDet());
219  VLocalValues vlv = theCPE->localParametersV( *cluster, gdu, ltp);
220  RecHitContainer res;
221  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
222  res.push_back(TSiStripRecHit2DLocalPos::build( it->first, it->second, &geomDet(), cluster, theCPE));
223  }
224  return res;
225 }
const StripClusterParameterEstimator * theCPE
StripClusterParameterEstimator::VLocalValues VLocalValues
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::buildRecHits ( const SiStripRegionalClusterRef cluster,
const TrajectoryStateOnSurface ltp 
) const

Definition at line 229 of file TkStripMeasurementDet.cc.

References TSiStripRecHit2DLocalPos::build(), MeasurementDet::geomDet(), ClusterParameterEstimator< T >::localParametersV(), specificGeomDet(), and theCPE.

231 {
232  const GeomDetUnit& gdu( specificGeomDet());
233  VLocalValues vlv = theCPE->localParametersV( *cluster, gdu, ltp);
234  RecHitContainer res;
235  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
236  res.push_back(TSiStripRecHit2DLocalPos::build( it->first, it->second, &geomDet(), cluster, theCPE));
237  }
238  return res;
239 }
const StripClusterParameterEstimator * theCPE
StripClusterParameterEstimator::VLocalValues VLocalValues
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
template<class ClusterRefT >
void TkStripMeasurementDet::buildSimpleRecHit ( const ClusterRefT &  cluster,
const TrajectoryStateOnSurface ltp,
std::vector< SiStripRecHit2D > &  res 
) const
private

Definition at line 276 of file TkStripMeasurementDet.cc.

References MeasurementDet::geomDet(), ClusterParameterEstimator< T >::localParametersV(), specificGeomDet(), and theCPE.

Referenced by simpleRecHits().

279 {
280  const GeomDetUnit& gdu( specificGeomDet());
281  VLocalValues vlv = theCPE->localParametersV( *cluster, gdu, ltp);
282  for(VLocalValues::const_iterator it=vlv.begin();it!=vlv.end();++it){
283  res.push_back(SiStripRecHit2D( it->first, it->second, geomDet().geographicalId(), cluster));
284  }
285 }
const StripClusterParameterEstimator * theCPE
StripClusterParameterEstimator::VLocalValues VLocalValues
virtual const GeomDet & geomDet() const
virtual VLocalValues localParametersV(const T &cluster, const GeomDetUnit &gd) const
const StripGeomDetUnit & specificGeomDet() const
std::vector< TrajectoryMeasurement > TkStripMeasurementDet::fastMeasurements ( const TrajectoryStateOnSurface stateOnThisDet,
const TrajectoryStateOnSurface startingState,
const Propagator ,
const MeasurementEstimator  
) const
virtual

faster version in case the TrajectoryState on the surface of the Det is already available. The first TrajectoryStateOnSurface is on the surface of this Det, and the second TrajectoryStateOnSurface is the statrting state, usually not on the surface of this Det. The stateOnThisDet should the result of
prop.propagate( startingState, this->surface())

Implements MeasurementDet.

Definition at line 39 of file TkStripMeasurementDet.cc.

References accept(), edmNew::DetSet< T >::begin(), beginClusterI_, InvalidTransientRecHit::build(), buildRecHits(), detSet_, empty, edmNew::DetSet< T >::end(), endClusterI_, MeasurementEstimator::estimate(), GeomDet::geographicalId(), MeasurementDet::geomDet(), handle_, TrajectoryStateOnSurface::hasError(), TrackingRecHit::inactive, isActive(), isMasked(), isRegional, edm::Ref< C, T, F >::key(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), Topology::measurementError(), Topology::measurementPosition(), TrackingRecHit::missing, LocalTrajectoryError::positionError(), DetId::rawId(), recHits(), regionalHandle_, query::result, size(), python.multivaluedict::sort(), StripGeomDetUnit::specificTopology(), mathSSE::sqrt(), testStrips(), theStripGDU, and x.

43 {
44  std::vector<TrajectoryMeasurement> result;
45 
46  if (isActive() == false) {
47  result.push_back( TrajectoryMeasurement( stateOnThisDet,
49  0.F));
50  // LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " inactive";
51  return result;
52  }
53 
54  float utraj = theStripGDU->specificTopology().measurementPosition( stateOnThisDet.localPosition()).x();
55  float uerr;
56  // if (theClusterRange.first == theClusterRange.second) { // empty
57  if (empty == true){
58  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " empty ";
59  if (stateOnThisDet.hasError()){
60  uerr= sqrt(theStripGDU->specificTopology().measurementError(stateOnThisDet.localPosition(),stateOnThisDet.localError().positionError()).uu());
61  if (testStrips(utraj,uerr)) {
62  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::missing), 0.F));
63  } else {
64  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::inactive), 0.F));
65  }
66  }else{
67  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::missing), 0.F));
68  }
69  return result;
70  }
71 
72  if(!isRegional){//old implemetation with DetSet
73  new_const_iterator rightCluster =
74  std::find_if( detSet_.begin(), detSet_.end(), StripClusterAboveU( utraj)); //FIXME
75 
76  if ( rightCluster != detSet_.begin()) {
77  // there are hits on the left of the utraj
78  new_const_iterator leftCluster = rightCluster;
79  while ( --leftCluster >= detSet_.begin()) {
80  if (isMasked(*leftCluster)) continue;
81  SiStripClusterRef clusterref = edmNew::makeRefTo( handle_, leftCluster );
82  if (accept(clusterref)){
83  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
84  bool isCompatible(false);
85  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
86  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
87  if ( diffEst.first ) {
88  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
89  diffEst.second));
90  isCompatible = true;
91  }
92  }
93  if(!isCompatible) break; // exit loop on first incompatible hit
94  }
95  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterref.key();
96  }
97  }
98 
99  for ( ; rightCluster != detSet_.end(); rightCluster++) {
100  if (isMasked(*rightCluster)) continue;
101  SiStripClusterRef clusterref = edmNew::makeRefTo( handle_, rightCluster );
102  if (accept(clusterref)){
103  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
104  bool isCompatible(false);
105  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
106  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
107  if ( diffEst.first ) {
108  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
109  diffEst.second));
110  isCompatible = true;
111  }
112  }
113  if(!isCompatible) break; // exit loop on first incompatible hit
114  }
115  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterref.key();
116  }
117  }// end block with DetSet
118  else{
119  result.reserve(size());
120  uint rightCluster = beginClusterI_;
121  for (; rightCluster!= endClusterI_;++rightCluster){
123  if (clusterref->barycenter() > utraj) break;
124  }
125 
126  uint leftCluster = 1;
127  for (uint iReadBackWard=1; iReadBackWard<=(rightCluster-beginClusterI_) ; ++iReadBackWard){
128  leftCluster=rightCluster-iReadBackWard;
130  if (isMasked(*clusterref)) continue;
131  if (accept(clusterref)){
132  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
133  bool isCompatible(false);
134  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
135  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
136  if ( diffEst.first ) {
137  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
138  diffEst.second));
139  isCompatible = true;
140  }
141  }
142  if(!isCompatible) break; // exit loop on first incompatible hit
143  }
144  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterref.key();
145  }
146 
147  for ( ; rightCluster != endClusterI_; ++rightCluster) {
149  if (isMasked(*clusterref)) continue;
150  if (accept(clusterref)){
151  RecHitContainer recHits = buildRecHits(clusterref,stateOnThisDet);
152  bool isCompatible(false);
153  for(RecHitContainer::const_iterator recHit=recHits.begin();recHit!=recHits.end();++recHit){
154  std::pair<bool,double> diffEst = est.estimate(stateOnThisDet, **recHit);
155  if ( diffEst.first ) {
156  result.push_back( TrajectoryMeasurement( stateOnThisDet, *recHit,
157  diffEst.second));
158  isCompatible = true;
159  }
160  }
161  if(!isCompatible) break; // exit loop on first incompatible hit
162  }
163  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterref.key();
164  }
165  }
166 
167 
168  if ( result.empty()) {
169  // create a TrajectoryMeasurement with an invalid RecHit and zero estimate
170  if (stateOnThisDet.hasError()){
171  uerr= sqrt(theStripGDU->specificTopology().measurementError(stateOnThisDet.localPosition(),stateOnThisDet.localError().positionError()).uu());
172  if (testStrips(utraj,uerr)) {
173  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " empty after search, but active ";
174  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::missing), 0.F));
175  } else {
176  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " empty after search, and inactive ";
177  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::inactive), 0.F));
178  }
179  }else{
180  result.push_back( TrajectoryMeasurement( stateOnThisDet, InvalidTransientRecHit::build(&geomDet(), TrackingRecHit::missing), 0.F));
181  }
182  }
183  else {
184  //LogDebug("TkStripMeasurementDet") << " DetID " << id_ << " full: " << (result.size()) << " compatible hits";
185  // sort results according to estimator value
186  if ( result.size() > 1) {
187  sort( result.begin(), result.end(), TrajMeasLessEstim());
188  }
189  }
190  return result;
191 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &) const
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
LocalError positionError() const
bool isMasked(const SiStripCluster &cluster) const
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
T sqrt(T t)
Definition: SSEVec.h:28
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
TkStripMeasurementDet::RecHitContainer buildRecHits(const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
const LocalTrajectoryError & localError() const
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
edm::Handle< edmNew::DetSetVector< SiStripCluster > > handle_
const StripGeomDetUnit * theStripGDU
SiStripRecHit2D::ClusterRef SiStripClusterRef
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool testStrips(float utraj, float uerr) const
return true if there are &#39;enough&#39; good strips in the utraj +/- 3 uerr range.
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
Definition: DDAxes.h:10
edm::Handle< edm::LazyGetter< SiStripCluster > > regionalHandle_
iterator begin()
Definition: DetSetNew.h:56
std::vector<BadStripBlock>& TkStripMeasurementDet::getBadStripBlocks ( )
inline

Definition at line 138 of file TkStripMeasurementDet.h.

References badStripBlocks_.

138 { return badStripBlocks_; }
std::vector< BadStripBlock > badStripBlocks_
bool TkStripMeasurementDet::hasAllGoodChannels ( ) const
inline

does this module have at least one bad strip, APV or channel?

Definition at line 115 of file TkStripMeasurementDet.h.

References badStripBlocks_, and hasAny128StripBad_.

Referenced by TkGluedMeasurementDet::fastMeasurements().

115 { return !hasAny128StripBad_ && badStripBlocks_.empty(); }
std::vector< BadStripBlock > badStripBlocks_
bool TkStripMeasurementDet::hasBadComponents ( const TrajectoryStateOnSurface tsos) const
inlinevirtual

Implements MeasurementDet.

Definition at line 69 of file TkStripMeasurementDet.h.

69 {return false;}
bool TkStripMeasurementDet::isActive ( ) const
inlinevirtual

Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'.

Implements MeasurementDet.

Definition at line 66 of file TkStripMeasurementDet.h.

References activeThisEvent_, and activeThisPeriod_.

Referenced by TkGluedMeasurementDet::fastMeasurements(), fastMeasurements(), TkGluedMeasurementDet::isActive(), recHits(), and simpleRecHits().

bool TkStripMeasurementDet::isEmpty ( void  )
inline

Definition at line 99 of file TkStripMeasurementDet.h.

References empty.

bool TkStripMeasurementDet::isMasked ( const SiStripCluster cluster) const
inlineprivate

Definition at line 174 of file TkStripMeasurementDet.h.

References SiStripCluster::amplitudes(), bad128Strip_, SiStripCluster::barycenter(), and SiStripCluster::firstStrip().

Referenced by fastMeasurements(), recHits(), and simpleRecHits().

174  {
175  if ( bad128Strip_[cluster.firstStrip() >> 7] ) {
176  if ( bad128Strip_[(cluster.firstStrip()+cluster.amplitudes().size()) >> 7] ||
177  bad128Strip_[static_cast<int32_t>(cluster.barycenter()-0.499999) >> 7] ) {
178  return true;
179  }
180  } else {
181  if ( bad128Strip_[(cluster.firstStrip()+cluster.amplitudes().size()) >> 7] &&
182  bad128Strip_[static_cast<int32_t>(cluster.barycenter()-0.499999) >> 7] ) {
183  return true;
184  }
185  }
186  return false;
187  }
uint16_t firstStrip() const
float barycenter() const
const std::vector< uint8_t > & amplitudes() const
unsigned int TkStripMeasurementDet::rawId ( ) const
inline

Definition at line 101 of file TkStripMeasurementDet.h.

References id_.

101 { return id_; }
TkStripMeasurementDet::RecHitContainer TkStripMeasurementDet::recHits ( const TrajectoryStateOnSurface ts) const
virtual

Implements MeasurementDet.

Definition at line 244 of file TkStripMeasurementDet.cc.

References accept(), edmNew::DetSet< T >::begin(), beginClusterI_, buildRecHit(), detSet_, empty, edmNew::DetSet< T >::end(), endClusterI_, GeomDet::geographicalId(), MeasurementDet::geomDet(), handle_, isActive(), isMasked(), isRegional, edm::Ref< C, T, F >::key(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), DetId::rawId(), regionalHandle_, query::result, edmNew::DetSet< T >::size(), and size().

Referenced by TkGluedMeasurementDet::collectRecHits(), and fastMeasurements().

245 {
247  if (empty == true) return result;
248  if (isActive() == false) return result; // GIO
249 
250  if(!isRegional){//old implemetation with DetSet
251  result.reserve(detSet_.size());
252  for ( new_const_iterator ci = detSet_.begin(); ci != detSet_.end(); ++ ci ) {
253  if (isMasked(*ci)) continue;
254  // for ( ClusterIterator ci=theClusterRange.first; ci != theClusterRange.second; ci++) {
255  SiStripClusterRef cluster = edmNew::makeRefTo( handle_, ci );
256  if (accept(cluster))
257  result.push_back( buildRecHit( cluster, ts));
258  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<cluster.key();
259  }
260  }else{
261  result.reserve(size());
262  for (uint ci = beginClusterI_ ; ci!= endClusterI_;++ci){
264  if (isMasked(*clusterRef)) continue;
265  if (accept(clusterRef))
266  result.push_back( buildRecHit( clusterRef, ts));
267  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterRef.key();
268  }
269  }
270  return result;
271 
272 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
TransientTrackingRecHit::RecHitPointer buildRecHit(const SiStripClusterRef &, const TrajectoryStateOnSurface &ltp) const
bool isMasked(const SiStripCluster &cluster) const
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
edm::Handle< edmNew::DetSetVector< SiStripCluster > > handle_
SiStripRecHit2D::ClusterRef SiStripClusterRef
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
size_type size() const
Definition: DetSetNew.h:75
edm::Handle< edm::LazyGetter< SiStripCluster > > regionalHandle_
iterator begin()
Definition: DetSetNew.h:56
void TkStripMeasurementDet::set128StripStatus ( bool  good,
int  idx = -1 
)

Sets the status of a block of 128 strips (or all blocks if idx=-1)

Definition at line 317 of file TkStripMeasurementDet.cc.

References bad128Strip_, hasAny128StripBad_, and i.

317  {
318  if (idx == -1) {
319  std::fill(bad128Strip_, bad128Strip_+6, !good);
320  hasAny128StripBad_ = !good;
321  } else {
322  bad128Strip_[idx] = !good;
323  if (good == false) {
324  hasAny128StripBad_ = false;
325  } else { // this should not happen, as usually you turn on all fibers
326  // and then turn off the bad ones, and not vice-versa,
327  // so I don't care if it's not optimized
328  hasAny128StripBad_ = true;
329  for (int i = 0; i < (totalStrips_ >> 7); i++) {
330  if (bad128Strip_[i] == false) hasAny128StripBad_ = false;
331  }
332  }
333  }
334 
335 }
int i
Definition: DBlmapReader.cc:9
void TkStripMeasurementDet::setActive ( bool  active)
inline

Turn on/off the module for reconstruction, for the full run or lumi (using info from DB, usually). This also resets the 'setActiveThisEvent' to true.

Definition at line 109 of file TkStripMeasurementDet.h.

References activeThisEvent_, activeThisPeriod_, and empty.

void TkStripMeasurementDet::setActiveThisEvent ( bool  active)
inline

Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call to 'update' or 'setEmpty'.

Definition at line 112 of file TkStripMeasurementDet.h.

References activeThisEvent_, and empty.

Referenced by OnDemandMeasurementTracker::assign().

112 { activeThisEvent_ = active; if (!active) empty = true; }
void TkStripMeasurementDet::setBadStripCuts ( BadStripCuts  cuts)
inline

Definition at line 131 of file TkStripMeasurementDet.h.

References badStripCuts_.

131 { badStripCuts_ = cuts; }
template<typename IT >
void TkStripMeasurementDet::setClusterToSkip ( IT  begin,
IT  end 
)
inline

Definition at line 211 of file TkStripMeasurementDet.h.

References skipClusters_.

211  {
212  skipClusters_.clear();
213  skipClusters_.insert(begin,end);
214  }
std::set< SiStripClusterRef > skipClusters_
#define end
Definition: vmac.h:38
#define begin
Definition: vmac.h:31
void TkStripMeasurementDet::setEmpty ( )
inline
void TkStripMeasurementDet::setMaskBad128StripBlocks ( bool  maskThem)
inline

Definition at line 140 of file TkStripMeasurementDet.h.

References maskBad128StripBlocks_.

140 { maskBad128StripBlocks_ = maskThem; }
template<typename IT >
void TkStripMeasurementDet::setRegionalClustersToSkip ( IT  begin,
IT  end 
)
inline

Definition at line 216 of file TkStripMeasurementDet.h.

References skipRegClusters_.

Referenced by OnDemandMeasurementTracker::assign(), and MeasurementTracker::updateStrips().

216  {
217  skipRegClusters_.clear();
218  skipRegClusters_.insert(begin,end);
219  }
#define end
Definition: vmac.h:38
std::set< SiStripRegionalClusterRef > skipRegClusters_
#define begin
Definition: vmac.h:31
void TkStripMeasurementDet::simpleRecHits ( const TrajectoryStateOnSurface ts,
std::vector< SiStripRecHit2D > &  result 
) const

Definition at line 289 of file TkStripMeasurementDet.cc.

References accept(), edmNew::DetSet< T >::begin(), beginClusterI_, buildSimpleRecHit(), detSet_, empty, edmNew::DetSet< T >::end(), endClusterI_, GeomDet::geographicalId(), MeasurementDet::geomDet(), handle_, isActive(), isMasked(), isRegional, edm::Ref< C, T, F >::key(), LogDebug, edmNew::makeRefTo(), edm::makeRefToLazyGetter(), DetId::rawId(), regionalHandle_, edmNew::DetSet< T >::size(), and size().

Referenced by TkGluedMeasurementDet::collectRecHits().

290 {
291  if (empty || !isActive()) return;
292 
293  if(!isRegional){//old implemetation with DetSet
294  result.reserve(detSet_.size());
295  for ( new_const_iterator ci = detSet_.begin(); ci != detSet_.end(); ++ ci ) {
296  if (isMasked(*ci)) continue;
297  // for ( ClusterIterator ci=theClusterRange.first; ci != theClusterRange.second; ci++) {
298  SiStripClusterRef cluster = edmNew::makeRefTo( handle_, ci );
299  if (accept(cluster))
300  buildSimpleRecHit( cluster, ts,result);
301  else LogDebug("TkStripMeasurementDet")<<"skipping this str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<cluster.key();
302  }
303  }else{
304  result.reserve(size());
305  for (uint ci = beginClusterI_ ; ci!= endClusterI_;++ci){
307  if (isMasked(*clusterRef)) continue;
308  if (accept(clusterRef))
309  buildSimpleRecHit( clusterRef, ts,result);
310  else LogDebug("TkStripMeasurementDet")<<"skipping this reg str from last iteration on"<<geomDet().geographicalId().rawId()<<" key: "<<clusterRef.key();
311  }
312  }
313 }
#define LogDebug(id)
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
void buildSimpleRecHit(const ClusterRefT &cluster, const TrajectoryStateOnSurface &ltp, std::vector< SiStripRecHit2D > &res) const
virtual const GeomDet & geomDet() const
bool isMasked(const SiStripCluster &cluster) const
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
tuple result
Definition: query.py:137
Ref< LazyGetter< T >, T, FindValue< T > > makeRefToLazyGetter(const Handle< LazyGetter< T > > &handle, const uint32_t index)
Definition: LazyGetter.h:532
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
bool accept(SiStripClusterRef &r) const
edm::LazyGetter< SiStripCluster >::value_ref SiStripRegionalClusterRef
edm::Handle< edmNew::DetSetVector< SiStripCluster > > handle_
SiStripRecHit2D::ClusterRef SiStripClusterRef
iterator end()
Definition: DetSetNew.h:59
detset::const_iterator new_const_iterator
bool isActive() const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
size_type size() const
Definition: DetSetNew.h:75
edm::Handle< edm::LazyGetter< SiStripCluster > > regionalHandle_
iterator begin()
Definition: DetSetNew.h:56
int TkStripMeasurementDet::size ( void  ) const
inline
const StripGeomDetUnit& TkStripMeasurementDet::specificGeomDet ( ) const
inline
bool TkStripMeasurementDet::testStrips ( float  utraj,
float  uerr 
) const

return true if there are 'enough' good strips in the utraj +/- 3 uerr range.

Definition at line 338 of file TkStripMeasurementDet.cc.

References cond::ecalcond::bad(), badStripBlocks_, badStripCuts_, end, max(), TkStripMeasurementDet::BadStripCuts::maxBad, TkStripMeasurementDet::BadStripCuts::maxConsecutiveBad, min, convertSQLiteXML::ok, and totalStrips_.

Referenced by fastMeasurements(), and TkGluedMeasurementDet::testStrips().

338  {
339  int16_t start = (int16_t) std::max<float>(utraj - 3*uerr, 0);
340  int16_t end = (int16_t) std::min<float>(utraj + 3*uerr, totalStrips_);
341 
342  if (start >= end) { // which means either end <=0 or start >= totalStrips_
343  /* LogDebug("TkStripMeasurementDet") << "Testing module " << id_ <<","<<
344  " U = " << utraj << " +/- " << uerr <<
345  "; Range [" << (utraj - 3*uerr) << ", " << (utraj + 3*uerr) << "] " <<
346  ": YOU'RE COMPLETELY OFF THE MODULE."; */
347  //return false;
348  return true; // Wolfgang thinks this way is better
349  // and solves some problems with grouped ckf
350  }
351 
352  typedef std::vector<BadStripBlock>::const_iterator BSBIT;
353  BSBIT bsbc = badStripBlocks_.begin(), bsbe = badStripBlocks_.end();
354 
355  int16_t bad = 0, largestBadBlock = 0;
356  for (BSBIT bsbc = badStripBlocks_.begin(), bsbe = badStripBlocks_.end(); bsbc != bsbe; ++bsbc) {
357  if (bsbc->last < start) continue;
358  if (bsbc->first > end) break;
359  int16_t thisBad = std::min(bsbc->last, end) - std::max(bsbc->first, start);
360  if (thisBad > largestBadBlock) largestBadBlock = thisBad;
361  bad += thisBad;
362  }
363 
364  bool ok = (bad < (end-start)) &&
365  (uint16_t(bad) <= badStripCuts_.maxBad) &&
366  (uint16_t(largestBadBlock) <= badStripCuts_.maxConsecutiveBad);
367 
368 // if (bad) {
369 // edm::LogWarning("TkStripMeasurementDet") << "Testing module " << id_ <<" (subdet: "<< SiStripDetId(id_).subdetId() << ")" <<
370 // " U = " << utraj << " +/- " << uerr <<
371 // "; Range [" << (utraj - 3*uerr) << ", " << (utraj + 3*uerr) << "] " <<
372 // "= [" << start << "," << end << "]" <<
373 // " total strips:" << (end-start) << ", good:" << (end-start-bad) << ", bad:" << bad << ", largestBadBlock: " << largestBadBlock <<
374 // ". " << (ok ? "OK" : "NO");
375 // }
376  return ok;
377 }
#define min(a, b)
Definition: mlp_lapack.h:161
int bad(Items const &cont)
const T & max(const T &a, const T &b)
#define end
Definition: vmac.h:38
std::vector< BadStripBlock > badStripBlocks_
const detset& TkStripMeasurementDet::theSet ( )
inline

Definition at line 104 of file TkStripMeasurementDet.h.

References detSet_.

104 {return detSet_;}
void TkStripMeasurementDet::unset ( )
inline

Definition at line 206 of file TkStripMeasurementDet.h.

References skipClusters_, and skipRegClusters_.

Referenced by OnDemandMeasurementTracker::assign().

206  {
207  skipClusters_.clear();
208  skipRegClusters_.clear();
209  }
std::set< SiStripClusterRef > skipClusters_
std::set< SiStripRegionalClusterRef > skipRegClusters_
void TkStripMeasurementDet::update ( const detset detSet,
const edm::Handle< edmNew::DetSetVector< SiStripCluster > >  h,
unsigned int  id 
)
inline

Definition at line 43 of file TkStripMeasurementDet.h.

References detSet_, empty, h, handle_, id_, and isRegional.

Referenced by OnDemandMeasurementTracker::assign(), python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection(), and MeasurementTracker::updateStrips().

45  {
46  detSet_ = detSet;
47  handle_ = h;
48  id_ = id;
49  empty = false;
50  isRegional = false;
51  }
edm::Handle< edmNew::DetSetVector< SiStripCluster > > handle_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void TkStripMeasurementDet::update ( std::vector< SiStripCluster >::const_iterator  begin,
std::vector< SiStripCluster >::const_iterator  end,
const edm::Handle< edm::LazyGetter< SiStripCluster > >  h,
unsigned int  id 
)
inline

Definition at line 53 of file TkStripMeasurementDet.h.

References activeThisEvent_, beginClusterI_, empty, endClusterI_, h, id_, isRegional, and regionalHandle_.

Referenced by python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

55  {
57  beginClusterI_ = begin - regionalHandle_->begin_record();
58  endClusterI_ = end - regionalHandle_->begin_record();
59  id_ = id;
60  empty = false;
61  activeThisEvent_ = true;
62  isRegional = true;
63  }
#define end
Definition: vmac.h:38
#define begin
Definition: vmac.h:31
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
edm::Handle< edm::LazyGetter< SiStripCluster > > regionalHandle_

Member Data Documentation

bool TkStripMeasurementDet::activeThisEvent_
private

Definition at line 148 of file TkStripMeasurementDet.h.

Referenced by isActive(), setActive(), setActiveThisEvent(), setEmpty(), and update().

bool TkStripMeasurementDet::activeThisPeriod_
private

Definition at line 148 of file TkStripMeasurementDet.h.

Referenced by isActive(), and setActive().

bool TkStripMeasurementDet::bad128Strip_[6]
private

Definition at line 161 of file TkStripMeasurementDet.h.

Referenced by isMasked(), and set128StripStatus().

std::vector<BadStripBlock> TkStripMeasurementDet::badStripBlocks_
private

Definition at line 164 of file TkStripMeasurementDet.h.

Referenced by getBadStripBlocks(), hasAllGoodChannels(), and testStrips().

BadStripCuts TkStripMeasurementDet::badStripCuts_
private

Definition at line 166 of file TkStripMeasurementDet.h.

Referenced by setBadStripCuts(), and testStrips().

uint TkStripMeasurementDet::beginClusterI_
private

Definition at line 171 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), size(), and update().

detset TkStripMeasurementDet::detSet_
private

Definition at line 152 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), theSet(), and update().

bool TkStripMeasurementDet::empty
private
uint TkStripMeasurementDet::endClusterI_
private

Definition at line 172 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), size(), and update().

edm::Handle<edmNew::DetSetVector<SiStripCluster> > TkStripMeasurementDet::handle_
private

Definition at line 153 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), and update().

bool TkStripMeasurementDet::hasAny128StripBad_
private

Definition at line 162 of file TkStripMeasurementDet.h.

Referenced by hasAllGoodChannels(), and set128StripStatus().

unsigned int TkStripMeasurementDet::id_
private

Definition at line 150 of file TkStripMeasurementDet.h.

Referenced by rawId(), TkStripMeasurementDet(), and update().

bool TkStripMeasurementDet::isRegional
private

Definition at line 144 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), and update().

bool TkStripMeasurementDet::maskBad128StripBlocks_
private

Definition at line 162 of file TkStripMeasurementDet.h.

Referenced by setMaskBad128StripBlocks().

edm::Handle<edm::LazyGetter<SiStripCluster> > TkStripMeasurementDet::regionalHandle_
private

Definition at line 170 of file TkStripMeasurementDet.h.

Referenced by fastMeasurements(), recHits(), simpleRecHits(), and update().

std::set<SiStripClusterRef> TkStripMeasurementDet::skipClusters_
private

Definition at line 195 of file TkStripMeasurementDet.h.

Referenced by accept(), setClusterToSkip(), and unset().

std::set<SiStripRegionalClusterRef> TkStripMeasurementDet::skipRegClusters_
private

Definition at line 196 of file TkStripMeasurementDet.h.

Referenced by accept(), setRegionalClustersToSkip(), and unset().

const StripClusterParameterEstimator* TkStripMeasurementDet::theCPE
private

Definition at line 157 of file TkStripMeasurementDet.h.

Referenced by buildRecHit(), buildRecHits(), and buildSimpleRecHit().

const StripGeomDetUnit* TkStripMeasurementDet::theStripGDU
private
int TkStripMeasurementDet::totalStrips_
private

Definition at line 165 of file TkStripMeasurementDet.h.

Referenced by testStrips(), and TkStripMeasurementDet().