#include <HitPattern.h>
Public Types | |
enum | { MONO = 1, STEREO = 2 } |
Public Member Functions | |
int | cscStationsWithAnyHits () const |
int | cscStationsWithBadHits () const |
int | cscStationsWithValidHits () const |
int | dtStationsWithAnyHits () const |
int | dtStationsWithBadHits () const |
int | dtStationsWithValidHits () const |
uint32_t | getCSCRing (uint32_t pattern) const |
CSC ring (1-4). Only valid for muon CSC patterns, of course. | |
uint32_t | getDTSuperLayer (uint32_t pattern) const |
DT superlayer (1-3). Only valid for muon DT patterns, of course. | |
uint32_t | getHitPattern (int position) const |
uint32_t | getHitType (uint32_t pattern) const |
uint32_t | getLayer (uint32_t pattern) const |
uint32_t | getMuonStation (uint32_t pattern) const |
Muon station (1-4). Only valid for muon patterns, of course. | |
uint32_t | getRPCLayer (uint32_t pattern) const |
RPC layer: for station 1 and 2, layer = 1(inner) or 2(outer); for station 3, 4 layer is always 0. Only valid for muon RPC patterns, of course. | |
uint32_t | getRPCregion (uint32_t pattern) const |
RPC region: 0 = barrel, 1 = endcap. Only valid for muon RPC patterns, of course. | |
uint32_t | getSubStructure (uint32_t pattern) const |
uint32_t | getSubSubStructure (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 |
bool | hasValidHitInFirstPixelEndcap () const |
template<typename I > | |
HitPattern (const I &begin, const I &end) | |
HitPattern () | |
template<typename C > | |
HitPattern (const C &c) | |
int | innermostMuonStationWithAnyHits () const |
int | innermostMuonStationWithBadHits () const |
int | innermostMuonStationWithHits (int hitType) const |
hitType=-1(all), 0=valid, 3=bad; 0 = no stations at all | |
int | innermostMuonStationWithValidHits () const |
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 | muonStations (int subdet, int hitType) const |
subdet = 0(all), 1(DT), 2(CSC), 3(RPC); hitType=-1(all), 0=valid, 3=bad | |
int | muonStationsWithAnyHits () const |
int | muonStationsWithBadHits () const |
int | muonStationsWithValidHits () const |
int | numberOfBadHits () const |
int | numberOfBadMuonCSCHits () const |
int | numberOfBadMuonDTHits () const |
int | numberOfBadMuonHits () const |
int | numberOfBadMuonRPCHits () const |
int | numberOfDTStationsWithBothViews () const |
int | numberOfDTStationsWithRPhiView () const |
int | numberOfDTStationsWithRZView () 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 |
int | outermostMuonStationWithAnyHits () const |
int | outermostMuonStationWithBadHits () const |
int | outermostMuonStationWithHits (int hitType) const |
hitType=-1(all), 0=valid, 3=bad; 0 = no stations at all | |
int | outermostMuonStationWithValidHits () 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 |
int | rpcStationsWithAnyHits () const |
int | rpcStationsWithBadHits () const |
int | rpcStationsWithValidHits () 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 |
Definition at line 118 of file HitPattern.h.
anonymous enum |
reco::HitPattern::HitPattern | ( | ) | [inline] |
Definition at line 124 of file HitPattern.h.
References hitPattern_, i, and PatternSize.
{ for (int i=0; i<PatternSize; i++) hitPattern_[i] = 0; }
reco::HitPattern::HitPattern | ( | const I & | begin, |
const I & | end | ||
) | [inline] |
reco::HitPattern::HitPattern | ( | const C & | c | ) | [inline] |
int HitPattern::cscStationsWithAnyHits | ( | ) | const |
Definition at line 1245 of file HitPattern.cc.
References muonStations().
{ return muonStations(2,-1); }
int HitPattern::cscStationsWithBadHits | ( | ) | const |
Definition at line 1244 of file HitPattern.cc.
References muonStations().
{ return muonStations(2, 3); }
int HitPattern::cscStationsWithValidHits | ( | ) | const |
Definition at line 1243 of file HitPattern.cc.
References muonStations().
{ return muonStations(2, 0); }
int HitPattern::dtStationsWithAnyHits | ( | ) | const |
Definition at line 1242 of file HitPattern.cc.
References muonStations().
{ return muonStations(1,-1); }
int HitPattern::dtStationsWithBadHits | ( | ) | const |
Definition at line 1241 of file HitPattern.cc.
References muonStations().
{ return muonStations(1, 3); }
int HitPattern::dtStationsWithValidHits | ( | ) | const |
Definition at line 1240 of file HitPattern.cc.
References muonStations().
{ return muonStations(1, 0); }
uint32_t HitPattern::getCSCRing | ( | uint32_t | pattern | ) | const |
CSC ring (1-4). Only valid for muon CSC patterns, of course.
Definition at line 249 of file HitPattern.cc.
References getSubSubStructure().
Referenced by printHitPattern().
{ return (getSubSubStructure(pattern) & 3) + 1; }
uint32_t HitPattern::getDTSuperLayer | ( | uint32_t | pattern | ) | const |
DT superlayer (1-3). Only valid for muon DT patterns, of course.
Definition at line 245 of file HitPattern.cc.
References getSubSubStructure().
Referenced by numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), and printHitPattern().
{ return (getSubSubStructure(pattern) & 3) + 1; }
uint32_t HitPattern::getHitPattern | ( | int | position | ) | const |
Definition at line 86 of file HitPattern.cc.
References hitPattern_, and HitSize.
Referenced by PFCheckHitPattern::analyze(), GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), getTrackerLayerCase(), getTrackerMonoStereo(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), index_to_hitpattern(), innermostMuonStationWithHits(), SoftElectronCandProducer::isClean(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), 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(), EgAmbiguityTools::isInnerMost::operator()(), outermostMuonStationWithHits(), FWTrackResidualDetailView::prepareData(), PFCheckHitPattern::print(), reco::TrackResiduals::print(), print(), printHitPattern(), FWConvTrackHitsDetailView::setTextInfo(), EgAmbiguityTools::sharedDets(), EgAmbiguityTools::sharedHits(), and QcdUeDQM::trackSelection().
{ /* Note: you are not taking a consecutive sequence of HitSize bits starting from position*HitSize as the bit order in the words are reversed. e.g. if position = 0 you take the lowest 10 bits of the first word. I hope this can clarify what is the memory layout of such thing straight 01234567890123456789012345678901 | 23456789012345678901234567890123 | 4567 (global) 0 1 2 3 | 3 4 5 6 | 6 words [--------------0---------------] | [--------------1---------------] | [--- word 01234567890123456789012345678901 | 01234567890123456789012345678901 | 0123 (str) 0 1 2 3 | 0 1 2 3 | 0 [--------------0---------------] | [--------------1---------------] | [--- word 10987654321098765432109876543210 | 10987654321098765432109876543210 | 1098 (rev) 32 21 10 0 | 32 21 10 0 | 32 reverse 10987654321098765432109876543210 | 32109876543210987654321098765432 | 5432 32 21 10 0 | 6 65 54 43 3 9 ugly enough, but it's not my fault, I was not even in CMS at that time [gpetrucc] */ uint16_t bitEndOffset = (position+1) * HitSize; uint8_t secondWord = (bitEndOffset >> 5); uint8_t secondWordBits = bitEndOffset & (32-1); // that is, bitEndOffset % 32 if (secondWordBits >= HitSize) { // full block is in this word uint8_t lowBitsToTrash = secondWordBits - HitSize; uint32_t myResult = (hitPattern_[secondWord] >> lowBitsToTrash) & ((1 << HitSize)-1); return myResult; } else { uint8_t firstWordBits = HitSize - secondWordBits; uint32_t firstWordBlock = hitPattern_[secondWord-1] >> (32-firstWordBits); uint32_t secondWordBlock = hitPattern_[secondWord] & ((1<<secondWordBits)-1); uint32_t myResult = firstWordBlock + (secondWordBlock << firstWordBits); return myResult; } }
uint32_t HitPattern::getHitType | ( | uint32_t | pattern | ) | const |
Definition at line 236 of file HitPattern.cc.
References HitTypeMask, and HitTypeOffset.
Referenced by innermostMuonStationWithHits(), muonStations(), outermostMuonStationWithHits(), PFCheckHitPattern::print(), printHitPattern(), type_1_HitFilter(), type_2_HitFilter(), type_3_HitFilter(), and validHitFilter().
{ if (pattern == 0) return 999999; return ((pattern>>HitTypeOffset) & HitTypeMask); }
uint32_t HitPattern::getLayer | ( | uint32_t | pattern | ) | const |
Definition at line 219 of file HitPattern.cc.
References LayerMask, and LayerOffset.
Referenced by PFCheckHitPattern::analyze(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), SoftElectronCandProducer::isClean(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), PFCheckHitPattern::print(), printHitPattern(), and QcdUeDQM::trackSelection().
{ if (pattern == 0) return 999999; return ((pattern>>LayerOffset) & LayerMask); }
uint32_t HitPattern::getMuonStation | ( | uint32_t | pattern | ) | const |
Muon station (1-4). Only valid for muon patterns, of course.
Definition at line 241 of file HitPattern.cc.
References getSubSubStructure().
Referenced by innermostMuonStationWithHits(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), outermostMuonStationWithHits(), and printHitPattern().
{ return (getSubSubStructure(pattern)>>2) + 1; }
uint32_t HitPattern::getRPCLayer | ( | uint32_t | pattern | ) | const |
RPC layer: for station 1 and 2, layer = 1(inner) or 2(outer); for station 3, 4 layer is always 0. Only valid for muon RPC patterns, of course.
Definition at line 253 of file HitPattern.cc.
References getSubSubStructure().
Referenced by printHitPattern().
{ uint32_t sss = getSubSubStructure(pattern), stat = sss >> 2; if (stat <= 1) return ((sss >> 1) & 1) + 1; else return 0; }
uint32_t HitPattern::getRPCregion | ( | uint32_t | pattern | ) | const |
RPC region: 0 = barrel, 1 = endcap. Only valid for muon RPC patterns, of course.
Definition at line 259 of file HitPattern.cc.
References getSubSubStructure().
Referenced by printHitPattern().
{ return getSubSubStructure(pattern) & 1; }
uint32_t HitPattern::getSide | ( | uint32_t | pattern | ) | [static] |
Definition at line 230 of file HitPattern.cc.
References SideMask, and SideOffset.
Referenced by getTrackerMonoStereo(), and numberOfValidStripLayersWithMonoAndStereo().
{ if (pattern == 0) return 999999; return (pattern >> SideOffset) & SideMask; }
uint32_t HitPattern::getSubStructure | ( | uint32_t | pattern | ) | const |
Definition at line 133 of file HitPattern.cc.
References SubstrMask, and SubstrOffset.
Referenced by PFCheckHitPattern::analyze(), muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), muonStations(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), PFCheckHitPattern::print(), printHitPattern(), stripHitFilter(), stripTECHitFilter(), stripTIBHitFilter(), stripTIDHitFilter(), and stripTOBHitFilter().
{ if (pattern == 0) return 999999; return ((pattern >> SubstrOffset) & SubstrMask); }
uint32_t HitPattern::getSubSubStructure | ( | uint32_t | pattern | ) | const |
Definition at line 224 of file HitPattern.cc.
References LayerMask, and LayerOffset.
Referenced by getCSCRing(), getDTSuperLayer(), getMuonStation(), getRPCLayer(), and getRPCregion().
{ if (pattern == 0) return 999999; return ((pattern>>LayerOffset) & LayerMask); }
uint32_t HitPattern::getTrackerLayerCase | ( | uint32_t | substr, |
uint32_t | layer | ||
) | const |
Definition at line 782 of file HitPattern.cc.
References getHitPattern(), HitSize, HitTypeMask, HitTypeOffset, i, LayerMask, LayerOffset, listBenchmarks::pattern, 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().
{ uint32_t tk_substr_layer = (1 << SubDetectorOffset) + ((substr & SubstrMask) << SubstrOffset) + ((layer & LayerMask) << LayerOffset); uint32_t mask = (SubDetectorMask << SubDetectorOffset) + (SubstrMask << SubstrOffset) + (LayerMask << LayerOffset); // crossed // layer case 0: valid + (missing, off, bad) ==> with measurement // layer case 1: missing + (off, bad) ==> without measurement // layer case 2: off, bad ==> totally off or bad, cannot say much // not crossed // layer case 999999: track outside acceptance or in gap ==> null uint32_t layerCase = 999999; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if ((pattern & mask) == tk_substr_layer) { uint32_t hitType = (pattern >> HitTypeOffset) & HitTypeMask; // 0,1,2,3 if (hitType < layerCase) { layerCase = hitType; if (hitType == 3) layerCase = 2; } } } return layerCase; }
uint32_t HitPattern::getTrackerMonoStereo | ( | uint32_t | substr, |
uint32_t | layer | ||
) | const |
Definition at line 819 of file HitPattern.cc.
References getHitPattern(), getSide(), HitSize, HitTypeMask, HitTypeOffset, i, LayerMask, LayerOffset, MONO, listBenchmarks::pattern, PatternSize, STEREO, SubDetectorMask, SubDetectorOffset, SubstrMask, and SubstrOffset.
{ uint32_t tk_substr_layer = (1 << SubDetectorOffset) + ((substr & SubstrMask) << SubstrOffset) + ((layer & LayerMask) << LayerOffset); uint32_t mask = (SubDetectorMask << SubDetectorOffset) + (SubstrMask << SubstrOffset) + (LayerMask << LayerOffset); // 0: neither a valid mono nor a valid stereo hit // MONO: valid mono hit // STEREO: valid stereo hit // MONO | STEREO: both uint32_t monoStereo = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if ((pattern & mask) == tk_substr_layer) { uint32_t hitType = (pattern >> HitTypeOffset) & HitTypeMask; // 0,1,2,3 if (hitType == 0) { // valid hit switch (getSide(pattern)) { case 0: // mono monoStereo |= MONO; break; case 1: // stereo monoStereo |= STEREO; break; default: break; } } } } return monoStereo; }
bool HitPattern::hasValidHitInFirstPixelBarrel | ( | ) | const |
Definition at line 284 of file HitPattern.cc.
References getHitPattern(), getLayer(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelBarrelHitFilter(), and validHitFilter().
{ for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pixelBarrelHitFilter(pattern)) { if (getLayer(pattern) == 1) { if (validHitFilter(pattern)) { return true; } } } } return false; }
bool HitPattern::hasValidHitInFirstPixelEndcap | ( | ) | const |
Definition at line 298 of file HitPattern.cc.
References getHitPattern(), getLayer(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelEndcapHitFilter(), and validHitFilter().
{ for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pixelEndcapHitFilter(pattern)) { if (getLayer(pattern) == 1) { if (validHitFilter(pattern)) { return true; } } } } return false; }
int HitPattern::innermostMuonStationWithAnyHits | ( | ) | const |
Definition at line 1280 of file HitPattern.cc.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(-1); }
int HitPattern::innermostMuonStationWithBadHits | ( | ) | const |
Definition at line 1279 of file HitPattern.cc.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(3); }
int HitPattern::innermostMuonStationWithHits | ( | int | hitType | ) | const |
hitType=-1(all), 0=valid, 3=bad; 0 = no stations at all
Definition at line 1250 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and runTheMatrix::ret.
Referenced by innermostMuonStationWithAnyHits(), innermostMuonStationWithBadHits(), and innermostMuonStationWithValidHits().
{ int ret = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonHitFilter(pattern) && (hitType == -1 || int(getHitType(pattern)) == hitType)) { int stat = getMuonStation(pattern); if (ret == 0 || stat < ret) ret = stat; } } return ret; }
int HitPattern::innermostMuonStationWithValidHits | ( | ) | const |
Definition at line 1278 of file HitPattern.cc.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(0); }
uint32_t HitPattern::isStereo | ( | DetId | i | ) | [static, private] |
Definition at line 1186 of file HitPattern.cc.
References DetId::det(), i, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and DetId::Tracker.
Referenced by set().
{ switch (i.det()) { case DetId::Tracker: switch (i.subdetId()) { case PixelSubdetector::PixelBarrel: case PixelSubdetector::PixelEndcap: return 0; case StripSubdetector::TIB: { TIBDetId id = i; return id.isStereo(); } case StripSubdetector::TID: { TIDDetId id = i; return id.isStereo(); } case StripSubdetector::TOB: { TOBDetId id = i; return id.isStereo(); } case StripSubdetector::TEC: { TECDetId id = i; return id.isStereo(); } default: return 0; } break; default: return 0; } }
bool HitPattern::muonCSCHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 205 of file HitPattern.cc.
References MuonSubdetId::CSC, getSubStructure(), and muonHitFilter().
Referenced by numberOfBadMuonCSCHits(), numberOfLostMuonCSCHits(), numberOfValidMuonCSCHits(), and printHitPattern().
{ if (!muonHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == (uint32_t) MuonSubdetId::CSC) return true; return false; }
bool HitPattern::muonDTHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 198 of file HitPattern.cc.
References MuonSubdetId::DT, getSubStructure(), and muonHitFilter().
Referenced by numberOfBadMuonDTHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfLostMuonDTHits(), numberOfValidMuonDTHits(), and printHitPattern().
{ if (!muonHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == (uint32_t) MuonSubdetId::DT) return true; return false; }
bool HitPattern::muonHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 127 of file HitPattern.cc.
References SubDetectorMask, and SubDetectorOffset.
Referenced by innermostMuonStationWithHits(), muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), muonStations(), numberOfBadMuonHits(), numberOfLostMuonHits(), numberOfValidMuonHits(), outermostMuonStationWithHits(), and printHitPattern().
{ if (pattern == 0) return false; if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 0) return true; return false; }
bool HitPattern::muonRPCHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 212 of file HitPattern.cc.
References getSubStructure(), muonHitFilter(), and MuonSubdetId::RPC.
Referenced by numberOfBadMuonRPCHits(), numberOfLostMuonRPCHits(), numberOfValidMuonRPCHits(), and printHitPattern().
{ if (!muonHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == (uint32_t) MuonSubdetId::RPC) return true; return false; }
int HitPattern::muonStations | ( | int | subdet, |
int | hitType | ||
) | const |
subdet = 0(all), 1(DT), 2(CSC), 3(RPC); hitType=-1(all), 0=valid, 3=bad
Definition at line 1223 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), getSubStructure(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, and PatternSize.
Referenced by cscStationsWithAnyHits(), cscStationsWithBadHits(), cscStationsWithValidHits(), dtStationsWithAnyHits(), dtStationsWithBadHits(), dtStationsWithValidHits(), muonStationsWithAnyHits(), muonStationsWithBadHits(), muonStationsWithValidHits(), rpcStationsWithAnyHits(), rpcStationsWithBadHits(), and rpcStationsWithValidHits().
{ int stations[4] = { 0,0,0,0 }; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonHitFilter(pattern) && (subdet == 0 || int(getSubStructure(pattern)) == subdet) && (hitType == -1 || int(getHitType(pattern)) == hitType)) { stations[getMuonStation(pattern)-1] = 1; } } return stations[0]+stations[1]+stations[2]+stations[3]; }
int HitPattern::muonStationsWithAnyHits | ( | ) | const |
Definition at line 1239 of file HitPattern.cc.
References muonStations().
{ return muonStations(0,-1); }
int HitPattern::muonStationsWithBadHits | ( | ) | const |
Definition at line 1238 of file HitPattern.cc.
References muonStations().
{ return muonStations(0, 3); }
int HitPattern::muonStationsWithValidHits | ( | ) | const |
Definition at line 1237 of file HitPattern.cc.
References muonStations().
{ return muonStations(0, 0); }
int HitPattern::numberOfBadHits | ( | ) | const |
Definition at line 682 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, and type_3_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_3_HitFilter(pattern)) count++; } } return count; }
int HitPattern::numberOfBadMuonCSCHits | ( | ) | const |
Definition at line 719 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonCSCHitFilter(), listBenchmarks::pattern, PatternSize, and type_3_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_3_HitFilter(pattern)) { if (muonCSCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfBadMuonDTHits | ( | ) | const |
Definition at line 706 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and type_3_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_3_HitFilter(pattern)) { if (muonDTHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfBadMuonHits | ( | ) | const |
Definition at line 693 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and type_3_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_3_HitFilter(pattern)) { if (muonHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfBadMuonRPCHits | ( | ) | const |
Definition at line 732 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonRPCHitFilter(), listBenchmarks::pattern, PatternSize, and type_3_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_3_HitFilter(pattern)) { if (muonRPCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfDTStationsWithBothViews | ( | ) | const |
Definition at line 1309 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int stations[4][2] = { {0,0}, {0,0}, {0,0}, {0,0} }; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonDTHitFilter(pattern) && validHitFilter(pattern)) { stations[getMuonStation(pattern)-1][getDTSuperLayer(pattern) == 2] = 1; } } return stations[0][0]*stations[0][1] + stations[1][0]*stations[1][1] + stations[2][0]*stations[2][1] + stations[3][0]*stations[3][1]; }
int HitPattern::numberOfDTStationsWithRPhiView | ( | ) | const |
Definition at line 1285 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int stations[4] = { 0,0,0,0 }; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonDTHitFilter(pattern) && validHitFilter(pattern) && getDTSuperLayer(pattern) != 2) { stations[getMuonStation(pattern)-1] = 1; } } return stations[0]+stations[1]+stations[2]+stations[3]; }
int HitPattern::numberOfDTStationsWithRZView | ( | ) | const |
Definition at line 1297 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int stations[4] = { 0,0,0,0 }; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonDTHitFilter(pattern) && validHitFilter(pattern) && getDTSuperLayer(pattern) == 2) { stations[getMuonStation(pattern)-1] = 1; } } return stations[0]+stations[1]+stations[2]+stations[3]; }
int HitPattern::numberOfHits | ( | void | ) | const |
Definition at line 312 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, and PatternSize.
Referenced by PFCheckHitPattern::analyze(), HLTMuonDQMSource::analyze(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), PrimaryVertexValidation::hasFirstLayerPixelHits(), index_to_hitpattern(), PFDisplacedVertexHelper::isTrackSelected(), TCMETAlgo::nExpectedInnerHits(), TCMETAlgo::nExpectedOuterHits(), FWTrackResidualDetailView::prepareData(), PFCheckHitPattern::print(), reco::TrackResiduals::print(), print(), PrimaryVertexAnalyzer4PU::printRecTrks(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), FWConvTrackHitsDetailView::setTextInfo(), and QcdUeDQM::trackSelection().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) count++; } return count; }
int HitPattern::numberOfLostHits | ( | ) | const |
Definition at line 502 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, and type_1_HitFilter().
Referenced by reco::TransientTrack::numberOfLostHits(), and reco::TrackBase::numberOfLostHits().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) count++; } } return count; }
int HitPattern::numberOfLostMuonCSCHits | ( | ) | const |
Definition at line 656 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonCSCHitFilter(), listBenchmarks::pattern, PatternSize, and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (muonCSCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostMuonDTHits | ( | ) | const |
Definition at line 643 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (muonDTHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostMuonHits | ( | ) | const |
Definition at line 526 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (muonHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostMuonRPCHits | ( | ) | const |
Definition at line 669 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonRPCHitFilter(), listBenchmarks::pattern, PatternSize, and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (muonRPCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostPixelBarrelHits | ( | ) | const |
Definition at line 552 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelBarrelHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (pixelBarrelHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostPixelEndcapHits | ( | ) | const |
Definition at line 565 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelEndcapHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (pixelEndcapHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostPixelHits | ( | ) | const |
Definition at line 539 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (pixelHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostStripHits | ( | ) | const |
Definition at line 578 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (stripHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostStripTECHits | ( | ) | const |
Definition at line 630 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTECHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (stripTECHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostStripTIBHits | ( | ) | const |
Definition at line 591 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTIBHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (stripTIBHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostStripTIDHits | ( | ) | const |
Definition at line 604 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTIDHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (stripTIDHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostStripTOBHits | ( | ) | const |
Definition at line 617 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTOBHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (stripTOBHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfLostTrackerHits | ( | ) | const |
Definition at line 513 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, trackerHitFilter(), and type_1_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_1_HitFilter(pattern)) { if (trackerHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidHits | ( | ) | const |
Definition at line 321 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), reco::TransientTrack::numberOfValidHits(), reco::TrackBase::numberOfValidHits(), reco::TrackSelector::operator()(), and TrackIPProducer::produce().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; //if (pattern != 0) { if (validHitFilter(pattern)) count++; //} } return count; }
int HitPattern::numberOfValidMuonCSCHits | ( | ) | const |
Definition at line 476 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonCSCHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (muonCSCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidMuonDTHits | ( | ) | const |
Definition at line 463 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (muonDTHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidMuonHits | ( | ) | const |
Definition at line 346 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), MuScleFit::selGlobalMuon(), MuScleFitMuonSelector::selGlobalMuon(), and BPhysicsOniaDQM::selGlobalMuon().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (muonHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidMuonRPCHits | ( | ) | const |
Definition at line 489 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, muonRPCHitFilter(), listBenchmarks::pattern, PatternSize, and validHitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (muonRPCHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidPixelBarrelHits | ( | ) | const |
Definition at line 372 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelBarrelHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze(), and HLTTrackWithHits::filter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (pixelBarrelHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidPixelEndcapHits | ( | ) | const |
Definition at line 385 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelEndcapHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze(), and HLTTrackWithHits::filter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (pixelEndcapHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidPixelHits | ( | ) | const |
Definition at line 359 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, pixelHitFilter(), and validHitFilter().
Referenced by HLTTrackWithHits::filter(), reco::TrackSelector::operator()(), TrackIPProducer::produce(), PFAlgo::reconstructTrack(), and PFElectronAlgo::SetLinks().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (pixelHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripHits | ( | ) | const |
Definition at line 398 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripHitFilter(), and validHitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (stripHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripLayersWithMonoAndStereo | ( | ) | const |
Definition at line 745 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), getLayer(), getSide(), getSubStructure(), HitSize, i, j, LayerMask, listBenchmarks::pattern, PatternSize, stripHitFilter(), SubstrMask, and validHitFilter().
Referenced by reco::modules::CosmicTrackSelector::select(), and reco::modules::AnalyticalTrackSelector::select().
{ static const int nHits = (PatternSize * 32) / HitSize; bool hasMono[SubstrMask + 1][LayerMask + 1]; // printf("sizeof(hasMono) = %d\n", sizeof(hasMono)); memset(hasMono, 0, sizeof(hasMono)); bool hasStereo[SubstrMask + 1][LayerMask + 1]; memset(hasStereo, 0, sizeof(hasStereo)); // mark which layers have mono/stereo hits for (int i = 0; i < nHits; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern) && stripHitFilter(pattern)) { switch (getSide(pattern)) { case 0: // mono hasMono[getSubStructure(pattern)][getLayer(pattern)] = true; break; case 1: // stereo hasStereo[getSubStructure(pattern)][getLayer(pattern)] = true; break; default: break; } } } } // count how many layers have mono and stereo hits int count = 0; for (int i = 0; i < SubstrMask + 1; ++i) for (int j = 0; j < LayerMask + 1; ++j) if (hasMono[i][j] && hasStereo[i][j]) count++; return count; }
int HitPattern::numberOfValidStripTECHits | ( | ) | const |
Definition at line 450 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTECHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (stripTECHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripTIBHits | ( | ) | const |
Definition at line 411 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTIBHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (stripTIBHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripTIDHits | ( | ) | const |
Definition at line 424 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTIDHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (stripTIDHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripTOBHits | ( | ) | const |
Definition at line 437 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, stripTOBHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (stripTOBHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidTrackerHits | ( | ) | const |
Definition at line 333 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, trackerHitFilter(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), CSCSkim::doBFieldStudySelection(), and PFAlgo::reconstructTrack().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (validHitFilter(pattern)) { if (trackerHitFilter(pattern)) count++; } } } return count; }
int HitPattern::outermostMuonStationWithAnyHits | ( | ) | const |
Definition at line 1283 of file HitPattern.cc.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(-1); }
int HitPattern::outermostMuonStationWithBadHits | ( | ) | const |
Definition at line 1282 of file HitPattern.cc.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(3); }
int HitPattern::outermostMuonStationWithHits | ( | int | hitType | ) | const |
hitType=-1(all), 0=valid, 3=bad; 0 = no stations at all
Definition at line 1264 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and runTheMatrix::ret.
Referenced by outermostMuonStationWithAnyHits(), outermostMuonStationWithBadHits(), and outermostMuonStationWithValidHits().
{ int ret = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern == 0) break; if (muonHitFilter(pattern) && (hitType == -1 || int(getHitType(pattern)) == hitType)) { int stat = getMuonStation(pattern); if (ret == 0 || stat > ret) ret = stat; } } return ret; }
int HitPattern::outermostMuonStationWithValidHits | ( | ) | const |
Definition at line 1281 of file HitPattern.cc.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(0); }
bool HitPattern::pixelBarrelHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 146 of file HitPattern.cc.
References getSubStructure(), PixelSubdetector::PixelBarrel, and trackerHitFilter().
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), SoftElectronCandProducer::isClean(), numberOfLostPixelBarrelHits(), and numberOfValidPixelBarrelHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelBarrel) return true; return false; }
int HitPattern::pixelBarrelLayersNull | ( | ) | const |
Definition at line 1090 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelBarrel.
Referenced by pixelLayersNull().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelBarrel; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::pixelBarrelLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1019 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelBarrel.
Referenced by pixelLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelBarrel; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::pixelBarrelLayersWithMeasurement | ( | ) | const |
Definition at line 877 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelBarrel.
Referenced by PrimaryVertexAnalyzer4PU::fillTrackHistos(), pixelLayersWithMeasurement(), IsolatedTracksNxN::printTrack(), and BeamFitter::readEvent().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelBarrel; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::pixelBarrelLayersWithoutMeasurement | ( | ) | const |
Definition at line 948 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelBarrel.
Referenced by pixelLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelBarrel; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::pixelEndcapHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 153 of file HitPattern.cc.
References getSubStructure(), PixelSubdetector::PixelEndcap, and trackerHitFilter().
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelEndcap(), SoftElectronCandProducer::isClean(), numberOfLostPixelEndcapHits(), and numberOfValidPixelEndcapHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelEndcap) return true; return false; }
int HitPattern::pixelEndcapLayersNull | ( | ) | const |
Definition at line 1099 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelEndcap.
Referenced by pixelLayersNull().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelEndcap; for (uint32_t layer=1; layer<=2; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::pixelEndcapLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1028 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelEndcap.
Referenced by pixelLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelEndcap; for (uint32_t layer=1; layer<=2; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::pixelEndcapLayersWithMeasurement | ( | ) | const |
Definition at line 886 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelEndcap.
Referenced by pixelLayersWithMeasurement(), IsolatedTracksNxN::printTrack(), and BeamFitter::readEvent().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelEndcap; for (uint32_t layer=1; layer<=2; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::pixelEndcapLayersWithoutMeasurement | ( | ) | const |
Definition at line 957 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and GeomDetEnumerators::PixelEndcap.
Referenced by pixelLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = PixelSubdetector::PixelEndcap; for (uint32_t layer=1; layer<=2; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::pixelHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 138 of file HitPattern.cc.
References getSubStructure(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, and trackerHitFilter().
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostPixelHits(), numberOfValidPixelHits(), FWConvTrackHitsDetailView::setTextInfo(), EgAmbiguityTools::sharedDets(), EgAmbiguityTools::sharedHits(), and QcdUeDQM::trackSelection().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelBarrel || substructure == PixelSubdetector::PixelEndcap) return true; return false; }
int HitPattern::pixelLayersNull | ( | ) | const |
Definition at line 1078 of file HitPattern.cc.
References pixelBarrelLayersNull(), and pixelEndcapLayersNull().
Referenced by trackerLayersNull().
{ return pixelBarrelLayersNull() + pixelEndcapLayersNull(); }
int HitPattern::pixelLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1007 of file HitPattern.cc.
References pixelBarrelLayersTotallyOffOrBad(), and pixelEndcapLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return pixelBarrelLayersTotallyOffOrBad() + pixelEndcapLayersTotallyOffOrBad(); }
int HitPattern::pixelLayersWithMeasurement | ( | ) | const |
Definition at line 865 of file HitPattern.cc.
References pixelBarrelLayersWithMeasurement(), and pixelEndcapLayersWithMeasurement().
Referenced by PrimaryVertexAnalyzer4PU::fillTrackHistos(), GhostTrackComputer::operator()(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), reco::modules::CosmicTrackSelector::select(), reco::modules::AnalyticalTrackSelector::select(), MuScleFit::selGlobalMuon(), MuScleFitMuonSelector::selGlobalMuon(), BPhysicsOniaDQM::selGlobalMuon(), MuScleFitMuonSelector::selTrackerMuon(), BPhysicsOniaDQM::selTrackerMuon(), MuScleFit::selTrackerMuon(), and trackerLayersWithMeasurement().
{ return pixelBarrelLayersWithMeasurement() + pixelEndcapLayersWithMeasurement(); }
int HitPattern::pixelLayersWithoutMeasurement | ( | ) | const |
Definition at line 936 of file HitPattern.cc.
References pixelBarrelLayersWithoutMeasurement(), and pixelEndcapLayersWithoutMeasurement().
Referenced by trackerLayersWithoutMeasurement().
{ return pixelBarrelLayersWithoutMeasurement() + pixelEndcapLayersWithoutMeasurement(); }
void HitPattern::print | ( | std::ostream & | stream = std::cout | ) | const |
Definition at line 1171 of file HitPattern.cc.
References flags, getHitPattern(), i, numberOfHits(), listBenchmarks::pattern, and printHitPattern().
{ stream << "HitPattern" << std::endl; for (int i = 0; i < numberOfHits(); i++) printHitPattern(i, stream); std::ios_base::fmtflags flags = stream.flags(); stream.setf ( std::ios_base::hex, std::ios_base::basefield ); stream.setf ( std::ios_base::showbase ); for (int i = 0; i < numberOfHits(); i++) { uint32_t pattern = getHitPattern(i); stream << pattern << std::endl; } stream.flags(flags); }
void HitPattern::printHitPattern | ( | int | position, |
std::ostream & | stream | ||
) | const |
Definition at line 1144 of file HitPattern.cc.
References getCSCRing(), getDTSuperLayer(), getHitPattern(), getHitType(), getLayer(), getMuonStation(), getRPCLayer(), getRPCregion(), getSubStructure(), muonCSCHitFilter(), muonDTHitFilter(), muonHitFilter(), muonRPCHitFilter(), listBenchmarks::pattern, and trackerHitFilter().
Referenced by spr::goodTrack(), print(), PrimaryVertexAnalyzer4PU::printRecTrks(), IsolatedTracksNxN::printTrack(), and IsolatedTracksCone::printTrack().
{ uint32_t pattern = getHitPattern(position); stream << "\t"; if (muonHitFilter(pattern)) stream << "muon"; if (trackerHitFilter(pattern)) stream << "tracker"; stream << "\tsubstructure " << getSubStructure(pattern); if (muonHitFilter(pattern)) { stream << "\tstation " << getMuonStation(pattern); if (muonDTHitFilter(pattern)) { stream << "\tdt superlayer " << getDTSuperLayer(pattern); } else if (muonCSCHitFilter(pattern)) { stream << "\tcsc ring " << getCSCRing(pattern); } else if (muonRPCHitFilter(pattern)) { stream << "\trpc " << (getRPCregion(pattern) ? "endcaps" : "barrel") << ", layer " << getRPCLayer(pattern); } else { stream << "(UNKNOWN Muon SubStructure!) \tsubsubstructure " << getSubStructure(pattern); } } else { stream << "\tlayer " << getLayer(pattern); } stream << "\thit type " << getHitType(pattern); stream << std::endl; }
int HitPattern::rpcStationsWithAnyHits | ( | ) | const |
Definition at line 1248 of file HitPattern.cc.
References muonStations().
{ return muonStations(3,-1); }
int HitPattern::rpcStationsWithBadHits | ( | ) | const |
Definition at line 1247 of file HitPattern.cc.
References muonStations().
{ return muonStations(3, 3); }
int HitPattern::rpcStationsWithValidHits | ( | ) | const |
Definition at line 1246 of file HitPattern.cc.
References muonStations().
{ return muonStations(3, 0); }
void reco::HitPattern::set | ( | const TrackingRecHitRef & | ref, |
unsigned int | i | ||
) | [inline, private] |
void reco::HitPattern::set | ( | const I & | begin, |
const I & | end | ||
) | [inline] |
Definition at line 138 of file HitPattern.h.
References begin, cmsDriverOptions::counter, end, hitPattern_, HitSize, Exhume::I, i, and PatternSize.
Referenced by reco::TrackBase::setHitPattern(), reco::TrackBase::setTrackerExpectedHitsInner(), and reco::TrackBase::setTrackerExpectedHitsOuter().
void HitPattern::set | ( | const TrackingRecHit & | hit, |
unsigned int | i | ||
) |
Definition at line 14 of file HitPattern.cc.
References abs, CSC(), CSCDetId, cond::rpcobgas::detid, PXFDetId::disk(), MuonSubdetId::DT, DTLayerId, TrackingRecHit::geographicalId(), TrackingRecHit::getType(), HitSize, HitTypeMask, HitTypeOffset, isStereo(), TIBDetId::layer(), TOBDetId::layer(), PXBDetId::layer(), RPCDetId::layer(), LayerMask, LayerOffset, DetId::Muon, listBenchmarks::pattern, PatternSize, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, RPCDetId::region(), dedefs::RPC, setHitPattern(), SideMask, SideOffset, relativeConstraints::station, RPCDetId::station(), SubDetectorMask, SubDetectorOffset, SubstrMask, SubstrOffset, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, DetId::Tracker, TIDDetId::wheel(), and TECDetId::wheel().
{ // ignore the rec hit if the number of hit is larger than the max if (i >= 32 * PatternSize / HitSize) return; // get rec hit det id and rec hit type DetId id = hit.geographicalId(); uint32_t detid = id.det(); uint32_t hitType = (uint32_t) hit.getType(); // init pattern of this hit to 0 uint32_t pattern = 0; // adding tracker/muon detector bit pattern += ((detid)&SubDetectorMask)<<SubDetectorOffset; // adding substructure (PXB,PXF,TIB,TID,TOB,TEC, or DT,CSC,RPC) bits uint32_t subdet = id.subdetId(); pattern += ((subdet)&SubstrMask)<<SubstrOffset; // adding layer/disk/wheel bits uint32_t layer = 0; if (detid == DetId::Tracker) { if (subdet == PixelSubdetector::PixelBarrel) layer = PXBDetId(id).layer(); else if (subdet == PixelSubdetector::PixelEndcap) layer = PXFDetId(id).disk(); else if (subdet == StripSubdetector::TIB) layer = TIBDetId(id).layer(); else if (subdet == StripSubdetector::TID) layer = TIDDetId(id).wheel(); else if (subdet == StripSubdetector::TOB) layer = TOBDetId(id).layer(); else if (subdet == StripSubdetector::TEC) layer = TECDetId(id).wheel(); } else if (detid == DetId::Muon) { if (subdet == (uint32_t) MuonSubdetId::DT) layer = ((DTLayerId(id.rawId()).station()-1)<<2) + (DTLayerId(id.rawId()).superLayer()-1); else if (subdet == (uint32_t) MuonSubdetId::CSC) layer = ((CSCDetId(id.rawId()).station()-1)<<2) + (CSCDetId(id.rawId()).ring()-1); else if (subdet == (uint32_t) MuonSubdetId::RPC) { RPCDetId rpcid(id.rawId()); layer = ((rpcid.station()-1)<<2) + abs(rpcid.region()); if (rpcid.station() <= 2) layer += 2*(rpcid.layer()-1); } } pattern += (layer&LayerMask)<<LayerOffset; // adding mono/stereo bit uint32_t side = 0; if (detid == DetId::Tracker) { side = isStereo(id); } else if (detid == DetId::Muon) { side = 0; } pattern += (side&SideMask)<<SideOffset; // adding hit type bits pattern += (hitType&HitTypeMask)<<HitTypeOffset; // set pattern for i-th hit setHitPattern(i, pattern); }
void HitPattern::setHitPattern | ( | int | position, |
uint32_t | pattern | ||
) | [private] |
Definition at line 77 of file HitPattern.cc.
References hitPattern_, HitSize, i, evf::evtn::offset(), and pos.
Referenced by set().
bool HitPattern::stripHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 160 of file HitPattern.cc.
References getSubStructure(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and trackerHitFilter().
Referenced by numberOfLostStripHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), and FWConvTrackHitsDetailView::setTextInfo().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TIB || substructure == StripSubdetector::TID || substructure == StripSubdetector::TOB || substructure == StripSubdetector::TEC) return true; return false; }
int HitPattern::stripLayersNull | ( | ) | const |
Definition at line 1083 of file HitPattern.cc.
References stripTECLayersNull(), stripTIBLayersNull(), stripTIDLayersNull(), and stripTOBLayersNull().
Referenced by trackerLayersNull().
{ return stripTIBLayersNull() + stripTIDLayersNull() + stripTOBLayersNull() + stripTECLayersNull(); }
int HitPattern::stripLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1012 of file HitPattern.cc.
References stripTECLayersTotallyOffOrBad(), stripTIBLayersTotallyOffOrBad(), stripTIDLayersTotallyOffOrBad(), and stripTOBLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return stripTIBLayersTotallyOffOrBad() + stripTIDLayersTotallyOffOrBad() + stripTOBLayersTotallyOffOrBad() + stripTECLayersTotallyOffOrBad(); }
int HitPattern::stripLayersWithMeasurement | ( | ) | const |
Definition at line 870 of file HitPattern.cc.
References stripTECLayersWithMeasurement(), stripTIBLayersWithMeasurement(), stripTIDLayersWithMeasurement(), and stripTOBLayersWithMeasurement().
Referenced by IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and trackerLayersWithMeasurement().
{ return stripTIBLayersWithMeasurement() + stripTIDLayersWithMeasurement() + stripTOBLayersWithMeasurement() + stripTECLayersWithMeasurement(); }
int HitPattern::stripLayersWithoutMeasurement | ( | ) | const |
Definition at line 941 of file HitPattern.cc.
References stripTECLayersWithoutMeasurement(), stripTIBLayersWithoutMeasurement(), stripTIDLayersWithoutMeasurement(), and stripTOBLayersWithoutMeasurement().
Referenced by trackerLayersWithoutMeasurement().
bool HitPattern::stripTECHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 191 of file HitPattern.cc.
References getSubStructure(), StripSubdetector::TEC, and trackerHitFilter().
Referenced by numberOfLostStripTECHits(), numberOfValidStripTECHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TEC) return true; return false; }
int HitPattern::stripTECLayersNull | ( | ) | const |
Definition at line 1135 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TEC.
Referenced by stripLayersNull().
{ int count = 0; uint32_t substr = StripSubdetector::TEC; for (uint32_t layer=1; layer<=9; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::stripTECLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1064 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TEC.
Referenced by stripLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = StripSubdetector::TEC; for (uint32_t layer=1; layer<=9; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::stripTECLayersWithMeasurement | ( | ) | const |
Definition at line 922 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TEC.
Referenced by IsolatedTracksNxN::analyze(), spr::goodTrack(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and stripLayersWithMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TEC; for (uint32_t layer=1; layer<=9; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::stripTECLayersWithoutMeasurement | ( | ) | const |
Definition at line 993 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TEC.
Referenced by IsolatedTracksNxN::analyze(), and stripLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TEC; for (uint32_t layer=1; layer<=9; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::stripTIBHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 170 of file HitPattern.cc.
References getSubStructure(), StripSubdetector::TIB, and trackerHitFilter().
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostStripTIBHits(), numberOfValidStripTIBHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TIB) return true; return false; }
int HitPattern::stripTIBLayersNull | ( | ) | const |
Definition at line 1108 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TIB.
Referenced by stripLayersNull().
{ int count = 0; uint32_t substr = StripSubdetector::TIB; for (uint32_t layer=1; layer<=4; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::stripTIBLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1037 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TIB.
Referenced by stripLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = StripSubdetector::TIB; for (uint32_t layer=1; layer<=4; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::stripTIBLayersWithMeasurement | ( | ) | const |
Definition at line 895 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TIB.
Referenced by IsolatedTracksNxN::analyze(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and stripLayersWithMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TIB; for (uint32_t layer=1; layer<=4; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::stripTIBLayersWithoutMeasurement | ( | ) | const |
Definition at line 966 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TIB.
Referenced by IsolatedTracksNxN::analyze(), and stripLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TIB; for (uint32_t layer=1; layer<=4; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::stripTIDHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 177 of file HitPattern.cc.
References getSubStructure(), StripSubdetector::TID, and trackerHitFilter().
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostStripTIDHits(), numberOfValidStripTIDHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TID) return true; return false; }
int HitPattern::stripTIDLayersNull | ( | ) | const |
Definition at line 1117 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TID.
Referenced by stripLayersNull().
{ int count = 0; uint32_t substr = StripSubdetector::TID; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::stripTIDLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1046 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TID.
Referenced by stripLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = StripSubdetector::TID; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::stripTIDLayersWithMeasurement | ( | ) | const |
Definition at line 904 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TID.
Referenced by IsolatedTracksNxN::analyze(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and stripLayersWithMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TID; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::stripTIDLayersWithoutMeasurement | ( | ) | const |
Definition at line 975 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TID.
Referenced by IsolatedTracksNxN::analyze(), and stripLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TID; for (uint32_t layer=1; layer<=3; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::stripTOBHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 184 of file HitPattern.cc.
References getSubStructure(), StripSubdetector::TOB, and trackerHitFilter().
Referenced by numberOfLostStripTOBHits(), numberOfValidStripTOBHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if (!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TOB) return true; return false; }
int HitPattern::stripTOBLayersNull | ( | ) | const |
Definition at line 1126 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TOB.
Referenced by stripLayersNull().
{ int count = 0; uint32_t substr = StripSubdetector::TOB; for (uint32_t layer=1; layer<=6; layer++) { if (getTrackerLayerCase(substr, layer) == 999999) count++; } return count; }
int HitPattern::stripTOBLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1055 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TOB.
Referenced by stripLayersTotallyOffOrBad().
{ int count = 0; uint32_t substr = StripSubdetector::TOB; for (uint32_t layer=1; layer<=6; layer++) { if (getTrackerLayerCase(substr, layer) == 2) count++; } return count; }
int HitPattern::stripTOBLayersWithMeasurement | ( | ) | const |
Definition at line 913 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TOB.
Referenced by IsolatedTracksNxN::analyze(), spr::goodTrack(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and stripLayersWithMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TOB; for (uint32_t layer=1; layer<=6; layer++) { if (getTrackerLayerCase(substr, layer) == 0) count++; } return count; }
int HitPattern::stripTOBLayersWithoutMeasurement | ( | ) | const |
Definition at line 984 of file HitPattern.cc.
References prof2calltree::count, getTrackerLayerCase(), and sistripsummary::TOB.
Referenced by IsolatedTracksNxN::analyze(), and stripLayersWithoutMeasurement().
{ int count = 0; uint32_t substr = StripSubdetector::TOB; for (uint32_t layer=1; layer<=6; layer++) { if (getTrackerLayerCase(substr, layer) == 1) count++; } return count; }
bool HitPattern::trackerHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 121 of file HitPattern.cc.
References SubDetectorMask, and SubDetectorOffset.
Referenced by PFCheckHitPattern::analyze(), numberOfLostTrackerHits(), numberOfValidTrackerHits(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), PFCheckHitPattern::print(), printHitPattern(), stripHitFilter(), stripTECHitFilter(), stripTIBHitFilter(), stripTIDHitFilter(), and stripTOBHitFilter().
{ if (pattern == 0) return false; if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 1) return true; return false; }
int HitPattern::trackerLayersNull | ( | ) | const |
Definition at line 1073 of file HitPattern.cc.
References pixelLayersNull(), and stripLayersNull().
{ return pixelLayersNull() + stripLayersNull(); }
int HitPattern::trackerLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1002 of file HitPattern.cc.
References pixelLayersTotallyOffOrBad(), and stripLayersTotallyOffOrBad().
{ return pixelLayersTotallyOffOrBad() + stripLayersTotallyOffOrBad(); }
int HitPattern::trackerLayersWithMeasurement | ( | ) | const |
Definition at line 860 of file HitPattern.cc.
References pixelLayersWithMeasurement(), and stripLayersWithMeasurement().
Referenced by IsolatedTracksNxN::analyze(), spr::coneChargeIsolation(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), cms::MuonTCMETValueMapProducer::nLayers(), TCMETAlgo::nLayers(), GhostTrackComputer::operator()(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), reco::modules::CosmicTrackSelector::select(), reco::modules::TrackMultiSelector::select(), and reco::modules::AnalyticalTrackSelector::select().
{ return pixelLayersWithMeasurement() + stripLayersWithMeasurement(); }
int HitPattern::trackerLayersWithoutMeasurement | ( | ) | const |
Definition at line 931 of file HitPattern.cc.
References pixelLayersWithoutMeasurement(), and stripLayersWithoutMeasurement().
Referenced by spr::goodTrack(), reco::modules::CosmicTrackSelector::select(), and reco::modules::AnalyticalTrackSelector::select().
{ return pixelLayersWithoutMeasurement() + stripLayersWithoutMeasurement(); }
bool HitPattern::type_1_HitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 269 of file HitPattern.cc.
References getHitType().
Referenced by numberOfLostHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), and numberOfLostTrackerHits().
{ if (getHitType(pattern) == 1) return true; return false; }
bool HitPattern::type_2_HitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 274 of file HitPattern.cc.
References getHitType().
{ if (getHitType(pattern) == 2) return true; return false; }
bool HitPattern::type_3_HitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 279 of file HitPattern.cc.
References getHitType().
Referenced by numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), and numberOfBadMuonRPCHits().
{ if (getHitType(pattern) == 3) return true; return false; }
bool HitPattern::validHitFilter | ( | uint32_t | pattern | ) | const |
Definition at line 264 of file HitPattern.cc.
References getHitType().
Referenced by PFCheckHitPattern::analyze(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), index_to_hitpattern(), SoftElectronCandProducer::isClean(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfValidHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), numberOfValidTrackerHits(), reco::TrackResiduals::print(), FWConvTrackHitsDetailView::setTextInfo(), and QcdUeDQM::trackSelection().
{ if (getHitType(pattern) == 0) return true; return false; }
uint32_t reco::HitPattern::hitPattern_[PatternSize] [private] |
Definition at line 337 of file HitPattern.h.
Referenced by getHitPattern(), HitPattern(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitSize = 11 [static, private] |
Definition at line 314 of file HitPattern.h.
Referenced by getHitPattern(), getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), innermostMuonStationWithHits(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), 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(), outermostMuonStationWithHits(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitTypeMask = 0x3 [static, private] |
Definition at line 334 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::HitTypeOffset = 0 [static, private] |
Definition at line 333 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::LayerMask = 0xF [static, private] |
Definition at line 326 of file HitPattern.h.
Referenced by getLayer(), getSubSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().
const unsigned short reco::HitPattern::LayerOffset = 3 [static, private] |
Definition at line 325 of file HitPattern.h.
Referenced by getLayer(), getSubSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::PatternSize = 25 [static, private] |
Definition at line 311 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), HitPattern(), innermostMuonStationWithHits(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), 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(), outermostMuonStationWithHits(), and set().
const unsigned short reco::HitPattern::SideMask = 0x1 [static, private] |
Definition at line 330 of file HitPattern.h.
const unsigned short reco::HitPattern::SideOffset = 2 [static, private] |
Definition at line 329 of file HitPattern.h.
const unsigned short reco::HitPattern::SubDetectorMask = 0x1 [static, private] |
Definition at line 318 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubDetectorOffset = 10 [static, private] |
Definition at line 317 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubstrMask = 0x7 [static, private] |
Definition at line 322 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().
const unsigned short reco::HitPattern::SubstrOffset = 7 [static, private] |
Definition at line 321 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().