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  const float theHitThreshold; // Hit threshold
70  const float theSeedThreshold; // MTD cluster seed
71  const float theClusterThreshold; // Cluster threshold
72  const float theTimeThreshold; // Time compatibility between new hit and seed
73  const float thePositionThreshold; // Position threshold between new hit and seed
74 
78 
80 
82  MTDArrayBuffer theBuffer; // internal nrow * ncol matrix
83  bool bufferAlreadySet; // status of the buffer array
84 
85  bool setup(const MTDGeometry* geometry, const MTDTopology* topo, const DetId& id);
86  void copy_to_buffer(RecHitIterator itr, const MTDGeometry* geom, const MTDTopology* topo);
87  void clear_buffer(RecHitIterator itr);
89 };
90 
91 #endif
ConfigurationDescriptions.h
MTDThresholdClusterizer::MTDThresholdClusterizer
MTDThresholdClusterizer(edm::ParameterSet const &conf)
Constructor:
Definition: MTDThresholdClusterizer.cc:34
MTDClusterizerBase.h
input
static const std::string input
Definition: EdmProvDump.cc:48
MTDClusterizerBase::RecHitIterator
FTLRecHitCollection::const_iterator RecHitIterator
Definition: MTDClusterizerBase.h:21
MTDThresholdClusterizer::clear_buffer
void clear_buffer(RecHitIterator itr)
Clear the internal buffer array.
Definition: MTDThresholdClusterizer.cc:194
MTDThresholdClusterizer::copy_to_buffer
void copy_to_buffer(RecHitIterator itr, const MTDGeometry *geom, const MTDTopology *topo)
Copy FTLRecHit into the buffer, identify seeds.
Definition: MTDThresholdClusterizer.cc:199
MTDThresholdClusterizer::theHitThreshold
const float theHitThreshold
Clustering-related quantities:
Definition: MTDThresholdClusterizer.h:69
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
FTLCluster
Definition: FTLCluster.h:21
MTDThresholdClusterizer::theSeedThreshold
const float theSeedThreshold
Definition: MTDThresholdClusterizer.h:70
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:79
FTLCluster::FTLHitPos
Definition: FTLCluster.h:58
MTDThresholdClusterizer::~MTDThresholdClusterizer
~MTDThresholdClusterizer() override
Definition: MTDThresholdClusterizer.cc:47
DetId
Definition: DetId.h:17
MTDClusterizerBase
Definition: MTDClusterizerBase.h:19
MTDThresholdClusterizer::theNumOfCols
int theNumOfCols
Definition: MTDThresholdClusterizer.h:77
MTDThresholdClusterizer::theSeeds
std::vector< FTLCluster::FTLHitPos > theSeeds
Definition: MTDThresholdClusterizer.h:65
MTDThresholdClusterizer::theTimeThreshold
const float theTimeThreshold
Definition: MTDThresholdClusterizer.h:72
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
ParameterSetDescription.h
MTDThresholdClusterizer::theClusterThreshold
const float theClusterThreshold
Definition: MTDThresholdClusterizer.h:71
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:251
MTDThresholdClusterizer::theNumOfRows
int theNumOfRows
Geometry-related information.
Definition: MTDThresholdClusterizer.h:76
MTDTopology
Definition: MTDTopology.h:11
edm::ParameterSet
Definition: ParameterSet.h:47
MTDThresholdClusterizer::setup
bool setup(const MTDGeometry *geometry, const MTDTopology *topo, const DetId &id)
Definition: MTDThresholdClusterizer.cc:62
MTDThresholdClusterizer::theBuffer
MTDArrayBuffer theBuffer
Data storage.
Definition: MTDThresholdClusterizer.h:82
MTDThresholdClusterizer::fillDescriptions
static void fillDescriptions(edm::ParameterSetDescription &desc)
Definition: MTDThresholdClusterizer.cc:50
MTDArrayBuffer.h
MTDThresholdClusterizer::theClusters
std::vector< FTLCluster > theClusters
Definition: MTDThresholdClusterizer.h:66
MTDArrayBuffer
Class to store ADC counts and times during clustering.
Definition: MTDArrayBuffer.h:20
MTDGeometry
Definition: MTDGeometry.h:14
edmNew::DetSetVector
Definition: DetSetNew.h:13
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
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:98
ParameterSet.h
MTDThresholdClusterizer::bufferAlreadySet
bool bufferAlreadySet
Definition: MTDThresholdClusterizer.h:83
MTDThresholdClusterizer::thePositionThreshold
const float thePositionThreshold
Definition: MTDThresholdClusterizer.h:73
hit
Definition: SiStripHitEffFromCalibTree.cc:88