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);
86  void clear_buffer(RecHitIterator itr);
88 };
89 
90 #endif
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...
float theHitThreshold
Clustering-related quantities:
Class to store ADC counts and times during clustering.
FTLRecHitCollection::const_iterator RecHitIterator
int theNumOfRows
Geometry-related information.
MTDThresholdClusterizer(edm::ParameterSet const &conf)
Constructor:
static std::string const input
Definition: EdmProvDump.cc:48
static void fillDescriptions(edm::ParameterSetDescription &desc)
bool setup(const MTDGeometry *geometry, const MTDTopology *topo, const DetId &id)
std::vector< FTLCluster::FTLHitPos > theSeeds
void copy_to_buffer(RecHitIterator itr)
Copy FTLRecHit into the buffer, identify seeds.
An explicit threshold-based clustering algorithm.
Definition: DetId.h:17
MTDArrayBuffer theBuffer
Data storage.
FTLCluster make_cluster(const FTLCluster::FTLHitPos &hit)
The actual clustering algorithm: group the neighboring hits around the seed.
void clear_buffer(RecHitIterator itr)
Clear the internal buffer array.
std::vector< FTLCluster > theClusters