CMS 3D CMS Logo

reco::HitPattern Class Reference

#include <DataFormats/TrackReco/interface/HitPattern.h>

List of all members.

Public Types

enum  { MONO = 1, STEREO = 2 }

Public Member Functions

uint32_t getHitPattern (int position) const
uint32_t getHitType (uint32_t pattern) const
uint32_t getLayer (uint32_t pattern) const
uint32_t getSubStructure (uint32_t pattern) const
uint32_t getTrackerLayerCase (uint32_t substr, uint32_t layer) const
uint32_t getTrackerMonoStereo (uint32_t substr, uint32_t layer) const
bool hasValidHitInFirstPixelBarrel () const
template<typename C>
 HitPattern (const C &c)
template<typename I>
 HitPattern (const I &begin, const I &end)
 HitPattern ()
bool muonCSCHitFilter (uint32_t pattern) const
bool muonDTHitFilter (uint32_t pattern) const
bool muonHitFilter (uint32_t pattern) const
bool muonRPCHitFilter (uint32_t pattern) const
int numberOfHits () const
int numberOfLostHits () const
int numberOfLostMuonCSCHits () const
int numberOfLostMuonDTHits () const
int numberOfLostMuonHits () const
int numberOfLostMuonRPCHits () const
int numberOfLostPixelBarrelHits () const
int numberOfLostPixelEndcapHits () const
int numberOfLostPixelHits () const
int numberOfLostStripHits () const
int numberOfLostStripTECHits () const
int numberOfLostStripTIBHits () const
int numberOfLostStripTIDHits () const
int numberOfLostStripTOBHits () const
int numberOfLostTrackerHits () const
int numberOfValidHits () const
int numberOfValidMuonCSCHits () const
int numberOfValidMuonDTHits () const
int numberOfValidMuonHits () const
int numberOfValidMuonRPCHits () const
int numberOfValidPixelBarrelHits () const
int numberOfValidPixelEndcapHits () const
int numberOfValidPixelHits () const
int numberOfValidStripHits () const
int numberOfValidStripLayersWithMonoAndStereo () const
int numberOfValidStripTECHits () const
int numberOfValidStripTIBHits () const
int numberOfValidStripTIDHits () const
int numberOfValidStripTOBHits () const
int numberOfValidTrackerHits () const
bool pixelBarrelHitFilter (uint32_t pattern) const
int pixelBarrelLayersNull () const
int pixelBarrelLayersTotallyOffOrBad () const
int pixelBarrelLayersWithMeasurement () const
int pixelBarrelLayersWithoutMeasurement () const
bool pixelEndcapHitFilter (uint32_t pattern) const
int pixelEndcapLayersNull () const
int pixelEndcapLayersTotallyOffOrBad () const
int pixelEndcapLayersWithMeasurement () const
int pixelEndcapLayersWithoutMeasurement () const
bool pixelHitFilter (uint32_t pattern) const
int pixelLayersNull () const
int pixelLayersTotallyOffOrBad () const
int pixelLayersWithMeasurement () const
int pixelLayersWithoutMeasurement () const
void print (std::ostream &stream=std::cout) const
void printHitPattern (int position, std::ostream &stream) const
void set (const TrackingRecHit &, unsigned int i)
template<typename I>
void set (const I &begin, const I &end)
bool stripHitFilter (uint32_t pattern) const
int stripLayersNull () const
int stripLayersTotallyOffOrBad () const
int stripLayersWithMeasurement () const
int stripLayersWithoutMeasurement () const
bool stripTECHitFilter (uint32_t pattern) const
int stripTECLayersNull () const
int stripTECLayersTotallyOffOrBad () const
int stripTECLayersWithMeasurement () const
int stripTECLayersWithoutMeasurement () const
bool stripTIBHitFilter (uint32_t pattern) const
int stripTIBLayersNull () const
int stripTIBLayersTotallyOffOrBad () const
int stripTIBLayersWithMeasurement () const
int stripTIBLayersWithoutMeasurement () const
bool stripTIDHitFilter (uint32_t pattern) const
int stripTIDLayersNull () const
int stripTIDLayersTotallyOffOrBad () const
int stripTIDLayersWithMeasurement () const
int stripTIDLayersWithoutMeasurement () const
bool stripTOBHitFilter (uint32_t pattern) const
int stripTOBLayersNull () const
int stripTOBLayersTotallyOffOrBad () const
int stripTOBLayersWithMeasurement () const
int stripTOBLayersWithoutMeasurement () const
bool trackerHitFilter (uint32_t pattern) const
int trackerLayersNull () const
int trackerLayersTotallyOffOrBad () const
int trackerLayersWithMeasurement () const
int trackerLayersWithoutMeasurement () const
bool type_1_HitFilter (uint32_t pattern) const
bool type_2_HitFilter (uint32_t pattern) const
bool type_3_HitFilter (uint32_t pattern) const
bool validHitFilter (uint32_t pattern) const

Static Public Member Functions

static uint32_t getSide (uint32_t pattern)

Private Member Functions

void set (const TrackingRecHitRef &ref, unsigned int i)
void setHitPattern (int position, uint32_t pattern)

Static Private Member Functions

static uint32_t isStereo (DetId)

Private Attributes

uint32_t hitPattern_ [PatternSize]

Static Private Attributes

static const unsigned short HitSize = 11
static const unsigned short HitTypeMask = 0x3
static const unsigned short HitTypeOffset = 0
static const unsigned short LayerMask = 0xF
static const unsigned short LayerOffset = 3
static const unsigned short PatternSize = 25
static const unsigned short SideMask = 0x1
static const unsigned short SideOffset = 2
static const unsigned short SubDetectorMask = 0x1
static const unsigned short SubDetectorOffset = 10
static const unsigned short SubstrMask = 0x7
static const unsigned short SubstrOffset = 7


Detailed Description

Definition at line 118 of file HitPattern.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
MONO 
STEREO 

Definition at line 120 of file HitPattern.h.

00120 { MONO = 1, STEREO = 2 };


Constructor & Destructor Documentation

reco::HitPattern::HitPattern (  )  [inline]

Definition at line 124 of file HitPattern.h.

References hitPattern_, i, and PatternSize.

00124 { for (int i=0; i<PatternSize; i++) hitPattern_[i] = 0; }

template<typename I>
reco::HitPattern::HitPattern ( const I &  begin,
const I &  end 
) [inline]

Definition at line 128 of file HitPattern.h.

00128 { set(begin, end); }

template<typename C>
reco::HitPattern::HitPattern ( const C &  c  )  [inline]

Definition at line 132 of file HitPattern.h.

00132 { set(c); }


Member Function Documentation

uint32_t HitPattern::getHitPattern ( int  position  )  const

Definition at line 83 of file HitPattern.cc.

References hitPattern_, HitSize, i, and offset.

Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), index_to_hitpattern(), numberOfHits(), numberOfLostHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), numberOfLostTrackerHits(), numberOfValidHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), numberOfValidTrackerHits(), reco::TrackResiduals::print(), print(), and printHitPattern().

00083                                                      {
00084 /* Note: you are not taking a consecutive sequence of HitSize bits starting from position*HitSize
00085          as the bit order in the words are reversed. 
00086          e.g. if position = 0 you take the lowest 10 bits of the first word.
00087     
00088          I hope this can clarify what is the memory layout of such thing
00089 
00090  straight 01234567890123456789012345678901 | 23456789012345678901234567890123 | 4567
00091  (global) 0         1         2         3  | 3       4         5         6    | 6  
00092  words    [--------------0---------------] | [--------------1---------------] | [---   
00093  word     01234567890123456789012345678901 | 01234567890123456789012345678901 | 0123
00094   (str)   0         1         2         3  | 0         1         2         3  | 0
00095           [--------------0---------------] | [--------------1---------------] | [---   
00096  word     10987654321098765432109876543210 | 10987654321098765432109876543210 | 1098
00097   (rev)   32         21        10        0 | 32         21        10        0 | 32  
00098  reverse  10987654321098765432109876543210 | 32109876543210987654321098765432 | 5432
00099           32         21        10        0 | 6  65        54        43      3   9
00100 
00101          ugly enough, but it's not my fault, I was not even in CMS at that time   [gpetrucc] */
00102 //#define OLD_HITPATTERN_LOGIC
00103 #if defined(OLD_HITPATTERN_LOGIC)
00104   int offset = position * HitSize;
00105   uint32_t pattern = 0; 
00106   for (int i=0; i<HitSize; i++) {
00107     int pos = offset + i;
00108     uint32_t word = hitPattern_[pos / 32];
00109     uint32_t bit = (word >> (pos%32)) & 0x1;
00110     pattern += bit << i;
00111   }
00112 #endif
00113 #define GIO_HITPATTERN_LOGIC
00114 #if defined(GIO_HITPATTERN_LOGIC)
00115   uint16_t bitEndOffset = (position+1) * HitSize;
00116   uint8_t secondWord   = (bitEndOffset >> 5);
00117   uint8_t secondWordBits = bitEndOffset & (32-1); // that is, bitEndOffset % 32
00118   if (secondWordBits >= HitSize) { // full block is in this word
00119       uint8_t lowBitsToTrash = secondWordBits - HitSize;
00120       uint32_t myResult = (hitPattern_[secondWord] >> lowBitsToTrash) & ((1 << HitSize)-1);
00121      #if defined(OLD_HITPATTERN_LOGIC)
00122       if (pattern != myResult) { abort(); }
00123      #endif //both
00124       return myResult;
00125   } else {
00126       uint8_t  firstWordBits   = HitSize - secondWordBits;
00127       uint32_t firstWordBlock  = hitPattern_[secondWord-1] >> (32-firstWordBits);
00128       uint32_t secondWordBlock = hitPattern_[secondWord] & ((1<<secondWordBits)-1);
00129       uint32_t myResult = firstWordBlock + (secondWordBlock << firstWordBits);
00130      #if defined(OLD_HITPATTERN_LOGIC)
00131       if (pattern != myResult) { abort(); }
00132      #endif //both
00133       return myResult;
00134   }
00135 #endif
00136 #ifndef GIO_HITPATTERN_LOGIC
00137   return pattern;
00138 #endif
00139 }

uint32_t HitPattern::getHitType ( uint32_t  pattern  )  const

Definition at line 250 of file HitPattern.cc.

References HitTypeMask, and HitTypeOffset.

Referenced by printHitPattern(), type_1_HitFilter(), type_2_HitFilter(), type_3_HitFilter(), and validHitFilter().

00250                                                         {
00251   if (pattern == 0) return 999999;
00252   return ((pattern>>HitTypeOffset) & HitTypeMask);
00253 }

uint32_t HitPattern::getLayer ( uint32_t  pattern  )  const

Definition at line 239 of file HitPattern.cc.

References LayerMask, and LayerOffset.

Referenced by hasValidHitInFirstPixelBarrel(), numberOfValidStripLayersWithMonoAndStereo(), and printHitPattern().

00239                                                     {
00240   if (pattern == 0) return 999999;
00241   return ((pattern>>LayerOffset) & LayerMask);
00242 }

uint32_t HitPattern::getSide ( uint32_t  pattern  )  [static]

Definition at line 244 of file HitPattern.cc.

References SideMask, and SideOffset.

Referenced by getTrackerMonoStereo(), and numberOfValidStripLayersWithMonoAndStereo().

00245 {
00246      if (pattern == 0) return 999999;
00247      return (pattern >> SideOffset) & SideMask;
00248 }

uint32_t HitPattern::getSubStructure ( uint32_t  pattern  )  const

Definition at line 153 of file HitPattern.cc.

References SubstrMask, and SubstrOffset.

Referenced by muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), numberOfValidStripLayersWithMonoAndStereo(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), printHitPattern(), stripHitFilter(), stripTECHitFilter(), stripTIBHitFilter(), stripTIDHitFilter(), and stripTOBHitFilter().

00153                                                            {
00154   if (pattern == 0) return 999999;
00155   return ((pattern >> SubstrOffset) & SubstrMask);
00156 }

uint32_t HitPattern::getTrackerLayerCase ( uint32_t  substr,
uint32_t  layer 
) const

Definition at line 696 of file HitPattern.cc.

References getHitPattern(), HitSize, HitTypeMask, HitTypeOffset, i, LayerMask, LayerOffset, PatternSize, SubDetectorMask, SubDetectorOffset, SubstrMask, and SubstrOffset.

Referenced by pixelBarrelLayersNull(), pixelBarrelLayersTotallyOffOrBad(), pixelBarrelLayersWithMeasurement(), pixelBarrelLayersWithoutMeasurement(), pixelEndcapLayersNull(), pixelEndcapLayersTotallyOffOrBad(), pixelEndcapLayersWithMeasurement(), pixelEndcapLayersWithoutMeasurement(), stripTECLayersNull(), stripTECLayersTotallyOffOrBad(), stripTECLayersWithMeasurement(), stripTECLayersWithoutMeasurement(), stripTIBLayersNull(), stripTIBLayersTotallyOffOrBad(), stripTIBLayersWithMeasurement(), stripTIBLayersWithoutMeasurement(), stripTIDLayersNull(), stripTIDLayersTotallyOffOrBad(), stripTIDLayersWithMeasurement(), stripTIDLayersWithoutMeasurement(), stripTOBLayersNull(), stripTOBLayersTotallyOffOrBad(), stripTOBLayersWithMeasurement(), and stripTOBLayersWithoutMeasurement().

00697 {
00698   uint32_t tk_substr_layer = 
00699     (1 << SubDetectorOffset) +
00700     ((substr & SubstrMask) << SubstrOffset) +
00701     ((layer & LayerMask) << LayerOffset);
00702 
00703   uint32_t mask =
00704     (SubDetectorMask << SubDetectorOffset) +
00705     (SubstrMask << SubstrOffset) +
00706     (LayerMask << LayerOffset);
00707 
00708   // crossed
00709   //   layer case 0: valid + (missing, off, bad) ==> with measurement
00710   //   layer case 1: missing + (off, bad) ==> without measurement
00711   //   layer case 2: off, bad ==> totally off or bad, cannot say much
00712   // not crossed
00713   //   layer case 999999: track outside acceptance or in gap ==> null
00714 
00715   uint32_t layerCase = 999999;
00716   for (int i=0; i<(PatternSize * 32) / HitSize; i++)
00717   {
00718     uint32_t pattern = getHitPattern(i);
00719     if (pattern == 0) break;
00720     if ((pattern & mask) == tk_substr_layer)
00721     {
00722       uint32_t hitType = (pattern >> HitTypeOffset) & HitTypeMask; // 0,1,2,3
00723       if (hitType < layerCase)
00724       {
00725         layerCase = hitType;
00726         if (hitType == 3) layerCase = 2;
00727       }
00728     }
00729   }
00730   return layerCase;
00731 }

uint32_t HitPattern::getTrackerMonoStereo ( uint32_t  substr,
uint32_t  layer 
) const

Definition at line 733 of file HitPattern.cc.

References getHitPattern(), getSide(), HitSize, HitTypeMask, HitTypeOffset, i, LayerMask, LayerOffset, MONO, PatternSize, STEREO, SubDetectorMask, SubDetectorOffset, SubstrMask, and SubstrOffset.

00734 {
00735   uint32_t tk_substr_layer = 
00736     (1 << SubDetectorOffset) +
00737     ((substr & SubstrMask) << SubstrOffset) +
00738     ((layer & LayerMask) << LayerOffset);
00739 
00740   uint32_t mask =
00741     (SubDetectorMask << SubDetectorOffset) +
00742     (SubstrMask << SubstrOffset) +
00743     (LayerMask << LayerOffset);
00744 
00745   //    0:              neither a valid mono nor a valid stereo hit
00746   //    MONO:           valid mono hit
00747   //    STEREO:         valid stereo hit
00748   //    MONO | STEREO:  both
00749   uint32_t monoStereo = 0;
00750   for (int i=0; i<(PatternSize * 32) / HitSize; i++)
00751   {
00752     uint32_t pattern = getHitPattern(i);
00753     if (pattern == 0) break;
00754     if ((pattern & mask) == tk_substr_layer)
00755     {
00756       uint32_t hitType = (pattern >> HitTypeOffset) & HitTypeMask; // 0,1,2,3
00757       if (hitType == 0) { // valid hit
00758            switch (getSide(pattern)) {
00759            case 0: // mono
00760                 monoStereo |= MONO;
00761                 break;
00762            case 1: // stereo
00763                 monoStereo |= STEREO;
00764                 break;
00765            default:
00766                 break;
00767            }
00768       }
00769     }
00770   }
00771   return monoStereo;
00772 }

bool HitPattern::hasValidHitInFirstPixelBarrel (  )  const

Definition at line 275 of file HitPattern.cc.

References getHitPattern(), getLayer(), HitSize, i, PatternSize, pixelBarrelHitFilter(), and validHitFilter().

00275                                                      {
00276   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00277     uint32_t pattern = getHitPattern(i);
00278     if (pixelBarrelHitFilter(pattern)) {
00279       if (getLayer(pattern) == 1) {
00280         if (validHitFilter(pattern)) {
00281           return true;
00282         }
00283       }
00284     }
00285   }
00286   return false;
00287 }

uint32_t HitPattern::isStereo ( DetId  i  )  [static, private]

Definition at line 1087 of file HitPattern.cc.

References DetId::det(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and DetId::Tracker.

Referenced by set().

01088 {
01089      switch (i.det()) {
01090      case DetId::Tracker:
01091           switch (i.subdetId()) {
01092           case PixelSubdetector::PixelBarrel:
01093           case PixelSubdetector::PixelEndcap:
01094                return 0;
01095           case StripSubdetector::TIB:
01096           {
01097                TIBDetId id = i;
01098                return id.isStereo();
01099           }
01100           case StripSubdetector::TID:
01101           {
01102                TIDDetId id = i;
01103                return id.isStereo();
01104           }
01105           case StripSubdetector::TOB:
01106           {
01107                TOBDetId id = i;
01108                return id.isStereo();
01109           }
01110           case StripSubdetector::TEC:
01111           {
01112                TECDetId id = i;
01113                return id.isStereo();
01114           }
01115           default:
01116                return 0;
01117           }
01118           break;
01119      default:
01120           return 0;
01121      }
01122 }

bool HitPattern::muonCSCHitFilter ( uint32_t  pattern  )  const

Definition at line 225 of file HitPattern.cc.

References MuonSubdetId::CSC, getSubStructure(), and muonHitFilter().

Referenced by numberOfLostMuonCSCHits(), and numberOfValidMuonCSCHits().

00225                                                         { 
00226   if (!muonHitFilter(pattern)) return false;
00227   uint32_t substructure = getSubStructure(pattern);
00228   if (substructure == (uint32_t) MuonSubdetId::CSC) return true; 
00229   return false;
00230 }

bool HitPattern::muonDTHitFilter ( uint32_t  pattern  )  const

Definition at line 218 of file HitPattern.cc.

References MuonSubdetId::DT, getSubStructure(), and muonHitFilter().

Referenced by numberOfLostMuonDTHits(), and numberOfValidMuonDTHits().

00218                                                        { 
00219   if (!muonHitFilter(pattern)) return false;
00220   uint32_t substructure = getSubStructure(pattern);
00221   if (substructure == (uint32_t) MuonSubdetId::DT) return true; 
00222   return false;
00223 }

bool HitPattern::muonHitFilter ( uint32_t  pattern  )  const

Definition at line 147 of file HitPattern.cc.

References SubDetectorMask, and SubDetectorOffset.

Referenced by muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), numberOfLostMuonHits(), numberOfValidMuonHits(), and printHitPattern().

00147                                                      {
00148   if (pattern == 0) return false;
00149   if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 0) return true; 
00150   return false;
00151 }

bool HitPattern::muonRPCHitFilter ( uint32_t  pattern  )  const

Definition at line 232 of file HitPattern.cc.

References getSubStructure(), muonHitFilter(), and MuonSubdetId::RPC.

Referenced by numberOfLostMuonRPCHits(), and numberOfValidMuonRPCHits().

00232                                                         { 
00233   if (!muonHitFilter(pattern)) return false;
00234   uint32_t substructure = getSubStructure(pattern);
00235   if (substructure == (uint32_t) MuonSubdetId::RPC) return true; 
00236   return false;
00237 }

int HitPattern::numberOfHits ( void   )  const

Definition at line 289 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, and PatternSize.

Referenced by index_to_hitpattern(), reco::TrackResiduals::print(), and print().

00289                                    {
00290   int count = 0;
00291   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00292     uint32_t pattern = getHitPattern(i);
00293     if (pattern != 0) count++;
00294   }
00295   return count;
00296 }

int HitPattern::numberOfLostHits (  )  const

Definition at line 479 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, and type_1_HitFilter().

Referenced by reco::TransientTrack::numberOfLostHits(), and reco::TrackBase::numberOfLostHits().

00479                                        {
00480   int count = 0;
00481   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00482     uint32_t pattern = getHitPattern(i);
00483     if (pattern != 0) {
00484       if (type_1_HitFilter(pattern)) count++;
00485     }
00486   }
00487   return count;
00488 }

int HitPattern::numberOfLostMuonCSCHits (  )  const

Definition at line 633 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonCSCHitFilter(), PatternSize, and type_1_HitFilter().

00633                                               {
00634   int count = 0;
00635   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00636     uint32_t pattern = getHitPattern(i);
00637     if (pattern != 0) {
00638       if (type_1_HitFilter(pattern)) {
00639         if (muonCSCHitFilter(pattern)) count++;
00640       }
00641     }
00642   }
00643   return count;
00644 }

int HitPattern::numberOfLostMuonDTHits (  )  const

Definition at line 620 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonDTHitFilter(), PatternSize, and type_1_HitFilter().

00620                                              {
00621   int count = 0;
00622   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00623     uint32_t pattern = getHitPattern(i);
00624     if (pattern != 0) {
00625       if (type_1_HitFilter(pattern)) {
00626         if (muonDTHitFilter(pattern)) count++;
00627       }
00628     }
00629   }
00630   return count;
00631 }

int HitPattern::numberOfLostMuonHits (  )  const

Definition at line 503 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonHitFilter(), PatternSize, and type_1_HitFilter().

00503                                            {
00504   int count = 0;
00505   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00506     uint32_t pattern = getHitPattern(i);
00507     if (pattern != 0) {
00508       if (type_1_HitFilter(pattern)) {
00509         if (muonHitFilter(pattern)) count++;
00510       }
00511     }
00512   }
00513   return count;
00514 }

int HitPattern::numberOfLostMuonRPCHits (  )  const

Definition at line 646 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonRPCHitFilter(), PatternSize, and type_1_HitFilter().

00646                                               {
00647   int count = 0;
00648   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00649     uint32_t pattern = getHitPattern(i);
00650     if (pattern != 0) {
00651       if (type_1_HitFilter(pattern)) {
00652         if (muonRPCHitFilter(pattern)) count++;
00653       }
00654     }
00655   }
00656   return count;
00657 }

int HitPattern::numberOfLostPixelBarrelHits (  )  const

Definition at line 529 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelBarrelHitFilter(), and type_1_HitFilter().

00529                                                   {
00530   int count = 0;
00531   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00532     uint32_t pattern = getHitPattern(i);
00533     if (pattern != 0) {
00534       if (type_1_HitFilter(pattern)) {
00535         if (pixelBarrelHitFilter(pattern)) count++;
00536       }
00537     }
00538   }
00539   return count;
00540 }

int HitPattern::numberOfLostPixelEndcapHits (  )  const

Definition at line 542 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelEndcapHitFilter(), and type_1_HitFilter().

00542                                                   {
00543   int count = 0;
00544   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00545     uint32_t pattern = getHitPattern(i);
00546     if (pattern != 0) {
00547       if (type_1_HitFilter(pattern)) {
00548         if (pixelEndcapHitFilter(pattern)) count++;
00549       }
00550     }
00551   }
00552   return count;
00553 }

int HitPattern::numberOfLostPixelHits (  )  const

Definition at line 516 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelHitFilter(), and type_1_HitFilter().

00516                                             {
00517   int count = 0;
00518   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00519     uint32_t pattern = getHitPattern(i);
00520     if (pattern != 0) {
00521       if (type_1_HitFilter(pattern)) {
00522         if (pixelHitFilter(pattern)) count++;
00523       }
00524     }
00525   }
00526   return count;
00527 }

int HitPattern::numberOfLostStripHits (  )  const

Definition at line 555 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripHitFilter(), and type_1_HitFilter().

00555                                             {
00556   int count = 0;
00557   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00558     uint32_t pattern = getHitPattern(i);
00559     if (pattern != 0) {
00560       if (type_1_HitFilter(pattern)) {
00561         if (stripHitFilter(pattern)) count++;
00562       }
00563     }
00564   }
00565   return count;
00566 }

int HitPattern::numberOfLostStripTECHits (  )  const

Definition at line 607 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTECHitFilter(), and type_1_HitFilter().

00607                                                {
00608   int count = 0;
00609   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00610     uint32_t pattern = getHitPattern(i);
00611     if (pattern != 0) {
00612       if (type_1_HitFilter(pattern)) {
00613         if (stripTECHitFilter(pattern)) count++;
00614       }
00615     }
00616   }
00617   return count;
00618 }

int HitPattern::numberOfLostStripTIBHits (  )  const

Definition at line 568 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTIBHitFilter(), and type_1_HitFilter().

00568                                                {
00569   int count = 0;
00570   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00571     uint32_t pattern = getHitPattern(i);
00572     if (pattern != 0) {
00573       if (type_1_HitFilter(pattern)) {
00574         if (stripTIBHitFilter(pattern)) count++;
00575       }
00576     }
00577   }
00578   return count;
00579 }

int HitPattern::numberOfLostStripTIDHits (  )  const

Definition at line 581 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTIDHitFilter(), and type_1_HitFilter().

00581                                                {
00582   int count = 0;
00583   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00584     uint32_t pattern = getHitPattern(i);
00585     if (pattern != 0) {
00586       if (type_1_HitFilter(pattern)) {
00587         if (stripTIDHitFilter(pattern)) count++;
00588       }
00589     }
00590   }
00591   return count;
00592 }

int HitPattern::numberOfLostStripTOBHits (  )  const

Definition at line 594 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTOBHitFilter(), and type_1_HitFilter().

00594                                                {
00595   int count = 0;
00596   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00597     uint32_t pattern = getHitPattern(i);
00598     if (pattern != 0) {
00599       if (type_1_HitFilter(pattern)) {
00600         if (stripTOBHitFilter(pattern)) count++;
00601       }
00602     }
00603   }
00604   return count;
00605 }

int HitPattern::numberOfLostTrackerHits (  )  const

Definition at line 490 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, trackerHitFilter(), and type_1_HitFilter().

00490                                               {
00491   int count = 0;
00492   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00493     uint32_t pattern = getHitPattern(i);
00494     if (pattern != 0) {
00495       if (type_1_HitFilter(pattern)) {
00496         if (trackerHitFilter(pattern)) count++;
00497       }
00498     }
00499   }
00500   return count;
00501 }

int HitPattern::numberOfValidHits (  )  const

Definition at line 298 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, and validHitFilter().

Referenced by reco::TransientTrack::numberOfValidHits(), reco::TrackBase::numberOfValidHits(), reco::TrackSelector::operator()(), and TrackIPProducer::produce().

00298                                         {
00299   int count = 0;
00300   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00301     uint32_t pattern = getHitPattern(i);
00302     if (pattern == 0) break;
00303     //if (pattern != 0) {
00304       if (validHitFilter(pattern)) count++;
00305     //}
00306   }
00307   return count;
00308 }

int HitPattern::numberOfValidMuonCSCHits (  )  const

Definition at line 453 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonCSCHitFilter(), PatternSize, and validHitFilter().

00453                                                {
00454   int count = 0;
00455   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00456     uint32_t pattern = getHitPattern(i);
00457     if (pattern != 0) {
00458       if (validHitFilter(pattern)) {
00459         if (muonCSCHitFilter(pattern)) count++;
00460       }
00461     }
00462   }
00463   return count;
00464 }

int HitPattern::numberOfValidMuonDTHits (  )  const

Definition at line 440 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonDTHitFilter(), PatternSize, and validHitFilter().

00440                                               {
00441   int count = 0;
00442   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00443     uint32_t pattern = getHitPattern(i);
00444     if (pattern != 0) {
00445       if (validHitFilter(pattern)) {
00446         if (muonDTHitFilter(pattern)) count++;
00447       }
00448     }
00449   }
00450   return count;
00451 }

int HitPattern::numberOfValidMuonHits (  )  const

Definition at line 323 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonHitFilter(), PatternSize, and validHitFilter().

00323                                             {
00324   int count = 0;
00325   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00326     uint32_t pattern = getHitPattern(i);
00327     if (pattern != 0) {
00328       if (validHitFilter(pattern)) {
00329         if (muonHitFilter(pattern)) count++;
00330       }
00331     }
00332   }
00333   return count;
00334 }

int HitPattern::numberOfValidMuonRPCHits (  )  const

Definition at line 466 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, muonRPCHitFilter(), PatternSize, and validHitFilter().

00466                                                {
00467   int count = 0;
00468   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00469     uint32_t pattern = getHitPattern(i);
00470     if (pattern != 0) {
00471       if (validHitFilter(pattern)) {
00472         if (muonRPCHitFilter(pattern)) count++;
00473       }
00474     }
00475   }
00476   return count;
00477 }

int HitPattern::numberOfValidPixelBarrelHits (  )  const

Definition at line 349 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelBarrelHitFilter(), and validHitFilter().

Referenced by HLTTrackWithHits::filter().

00349                                                    {
00350   int count = 0;
00351   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00352     uint32_t pattern = getHitPattern(i);
00353     if (pattern != 0) {
00354       if (validHitFilter(pattern)) {
00355         if (pixelBarrelHitFilter(pattern)) count++;
00356       }
00357     }
00358   }
00359   return count;
00360 }

int HitPattern::numberOfValidPixelEndcapHits (  )  const

Definition at line 362 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelEndcapHitFilter(), and validHitFilter().

Referenced by HLTTrackWithHits::filter().

00362                                                    {
00363   int count = 0;
00364   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00365     uint32_t pattern = getHitPattern(i);
00366     if (pattern != 0) {
00367       if (validHitFilter(pattern)) {
00368         if (pixelEndcapHitFilter(pattern)) count++;
00369       }
00370     }
00371   }
00372   return count;
00373 }

int HitPattern::numberOfValidPixelHits (  )  const

Definition at line 336 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, pixelHitFilter(), and validHitFilter().

Referenced by HLTTrackWithHits::filter(), reco::TrackSelector::operator()(), and TrackIPProducer::produce().

00336                                              {
00337   int count = 0;
00338   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00339     uint32_t pattern = getHitPattern(i);
00340     if (pattern != 0) {
00341       if (validHitFilter(pattern)) {
00342         if (pixelHitFilter(pattern)) count++;
00343       }
00344     }
00345   }
00346   return count;
00347 }

int HitPattern::numberOfValidStripHits (  )  const

Definition at line 375 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripHitFilter(), and validHitFilter().

00375                                              {
00376   int count = 0;
00377   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00378     uint32_t pattern = getHitPattern(i);
00379     if (pattern != 0) {
00380       if (validHitFilter(pattern)) {
00381         if (stripHitFilter(pattern)) count++;
00382       }
00383     }
00384   }
00385   return count;
00386 }

int HitPattern::numberOfValidStripLayersWithMonoAndStereo (  )  const

Definition at line 659 of file HitPattern.cc.

References count, getHitPattern(), getLayer(), getSide(), getSubStructure(), HitSize, i, j, LayerMask, PatternSize, stripHitFilter(), SubstrMask, and validHitFilter().

00660 {
00661      static const int nHits = (PatternSize * 32) / HitSize;
00662      bool hasMono[SubstrMask + 1][LayerMask + 1];
00663      //     printf("sizeof(hasMono) = %d\n", sizeof(hasMono));
00664      memset(hasMono, 0, sizeof(hasMono));
00665      bool hasStereo[SubstrMask + 1][LayerMask + 1];
00666      memset(hasStereo, 0, sizeof(hasStereo));
00667      // mark which layers have mono/stereo hits
00668      for (int i = 0; i < nHits; i++) {
00669           uint32_t pattern = getHitPattern(i);
00670           if (pattern != 0) {
00671                if (validHitFilter(pattern) && stripHitFilter(pattern)) {
00672                     switch (getSide(pattern)) {
00673                     case 0: // mono
00674                          hasMono[getSubStructure(pattern)][getLayer(pattern)] 
00675                               = true;
00676                          break;
00677                     case 1: // stereo
00678                          hasStereo[getSubStructure(pattern)][getLayer(pattern)]
00679                               = true;
00680                          break;
00681                     default:
00682                          break;
00683                     }
00684                }
00685           }
00686      }
00687      // count how many layers have mono and stereo hits
00688      int count = 0;
00689      for (int i = 0; i < SubstrMask + 1; ++i) 
00690           for (int j = 0; j < LayerMask + 1; ++j)
00691                if (hasMono[i][j] && hasStereo[i][j])
00692                     count++;
00693      return count;
00694 }

int HitPattern::numberOfValidStripTECHits (  )  const

Definition at line 427 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTECHitFilter(), and validHitFilter().

00427                                                 {
00428   int count = 0;
00429   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00430     uint32_t pattern = getHitPattern(i);
00431     if (pattern != 0) {
00432       if (validHitFilter(pattern)) {
00433         if (stripTECHitFilter(pattern)) count++;
00434       }
00435     }
00436   }
00437   return count;
00438 }

int HitPattern::numberOfValidStripTIBHits (  )  const

Definition at line 388 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTIBHitFilter(), and validHitFilter().

00388                                                 {
00389   int count = 0;
00390   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00391     uint32_t pattern = getHitPattern(i);
00392     if (pattern != 0) {
00393       if (validHitFilter(pattern)) {
00394         if (stripTIBHitFilter(pattern)) count++;
00395       }
00396     }
00397   }
00398   return count;
00399 }

int HitPattern::numberOfValidStripTIDHits (  )  const

Definition at line 401 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTIDHitFilter(), and validHitFilter().

00401                                                 {
00402   int count = 0;
00403   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00404     uint32_t pattern = getHitPattern(i);
00405     if (pattern != 0) {
00406       if (validHitFilter(pattern)) {
00407         if (stripTIDHitFilter(pattern)) count++;
00408       }
00409     }
00410   }
00411   return count;
00412 }

int HitPattern::numberOfValidStripTOBHits (  )  const

Definition at line 414 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, stripTOBHitFilter(), and validHitFilter().

00414                                                 {
00415   int count = 0;
00416   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00417     uint32_t pattern = getHitPattern(i);
00418     if (pattern != 0) {
00419       if (validHitFilter(pattern)) {
00420         if (stripTOBHitFilter(pattern)) count++;
00421       }
00422     }
00423   }
00424   return count;
00425 }

int HitPattern::numberOfValidTrackerHits (  )  const

Definition at line 310 of file HitPattern.cc.

References count, getHitPattern(), HitSize, i, PatternSize, trackerHitFilter(), and validHitFilter().

Referenced by CSCSkim::doBFieldStudySelection().

00310                                                {
00311   int count = 0;
00312   for (int i=0; i<(PatternSize * 32) / HitSize; i++) {
00313     uint32_t pattern = getHitPattern(i);
00314     if (pattern != 0) {
00315       if (validHitFilter(pattern)) {
00316         if (trackerHitFilter(pattern)) count++;
00317       }
00318     }
00319   }
00320   return count;
00321 }

bool HitPattern::pixelBarrelHitFilter ( uint32_t  pattern  )  const

Definition at line 166 of file HitPattern.cc.

References getSubStructure(), PixelSubdetector::PixelBarrel, and trackerHitFilter().

Referenced by hasValidHitInFirstPixelBarrel(), numberOfLostPixelBarrelHits(), and numberOfValidPixelBarrelHits().

00166                                                             { 
00167   if (!trackerHitFilter(pattern)) return false;
00168   uint32_t substructure = getSubStructure(pattern);
00169   if (substructure == PixelSubdetector::PixelBarrel) return true; 
00170   return false;
00171 }

int HitPattern::pixelBarrelLayersNull (  )  const

Definition at line 1004 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelBarrel.

Referenced by pixelLayersNull().

01004                                             {
01005   int count = 0;
01006   uint32_t substr = PixelSubdetector::PixelBarrel;
01007   for (uint32_t layer=1; layer<=3; layer++) {
01008     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01009   }
01010   return count;
01011 }

int HitPattern::pixelBarrelLayersTotallyOffOrBad (  )  const

Definition at line 933 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelBarrel.

Referenced by pixelLayersTotallyOffOrBad().

00933                                                        {
00934   int count = 0;
00935   uint32_t substr = PixelSubdetector::PixelBarrel;
00936   for (uint32_t layer=1; layer<=3; layer++) {
00937     if (getTrackerLayerCase(substr, layer) == 2) count++;
00938   }
00939   return count;
00940 }

int HitPattern::pixelBarrelLayersWithMeasurement (  )  const

Definition at line 791 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelBarrel.

Referenced by pixelLayersWithMeasurement().

00791                                                        {
00792   int count = 0;
00793   uint32_t substr = PixelSubdetector::PixelBarrel;
00794   for (uint32_t layer=1; layer<=3; layer++) {
00795     if (getTrackerLayerCase(substr, layer) == 0) count++;
00796   }
00797   return count;
00798 }

int HitPattern::pixelBarrelLayersWithoutMeasurement (  )  const

Definition at line 862 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelBarrel.

Referenced by pixelLayersWithoutMeasurement().

00862                                                           {
00863   int count = 0;
00864   uint32_t substr = PixelSubdetector::PixelBarrel;
00865   for (uint32_t layer=1; layer<=3; layer++) {
00866     if (getTrackerLayerCase(substr, layer) == 1) count++;
00867   }
00868   return count;
00869 }

bool HitPattern::pixelEndcapHitFilter ( uint32_t  pattern  )  const

Definition at line 173 of file HitPattern.cc.

References getSubStructure(), PixelSubdetector::PixelEndcap, and trackerHitFilter().

Referenced by numberOfLostPixelEndcapHits(), and numberOfValidPixelEndcapHits().

00173                                                             { 
00174   if (!trackerHitFilter(pattern)) return false;
00175   uint32_t substructure = getSubStructure(pattern);
00176   if (substructure == PixelSubdetector::PixelEndcap) return true; 
00177   return false;
00178 }

int HitPattern::pixelEndcapLayersNull (  )  const

Definition at line 1013 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelEndcap.

Referenced by pixelLayersNull().

01013                                             {
01014   int count = 0;
01015   uint32_t substr = PixelSubdetector::PixelEndcap;
01016   for (uint32_t layer=1; layer<=2; layer++) {
01017     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01018   }
01019   return count;
01020 }

int HitPattern::pixelEndcapLayersTotallyOffOrBad (  )  const

Definition at line 942 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelEndcap.

Referenced by pixelLayersTotallyOffOrBad().

00942                                                        {
00943   int count = 0;
00944   uint32_t substr = PixelSubdetector::PixelEndcap;
00945   for (uint32_t layer=1; layer<=2; layer++) {
00946     if (getTrackerLayerCase(substr, layer) == 2) count++;
00947   }
00948   return count;
00949 }

int HitPattern::pixelEndcapLayersWithMeasurement (  )  const

Definition at line 800 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelEndcap.

Referenced by pixelLayersWithMeasurement().

00800                                                        {
00801   int count = 0;
00802   uint32_t substr = PixelSubdetector::PixelEndcap;
00803   for (uint32_t layer=1; layer<=2; layer++) {
00804     if (getTrackerLayerCase(substr, layer) == 0) count++;
00805   }
00806   return count;
00807 }

int HitPattern::pixelEndcapLayersWithoutMeasurement (  )  const

Definition at line 871 of file HitPattern.cc.

References count, getTrackerLayerCase(), and PixelSubdetector::PixelEndcap.

Referenced by pixelLayersWithoutMeasurement().

00871                                                           {
00872   int count = 0;
00873   uint32_t substr = PixelSubdetector::PixelEndcap;
00874   for (uint32_t layer=1; layer<=2; layer++) {
00875     if (getTrackerLayerCase(substr, layer) == 1) count++;
00876   }
00877   return count;
00878 }

bool HitPattern::pixelHitFilter ( uint32_t  pattern  )  const

Definition at line 158 of file HitPattern.cc.

References getSubStructure(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, and trackerHitFilter().

Referenced by numberOfLostPixelHits(), and numberOfValidPixelHits().

00158                                                       { 
00159   if (!trackerHitFilter(pattern)) return false;
00160   uint32_t substructure = getSubStructure(pattern);
00161   if (substructure == PixelSubdetector::PixelBarrel || 
00162       substructure == PixelSubdetector::PixelEndcap) return true; 
00163   return false;
00164 }

int HitPattern::pixelLayersNull (  )  const

Definition at line 992 of file HitPattern.cc.

References pixelBarrelLayersNull(), and pixelEndcapLayersNull().

Referenced by trackerLayersNull().

00992                                       {
00993   return pixelBarrelLayersNull() +
00994          pixelEndcapLayersNull();
00995 }

int HitPattern::pixelLayersTotallyOffOrBad (  )  const

Definition at line 921 of file HitPattern.cc.

References pixelBarrelLayersTotallyOffOrBad(), and pixelEndcapLayersTotallyOffOrBad().

Referenced by trackerLayersTotallyOffOrBad().

00921                                                  {
00922   return pixelBarrelLayersTotallyOffOrBad() +
00923          pixelEndcapLayersTotallyOffOrBad();
00924 }

int HitPattern::pixelLayersWithMeasurement (  )  const

Definition at line 779 of file HitPattern.cc.

References pixelBarrelLayersWithMeasurement(), and pixelEndcapLayersWithMeasurement().

Referenced by trackerLayersWithMeasurement().

00779                                                  {
00780   return pixelBarrelLayersWithMeasurement() +
00781          pixelEndcapLayersWithMeasurement();
00782 }

int HitPattern::pixelLayersWithoutMeasurement (  )  const

Definition at line 850 of file HitPattern.cc.

References pixelBarrelLayersWithoutMeasurement(), and pixelEndcapLayersWithoutMeasurement().

Referenced by trackerLayersWithoutMeasurement().

void HitPattern::print ( std::ostream &  stream = std::cout  )  const

Definition at line 1072 of file HitPattern.cc.

References lat::endl(), flags, getHitPattern(), i, numberOfHits(), and printHitPattern().

01073 {
01074      stream << "HitPattern" << std::endl;
01075      for (int i = 0; i < numberOfHits(); i++) 
01076           printHitPattern(i, stream);
01077      std::ios_base::fmtflags flags = stream.flags();
01078      stream.setf ( std::ios_base::hex, std::ios_base::basefield );  
01079      stream.setf ( std::ios_base::showbase );               
01080      for (int i = 0; i < numberOfHits(); i++) {
01081           uint32_t pattern = getHitPattern(i);
01082           stream << pattern << std::endl;
01083      }
01084      stream.flags(flags);
01085 }

void HitPattern::printHitPattern ( int  position,
std::ostream &  stream 
) const

Definition at line 1058 of file HitPattern.cc.

References lat::endl(), getHitPattern(), getHitType(), getLayer(), getSubStructure(), muonHitFilter(), and trackerHitFilter().

Referenced by print().

01059 {
01060      uint32_t pattern = getHitPattern(position);
01061      stream << "\t";
01062      if (muonHitFilter(pattern))
01063           stream << "muon";
01064      if (trackerHitFilter(pattern))
01065           stream << "tracker";
01066      stream << "\tsubstructure " << getSubStructure(pattern);
01067      stream << "\tlayer " << getLayer(pattern);
01068      stream << "\thit type " << getHitType(pattern);
01069      stream << std::endl;
01070 }

void reco::HitPattern::set ( const TrackingRecHitRef ref,
unsigned int  i 
) [inline, private]

Definition at line 292 of file HitPattern.h.

References i.

00292 { set(* ref, i); }

void HitPattern::set ( const TrackingRecHit hit,
unsigned int  i 
)

Definition at line 14 of file HitPattern.cc.

References MuonSubdetId::CSC, DetId::det(), MuonSubdetId::DT, TrackingRecHit::geographicalId(), TrackingRecHit::getType(), HitSize, HitTypeMask, HitTypeOffset, isStereo(), LayerMask, LayerOffset, DetId::Muon, PatternSize, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, MuonSubdetId::RPC, setHitPattern(), SideMask, SideOffset, SubDetectorMask, SubDetectorOffset, SubstrMask, SubstrOffset, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and DetId::Tracker.

00014                                                                {
00015   // ignore the rec hit if the number of hit is larger than the max
00016   if (i >= 32 * PatternSize / HitSize) return;
00017 
00018   // get rec hit det id and rec hit type
00019   DetId id = hit.geographicalId();
00020   uint32_t detid = id.det();
00021   uint32_t hitType = (uint32_t) hit.getType();
00022 
00023   // init pattern of this hit to 0
00024   uint32_t pattern = 0;
00025 
00026   // adding tracker/muon detector bit
00027   pattern += ((detid)&SubDetectorMask)<<SubDetectorOffset;
00028   
00029   // adding substructure (PXB,PXF,TIB,TID,TOB,TEC, or DT,CSC,RPC) bits 
00030   uint32_t subdet = id.subdetId();
00031   pattern += ((subdet)&SubstrMask)<<SubstrOffset;
00032   
00033   // adding layer/disk/wheel bits
00034   uint32_t layer = 0;
00035   if (detid == DetId::Tracker) {
00036     if (subdet == PixelSubdetector::PixelBarrel) 
00037       layer = PXBDetId(id).layer();
00038     else if (subdet == PixelSubdetector::PixelEndcap)
00039       layer = PXFDetId(id).disk();
00040     else if (subdet == StripSubdetector::TIB)
00041       layer = TIBDetId(id).layer();
00042     else if (subdet == StripSubdetector::TID)
00043       layer = TIDDetId(id).wheel();
00044     else if (subdet == StripSubdetector::TOB)
00045       layer = TOBDetId(id).layer();
00046     else if (subdet == StripSubdetector::TEC)
00047       layer = TECDetId(id).wheel();
00048   } else if (detid == DetId::Muon) {
00049     if (subdet == (uint32_t) MuonSubdetId::DT) 
00050       layer = DTLayerId(id.rawId()).layer();
00051     else if (subdet == (uint32_t) MuonSubdetId::CSC)
00052       layer = CSCDetId(id.rawId()).layer();
00053     else if (subdet == (uint32_t) MuonSubdetId::RPC)
00054       layer = RPCDetId(id.rawId()).layer();
00055   }
00056   pattern += (layer&LayerMask)<<LayerOffset;
00057 
00058   // adding mono/stereo bit
00059   uint32_t side = 0;
00060   if (detid == DetId::Tracker) {
00061        side = isStereo(id);
00062   } else if (detid == DetId::Muon) {
00063        side = 0;
00064   }
00065   pattern += (side&SideMask)<<SideOffset;
00066 
00067   // adding hit type bits
00068   pattern += (hitType&HitTypeMask)<<HitTypeOffset;
00069 
00070   // set pattern for i-th hit
00071   setHitPattern(i, pattern);
00072 }

template<typename I>
void reco::HitPattern::set ( const I &  begin,
const I &  end 
) [inline]

Definition at line 138 of file HitPattern.h.

References begin, counter(), end, hitPattern_, HitSize, I, i, and PatternSize.

Referenced by reco::TrackBase::setHitPattern().

00138                                              {
00139       for (int i=0; i<PatternSize; i++) hitPattern_[i] = 0;
00140       unsigned int counter = 0;
00141       for (I hit=begin; hit!=end && counter<32*PatternSize/HitSize;
00142            hit++, counter++)
00143         set(*hit, counter);
00144     }

void HitPattern::setHitPattern ( int  position,
uint32_t  pattern 
) [private]

Definition at line 74 of file HitPattern.cc.

References hitPattern_, HitSize, i, and offset.

Referenced by set().

00074                                                              {
00075   int offset = position * HitSize;
00076   for (int i=0; i<HitSize; i++) {
00077     int pos = offset + i;
00078     uint32_t bit = (pattern >> i) & 0x1;
00079     hitPattern_[pos / 32] += bit << ((offset + i) % 32); 
00080   }
00081 }

bool HitPattern::stripHitFilter ( uint32_t  pattern  )  const

Definition at line 180 of file HitPattern.cc.

References getSubStructure(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and trackerHitFilter().

Referenced by numberOfLostStripHits(), numberOfValidStripHits(), and numberOfValidStripLayersWithMonoAndStereo().

00180                                                       { 
00181   if (!trackerHitFilter(pattern)) return false;
00182   uint32_t substructure = getSubStructure(pattern);
00183   if (substructure == StripSubdetector::TIB ||
00184       substructure == StripSubdetector::TID ||
00185       substructure == StripSubdetector::TOB ||
00186       substructure == StripSubdetector::TEC) return true; 
00187   return false;
00188 }

int HitPattern::stripLayersNull (  )  const

Definition at line 997 of file HitPattern.cc.

References stripTECLayersNull(), stripTIBLayersNull(), stripTIDLayersNull(), and stripTOBLayersNull().

Referenced by trackerLayersNull().

00997                                       {
00998   return stripTIBLayersNull() + 
00999          stripTIDLayersNull() +
01000          stripTOBLayersNull() + 
01001          stripTECLayersNull();
01002 }

int HitPattern::stripLayersTotallyOffOrBad (  )  const

Definition at line 926 of file HitPattern.cc.

References stripTECLayersTotallyOffOrBad(), stripTIBLayersTotallyOffOrBad(), stripTIDLayersTotallyOffOrBad(), and stripTOBLayersTotallyOffOrBad().

Referenced by trackerLayersTotallyOffOrBad().

int HitPattern::stripLayersWithMeasurement (  )  const

Definition at line 784 of file HitPattern.cc.

References stripTECLayersWithMeasurement(), stripTIBLayersWithMeasurement(), stripTIDLayersWithMeasurement(), and stripTOBLayersWithMeasurement().

Referenced by trackerLayersWithMeasurement().

int HitPattern::stripLayersWithoutMeasurement (  )  const

Definition at line 855 of file HitPattern.cc.

References stripTECLayersWithoutMeasurement(), stripTIBLayersWithoutMeasurement(), stripTIDLayersWithoutMeasurement(), and stripTOBLayersWithoutMeasurement().

Referenced by trackerLayersWithoutMeasurement().

bool HitPattern::stripTECHitFilter ( uint32_t  pattern  )  const

Definition at line 211 of file HitPattern.cc.

References getSubStructure(), StripSubdetector::TEC, and trackerHitFilter().

Referenced by numberOfLostStripTECHits(), and numberOfValidStripTECHits().

00211                                                          { 
00212   if (!trackerHitFilter(pattern)) return false;
00213   uint32_t substructure = getSubStructure(pattern);
00214   if (substructure == StripSubdetector::TEC) return true; 
00215   return false;
00216 }

int HitPattern::stripTECLayersNull (  )  const

Definition at line 1049 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TEC.

Referenced by stripLayersNull().

01049                                          {
01050   int count = 0;
01051   uint32_t substr = StripSubdetector::TEC;
01052   for (uint32_t layer=1; layer<=9; layer++) {
01053     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01054   }
01055   return count;
01056 }

int HitPattern::stripTECLayersTotallyOffOrBad (  )  const

Definition at line 978 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TEC.

Referenced by stripLayersTotallyOffOrBad().

00978                                                     {
00979   int count = 0;
00980   uint32_t substr = StripSubdetector::TEC;
00981   for (uint32_t layer=1; layer<=9; layer++) {
00982     if (getTrackerLayerCase(substr, layer) == 2) count++;
00983   }
00984   return count;
00985 }

int HitPattern::stripTECLayersWithMeasurement (  )  const

Definition at line 836 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TEC.

Referenced by stripLayersWithMeasurement().

00836                                                     {
00837   int count = 0;
00838   uint32_t substr = StripSubdetector::TEC;
00839   for (uint32_t layer=1; layer<=9; layer++) {
00840     if (getTrackerLayerCase(substr, layer) == 0) count++;
00841   }
00842   return count;
00843 }

int HitPattern::stripTECLayersWithoutMeasurement (  )  const

Definition at line 907 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TEC.

Referenced by stripLayersWithoutMeasurement().

00907                                                        {
00908   int count = 0;
00909   uint32_t substr = StripSubdetector::TEC;
00910   for (uint32_t layer=1; layer<=9; layer++) {
00911     if (getTrackerLayerCase(substr, layer) == 1) count++;
00912   }
00913   return count;
00914 }

bool HitPattern::stripTIBHitFilter ( uint32_t  pattern  )  const

Definition at line 190 of file HitPattern.cc.

References getSubStructure(), StripSubdetector::TIB, and trackerHitFilter().

Referenced by numberOfLostStripTIBHits(), and numberOfValidStripTIBHits().

00190                                                          { 
00191   if (!trackerHitFilter(pattern)) return false;
00192   uint32_t substructure = getSubStructure(pattern);
00193   if (substructure == StripSubdetector::TIB) return true; 
00194   return false;
00195 }

int HitPattern::stripTIBLayersNull (  )  const

Definition at line 1022 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TIB.

Referenced by stripLayersNull().

01022                                          {
01023   int count = 0;
01024   uint32_t substr = StripSubdetector::TIB;
01025   for (uint32_t layer=1; layer<=4; layer++) {
01026     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01027   }
01028   return count;
01029 }

int HitPattern::stripTIBLayersTotallyOffOrBad (  )  const

Definition at line 951 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TIB.

Referenced by stripLayersTotallyOffOrBad().

00951                                                     {
00952   int count = 0;
00953   uint32_t substr = StripSubdetector::TIB;
00954   for (uint32_t layer=1; layer<=4; layer++) {
00955     if (getTrackerLayerCase(substr, layer) == 2) count++;
00956   }
00957   return count;
00958 }

int HitPattern::stripTIBLayersWithMeasurement (  )  const

Definition at line 809 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TIB.

Referenced by stripLayersWithMeasurement().

00809                                                     {
00810   int count = 0;
00811   uint32_t substr = StripSubdetector::TIB;
00812   for (uint32_t layer=1; layer<=4; layer++) {
00813     if (getTrackerLayerCase(substr, layer) == 0) count++;
00814   }
00815   return count;
00816 }

int HitPattern::stripTIBLayersWithoutMeasurement (  )  const

Definition at line 880 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TIB.

Referenced by stripLayersWithoutMeasurement().

00880                                                        {
00881   int count = 0;
00882   uint32_t substr = StripSubdetector::TIB;
00883   for (uint32_t layer=1; layer<=4; layer++) {
00884     if (getTrackerLayerCase(substr, layer) == 1) count++;
00885   }
00886   return count;
00887 }

bool HitPattern::stripTIDHitFilter ( uint32_t  pattern  )  const

Definition at line 197 of file HitPattern.cc.

References getSubStructure(), StripSubdetector::TID, and trackerHitFilter().

Referenced by numberOfLostStripTIDHits(), and numberOfValidStripTIDHits().

00197                                                          { 
00198   if (!trackerHitFilter(pattern)) return false;
00199   uint32_t substructure = getSubStructure(pattern);
00200   if (substructure == StripSubdetector::TID) return true; 
00201   return false;
00202 }

int HitPattern::stripTIDLayersNull (  )  const

Definition at line 1031 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TID.

Referenced by stripLayersNull().

01031                                          {
01032   int count = 0;
01033   uint32_t substr = StripSubdetector::TID;
01034   for (uint32_t layer=1; layer<=3; layer++) {
01035     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01036   }
01037   return count;
01038 }

int HitPattern::stripTIDLayersTotallyOffOrBad (  )  const

Definition at line 960 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TID.

Referenced by stripLayersTotallyOffOrBad().

00960                                                     {
00961   int count = 0;
00962   uint32_t substr = StripSubdetector::TID;
00963   for (uint32_t layer=1; layer<=3; layer++) {
00964     if (getTrackerLayerCase(substr, layer) == 2) count++;
00965   }
00966   return count;
00967 }

int HitPattern::stripTIDLayersWithMeasurement (  )  const

Definition at line 818 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TID.

Referenced by stripLayersWithMeasurement().

00818                                                     {
00819   int count = 0;
00820   uint32_t substr = StripSubdetector::TID;
00821   for (uint32_t layer=1; layer<=3; layer++) {
00822     if (getTrackerLayerCase(substr, layer) == 0) count++;
00823   }
00824   return count;
00825 }

int HitPattern::stripTIDLayersWithoutMeasurement (  )  const

Definition at line 889 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TID.

Referenced by stripLayersWithoutMeasurement().

00889                                                        {
00890   int count = 0;
00891   uint32_t substr = StripSubdetector::TID;
00892   for (uint32_t layer=1; layer<=3; layer++) {
00893     if (getTrackerLayerCase(substr, layer) == 1) count++;
00894   }
00895   return count;
00896 }

bool HitPattern::stripTOBHitFilter ( uint32_t  pattern  )  const

Definition at line 204 of file HitPattern.cc.

References getSubStructure(), StripSubdetector::TOB, and trackerHitFilter().

Referenced by numberOfLostStripTOBHits(), and numberOfValidStripTOBHits().

00204                                                          { 
00205   if (!trackerHitFilter(pattern)) return false;
00206   uint32_t substructure = getSubStructure(pattern);
00207   if (substructure == StripSubdetector::TOB) return true; 
00208   return false;
00209 }

int HitPattern::stripTOBLayersNull (  )  const

Definition at line 1040 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TOB.

Referenced by stripLayersNull().

01040                                          {
01041   int count = 0;
01042   uint32_t substr = StripSubdetector::TOB;
01043   for (uint32_t layer=1; layer<=6; layer++) {
01044     if (getTrackerLayerCase(substr, layer) == 999999) count++;
01045   }
01046   return count;
01047 }

int HitPattern::stripTOBLayersTotallyOffOrBad (  )  const

Definition at line 969 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TOB.

Referenced by stripLayersTotallyOffOrBad().

00969                                                     {
00970   int count = 0;
00971   uint32_t substr = StripSubdetector::TOB;
00972   for (uint32_t layer=1; layer<=6; layer++) {
00973     if (getTrackerLayerCase(substr, layer) == 2) count++;
00974   }
00975   return count;
00976 }

int HitPattern::stripTOBLayersWithMeasurement (  )  const

Definition at line 827 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TOB.

Referenced by stripLayersWithMeasurement().

00827                                                     {
00828   int count = 0;
00829   uint32_t substr = StripSubdetector::TOB;
00830   for (uint32_t layer=1; layer<=6; layer++) {
00831     if (getTrackerLayerCase(substr, layer) == 0) count++;
00832   }
00833   return count;
00834 }

int HitPattern::stripTOBLayersWithoutMeasurement (  )  const

Definition at line 898 of file HitPattern.cc.

References count, getTrackerLayerCase(), and StripSubdetector::TOB.

Referenced by stripLayersWithoutMeasurement().

00898                                                        {
00899   int count = 0;
00900   uint32_t substr = StripSubdetector::TOB;
00901   for (uint32_t layer=1; layer<=6; layer++) {
00902     if (getTrackerLayerCase(substr, layer) == 1) count++;
00903   }
00904   return count;
00905 }

bool HitPattern::trackerHitFilter ( uint32_t  pattern  )  const

Definition at line 141 of file HitPattern.cc.

References SubDetectorMask, and SubDetectorOffset.

Referenced by numberOfLostTrackerHits(), numberOfValidTrackerHits(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), printHitPattern(), stripHitFilter(), stripTECHitFilter(), stripTIBHitFilter(), stripTIDHitFilter(), and stripTOBHitFilter().

00141                                                         {
00142   if (pattern == 0) return false;
00143   if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 1) return true;
00144   return false;
00145 }

int HitPattern::trackerLayersNull (  )  const

Definition at line 987 of file HitPattern.cc.

References pixelLayersNull(), and stripLayersNull().

00987                                         {
00988   return pixelLayersNull() + 
00989          stripLayersNull();
00990 }

int HitPattern::trackerLayersTotallyOffOrBad (  )  const

Definition at line 916 of file HitPattern.cc.

References pixelLayersTotallyOffOrBad(), and stripLayersTotallyOffOrBad().

00916                                                    {
00917   return pixelLayersTotallyOffOrBad() + 
00918          stripLayersTotallyOffOrBad();
00919 }

int HitPattern::trackerLayersWithMeasurement (  )  const

Definition at line 774 of file HitPattern.cc.

References pixelLayersWithMeasurement(), and stripLayersWithMeasurement().

Referenced by reco::modules::TrackMultiSelector::select(), and reco::modules::AnalyticalTrackSelector::select().

00774                                                    {
00775   return pixelLayersWithMeasurement() + 
00776          stripLayersWithMeasurement();
00777 }

int HitPattern::trackerLayersWithoutMeasurement (  )  const

Definition at line 845 of file HitPattern.cc.

References pixelLayersWithoutMeasurement(), and stripLayersWithoutMeasurement().

00845                                                       {
00846   return pixelLayersWithoutMeasurement() + 
00847          stripLayersWithoutMeasurement();
00848 }

bool HitPattern::type_1_HitFilter ( uint32_t  pattern  )  const

Definition at line 260 of file HitPattern.cc.

References getHitType().

Referenced by numberOfLostHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), and numberOfLostTrackerHits().

00260                                                         {
00261   if (getHitType(pattern) == 1) return true; 
00262   return false;
00263 }

bool HitPattern::type_2_HitFilter ( uint32_t  pattern  )  const

Definition at line 265 of file HitPattern.cc.

References getHitType().

00265                                                         {
00266   if (getHitType(pattern) == 2) return true; 
00267   return false;
00268 }

bool HitPattern::type_3_HitFilter ( uint32_t  pattern  )  const

Definition at line 270 of file HitPattern.cc.

References getHitType().

00270                                                         {
00271   if (getHitType(pattern) == 3) return true; 
00272   return false;
00273 }

bool HitPattern::validHitFilter ( uint32_t  pattern  )  const

Definition at line 255 of file HitPattern.cc.

References getHitType().

Referenced by hasValidHitInFirstPixelBarrel(), index_to_hitpattern(), numberOfValidHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), numberOfValidTrackerHits(), and reco::TrackResiduals::print().

00255                                                       {
00256   if (getHitType(pattern) == 0) return true; 
00257   return false;
00258 }


Member Data Documentation

uint32_t reco::HitPattern::hitPattern_[PatternSize] [private]

Definition at line 286 of file HitPattern.h.

Referenced by getHitPattern(), HitPattern(), set(), and setHitPattern().

const unsigned short reco::HitPattern::HitSize = 11 [static, private]

Definition at line 263 of file HitPattern.h.

Referenced by getHitPattern(), getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), numberOfHits(), numberOfLostHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), numberOfLostTrackerHits(), numberOfValidHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), numberOfValidTrackerHits(), set(), and setHitPattern().

const unsigned short reco::HitPattern::HitTypeMask = 0x3 [static, private]

Definition at line 283 of file HitPattern.h.

Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().

const unsigned short reco::HitPattern::HitTypeOffset = 0 [static, private]

Definition at line 282 of file HitPattern.h.

Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().

const unsigned short reco::HitPattern::LayerMask = 0xF [static, private]

Definition at line 275 of file HitPattern.h.

Referenced by getLayer(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().

const unsigned short reco::HitPattern::LayerOffset = 3 [static, private]

Definition at line 274 of file HitPattern.h.

Referenced by getLayer(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().

const unsigned short reco::HitPattern::PatternSize = 25 [static, private]

Definition at line 260 of file HitPattern.h.

Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), HitPattern(), numberOfHits(), numberOfLostHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), numberOfLostTrackerHits(), numberOfValidHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), numberOfValidTrackerHits(), and set().

const unsigned short reco::HitPattern::SideMask = 0x1 [static, private]

Definition at line 279 of file HitPattern.h.

Referenced by getSide(), and set().

const unsigned short reco::HitPattern::SideOffset = 2 [static, private]

Definition at line 278 of file HitPattern.h.

Referenced by getSide(), and set().

const unsigned short reco::HitPattern::SubDetectorMask = 0x1 [static, private]

Definition at line 267 of file HitPattern.h.

Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().

const unsigned short reco::HitPattern::SubDetectorOffset = 10 [static, private]

Definition at line 266 of file HitPattern.h.

Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().

const unsigned short reco::HitPattern::SubstrMask = 0x7 [static, private]

Definition at line 271 of file HitPattern.h.

Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().

const unsigned short reco::HitPattern::SubstrOffset = 7 [static, private]

Definition at line 270 of file HitPattern.h.

Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:51:09 2009 for CMSSW by  doxygen 1.5.4