#include <HitPattern.h>
Public Types | |
enum | { MONO = 1, STEREO = 2 } |
typedef bool | filterType (unsigned int) |
Public Member Functions | |
void | appendHit (const TrackingRecHit &hit) |
int | countHits (filterType filter) const |
int | countTypedHits (filterType typeFilter, filterType filter) 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 |
template<typename I > | |
void | set (const I &begin, const I &end) |
void | set (const TrackingRecHit &hit, unsigned int i) |
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). Where the "hit" was a DT segment, superlayer is 0. 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 | |
uint32_t | encode (const TrackingRecHit &, unsigned int) |
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 119 of file HitPattern.h.
typedef bool reco::HitPattern::filterType(unsigned int) |
Definition at line 149 of file HitPattern.h.
anonymous enum |
reco::HitPattern::HitPattern | ( | ) | [inline] |
Definition at line 125 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] |
void HitPattern::appendHit | ( | const TrackingRecHit & | hit | ) |
Definition at line 88 of file HitPattern.cc.
References filterCSVwithJSON::copy, CSC(), cond::rpcobgas::detid, TrackingRecHit::dimension(), MuonSubdetId::DT, TrackingRecHit::geographicalId(), i, DetId::Muon, numberOfHits(), TrackingRecHit::recHits(), MuonSubdetId::RPC, and DetId::Tracker.
Referenced by reco::TrackBase::appendHitPattern().
{ // get rec hit det id and rec hit type DetId id = hit.geographicalId(); uint32_t detid = id.det(); uint32_t subdet = id.subdetId(); std::vector<const TrackingRecHit*> hits; if (detid == DetId::Tracker) hits.push_back(&hit); if (detid == DetId::Muon) { if (subdet == (uint32_t) MuonSubdetId::DT){ // DT rechit (granularity 2) if(hit.dimension() == 1) hits.push_back(&hit); // 4D segment (granularity 0) else if(hit.dimension() > 1){ // Both 2 and 4 dim cases. MB4s have 2D, but formatted in 4D segments std::vector<const TrackingRecHit*> seg2D = hit.recHits(); // 4D --> 2D // load 1D hits (2D --> 1D) for(std::vector<const TrackingRecHit*>::const_iterator it = seg2D.begin(); it != seg2D.end(); ++it){ std::vector<const TrackingRecHit*> hits1D = (*it)->recHits(); copy(hits1D.begin(),hits1D.end(),back_inserter(hits)); } } } else if (subdet == (uint32_t) MuonSubdetId::CSC){ // CSC rechit (granularity 2) if(hit.dimension() == 2) hits.push_back(&hit); // 4D segment (granularity 0) if(hit.dimension() == 4) hits = hit.recHits(); // load 2D hits (4D --> 1D) } else if (subdet == (uint32_t) MuonSubdetId::RPC) { hits.push_back(&hit); } } unsigned int i = numberOfHits(); for(std::vector<const TrackingRecHit*>::const_iterator it = hits.begin(); it != hits.end(); ++it) set(**it,i++); }
int reco::HitPattern::countHits | ( | filterType | filter | ) | const [inline] |
Definition at line 150 of file HitPattern.h.
References prof2calltree::count, alcazmumu_cfi::filter, getHitPattern(), HitSize, i, listBenchmarks::pattern, and PatternSize.
Referenced by numberOfBadHits(), numberOfInactiveHits(), numberOfLostHits(), and numberOfValidHits().
int reco::HitPattern::countTypedHits | ( | filterType | typeFilter, |
filterType | filter | ||
) | const [inline] |
Definition at line 160 of file HitPattern.h.
References prof2calltree::count, alcazmumu_cfi::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 784 of file HitPattern.h.
References muonStations().
{ return muonStations(2,-1); }
int reco::HitPattern::cscStationsWithBadHits | ( | ) | const [inline] |
Definition at line 783 of file HitPattern.h.
References muonStations().
{ return muonStations(2, 3); }
int reco::HitPattern::cscStationsWithValidHits | ( | ) | const [inline] |
Definition at line 782 of file HitPattern.h.
References muonStations().
{ return muonStations(2, 0); }
int reco::HitPattern::dtStationsWithAnyHits | ( | ) | const [inline] |
Definition at line 781 of file HitPattern.h.
References muonStations().
{ return muonStations(1,-1); }
int reco::HitPattern::dtStationsWithBadHits | ( | ) | const [inline] |
Definition at line 780 of file HitPattern.h.
References muonStations().
{ return muonStations(1, 3); }
int reco::HitPattern::dtStationsWithValidHits | ( | ) | const [inline] |
Definition at line 779 of file HitPattern.h.
References muonStations().
{ return muonStations(1, 0); }
uint32_t HitPattern::encode | ( | const TrackingRecHit & | hit, |
unsigned int | i | ||
) | [private] |
Definition at line 15 of file HitPattern.cc.
References abs, MuonSubdetId::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, SideMask, SideOffset, RPCDetId::station(), SubDetectorMask, SubDetectorOffset, SubstrMask, SubstrOffset, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, DetId::Tracker, TIDDetId::wheel(), and TECDetId::wheel().
Referenced by set().
{ // ignore the rec hit if the number of hit is larger than the max if (i >= 32 * PatternSize / HitSize) return 0; // 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(); 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; return pattern; }
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 514 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). Where the "hit" was a DT segment, superlayer is 0. Only valid for muon DT patterns, of course.
Definition at line 510 of file HitPattern.h.
References getSubSubStructure().
Referenced by numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), and printHitPattern().
{ return (getSubSubStructure(pattern) & 3); }
uint32_t HitPattern::getHitPattern | ( | int | position | ) | const |
Definition at line 144 of file HitPattern.cc.
References hitPattern_, and HitSize.
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), FixTrackHitPattern::analyze(), GsfElectronAlgo::ElectronData::checkCtfTrack(), countHits(), countTypedHits(), GsfElectronCoreBaseProducer::getCtfTrackRef(), getTrackerLayerCase(), getTrackerMonoStereo(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), index_to_hitpattern(), innermostMuonStationWithHits(), SoftPFElectronTagInfoProducer::isElecClean(), PFElecTkProducer::isInnerMost(), muonStations(), numberOfDTStationsWithBothViews(), numberOfDTStationsWithRPhiView(), numberOfDTStationsWithRZView(), numberOfHits(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), outermostMuonStationWithHits(), FWTrackResidualDetailView::prepareData(), PFCheckHitPattern::print(), reco::TrackResiduals::print(), CheckHitPattern::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 501 of file HitPattern.h.
References HitTypeMask, HitTypeOffset, and unlikely.
Referenced by FixTrackHitPattern::analyze(), innermostMuonStationWithHits(), muonStations(), outermostMuonStationWithHits(), PFCheckHitPattern::print(), CheckHitPattern::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 485 of file HitPattern.h.
References LayerMask, LayerOffset, and unlikely.
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), FixTrackHitPattern::analyze(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), SoftPFElectronTagInfoProducer::isElecClean(), PFElecTkProducer::isInnerMost(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), PFCheckHitPattern::print(), CheckHitPattern::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 506 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 518 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 524 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 496 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 479 of file HitPattern.h.
References SubstrMask, SubstrOffset, and unlikely.
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), FixTrackHitPattern::analyze(), PFElecTkProducer::isInnerMost(), muonCSCHitFilter(), muonDTHitFilter(), muonRPCHitFilter(), muonStations(), numberOfValidStripLayersWithMonoAndStereo(), EgAmbiguityTools::isInnerMost::operator()(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), PFCheckHitPattern::print(), CheckHitPattern::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 490 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 260 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 294 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 183 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 198 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 791 of file HitPattern.h.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(-1); }
int reco::HitPattern::innermostMuonStationWithBadHits | ( | ) | const [inline] |
Definition at line 790 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 650 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and run_regression::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 789 of file HitPattern.h.
References innermostMuonStationWithHits().
{ return innermostMuonStationWithHits(0); }
uint32_t HitPattern::isStereo | ( | DetId | i | ) | [static, private] |
Definition at line 598 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 encode().
{ 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 451 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 444 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 472 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 458 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 635 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 778 of file HitPattern.h.
References muonStations().
{ return muonStations(0,-1); }
int reco::HitPattern::muonStationsWithBadHits | ( | ) | const [inline] |
Definition at line 777 of file HitPattern.h.
References muonStations().
{ return muonStations(0, 3); }
int reco::HitPattern::muonStationsWithValidHits | ( | ) | const [inline] |
Definition at line 776 of file HitPattern.h.
References muonStations().
{ return muonStations(0, 0); }
int reco::HitPattern::numberOfBadHits | ( | ) | const [inline] |
Definition at line 669 of file HitPattern.h.
References countHits(), and type_3_HitFilter().
{ return countHits(type_3_HitFilter); }
int reco::HitPattern::numberOfBadMuonCSCHits | ( | ) | const [inline] |
Definition at line 681 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonCSCHitFilter); }
int reco::HitPattern::numberOfBadMuonDTHits | ( | ) | const [inline] |
Definition at line 677 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonDTHitFilter); }
int reco::HitPattern::numberOfBadMuonHits | ( | ) | const [inline] |
Definition at line 673 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonHitFilter); }
int reco::HitPattern::numberOfBadMuonRPCHits | ( | ) | const [inline] |
Definition at line 685 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, muonRPCHitFilter); }
int HitPattern::numberOfDTStationsWithBothViews | ( | ) | const |
Definition at line 703 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 679 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 691 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 213 of file HitPattern.cc.
References prof2calltree::count, getHitPattern(), HitSize, i, listBenchmarks::pattern, and PatternSize.
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), FixTrackHitPattern::analyze(), appendHit(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), PrimaryVertexValidation::hasFirstLayerPixelHits(), index_to_hitpattern(), PFDisplacedVertexHelper::isTrackSelected(), TCMETAlgo::nExpectedInnerHits(), TCMETAlgo::nExpectedOuterHits(), FWTrackResidualDetailView::prepareData(), PFCheckHitPattern::print(), reco::TrackResiduals::print(), CheckHitPattern::print(), print(), PrimaryVertexAnalyzer4PU::printRecTrks(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), FWConvTrackHitsDetailView::setTextInfo(), and QcdUeDQM::trackSelection().
int reco::HitPattern::numberOfInactiveHits | ( | ) | const [inline] |
Definition at line 691 of file HitPattern.h.
References countHits(), and type_2_HitFilter().
{ return countHits(type_2_HitFilter); }
int reco::HitPattern::numberOfInactiveTrackerHits | ( | ) | const [inline] |
Definition at line 695 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and type_2_HitFilter().
{ return countTypedHits(type_2_HitFilter, trackerHitFilter); }
int reco::HitPattern::numberOfLostHits | ( | ) | const [inline] |
Definition at line 611 of file HitPattern.h.
References countHits(), and type_1_HitFilter().
Referenced by reco::TransientTrack::numberOfLostHits(), and reco::TrackBase::numberOfLostHits().
{ return countHits(type_1_HitFilter); }
int reco::HitPattern::numberOfLostMuonCSCHits | ( | ) | const [inline] |
Definition at line 659 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonCSCHitFilter); }
int reco::HitPattern::numberOfLostMuonDTHits | ( | ) | const [inline] |
Definition at line 655 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonDTHitFilter); }
int reco::HitPattern::numberOfLostMuonHits | ( | ) | const [inline] |
Definition at line 619 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonHitFilter); }
int reco::HitPattern::numberOfLostMuonRPCHits | ( | ) | const [inline] |
Definition at line 663 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, muonRPCHitFilter); }
int reco::HitPattern::numberOfLostPixelBarrelHits | ( | ) | const [inline] |
Definition at line 627 of file HitPattern.h.
References countTypedHits(), pixelBarrelHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelBarrelHitFilter); }
int reco::HitPattern::numberOfLostPixelEndcapHits | ( | ) | const [inline] |
Definition at line 631 of file HitPattern.h.
References countTypedHits(), pixelEndcapHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelEndcapHitFilter); }
int reco::HitPattern::numberOfLostPixelHits | ( | ) | const [inline] |
Definition at line 623 of file HitPattern.h.
References countTypedHits(), pixelHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, pixelHitFilter); }
int reco::HitPattern::numberOfLostStripHits | ( | ) | const [inline] |
Definition at line 635 of file HitPattern.h.
References countTypedHits(), stripHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripHitFilter); }
int reco::HitPattern::numberOfLostStripTECHits | ( | ) | const [inline] |
Definition at line 651 of file HitPattern.h.
References countTypedHits(), stripTECHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTECHitFilter); }
int reco::HitPattern::numberOfLostStripTIBHits | ( | ) | const [inline] |
Definition at line 639 of file HitPattern.h.
References countTypedHits(), stripTIBHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTIBHitFilter); }
int reco::HitPattern::numberOfLostStripTIDHits | ( | ) | const [inline] |
Definition at line 643 of file HitPattern.h.
References countTypedHits(), stripTIDHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTIDHitFilter); }
int reco::HitPattern::numberOfLostStripTOBHits | ( | ) | const [inline] |
Definition at line 647 of file HitPattern.h.
References countTypedHits(), stripTOBHitFilter(), and type_1_HitFilter().
{ return countTypedHits(type_1_HitFilter, stripTOBHitFilter); }
int reco::HitPattern::numberOfLostTrackerHits | ( | ) | const [inline] |
Definition at line 615 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and type_1_HitFilter().
Referenced by reco::TrackBase::validFraction().
{ return countTypedHits(type_1_HitFilter, trackerHitFilter); }
int reco::HitPattern::numberOfValidHits | ( | ) | const [inline] |
Definition at line 554 of file HitPattern.h.
References countHits(), and validHitFilter().
Referenced by reco::TrackBase::numberOfValidHits(), reco::TransientTrack::numberOfValidHits(), reco::TrackSelector::operator()(), and TrackIPProducer::produce().
{ return countHits(validHitFilter); }
int reco::HitPattern::numberOfValidMuonCSCHits | ( | ) | const [inline] |
Definition at line 602 of file HitPattern.h.
References countTypedHits(), muonCSCHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonCSCHitFilter); }
int reco::HitPattern::numberOfValidMuonDTHits | ( | ) | const [inline] |
Definition at line 598 of file HitPattern.h.
References countTypedHits(), muonDTHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonDTHitFilter); }
int reco::HitPattern::numberOfValidMuonHits | ( | ) | const [inline] |
Definition at line 562 of file HitPattern.h.
References countTypedHits(), muonHitFilter(), and validHitFilter().
Referenced by HLTMuonL3PreFilter::hltFilter(), MuScleFit::selGlobalMuon(), MuScleFitMuonSelector::selGlobalMuon(), and BPhysicsOniaDQM::selGlobalMuon().
{ return countTypedHits(validHitFilter, muonHitFilter); }
int reco::HitPattern::numberOfValidMuonRPCHits | ( | ) | const [inline] |
Definition at line 606 of file HitPattern.h.
References countTypedHits(), muonRPCHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, muonRPCHitFilter); }
int reco::HitPattern::numberOfValidPixelBarrelHits | ( | ) | const [inline] |
Definition at line 570 of file HitPattern.h.
References countTypedHits(), pixelBarrelHitFilter(), and validHitFilter().
Referenced by HLTTrackWithHits::hltFilter().
{ return countTypedHits(validHitFilter, pixelBarrelHitFilter); }
int reco::HitPattern::numberOfValidPixelEndcapHits | ( | ) | const [inline] |
Definition at line 574 of file HitPattern.h.
References countTypedHits(), pixelEndcapHitFilter(), and validHitFilter().
Referenced by HLTTrackWithHits::hltFilter().
{ return countTypedHits(validHitFilter, pixelEndcapHitFilter); }
int reco::HitPattern::numberOfValidPixelHits | ( | ) | const [inline] |
Definition at line 566 of file HitPattern.h.
References countTypedHits(), pixelHitFilter(), and validHitFilter().
Referenced by HLTTrackWithHits::hltFilter(), reco::TrackSelector::operator()(), TrackIPProducer::produce(), PFAlgo::reconstructTrack(), and PFElectronAlgo::SetLinks().
{ return countTypedHits(validHitFilter, pixelHitFilter); }
int reco::HitPattern::numberOfValidStripHits | ( | ) | const [inline] |
Definition at line 578 of file HitPattern.h.
References countTypedHits(), stripHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, stripHitFilter); }
int HitPattern::numberOfValidStripLayersWithMonoAndStereo | ( | ) | const |
Definition at line 224 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 ora::QueryableVector< Item >::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 594 of file HitPattern.h.
References countTypedHits(), stripTECHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, stripTECHitFilter); }
int reco::HitPattern::numberOfValidStripTIBHits | ( | ) | const [inline] |
Definition at line 582 of file HitPattern.h.
References countTypedHits(), stripTIBHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, stripTIBHitFilter); }
int reco::HitPattern::numberOfValidStripTIDHits | ( | ) | const [inline] |
Definition at line 586 of file HitPattern.h.
References countTypedHits(), stripTIDHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, stripTIDHitFilter); }
int reco::HitPattern::numberOfValidStripTOBHits | ( | ) | const [inline] |
Definition at line 590 of file HitPattern.h.
References countTypedHits(), stripTOBHitFilter(), and validHitFilter().
{ return countTypedHits(validHitFilter, stripTOBHitFilter); }
int reco::HitPattern::numberOfValidTrackerHits | ( | ) | const [inline] |
Definition at line 558 of file HitPattern.h.
References countTypedHits(), trackerHitFilter(), and validHitFilter().
Referenced by CSCSkim::doBFieldStudySelection(), PFAlgo::reconstructTrack(), and reco::TrackBase::validFraction().
{ return countTypedHits(validHitFilter, trackerHitFilter); }
int reco::HitPattern::outermostMuonStationWithAnyHits | ( | ) | const [inline] |
Definition at line 794 of file HitPattern.h.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(-1); }
int reco::HitPattern::outermostMuonStationWithBadHits | ( | ) | const [inline] |
Definition at line 793 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 664 of file HitPattern.cc.
References getHitPattern(), getHitType(), getMuonStation(), HitSize, i, muonHitFilter(), listBenchmarks::pattern, PatternSize, and run_regression::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 792 of file HitPattern.h.
References outermostMuonStationWithHits().
{ return outermostMuonStationWithHits(0); }
bool reco::HitPattern::pixelBarrelHitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 392 of file HitPattern.h.
References getSubStructure(), PixelSubdetector::PixelBarrel, trackerHitFilter(), and unlikely.
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), SoftPFElectronTagInfoProducer::isElecClean(), 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 502 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 447 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 337 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 392 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 399 of file HitPattern.h.
References getSubStructure(), PixelSubdetector::PixelEndcap, trackerHitFilter(), and unlikely.
Referenced by PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelEndcap(), SoftPFElectronTagInfoProducer::isElecClean(), 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 511 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 456 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 346 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 401 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 384 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 763 of file HitPattern.h.
References pixelBarrelLayersNull(), and pixelEndcapLayersNull().
Referenced by trackerLayersNull().
{ return pixelBarrelLayersNull() + pixelEndcapLayersNull(); }
int reco::HitPattern::pixelLayersTotallyOffOrBad | ( | ) | const [inline] |
Definition at line 746 of file HitPattern.h.
References pixelBarrelLayersTotallyOffOrBad(), and pixelEndcapLayersTotallyOffOrBad().
Referenced by trackerLayersTotallyOffOrBad().
{ return pixelBarrelLayersTotallyOffOrBad() + pixelEndcapLayersTotallyOffOrBad(); }
int reco::HitPattern::pixelLayersWithMeasurement | ( | ) | const [inline] |
Definition at line 710 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(), 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 728 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 583 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 556 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 787 of file HitPattern.h.
References muonStations().
{ return muonStations(3,-1); }
int reco::HitPattern::rpcStationsWithBadHits | ( | ) | const [inline] |
Definition at line 786 of file HitPattern.h.
References muonStations().
{ return muonStations(3, 3); }
int reco::HitPattern::rpcStationsWithValidHits | ( | ) | const [inline] |
Definition at line 785 of file HitPattern.h.
References muonStations().
{ return muonStations(3, 0); }
void reco::HitPattern::set | ( | const TrackingRecHit & | hit, |
unsigned int | i | ||
) | [inline] |
Definition at line 175 of file HitPattern.h.
References encode(), i, and setHitPattern().
{setHitPattern(i, encode(hit,i));}
void reco::HitPattern::set | ( | const I & | begin, |
const I & | end | ||
) | [inline] |
Definition at line 139 of file HitPattern.h.
References begin, end, hitPattern_, HitSize, Exhume::I, i, and PatternSize.
Referenced by FixTrackHitPattern::analyze(), reco::TrackBase::setHitPattern(), reco::TrackBase::setTrackerExpectedHitsInner(), and reco::TrackBase::setTrackerExpectedHitsOuter().
void reco::HitPattern::set | ( | const TrackingRecHitRef & | ref, |
unsigned int | i | ||
) | [inline, private] |
void HitPattern::setHitPattern | ( | int | position, |
uint32_t | pattern | ||
) | [private] |
Definition at line 79 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 406 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 768 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 751 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 715 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 733 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 437 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 547 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 492 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 382 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 437 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 416 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 520 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 465 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 355 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 410 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 423 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 529 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 474 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 364 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 419 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 430 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 538 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 483 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 373 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 428 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 466 of file HitPattern.h.
References SubDetectorMask, SubDetectorOffset, and unlikely.
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), numberOfInactiveTrackerHits(), numberOfLostTrackerHits(), numberOfValidTrackerHits(), pixelBarrelHitFilter(), pixelEndcapHitFilter(), pixelHitFilter(), PFCheckHitPattern::print(), CheckHitPattern::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 758 of file HitPattern.h.
References pixelLayersNull(), and stripLayersNull().
{ return pixelLayersNull() + stripLayersNull(); }
int reco::HitPattern::trackerLayersTotallyOffOrBad | ( | ) | const [inline] |
Definition at line 741 of file HitPattern.h.
References pixelLayersTotallyOffOrBad(), and stripLayersTotallyOffOrBad().
{ return pixelLayersTotallyOffOrBad() + stripLayersTotallyOffOrBad(); }
int reco::HitPattern::trackerLayersWithMeasurement | ( | ) | const [inline] |
Definition at line 705 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(), TrackClusterRemover::produce(), BeamFitter::readEvent(), reco::modules::CosmicTrackSelector::select(), reco::modules::TrackMultiSelector::select(), and ora::QueryableVector< Item >::select().
{ return pixelLayersWithMeasurement() + stripLayersWithMeasurement(); }
int reco::HitPattern::trackerLayersWithoutMeasurement | ( | ) | const [inline] |
Definition at line 723 of file HitPattern.h.
References pixelLayersWithoutMeasurement(), and stripLayersWithoutMeasurement().
Referenced by spr::goodTrack(), reco::modules::CosmicTrackSelector::select(), and ora::QueryableVector< Item >::select().
{ return pixelLayersWithoutMeasurement() + stripLayersWithoutMeasurement(); }
bool reco::HitPattern::type_1_HitFilter | ( | uint32_t | pattern | ) | [inline, static] |
Definition at line 534 of file HitPattern.h.
References getHitType().
Referenced by CheckHitPattern::analyze(), 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 539 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 544 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 529 of file HitPattern.h.
References getHitType().
Referenced by PFCheckHitPattern::analyze(), CheckHitPattern::analyze(), GetTrackTrajInfo::analyze(), PrimaryVertexValidation::hasFirstLayerPixelHits(), hasValidHitInFirstPixelBarrel(), hasValidHitInFirstPixelEndcap(), index_to_hitpattern(), SoftPFElectronTagInfoProducer::isElecClean(), 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 367 of file HitPattern.h.
Referenced by getHitPattern(), HitPattern(), set(), and setHitPattern().
const unsigned short reco::HitPattern::HitSize = 11 [static, private] |
Definition at line 344 of file HitPattern.h.
Referenced by countHits(), countTypedHits(), encode(), 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 364 of file HitPattern.h.
Referenced by encode(), getHitType(), getTrackerLayerCase(), and getTrackerMonoStereo().
const unsigned short reco::HitPattern::HitTypeOffset = 0 [static, private] |
Definition at line 363 of file HitPattern.h.
Referenced by encode(), getHitType(), getTrackerLayerCase(), and getTrackerMonoStereo().
const unsigned short reco::HitPattern::LayerMask = 0xF [static, private] |
Definition at line 356 of file HitPattern.h.
Referenced by encode(), getLayer(), getSubSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and numberOfValidStripLayersWithMonoAndStereo().
const unsigned short reco::HitPattern::LayerOffset = 3 [static, private] |
Definition at line 355 of file HitPattern.h.
Referenced by encode(), getLayer(), getSubSubStructure(), getTrackerLayerCase(), and getTrackerMonoStereo().
const unsigned short reco::HitPattern::PatternSize = 25 [static, private] |
Definition at line 341 of file HitPattern.h.
Referenced by countHits(), countTypedHits(), encode(), 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 360 of file HitPattern.h.
const unsigned short reco::HitPattern::SideOffset = 2 [static, private] |
Definition at line 359 of file HitPattern.h.
const unsigned short reco::HitPattern::SubDetectorMask = 0x1 [static, private] |
Definition at line 348 of file HitPattern.h.
Referenced by encode(), getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubDetectorOffset = 10 [static, private] |
Definition at line 347 of file HitPattern.h.
Referenced by encode(), getTrackerLayerCase(), getTrackerMonoStereo(), muonHitFilter(), and trackerHitFilter().
const unsigned short reco::HitPattern::SubstrMask = 0x7 [static, private] |
Definition at line 352 of file HitPattern.h.
Referenced by encode(), getSubStructure(), getTrackerLayerCase(), getTrackerMonoStereo(), and numberOfValidStripLayersWithMonoAndStereo().
const unsigned short reco::HitPattern::SubstrOffset = 7 [static, private] |
Definition at line 351 of file HitPattern.h.
Referenced by encode(), getSubStructure(), getTrackerLayerCase(), and getTrackerMonoStereo().