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:
53 
55  ~MTDThresholdClusterizer() override;
56 
57  // Full I/O in DetSet
58  void clusterize( const FTLRecHitCollection & input,
59  const MTDGeometry * geom,
60  const MTDTopology * topo,
61  FTLClusterCollection& output) override;
62 
64 
65  private:
66 
67  std::vector<FTLCluster::FTLHitPos> theSeeds; // cached seed pixels
68  std::vector<FTLCluster> theClusters; // resulting clusters
69 
71  float theHitThreshold; // Hit threshold
72  float theSeedThreshold; // MTD cluster seed
73  float theClusterThreshold; // Cluster threshold
74  float theTimeThreshold; // Time compatibility between new hit and seed
75 
79 
81 
83  MTDArrayBuffer theBuffer; // internal nrow * ncol matrix
84  bool bufferAlreadySet; // status of the buffer array
85 
86  bool setup(const MTDGeometry * geometry, const MTDTopology * topo, const DetId& id);
87  void copy_to_buffer( RecHitIterator itr);
88  void clear_buffer( RecHitIterator itr);
90 };
91 
92 #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:18
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