CMS 3D CMS Logo

MTDThresholdClusterizer.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_FTLClusterizer_MTDThresholdClusterizer_H
2 #define RecoLocalTracker_FTLClusterizer_MTDThresholdClusterizer_H
3 
4 //-----------------------------------------------------------------------
31 //-----------------------------------------------------------------------
32 
33 // Base class, defines FTLRecHit and FLTCluster. The latter includes
34 // FTLHit, FTLHitPos and Shift as inner classes.
35 //
37 
38 // The private pixel buffer
39 #include "MTDArrayBuffer.h"
40 
41 // Parameter Set:
43 
46 
47 #include <vector>
48 
50 
52 public:
54  ~MTDThresholdClusterizer() override;
55 
56  // Full I/O in DetSet
58  const MTDGeometry* geom,
59  const MTDTopology* topo,
60  FTLClusterCollection& output) override;
61 
63 
64 private:
65  std::vector<FTLCluster::FTLHitPos> theSeeds; // cached seed pixels
66  std::vector<FTLCluster> theClusters; // resulting clusters
67 
69  float theHitThreshold; // Hit threshold
70  float theSeedThreshold; // MTD cluster seed
71  float theClusterThreshold; // Cluster threshold
72  float theTimeThreshold; // Time compatibility between new hit and seed
73 
77 
79 
81  MTDArrayBuffer theBuffer; // internal nrow * ncol matrix
82  bool bufferAlreadySet; // status of the buffer array
83 
84  bool setup(const MTDGeometry* geometry, const MTDTopology* topo, const DetId& id);
88 };
89 
90 #endif
ConfigurationDescriptions.h
MTDThresholdClusterizer::MTDThresholdClusterizer
MTDThresholdClusterizer(edm::ParameterSet const &conf)
Constructor:
Definition: MTDThresholdClusterizer.cc:32
MTDClusterizerBase.h
input
static const std::string input
Definition: EdmProvDump.cc:48
MTDClusterizerBase::RecHitIterator
FTLRecHitCollection::const_iterator RecHitIterator
Definition: MTDClusterizerBase.h:21
MTDThresholdClusterizer::theClusterThreshold
float theClusterThreshold
Definition: MTDThresholdClusterizer.h:71
MTDThresholdClusterizer::clear_buffer
void clear_buffer(RecHitIterator itr)
Clear the internal buffer array.
Definition: MTDThresholdClusterizer.cc:190
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
FTLCluster
Definition: FTLCluster.h:21
geometry
Definition: geometry.py:1
MTDGeometry.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::SortedCollection
Definition: SortedCollection.h:49
MTDThresholdClusterizer::theCurrentId
DetId theCurrentId
Definition: MTDThresholdClusterizer.h:78
FTLCluster::FTLHitPos
Definition: FTLCluster.h:58
MTDThresholdClusterizer::~MTDThresholdClusterizer
~MTDThresholdClusterizer() override
Definition: MTDThresholdClusterizer.cc:44
DetId
Definition: DetId.h:17
MTDClusterizerBase
Definition: MTDClusterizerBase.h:19
MTDThresholdClusterizer::theNumOfCols
int theNumOfCols
Definition: MTDThresholdClusterizer.h:76
MTDThresholdClusterizer::theSeeds
std::vector< FTLCluster::FTLHitPos > theSeeds
Definition: MTDThresholdClusterizer.h:65
MTDThresholdClusterizer::copy_to_buffer
void copy_to_buffer(RecHitIterator itr)
Copy FTLRecHit into the buffer, identify seeds.
Definition: MTDThresholdClusterizer.cc:195
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
ParameterSetDescription.h
MTDThresholdClusterizer
An explicit threshold-based clustering algorithm.
Definition: MTDThresholdClusterizer.h:51
MTDThresholdClusterizer::make_cluster
FTLCluster make_cluster(const FTLCluster::FTLHitPos &hit)
The actual clustering algorithm: group the neighboring hits around the seed.
Definition: MTDThresholdClusterizer.cc:214
MTDThresholdClusterizer::theNumOfRows
int theNumOfRows
Geometry-related information.
Definition: MTDThresholdClusterizer.h:75
MTDTopology
Definition: MTDTopology.h:16
edm::ParameterSet
Definition: ParameterSet.h:36
MTDThresholdClusterizer::theTimeThreshold
float theTimeThreshold
Definition: MTDThresholdClusterizer.h:72
MTDThresholdClusterizer::setup
bool setup(const MTDGeometry *geometry, const MTDTopology *topo, const DetId &id)
Definition: MTDThresholdClusterizer.cc:58
MTDThresholdClusterizer::theBuffer
MTDArrayBuffer theBuffer
Data storage.
Definition: MTDThresholdClusterizer.h:81
MTDThresholdClusterizer::fillDescriptions
static void fillDescriptions(edm::ParameterSetDescription &desc)
Definition: MTDThresholdClusterizer.cc:47
MTDThresholdClusterizer::theSeedThreshold
float theSeedThreshold
Definition: MTDThresholdClusterizer.h:70
MTDArrayBuffer.h
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
MTDThresholdClusterizer::theClusters
std::vector< FTLCluster > theClusters
Definition: MTDThresholdClusterizer.h:66
MTDArrayBuffer
Class to store ADC counts and times during clustering.
Definition: MTDArrayBuffer.h:16
MTDGeometry
Definition: MTDGeometry.h:14
edmNew::DetSetVector
Definition: DetSetNew.h:13
MTDThresholdClusterizer::clusterize
void clusterize(const FTLRecHitCollection &input, const MTDGeometry *geom, const MTDTopology *topo, FTLClusterCollection &output) override
Cluster hits. This method operates on a matrix of hits and finds the largest contiguous cluster aroun...
Definition: MTDThresholdClusterizer.cc:94
ParameterSet.h
MTDThresholdClusterizer::theHitThreshold
float theHitThreshold
Clustering-related quantities:
Definition: MTDThresholdClusterizer.h:69
MTDThresholdClusterizer::bufferAlreadySet
bool bufferAlreadySet
Definition: MTDThresholdClusterizer.h:82
hit
Definition: SiStripHitEffFromCalibTree.cc:88