#include <SiStripCluster.h>
Public Types | |
typedef std::vector< SiStripDigi >::const_iterator | SiStripDigiIter |
typedef std::pair< SiStripDigiIter, SiStripDigiIter > | SiStripDigiRange |
Public Member Functions | |
SiStripCluster const & | amplitudes () const |
float | barycenter () const |
auto const * | begin () const |
int | charge () const |
bool | empty () const |
auto const * | end () const |
uint16_t | endStrip () const |
template<typename Iter > | |
void | extend (Iter begin, Iter end) |
bool | filter () const |
uint16_t | firstStrip () const |
bool | full () const |
float | getSplitClusterError () const |
bool | isFromApprox () const |
bool | isMerged () const |
auto | operator[] (int i) const |
void | setMerged (bool mergedState) |
void | setSplitClusterError (float errx) |
SiStripCluster () | |
SiStripCluster (const SiStripDigiRange &range) | |
SiStripCluster (uint16_t firstStrip, std::vector< uint8_t > &&data) | |
template<typename Iter > | |
SiStripCluster (const uint16_t &firstStrip, Iter begin, Iter end) | |
template<typename Iter > | |
SiStripCluster (const uint16_t &firstStrip, Iter begin, Iter end, bool merged) | |
SiStripCluster (const SiStripApproximateCluster cluster, const uint16_t maxStrips) | |
auto | size () const |
Static Public Attributes | |
static const uint16_t | mergedValueMask = 0x8000 |
static const uint16_t | stripIndexMask = 0x7FFF |
Private Attributes | |
std::vector< uint8_t > | amplitudes_ |
float | barycenter_ = 0 |
int | charge_ = 0 |
float | error_x = -99999.9 |
bool | filter_ = false |
uint16_t | firstStrip_ = 0 |
Definition at line 12 of file SiStripCluster.h.
typedef std::vector<SiStripDigi>::const_iterator SiStripCluster::SiStripDigiIter |
Definition at line 14 of file SiStripCluster.h.
typedef std::pair<SiStripDigiIter, SiStripDigiIter> SiStripCluster::SiStripDigiRange |
Definition at line 15 of file SiStripCluster.h.
|
inline |
Construct from a range of digis that form a cluster and from a DetID. The range is assumed to be non-empty.
Definition at line 24 of file SiStripCluster.h.
|
explicit |
check if digis consecutive
Definition at line 4 of file SiStripCluster.cc.
References amplitudes_, mps_fire::i, dqmiolumiharvest::j, FastTimerService_cff::range, and findQualityFiles::v.
|
inline |
Definition at line 28 of file SiStripCluster.h.
|
inline |
Definition at line 32 of file SiStripCluster.h.
|
inline |
SiStripCluster::SiStripCluster | ( | const SiStripApproximateCluster | cluster, |
const uint16_t | maxStrips | ||
) |
Definition at line 25 of file SiStripCluster.cc.
References amplitudes_, SiStripApproximateCluster::avgCharge(), SiStripApproximateCluster::barycenter(), barycenter_, charge_, f, SiStripApproximateCluster::filter(), filter_, firstStrip_, nano_mu_digi_cff::float, SiStripPI::max, UNLIKELY, and SiStripApproximateCluster::width().
|
inline |
Definition at line 67 of file SiStripCluster.h.
Referenced by TrackerHitAssociator::associateSimpleRecHitCluster(), SimpleCosmicBONSeeder::checkCharge(), ClusterVariables::clusterSize(), SiStripGainFromData::ComputeChargeOverPath(), deDxTools::getCharge(), ClusterShapeHitFilter::getSizes(), SiStripRecHitConverterAlgorithm::isMasked(), StMeasurementConditionSet::isMasked(), CalibrationTrackSelector::isOkCharge(), StripCPEfromTrackAngle::localParameters(), PrintRecoObjects::print(), ClusterTPAssociationProducer::produce(), ShallowGainCalibration::produce(), deDxTools::shapeSelection(), SiStripApproximateCluster::SiStripApproximateCluster(), ClusterVariables::stripCharges(), SiStripClusterInfo::stripCharges(), StripSubClusterShapeFilterBase::testLastHit(), reco::InverseCrosstalkMatrix::unfold(), and SiStripClusterInfo::width().
float SiStripCluster::barycenter | ( | ) | const |
The barycenter of the cluster, not corrected for Lorentz shift; should not be used as position estimate for tracking.
Definition at line 47 of file SiStripCluster.cc.
References amplitudes_, barycenter_, firstStrip_, nano_mu_digi_cff::float, mps_fire::i, size(), stripIndexMask, and mitigatedMETSequence_cff::U.
Referenced by SiStripMonitorApproximateCluster::analyze(), SiStripClusterInfo::baryStrip(), SiStripFineDelayHit::closestCluster(), SiStripRecHitConverterAlgorithm::isMasked(), StMeasurementConditionSet::isMasked(), StripCPE::localParameters(), StripCPEfromTrackAngle::localParameters(), PrintRecoObjects::print(), and SiStripApproximateCluster::SiStripApproximateCluster().
|
inline |
Definition at line 61 of file SiStripCluster.h.
References amplitudes_.
Referenced by charge(), SimpleCosmicBONSeeder::checkCharge(), end(), extend(), CalibrationTrackSelector::isOkCharge(), and operator[]().
int SiStripCluster::charge | ( | ) | const |
total charge
Definition at line 41 of file SiStripCluster.cc.
References barycenter_, begin(), charge_, and end().
Referenced by SiStripApproximateCluster::SiStripApproximateCluster().
|
inline |
|
inline |
Definition at line 62 of file SiStripCluster.h.
References begin(), and size().
Referenced by charge(), SimpleCosmicBONSeeder::checkCharge(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), extend(), and CalibrationTrackSelector::isOkCharge().
|
inline |
|
inline |
Definition at line 45 of file SiStripCluster.h.
References amplitudes_, begin(), and end().
Referenced by MatrixUtil.WF::__init__(), Config.Process::extend(), Config.Process::load(), and Mixins._ValidatingParameterListBase::setValue().
bool SiStripCluster::filter | ( | ) | const |
Definition at line 64 of file SiStripCluster.cc.
References barycenter_, and filter_.
Referenced by StripSubClusterShapeFilterBase::testLastHit().
|
inline |
The number of the first strip in the cluster. The high bit of firstStrip_ indicates whether the cluster is a candidate for being merged.
Definition at line 72 of file SiStripCluster.h.
References firstStrip_, and stripIndexMask.
Referenced by fireworks::addSiStripClusters(), TrackerHitAssociator::associateSimpleRecHitCluster(), FWTrajectorySeedProxyBuilder::build(), SimpleCosmicBONSeeder::checkCharge(), SiStripGainFromData::ComputeChargeOverPath(), FakeCPE::Map::encode(), endStrip(), SiStripClusterInfo::firstStrip(), deDxTools::getCharge(), ClusterShapeHitFilter::getSizes(), SiStripRecHitConverterAlgorithm::isMasked(), StMeasurementConditionSet::isMasked(), StripCPEgeometric::localParameters(), operator<(), PrintRecoObjects::print(), ShallowTrackClustersProducer::produce(), ClusterTPAssociationProducer::produce(), ShallowGainCalibration::produce(), and StripSubClusterShapeFilterBase::testLastHit().
|
inline |
Definition at line 65 of file SiStripCluster.h.
|
inline |
bool SiStripCluster::isFromApprox | ( | ) | const |
Definition at line 70 of file SiStripCluster.cc.
References barycenter_.
Referenced by StripSubClusterShapeFilterBase::testLastHit().
|
inline |
Test (set) the merged status of the cluster
Definition at line 92 of file SiStripCluster.h.
References firstStrip_, and mergedValueMask.
Referenced by StripCPEfromTrackAngle::localParameters().
|
inline |
|
inline |
Definition at line 93 of file SiStripCluster.h.
References firstStrip_, mergedValueMask, and stripIndexMask.
|
inline |
|
inline |
The amplitudes of the strips forming the cluster. The amplitudes are on consecutive strips; if a strip is missing the amplitude is set to zero. A strip may be missing in the middle of a cluster because of a clusterizer that accepts holes. A strip may also be missing anywhere in the cluster, including the edge, to record a dead/noisy channel.
You can find the special meanings of values { 0, 254, 255} in section 3.4.1 of http://www.te.rl.ac.uk/esdg/cms-fed/firmware/Documents/FE_FPGA_Technical_Description.pdf
Definition at line 60 of file SiStripCluster.h.
References amplitudes_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), SiStripMonitorCluster::analyze(), TrackerHitAssociator::associateSimpleRecHitCluster(), barycenter(), ClusterVariables::clusterSize(), end(), endStrip(), ClusterShapeHitFilter::getSizes(), SiStripRecHitConverterAlgorithm::isMasked(), StMeasurementConditionSet::isMasked(), StripCPEfromTrackAngle::localParameters(), PrintRecoObjects::print(), ClusterTPAssociationProducer::produce(), SiStripApproximateCluster::SiStripApproximateCluster(), and SiStripClusterInfo::width().
|
private |
Definition at line 99 of file SiStripCluster.h.
Referenced by barycenter(), begin(), empty(), extend(), SiStripCluster(), and size().
|
private |
Definition at line 104 of file SiStripCluster.h.
Referenced by barycenter(), charge(), filter(), isFromApprox(), and SiStripCluster().
|
private |
Definition at line 105 of file SiStripCluster.h.
Referenced by charge(), and SiStripCluster().
|
private |
Definition at line 116 of file SiStripCluster.h.
Referenced by getSplitClusterError(), and setSplitClusterError().
|
private |
Definition at line 106 of file SiStripCluster.h.
Referenced by filter(), and SiStripCluster().
|
private |
Definition at line 101 of file SiStripCluster.h.
Referenced by barycenter(), firstStrip(), isMerged(), setMerged(), and SiStripCluster().
|
static |
Definition at line 18 of file SiStripCluster.h.
Referenced by isMerged(), setMerged(), and SiStripCluster().
|
static |
Definition at line 17 of file SiStripCluster.h.
Referenced by barycenter(), firstStrip(), and setMerged().