#include <HitPattern.h>
Public Types | |
enum | { MONO = 1, STEREO = 2 } |
typedef bool | filterType (unsigned int) |
Public Member Functions | |
int | countHits (filterType filter, bool fullScan) const |
int | countTypedHits (filterType typeFilter, filterType filter, bool fullScan) const |
int | cscStationsWithAnyHits () const |
int | cscStationsWithBadHits () const |
int | cscStationsWithValidHits () const |
int | dtStationsWithAnyHits () const |
int | dtStationsWithBadHits () const |
int | dtStationsWithValidHits () const |
uint32_t | getHitPattern (int position) 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 |
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 |
int | pixelBarrelLayersNull () const |
int | pixelBarrelLayersTotallyOffOrBad () const |
int | pixelBarrelLayersWithMeasurement () const |
int | pixelBarrelLayersWithoutMeasurement () const |
int | pixelEndcapLayersNull () const |
int | pixelEndcapLayersTotallyOffOrBad () const |
int | pixelEndcapLayersWithMeasurement () const |
int | pixelEndcapLayersWithoutMeasurement () 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) |
int | stripLayersNull () const |
int | stripLayersTotallyOffOrBad () const |
int | stripLayersWithMeasurement () const |
int | stripLayersWithoutMeasurement () const |
int | stripTECLayersNull () const |
int | stripTECLayersTotallyOffOrBad () const |
int | stripTECLayersWithMeasurement () const |
int | stripTECLayersWithoutMeasurement () const |
int | stripTIBLayersNull () const |
int | stripTIBLayersTotallyOffOrBad () const |
int | stripTIBLayersWithMeasurement () const |
int | stripTIBLayersWithoutMeasurement () const |
int | stripTIDLayersNull () const |
int | stripTIDLayersTotallyOffOrBad () const |
int | stripTIDLayersWithMeasurement () const |
int | stripTIDLayersWithoutMeasurement () const |
int | stripTOBLayersNull () const |
int | stripTOBLayersTotallyOffOrBad () const |
int | stripTOBLayersWithMeasurement () const |
int | stripTOBLayersWithoutMeasurement () const |
int | trackerLayersNull () const |
int | trackerLayersTotallyOffOrBad () const |
int | trackerLayersWithMeasurement () const |
int | trackerLayersWithoutMeasurement () const |
Static Public Member Functions | |
static uint32_t | getCSCRing (uint32_t pattern) |
CSC ring (1-4). Only valid for muon CSC patterns, of course. | |
static uint32_t | getDTSuperLayer (uint32_t pattern) |
DT superlayer (1-3). Only valid for muon DT patterns, of course. | |
static uint32_t | getHitType (uint32_t pattern) |
static uint32_t | getLayer (uint32_t pattern) |
static uint32_t | getMuonStation (uint32_t pattern) |
Muon station (1-4). Only valid for muon patterns, of course. | |
static uint32_t | getRPCLayer (uint32_t pattern) |
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. | |
static uint32_t | getRPCregion (uint32_t pattern) |
RPC region: 0 = barrel, 1 = endcap. Only valid for muon RPC patterns, of course. | |
static uint32_t | getSide (uint32_t pattern) |
static uint32_t | getSubStructure (uint32_t pattern) |
static uint32_t | getSubSubStructure (uint32_t pattern) |
static bool | muonCSCHitFilter (uint32_t pattern) |
static bool | muonDTHitFilter (uint32_t pattern) |
static bool | muonHitFilter (uint32_t pattern) |
static bool | muonRPCHitFilter (uint32_t pattern) |
static bool | pixelBarrelHitFilter (uint32_t pattern) |
static bool | pixelEndcapHitFilter (uint32_t pattern) |
static bool | pixelHitFilter (uint32_t pattern) |
static bool | stripHitFilter (uint32_t pattern) |
static bool | stripTECHitFilter (uint32_t pattern) |
static bool | stripTIBHitFilter (uint32_t pattern) |
static bool | stripTIDHitFilter (uint32_t pattern) |
static bool | stripTOBHitFilter (uint32_t pattern) |
static bool | trackerHitFilter (uint32_t pattern) |
static bool | type_1_HitFilter (uint32_t pattern) |
static bool | type_2_HitFilter (uint32_t pattern) |
static bool | type_3_HitFilter (uint32_t pattern) |
static bool | validHitFilter (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 120 of file HitPattern.h.
typedef bool reco::HitPattern::filterType(unsigned int) |
Definition at line 150 of file HitPattern.h.
anonymous enum |
reco::HitPattern::HitPattern | ( | ) | [inline] |
Definition at line 126 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 reco::HitPattern::countHits | ( | filterType | filter, |
bool | fullScan | ||
) | const [inline] |
Definition at line 151 of file HitPattern.h.
References prof2calltree::count, align_tpl::filter, getHitPattern(), HitSize, i, listBenchmarks::pattern, and PatternSize.
Referenced by numberOfBadHits(), numberOfInactiveHits(), numberOfLostHits(), and numberOfValidHits().
int reco::HitPattern::countTypedHits | ( | filterType | typeFilter, |
filterType | filter, | ||
bool | fullScan | ||
) | const [inline] |
Definition at line 161 of file HitPattern.h.
References prof2calltree::count, align_tpl::filter, getHitPattern(), HitSize, i, listBenchmarks::pattern, and PatternSize.
Referenced by numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfInactiveTrackerHits(), numberOfLostMuonCSCHits(), numberOfLostMuonDTHits(), numberOfLostMuonHits(), numberOfLostMuonRPCHits(), numberOfLostPixelBarrelHits(), numberOfLostPixelEndcapHits(), numberOfLostPixelHits(), numberOfLostStripHits(), numberOfLostStripTECHits(), numberOfLostStripTIBHits(), numberOfLostStripTIDHits(), numberOfLostStripTOBHits(), numberOfLostTrackerHits(), numberOfValidMuonCSCHits(), numberOfValidMuonDTHits(), numberOfValidMuonHits(), numberOfValidMuonRPCHits(), numberOfValidPixelBarrelHits(), numberOfValidPixelEndcapHits(), numberOfValidPixelHits(), numberOfValidStripHits(), numberOfValidStripTECHits(), numberOfValidStripTIBHits(), numberOfValidStripTIDHits(), numberOfValidStripTOBHits(), and numberOfValidTrackerHits().
int reco::HitPattern::cscStationsWithAnyHits | ( | ) | const [inline] |
Definition at line 779 of file HitPattern.h.
References muonStations().
{ return muonStations(2,-1); }
int reco::HitPattern::cscStationsWithBadHits | ( | ) | const [inline] |
Definition at line 778 of file HitPattern.h.
References muonStations().
{ return muonStations(2, 3); }
int reco::HitPattern::cscStationsWithValidHits | ( | ) | const [inline] |
Definition at line 777 of file HitPattern.h.
References muonStations().
{ return muonStations(2, 0); }
int reco::HitPattern::dtStationsWithAnyHits | ( | ) | const [inline] |
Definition at line 776 of file HitPattern.h.
References muonStations().
{ return muonStations(1,-1); }
int reco::HitPattern::dtStationsWithBadHits | ( | ) | const [inline] |
Definition at line 775 of file HitPattern.h.
References muonStations().
{ return muonStations(1, 3); }
int reco::HitPattern::dtStationsWithValidHits | ( | ) | const [inline] |
Definition at line 774 of file HitPattern.h.
References muonStations().
{ return muonStations(1, 0); }
uint32_t reco::HitPattern::getCSCRing | ( | uint32_t | pattern | ) | [inline, static] |
CSC ring (1-4). Only valid for muon CSC patterns, of course.
Definition at line 509 of file HitPattern.h.
References getSubSubStructure().
Referenced by printHitPattern().
{ return (getSubSubStructure(pattern) & 3) + 1; }
uint32_t reco::HitPattern::getDTSuperLayer | ( | uint32_t | pattern | ) | [inline, static] |
DT superlayer (1-3). Only valid for muon DT patterns, of course.
Definition at line 505 of file HitPattern.h.
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(), countHits(), countTypedHits(), GsfElectronCoreBaseProducer::getCtfTrackRef(), getTrackerLayerCase(), getTrackerMonoStereo(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), index_to_hitpattern(), innermostMuonStationWithHits(), SoftElectronCandProducer::isClean(), PFElecTkProducer::isInnerMost(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfValidStripLayersWithMonoAndStereo(), 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 reco::HitPattern::getHitType | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 496 of file HitPattern.h.
References HitTypeMask, HitTypeOffset, and unlikely.
Referenced by innermostMuonStationWithHits(), muonStations(), outermostMuonStationWithHits(), PFCheckHitPattern::print(), printHitPattern(), type_1_HitFilter(), type_2_HitFilter(), type_3_HitFilter(), and validHitFilter().
{ if unlikely(pattern == 0) return 999999; return ((pattern>>HitTypeOffset) & HitTypeMask); }
uint32_t reco::HitPattern::getLayer | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 480 of file HitPattern.h.
References LayerMask, LayerOffset, and unlikely.
Referenced by PFCheckHitPattern::analyze(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), SoftElectronCandProducer::isClean(), PFElecTkProducer::isInnerMost(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), PFCheckHitPattern::print(), printHitPattern(), and QcdUeDQM::trackSelection().
{ if unlikely(pattern == 0) return 999999; return ((pattern>>LayerOffset) & LayerMask); }
uint32_t reco::HitPattern::getMuonStation | ( | uint32_t | pattern | ) | [inline, static] |
Muon station (1-4). Only valid for muon patterns, of course.
Definition at line 501 of file HitPattern.h.
References getSubSubStructure().
Referenced by innermostMuonStationWithHits(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), outermostMuonStationWithHits(), and printHitPattern().
{ return (getSubSubStructure(pattern)>>2) + 1; }
uint32_t reco::HitPattern::getRPCLayer | ( | uint32_t | pattern | ) | [inline, static] |
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 513 of file HitPattern.h.
References getSubSubStructure(), and likely.
Referenced by printHitPattern().
{ uint32_t sss = getSubSubStructure(pattern), stat = sss >> 2; if likely(stat <= 1) return ((sss >> 1) & 1) + 1; return 0; }
uint32_t reco::HitPattern::getRPCregion | ( | uint32_t | pattern | ) | [inline, static] |
RPC region: 0 = barrel, 1 = endcap. Only valid for muon RPC patterns, of course.
Definition at line 519 of file HitPattern.h.
References getSubSubStructure().
Referenced by printHitPattern().
{ return getSubSubStructure(pattern) & 1; }
uint32_t reco::HitPattern::getSide | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 491 of file HitPattern.h.
References SideMask, SideOffset, and unlikely.
Referenced by getTrackerMonoStereo(), and numberOfValidStripLayersWithMonoAndStereo().
{ if unlikely(pattern == 0) return 999999; return (pattern >> SideOffset) & SideMask; }
uint32_t reco::HitPattern::getSubStructure | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 474 of file HitPattern.h.
References SubstrMask, SubstrOffset, and unlikely.
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 unlikely(pattern == 0) return 999999; return ((pattern >> SubstrOffset) & SubstrMask); }
uint32_t reco::HitPattern::getSubSubStructure | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 485 of file HitPattern.h.
References LayerMask, LayerOffset, and unlikely.
Referenced by getCSCRing(), getDTSuperLayer(), getMuonStation(), getRPCLayer(), and getRPCregion().
{ if unlikely(pattern == 0) return 999999; return ((pattern>>LayerOffset) & LayerMask); }
uint32_t HitPattern::getTrackerLayerCase | ( | uint32_t | substr, |
uint32_t | layer | ||
) | const |
Definition at line 202 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 236 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 125 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 (pattern == 0) break; if (pixelBarrelHitFilter(pattern)) { if (getLayer(pattern) == 1) { if (validHitFilter(pattern)) { return true; } } } } return false; }
bool HitPattern::hasValidHitInFirstPixelEndcap | ( | ) | const |
Definition at line 140 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 (pattern == 0) break; if (pixelEndcapHitFilter(pattern)) { if (getLayer(pattern) == 1) { if (validHitFilter(pattern)) { return true; } } } } return false; }
int reco::HitPattern::innermostMuonStationWithAnyHits | ( | ) | const [inline] |
Definition at line 786 of file HitPattern.h.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(-1); }
int reco::HitPattern::innermostMuonStationWithBadHits | ( | ) | const [inline] |
Definition at line 785 of file HitPattern.h.
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 592 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 reco::HitPattern::innermostMuonStationWithValidHits | ( | ) | const [inline] |
Definition at line 784 of file HitPattern.h.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(0); }
uint32_t HitPattern::isStereo | ( | DetId | i | ) | [static, private] |
Definition at line 540 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 reco::HitPattern::muonCSCHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 446 of file HitPattern.h.
References MuonSubdetId::CSC, getSubStructure(), muonHitFilter(), and unlikely.
Referenced by numberOfBadMuonCSCHits(), numberOfLostMuonCSCHits(), numberOfValidMuonCSCHits(), and printHitPattern().
{ if unlikely(!muonHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == (uint32_t) MuonSubdetId::CSC) return true; return false; }
bool reco::HitPattern::muonDTHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 439 of file HitPattern.h.
References MuonSubdetId::DT, getSubStructure(), muonHitFilter(), and unlikely.
Referenced by numberOfBadMuonDTHits(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfLostMuonDTHits(), numberOfValidMuonDTHits(), and printHitPattern().
{ if unlikely(!muonHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == (uint32_t) MuonSubdetId::DT) return true; return false; }
bool reco::HitPattern::muonHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 467 of file HitPattern.h.
References SubDetectorMask, SubDetectorOffset, and unlikely.
Referenced by innermostMuonStationWithHits(), muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), muonStations(), numberOfBadMuonHits(), numberOfLostMuonHits(), numberOfValidMuonHits(), outermostMuonStationWithHits(), and printHitPattern().
{ if unlikely(pattern == 0) return false; if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 0) return true; return false; }
bool reco::HitPattern::muonRPCHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 453 of file HitPattern.h.
References getSubStructure(), muonHitFilter(), MuonSubdetId::RPC, and unlikely.
Referenced by numberOfBadMuonRPCHits(), numberOfLostMuonRPCHits(), numberOfValidMuonRPCHits(), and printHitPattern().
{ if unlikely(!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 577 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 reco::HitPattern::muonStationsWithAnyHits | ( | ) | const [inline] |
Definition at line 773 of file HitPattern.h.
References muonStations().
{ return muonStations(0,-1); }
int reco::HitPattern::muonStationsWithBadHits | ( | ) | const [inline] |
Definition at line 772 of file HitPattern.h.
References muonStations().
{ return muonStations(0, 3); }
int reco::HitPattern::muonStationsWithValidHits | ( | ) | const [inline] |
Definition at line 771 of file HitPattern.h.
References muonStations().
{ return muonStations(0, 0); }
int reco::HitPattern::numberOfBadHits | ( | ) | const [inline] |
Definition at line 664 of file HitPattern.h.
References countHits(), and type_3_HitFilter().
{ return countHits(type_3_HitFilter, true); }
int reco::HitPattern::numberOfBadMuonCSCHits | ( | ) | const [inline] |
Definition at line 676 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonCSCHitFilter, true); }
int reco::HitPattern::numberOfBadMuonDTHits | ( | ) | const [inline] |
Definition at line 672 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonDTHitFilter, true); }
int reco::HitPattern::numberOfBadMuonHits | ( | ) | const [inline] |
Definition at line 668 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonHitFilter, true); }
int reco::HitPattern::numberOfBadMuonRPCHits | ( | ) | const [inline] |
Definition at line 680 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonRPCHitFilter, true); }
int HitPattern::numberOfDTStationsWithBothViews | ( | ) | const |
Definition at line 645 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 621 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 633 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 155 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 reco::HitPattern::numberOfInactiveHits | ( | ) | const [inline] |
Definition at line 686 of file HitPattern.h.
References countHits(), and type_2_HitFilter().
{ return countHits(type_2_HitFilter, true); }
int reco::HitPattern::numberOfInactiveTrackerHits | ( | ) | const [inline] |
Definition at line 690 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, trackerHitFilter, true); }
int reco::HitPattern::numberOfLostHits | ( | ) | const [inline] |
Definition at line 606 of file HitPattern.h.
References countHits(), and type_1_HitFilter().
Referenced by reco::TransientTrack::numberOfLostHits(), and reco::TrackBase::numberOfLostHits().
{ return countHits(type_1_HitFilter, true); }
int reco::HitPattern::numberOfLostMuonCSCHits | ( | ) | const [inline] |
Definition at line 654 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonCSCHitFilter, true); }
int reco::HitPattern::numberOfLostMuonDTHits | ( | ) | const [inline] |
Definition at line 650 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonDTHitFilter, true); }
int reco::HitPattern::numberOfLostMuonHits | ( | ) | const [inline] |
Definition at line 614 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonHitFilter, true); }
int reco::HitPattern::numberOfLostMuonRPCHits | ( | ) | const [inline] |
Definition at line 658 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonRPCHitFilter, true); }
int reco::HitPattern::numberOfLostPixelBarrelHits | ( | ) | const [inline] |
Definition at line 622 of file HitPattern.h.
References countTypedHits(), pixelBarrelHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelBarrelHitFilter, true); }
int reco::HitPattern::numberOfLostPixelEndcapHits | ( | ) | const [inline] |
Definition at line 626 of file HitPattern.h.
References countTypedHits(), pixelEndcapHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelEndcapHitFilter, true); }
int reco::HitPattern::numberOfLostPixelHits | ( | ) | const [inline] |
Definition at line 618 of file HitPattern.h.
References countTypedHits(), pixelHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelHitFilter, true); }
int reco::HitPattern::numberOfLostStripHits | ( | ) | const [inline] |
Definition at line 630 of file HitPattern.h.
References countTypedHits(), stripHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripHitFilter, true); }
int reco::HitPattern::numberOfLostStripTECHits | ( | ) | const [inline] |
Definition at line 646 of file HitPattern.h.
References countTypedHits(), stripTECHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTECHitFilter, true); }
int reco::HitPattern::numberOfLostStripTIBHits | ( | ) | const [inline] |
Definition at line 634 of file HitPattern.h.
References countTypedHits(), stripTIBHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTIBHitFilter, true); }
int reco::HitPattern::numberOfLostStripTIDHits | ( | ) | const [inline] |
Definition at line 638 of file HitPattern.h.
References countTypedHits(), stripTIDHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTIDHitFilter, true); }
int reco::HitPattern::numberOfLostStripTOBHits | ( | ) | const [inline] |
Definition at line 642 of file HitPattern.h.
References countTypedHits(), stripTOBHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTOBHitFilter, true); }
int reco::HitPattern::numberOfLostTrackerHits | ( | ) | const [inline] |
Definition at line 610 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and type_1_HitFilter().
Referenced by reco::TrackBase::validFraction().
{ return countTypedHits(type_1_HitFilter, trackerHitFilter, true); }
int reco::HitPattern::numberOfValidHits | ( | ) | const [inline] |
Definition at line 549 of file HitPattern.h.
References countHits(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), reco::TransientTrack::numberOfValidHits(), reco::TrackBase::numberOfValidHits(), reco::TrackSelector::operator()(), and TrackIPProducer::produce().
{ return countHits(validHitFilter, false); }
int reco::HitPattern::numberOfValidMuonCSCHits | ( | ) | const [inline] |
Definition at line 597 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonCSCHitFilter, false); }
int reco::HitPattern::numberOfValidMuonDTHits | ( | ) | const [inline] |
Definition at line 593 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonDTHitFilter, false); }
int reco::HitPattern::numberOfValidMuonHits | ( | ) | const [inline] |
Definition at line 557 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), MuScleFit::selGlobalMuon(), MuScleFitMuonSelector::selGlobalMuon(), and BPhysicsOniaDQM::selGlobalMuon().
{ return countTypedHits(validHitFilter, muonHitFilter, false); }
int reco::HitPattern::numberOfValidMuonRPCHits | ( | ) | const [inline] |
Definition at line 601 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonRPCHitFilter, false); }
int reco::HitPattern::numberOfValidPixelBarrelHits | ( | ) | const [inline] |
Definition at line 565 of file HitPattern.h.
References countTypedHits(), pixelBarrelHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze(), and HLTTrackWithHits::filter().
{ return countTypedHits(validHitFilter, pixelBarrelHitFilter, false); }
int reco::HitPattern::numberOfValidPixelEndcapHits | ( | ) | const [inline] |
Definition at line 569 of file HitPattern.h.
References countTypedHits(), pixelEndcapHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze(), and HLTTrackWithHits::filter().
{ return countTypedHits(validHitFilter, pixelEndcapHitFilter, false); }
int reco::HitPattern::numberOfValidPixelHits | ( | ) | const [inline] |
Definition at line 561 of file HitPattern.h.
References countTypedHits(), pixelHitFilter(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), HLTTrackWithHits::filter(), reco::TrackSelector::operator()(), TrackIPProducer::produce(), PFAlgo::reconstructTrack(), and PFElectronAlgo::SetLinks().
{ return countTypedHits(validHitFilter, pixelHitFilter, false); }
int reco::HitPattern::numberOfValidStripHits | ( | ) | const [inline] |
Definition at line 573 of file HitPattern.h.
References countTypedHits(), stripHitFilter(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze().
{ return countTypedHits(validHitFilter, stripHitFilter, false); }
int HitPattern::numberOfValidStripLayersWithMonoAndStereo | ( | ) | const |
Definition at line 166 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(), ora::QueryableVector< Item >::select(), and reco::modules::HiAnalyticalTrackSelector::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) break; 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 reco::HitPattern::numberOfValidStripTECHits | ( | ) | const [inline] |
Definition at line 589 of file HitPattern.h.
References countTypedHits(), stripTECHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ return countTypedHits(validHitFilter, stripTECHitFilter, false); }
int reco::HitPattern::numberOfValidStripTIBHits | ( | ) | const [inline] |
Definition at line 577 of file HitPattern.h.
References countTypedHits(), stripTIBHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ return countTypedHits(validHitFilter, stripTIBHitFilter, false); }
int reco::HitPattern::numberOfValidStripTIDHits | ( | ) | const [inline] |
Definition at line 581 of file HitPattern.h.
References countTypedHits(), stripTIDHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ return countTypedHits(validHitFilter, stripTIDHitFilter, false); }
int reco::HitPattern::numberOfValidStripTOBHits | ( | ) | const [inline] |
Definition at line 585 of file HitPattern.h.
References countTypedHits(), stripTOBHitFilter(), and validHitFilter().
Referenced by PatTrackAnalyzer::analyze().
{ return countTypedHits(validHitFilter, stripTOBHitFilter, false); }
int reco::HitPattern::numberOfValidTrackerHits | ( | ) | const [inline] |
Definition at line 553 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and validHitFilter().
Referenced by HLTMuonDQMSource::analyze(), CSCSkim::doBFieldStudySelection(), PFAlgo::reconstructTrack(), and reco::TrackBase::validFraction().
{ return countTypedHits(validHitFilter, trackerHitFilter, false); }
int reco::HitPattern::outermostMuonStationWithAnyHits | ( | ) | const [inline] |
Definition at line 789 of file HitPattern.h.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(-1); }
int reco::HitPattern::outermostMuonStationWithBadHits | ( | ) | const [inline] |
Definition at line 788 of file HitPattern.h.
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 606 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 reco::HitPattern::outermostMuonStationWithValidHits | ( | ) | const [inline] |
Definition at line 787 of file HitPattern.h.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(0); }
bool reco::HitPattern::pixelBarrelHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 387 of file HitPattern.h.
References getSubStructure(), PixelSubdetector::PixelBarrel, trackerHitFilter(), and unlikely.
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), SoftElectronCandProducer::isClean(), numberOfLostPixelBarrelHits(), and numberOfValidPixelBarrelHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelBarrel) return true; return false; }
int HitPattern::pixelBarrelLayersNull | ( | ) | const |
Definition at line 444 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 389 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 279 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 334 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 reco::HitPattern::pixelEndcapHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 394 of file HitPattern.h.
References getSubStructure(), PixelSubdetector::PixelEndcap, trackerHitFilter(), and unlikely.
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelEndcap(), SoftElectronCandProducer::isClean(), numberOfLostPixelEndcapHits(), and numberOfValidPixelEndcapHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelEndcap) return true; return false; }
int HitPattern::pixelEndcapLayersNull | ( | ) | const |
Definition at line 453 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 398 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 288 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 343 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 reco::HitPattern::pixelHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 379 of file HitPattern.h.
References getSubStructure(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, trackerHitFilter(), and unlikely.
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostPixelHits(), numberOfValidPixelHits(), FWConvTrackHitsDetailView::setTextInfo(), EgAmbiguityTools::sharedDets(), EgAmbiguityTools::sharedHits(), and QcdUeDQM::trackSelection().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == PixelSubdetector::PixelBarrel || substructure == PixelSubdetector::PixelEndcap) return true; return false; }
int reco::HitPattern::pixelLayersNull | ( | ) | const [inline] |
Definition at line 758 of file HitPattern.h.
References pixelBarrelLayersNull(), and pixelEndcapLayersNull().
Referenced by trackerLayersNull().
{ return pixelBarrelLayersNull() + pixelEndcapLayersNull(); }
int reco::HitPattern::pixelLayersTotallyOffOrBad | ( | ) | const [inline] |
Definition at line 741 of file HitPattern.h.
References pixelBarrelLayersTotallyOffOrBad(), and pixelEndcapLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return pixelBarrelLayersTotallyOffOrBad() + pixelEndcapLayersTotallyOffOrBad(); }
int reco::HitPattern::pixelLayersWithMeasurement | ( | ) | const [inline] |
Definition at line 705 of file HitPattern.h.
References pixelBarrelLayersWithMeasurement(), and pixelEndcapLayersWithMeasurement().
Referenced by PrimaryVertexAnalyzer4PU::fillTrackHistos(), GhostTrackComputer::operator()(), IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), reco::modules::CosmicTrackSelector::select(), ora::QueryableVector< Item >::select(), reco::modules::HiAnalyticalTrackSelector::select(), MuScleFit::selGlobalMuon(), MuScleFitMuonSelector::selGlobalMuon(), BPhysicsOniaDQM::selGlobalMuon(), MuScleFitMuonSelector::selTrackerMuon(), BPhysicsOniaDQM::selTrackerMuon(), MuScleFit::selTrackerMuon(), and trackerLayersWithMeasurement().
{ return pixelBarrelLayersWithMeasurement() + pixelEndcapLayersWithMeasurement(); }
int reco::HitPattern::pixelLayersWithoutMeasurement | ( | ) | const [inline] |
Definition at line 723 of file HitPattern.h.
References pixelBarrelLayersWithoutMeasurement(), and pixelEndcapLayersWithoutMeasurement().
Referenced by trackerLayersWithoutMeasurement().
{ return pixelBarrelLayersWithoutMeasurement() + pixelEndcapLayersWithoutMeasurement(); }
void HitPattern::print | ( | std::ostream & | stream = std::cout | ) | const |
Definition at line 525 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 498 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 reco::HitPattern::rpcStationsWithAnyHits | ( | ) | const [inline] |
Definition at line 782 of file HitPattern.h.
References muonStations().
{ return muonStations(3,-1); }
int reco::HitPattern::rpcStationsWithBadHits | ( | ) | const [inline] |
Definition at line 781 of file HitPattern.h.
References muonStations().
{ return muonStations(3, 3); }
int reco::HitPattern::rpcStationsWithValidHits | ( | ) | const [inline] |
Definition at line 780 of file HitPattern.h.
References muonStations().
{ return muonStations(3, 0); }
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 TrackingRecHitRef & | ref, |
unsigned int | i | ||
) | [inline, private] |
Definition at line 371 of file HitPattern.h.
References i, and MultipleCompare::ref.
void reco::HitPattern::set | ( | const I & | begin, |
const I & | end | ||
) | [inline] |
Definition at line 140 of file HitPattern.h.
References begin, 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 reco::HitPattern::stripHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 401 of file HitPattern.h.
References getSubStructure(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, trackerHitFilter(), and unlikely.
Referenced by numberOfLostStripHits(), numberOfValidStripHits(), numberOfValidStripLayersWithMonoAndStereo(), and FWConvTrackHitsDetailView::setTextInfo().
{ if unlikely(!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 reco::HitPattern::stripLayersNull | ( | ) | const [inline] |
Definition at line 763 of file HitPattern.h.
References stripTECLayersNull(), stripTIBLayersNull(), stripTIDLayersNull(), and stripTOBLayersNull().
Referenced by trackerLayersNull().
{ return stripTIBLayersNull() + stripTIDLayersNull() + stripTOBLayersNull() + stripTECLayersNull(); }
int reco::HitPattern::stripLayersTotallyOffOrBad | ( | ) | const [inline] |
Definition at line 746 of file HitPattern.h.
References stripTECLayersTotallyOffOrBad(), stripTIBLayersTotallyOffOrBad(), stripTIDLayersTotallyOffOrBad(), and stripTOBLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return stripTIBLayersTotallyOffOrBad() + stripTIDLayersTotallyOffOrBad() + stripTOBLayersTotallyOffOrBad() + stripTECLayersTotallyOffOrBad(); }
int reco::HitPattern::stripLayersWithMeasurement | ( | ) | const [inline] |
Definition at line 710 of file HitPattern.h.
References stripTECLayersWithMeasurement(), stripTIBLayersWithMeasurement(), stripTIDLayersWithMeasurement(), and stripTOBLayersWithMeasurement().
Referenced by IsolatedTracksNxN::printTrack(), BeamFitter::readEvent(), and trackerLayersWithMeasurement().
{ return stripTIBLayersWithMeasurement() + stripTIDLayersWithMeasurement() + stripTOBLayersWithMeasurement() + stripTECLayersWithMeasurement(); }
int reco::HitPattern::stripLayersWithoutMeasurement | ( | ) | const [inline] |
Definition at line 728 of file HitPattern.h.
References stripTECLayersWithoutMeasurement(), stripTIBLayersWithoutMeasurement(), stripTIDLayersWithoutMeasurement(), and stripTOBLayersWithoutMeasurement().
Referenced by trackerLayersWithoutMeasurement().
bool reco::HitPattern::stripTECHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 432 of file HitPattern.h.
References getSubStructure(), StripSubdetector::TEC, trackerHitFilter(), and unlikely.
Referenced by numberOfLostStripTECHits(), numberOfValidStripTECHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TEC) return true; return false; }
int HitPattern::stripTECLayersNull | ( | ) | const |
Definition at line 489 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 434 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 324 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 379 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 reco::HitPattern::stripTIBHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 411 of file HitPattern.h.
References getSubStructure(), StripSubdetector::TIB, trackerHitFilter(), and unlikely.
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostStripTIBHits(), numberOfValidStripTIBHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TIB) return true; return false; }
int HitPattern::stripTIBLayersNull | ( | ) | const |
Definition at line 462 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 407 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 297 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 352 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 reco::HitPattern::stripTIDHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 418 of file HitPattern.h.
References getSubStructure(), StripSubdetector::TID, trackerHitFilter(), and unlikely.
Referenced by GsfElectronAlgo::ElectronData::checkCtfTrack(), GsfElectronCoreBaseProducer::getCtfTrackRef(), numberOfLostStripTIDHits(), numberOfValidStripTIDHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TID) return true; return false; }
int HitPattern::stripTIDLayersNull | ( | ) | const |
Definition at line 471 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 416 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 306 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 361 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 reco::HitPattern::stripTOBHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 425 of file HitPattern.h.
References getSubStructure(), StripSubdetector::TOB, trackerHitFilter(), and unlikely.
Referenced by numberOfLostStripTOBHits(), numberOfValidStripTOBHits(), EgAmbiguityTools::sharedDets(), and EgAmbiguityTools::sharedHits().
{ if unlikely(!trackerHitFilter(pattern)) return false; uint32_t substructure = getSubStructure(pattern); if (substructure == StripSubdetector::TOB) return true; return false; }
int HitPattern::stripTOBLayersNull | ( | ) | const |
Definition at line 480 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 425 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 315 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 370 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 reco::HitPattern::trackerHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 461 of file HitPattern.h.
References SubDetectorMask, SubDetectorOffset, and unlikely.
Referenced by PFCheckHitPattern::analyze(), numberOfInactiveTrackerHits(), numberOfLostTrackerHits(), numberOfValidTrackerHits(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), PFCheckHitPattern::print(), printHitPattern(), stripHitFilter(), stripTECHitFilter(), stripTIBHitFilter(), stripTIDHitFilter(), and stripTOBHitFilter().
{ if unlikely(pattern == 0) return false; if (((pattern>>SubDetectorOffset) & SubDetectorMask) == 1) return true; return false; }
int reco::HitPattern::trackerLayersNull | ( | ) | const [inline] |
Definition at line 753 of file HitPattern.h.
References pixelLayersNull(), and stripLayersNull().
{ return pixelLayersNull() + stripLayersNull(); }
int reco::HitPattern::trackerLayersTotallyOffOrBad | ( | ) | const [inline] |
Definition at line 736 of file HitPattern.h.
References pixelLayersTotallyOffOrBad(), and stripLayersTotallyOffOrBad().
{ return pixelLayersTotallyOffOrBad() + stripLayersTotallyOffOrBad(); }
int reco::HitPattern::trackerLayersWithMeasurement | ( | ) | const [inline] |
Definition at line 700 of file HitPattern.h.
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(), ora::QueryableVector< Item >::select(), and reco::modules::HiAnalyticalTrackSelector::select().
{ return pixelLayersWithMeasurement() + stripLayersWithMeasurement(); }
int reco::HitPattern::trackerLayersWithoutMeasurement | ( | ) | const [inline] |
Definition at line 718 of file HitPattern.h.
References pixelLayersWithoutMeasurement(), and stripLayersWithoutMeasurement().
Referenced by spr::goodTrack(), reco::modules::CosmicTrackSelector::select(), ora::QueryableVector< Item >::select(), and reco::modules::HiAnalyticalTrackSelector::select().
{ return pixelLayersWithoutMeasurement() + stripLayersWithoutMeasurement(); }
bool reco::HitPattern::type_1_HitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 529 of file HitPattern.h.
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 reco::HitPattern::type_2_HitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 534 of file HitPattern.h.
References getHitType().
Referenced by numberOfBadMuonCSCHits(), numberOfBadMuonDTHits(), numberOfBadMuonHits(), numberOfBadMuonRPCHits(), numberOfInactiveHits(), and numberOfInactiveTrackerHits().
{ if (getHitType(pattern) == 2) return true; return false; }
bool reco::HitPattern::type_3_HitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 539 of file HitPattern.h.
References getHitType().
Referenced by numberOfBadHits().
{ if (getHitType(pattern) == 3) return true; return false; }
bool reco::HitPattern::validHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 524 of file HitPattern.h.
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 365 of file HitPattern.h.
Referenced by getHitPattern(), HitPattern(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitSize = 11 [static, private] |
Definition at line 342 of file HitPattern.h.
Referenced by countHits(), countTypedHits(), getHitPattern(), getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), innermostMuonStationWithHits(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfValidStripLayersWithMonoAndStereo(), outermostMuonStationWithHits(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitTypeMask = 0x3 [static, private] |
Definition at line 362 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::HitTypeOffset = 0 [static, private] |
Definition at line 361 of file HitPattern.h.
Referenced by getHitType(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::LayerMask = 0xF [static, private] |
Definition at line 354 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 353 of file HitPattern.h.
Referenced by getLayer(), getSubSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().
const unsigned short reco::HitPattern::PatternSize = 25 [static, private] |
Definition at line 339 of file HitPattern.h.
Referenced by countHits(), countTypedHits(), getTrackerLayerCase(), getTrackerMonoStereo(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), HitPattern(), innermostMuonStationWithHits(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfValidStripLayersWithMonoAndStereo(), outermostMuonStationWithHits(), and set().
const unsigned short reco::HitPattern::SideMask = 0x1 [static, private] |
Definition at line 358 of file HitPattern.h.
const unsigned short reco::HitPattern::SideOffset = 2 [static, private] |
Definition at line 357 of file HitPattern.h.
const unsigned short reco::HitPattern::SubDetectorMask = 0x1 [static, private] |
Definition at line 346 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubDetectorOffset = 10 [static, private] |
Definition at line 345 of file HitPattern.h.
Referenced by getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), set(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubstrMask = 0x7 [static, private] |
Definition at line 350 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), numberOfValidStripLayersWithMonoAndStereo(), and set().
const unsigned short reco::HitPattern::SubstrOffset = 7 [static, private] |
Definition at line 349 of file HitPattern.h.
Referenced by getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and set().