![]() |
![]() |
#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 | numberOfInactiveHits () const |
int | numberOfInactiveTrackerHits () 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 |
template<typename I > | |
void | set (const I &begin, const I &end) |
void | set (const TrackingRecHit &, unsigned int i) |
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 1268 of file HitPattern.cc.
References muonStations().
{ return muonStations(2,-1); }
int HitPattern::cscStationsWithBadHits | ( | ) | const |
Definition at line 1267 of file HitPattern.cc.
References muonStations().
{ return muonStations(2, 3); }
int HitPattern::cscStationsWithValidHits | ( | ) | const |
Definition at line 1266 of file HitPattern.cc.
References muonStations().
{ return muonStations(2, 0); }
int HitPattern::dtStationsWithAnyHits | ( | ) | const |
Definition at line 1265 of file HitPattern.cc.
References muonStations().
{ return muonStations(1,-1); }
int HitPattern::dtStationsWithBadHits | ( | ) | const |
Definition at line 1264 of file HitPattern.cc.
References muonStations().
{ return muonStations(1, 3); }
int HitPattern::dtStationsWithValidHits | ( | ) | const |
Definition at line 1263 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(), PFElecTkProducer::isInnerMost(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfInactiveHits(), numberOfInactiveTrackerHits(), 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(), PFElecTkProducer::isInnerMost(), 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(), PFElecTkProducer::isInnerMost(), 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 805 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 842 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 1303 of file HitPattern.cc.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(-1); }
int HitPattern::innermostMuonStationWithBadHits | ( | ) | const |
Definition at line 1302 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 1273 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 1301 of file HitPattern.cc.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(0); }
uint32_t HitPattern::isStereo | ( | DetId | i | ) | [static, private] |
Definition at line 1209 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 1246 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), getSubStructure(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and mergeVDriftHistosByStation::stations.
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 1262 of file HitPattern.cc.
References muonStations().
{ return muonStations(0,-1); }
int HitPattern::muonStationsWithBadHits | ( | ) | const |
Definition at line 1261 of file HitPattern.cc.
References muonStations().
{ return muonStations(0, 3); }
int HitPattern::muonStationsWithValidHits | ( | ) | const |
Definition at line 1260 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 1332 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, mergeVDriftHistosByStation::stations, 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 1308 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, mergeVDriftHistosByStation::stations, 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 1320 of file HitPattern.cc.
References getDTSuperLayer(), getHitPattern(), getMuonStation(), HitSize, i, muonDTHitFilter(), listBenchmarks::pattern, PatternSize, mergeVDriftHistosByStation::stations, 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::numberOfInactiveHits | ( | ) | const |
Definition at line 745 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, and type_2_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_2_HitFilter(pattern)) count++; } } return count; }
int HitPattern::numberOfInactiveTrackerHits | ( | ) | const |
Definition at line 756 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, PatternSize, trackerHitFilter(), and type_2_HitFilter().
{ int count = 0; for (int i=0; i<(PatternSize * 32) / HitSize; i++) { uint32_t pattern = getHitPattern(i); if (pattern != 0) { if (type_2_HitFilter(pattern) && trackerHitFilter(pattern)) 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().
Referenced by reco::TrackBase::validFraction().
{ 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 HLTMuonDQMSource::analyze(), 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().
Referenced by HLTMuonDQMSource::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 (stripHitFilter(pattern)) count++; } } } return count; }
int HitPattern::numberOfValidStripLayersWithMonoAndStereo | ( | ) | const |
Definition at line 768 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(), PFAlgo::reconstructTrack(), and reco::TrackBase::validFraction().
{ 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 1306 of file HitPattern.cc.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(-1); }
int HitPattern::outermostMuonStationWithBadHits | ( | ) | const |
Definition at line 1305 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 1287 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 1304 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 1113 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 1042 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 900 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 971 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 1122 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 1051 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 909 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 980 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 1101 of file HitPattern.cc.
References pixelBarrelLayersNull(), and pixelEndcapLayersNull().
Referenced by trackerLayersNull().
{ return pixelBarrelLayersNull() + pixelEndcapLayersNull(); }
int HitPattern::pixelLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1030 of file HitPattern.cc.
References pixelBarrelLayersTotallyOffOrBad(), and pixelEndcapLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return pixelBarrelLayersTotallyOffOrBad() + pixelEndcapLayersTotallyOffOrBad(); }
int HitPattern::pixelLayersWithMeasurement | ( | ) | const |
Definition at line 888 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 959 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 1194 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 1167 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 1271 of file HitPattern.cc.
References muonStations().
{ return muonStations(3,-1); }
int HitPattern::rpcStationsWithBadHits | ( | ) | const |
Definition at line 1270 of file HitPattern.cc.
References muonStations().
{ return muonStations(3, 3); }
int HitPattern::rpcStationsWithValidHits | ( | ) | const |
Definition at line 1269 of file HitPattern.cc.
References muonStations().
{ return muonStations(3, 0); }
void reco::HitPattern::set | ( | const TrackingRecHitRef & | ref, |
unsigned int | i | ||
) | [inline, private] |
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 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::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 1106 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 1035 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 893 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 964 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 1158 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 1087 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 945 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 1016 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 1131 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 1060 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 918 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 989 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 1140 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 1069 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 927 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 998 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 1149 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 1078 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 936 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 1007 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(), numberOfInactiveTrackerHits(), 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 1096 of file HitPattern.cc.
References pixelLayersNull(), and stripLayersNull().
{ return pixelLayersNull() + stripLayersNull(); }
int HitPattern::trackerLayersTotallyOffOrBad | ( | ) | const |
Definition at line 1025 of file HitPattern.cc.
References pixelLayersTotallyOffOrBad(), and stripLayersTotallyOffOrBad().
{ return pixelLayersTotallyOffOrBad() + stripLayersTotallyOffOrBad(); }
int HitPattern::trackerLayersWithMeasurement | ( | ) | const |
Definition at line 883 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 954 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().
Referenced by numberOfInactiveHits(), and numberOfInactiveTrackerHits().
{ 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 340 of file HitPattern.h.
Referenced by getHitPattern(), HitPattern(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitSize = 11 [static, private] |
Definition at line 317 of file HitPattern.h.
Referenced by getHitPattern(), getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), innermostMuonStationWithHits(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfInactiveHits(), numberOfInactiveTrackerHits(), 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 337 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::HitTypeOffset = 0 [static, private] |
Definition at line 336 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::LayerMask = 0xF [static, private] |
Definition at line 329 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 328 of file HitPattern.h.
Referenced by getLayer(), getSubSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::PatternSize = 25 [static, private] |
Definition at line 314 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), HitPattern(), innermostMuonStationWithHits(), muonStations(), numberOfBadHits(), numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfInactiveHits(), numberOfInactiveTrackerHits(), 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 333 of file HitPattern.h.
const unsigned short reco::HitPattern::SideOffset = 2 [static, private] |
Definition at line 332 of file HitPattern.h.
const unsigned short reco::HitPattern::SubDetectorMask = 0x1 [static, private] |
Definition at line 321 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubDetectorOffset = 10 [static, private] |
Definition at line 320 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubstrMask = 0x7 [static, private] |
Definition at line 325 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().
const unsigned short reco::HitPattern::SubstrOffset = 7 [static, private] |
Definition at line 324 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().