CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
MTDThresholdClusterizer Class Reference

An explicit threshold-based clustering algorithm. More...

#include <MTDThresholdClusterizer.h>

Inheritance diagram for MTDThresholdClusterizer:
MTDClusterizerBase

Public Member Functions

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 around each seed hit. Input and output data stored in DetSet. More...
 
 MTDThresholdClusterizer (edm::ParameterSet const &conf)
 Constructor: More...
 
 ~MTDThresholdClusterizer () override
 
- Public Member Functions inherited from MTDClusterizerBase
virtual ~MTDClusterizerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ParameterSetDescription &desc)
 

Private Member Functions

void clear_buffer (RecHitIterator itr)
 Clear the internal buffer array. More...
 
void copy_to_buffer (RecHitIterator itr)
 Copy FTLRecHit into the buffer, identify seeds. More...
 
FTLCluster make_cluster (const FTLCluster::FTLHitPos &hit)
 The actual clustering algorithm: group the neighboring hits around the seed. More...
 
bool setup (const MTDGeometry *geometry, const MTDTopology *topo, const DetId &id)
 

Private Attributes

bool bufferAlreadySet
 
MTDArrayBuffer theBuffer
 Data storage. More...
 
std::vector< FTLClustertheClusters
 
float theClusterThreshold
 
DetId theCurrentId
 
float theHitThreshold
 Clustering-related quantities: More...
 
int theNumOfCols
 
int theNumOfRows
 Geometry-related information. More...
 
std::vector< FTLCluster::FTLHitPostheSeeds
 
float theSeedThreshold
 
float theTimeThreshold
 

Additional Inherited Members

- Public Types inherited from MTDClusterizerBase
typedef FTLClusterCollection::const_iterator ClusterIterator
 
typedef FTLRecHitCollection::const_iterator RecHitIterator
 

Detailed Description

An explicit threshold-based clustering algorithm.

A threshold-based clustering algorithm which clusters FTLRecHits into FTLClusters for each DetUnit. The algorithm is straightforward and purely topological: the clustering process starts with seed hits and continues by adding adjacent hits above the hit threshold. Once the cluster is made, it has to be above the cluster threshold as well.

The clusterization is performed on a matrix with size equal to the size of the MTD detector, each cell containing the cahrge and time of the corresponding hit The matrix is reset after each clusterization.

The search starts from seed hits, i.e. hits with sufficiently large amplitudes

FTLCluster contains a barycenter, but it should be noted that that information is largely useless. One must use a PositionEstimator class to compute the RecHit position and its error for every given cluster.

Sets the MTDArrayBuffer dimensions and pixel thresholds. Makes clusters and stores them in theCache if the option useCache has been set.

Definition at line 51 of file MTDThresholdClusterizer.h.

Constructor & Destructor Documentation

◆ MTDThresholdClusterizer()

MTDThresholdClusterizer::MTDThresholdClusterizer ( edm::ParameterSet const &  conf)

Constructor:

Definition at line 32 of file MTDThresholdClusterizer.cc.

33  : // Get energy thresholds
34  theHitThreshold(conf.getParameter<double>("HitThreshold")),
35  theSeedThreshold(conf.getParameter<double>("SeedThreshold")),
36  theClusterThreshold(conf.getParameter<double>("ClusterThreshold")),
37  theTimeThreshold(conf.getParameter<double>("TimeThreshold")),
38  theNumOfRows(0),
39  theNumOfCols(0),
40  theCurrentId(0),
42  bufferAlreadySet(false) {}

◆ ~MTDThresholdClusterizer()

MTDThresholdClusterizer::~MTDThresholdClusterizer ( )
override

Definition at line 44 of file MTDThresholdClusterizer.cc.

44 {}

Member Function Documentation

◆ clear_buffer()

void MTDThresholdClusterizer::clear_buffer ( RecHitIterator  itr)
private

Clear the internal buffer array.

MTDs which are not part of recognized clusters are NOT ERASED during the cluster finding. Erase them now.

Definition at line 190 of file MTDThresholdClusterizer.cc.

190 { theBuffer.clear(itr->row(), itr->column()); }

References MTDArrayBuffer::clear(), and theBuffer.

Referenced by clusterize().

◆ clusterize()

void MTDThresholdClusterizer::clusterize ( const FTLRecHitCollection input,
const MTDGeometry geom,
const MTDTopology topo,
FTLClusterCollection output 
)
overridevirtual

Cluster hits. This method operates on a matrix of hits and finds the largest contiguous cluster around each seed hit. Input and output data stored in DetSet.

Implements MTDClusterizerBase.

Definition at line 94 of file MTDThresholdClusterizer.cc.

97  {
100 
101  // Do not bother for empty detectors
102  if (begin == end) {
103  edm::LogInfo("MTDThresholdClusterizer") << "No hits to clusterize";
104  return;
105  }
106 
107  DEBUG("Input collection " << input.size());
108  assert(output.empty());
109 
110  std::set<unsigned> geoIds;
111  std::multimap<unsigned, unsigned> geoIdToIdx;
112 
113  unsigned index = 0;
114  for (const auto& hit : input) {
115  MTDDetId mtdId = MTDDetId(hit.detid());
116  if (mtdId.subDetector() != MTDDetId::FastTime) {
117  throw cms::Exception("MTDThresholdClusterizer")
118  << "MTDDetId: " << std::hex << mtdId.rawId() << " is invalid!" << std::dec << std::endl;
119  }
120 
121  if (mtdId.mtdSubDetector() == MTDDetId::BTL) {
122  BTLDetId hitId(hit.detid());
123  //for BTL topology gives different layout id
124  DetId geoId = hitId.geographicalId(MTDTopologyMode::crysLayoutFromTopoMode(topo->getMTDTopologyMode()));
125  geoIdToIdx.emplace(geoId, index);
126  geoIds.emplace(geoId);
127  ++index;
128  } else if (mtdId.mtdSubDetector() == MTDDetId::ETL) {
129  ETLDetId hitId(hit.detid());
130  DetId geoId = hitId.geographicalId();
131  geoIdToIdx.emplace(geoId, index);
132  geoIds.emplace(geoId);
133  ++index;
134  } else {
135  throw cms::Exception("MTDThresholdClusterizer")
136  << "MTDDetId: " << std::hex << mtdId.rawId() << " is invalid!" << std::dec << std::endl;
137  }
138  }
139 
140  //cluster hits within geoIds (modules)
141  for (unsigned id : geoIds) {
142  // Set up the clusterization on this DetId.
143  if (!setup(geom, topo, DetId(id)))
144  return;
145 
146  auto range = geoIdToIdx.equal_range(id);
147  DEBUG("Matching Ids for " << std::hex << id << std::dec << " [" << range.first->second << ","
148  << range.second->second << "]");
149 
150  // Copy MTDRecHits to the buffer array; select the seed hits
151  // on the way, and store them in theSeeds.
152  for (auto itr = range.first; itr != range.second; ++itr) {
153  const unsigned hitidx = itr->second;
154  copy_to_buffer(begin + hitidx);
155  }
156 
157  FTLClusterCollection::FastFiller clustersOnDet(output, id);
158 
159  for (unsigned int i = 0; i < theSeeds.size(); i++) {
160  if (theBuffer.energy(theSeeds[i]) > theSeedThreshold) { // Is this seed still valid?
161  // Make a cluster around this seed
162  const FTLCluster& cluster = make_cluster(theSeeds[i]);
163 
164  // Check if the cluster is above threshold
165  if (cluster.energy() > theClusterThreshold) {
166  DEBUG("putting in this cluster " << i << " #hits:" << cluster.size() << " E:" << cluster.energy()
167  << " T:" << cluster.time() << " X:" << cluster.x() << " Y:" << cluster.y());
168  clustersOnDet.push_back(cluster);
169  }
170  }
171  }
172 
173  // Erase the seeds.
174  theSeeds.clear();
175  // Need to clean unused hits from the buffer array.
176  for (auto itr = range.first; itr != range.second; ++itr) {
177  const unsigned hitidx = itr->second;
178  clear_buffer(begin + hitidx);
179  }
180  }
181 }

References cms::cuda::assert(), begin, MTDDetId::BTL, clear_buffer(), copy_to_buffer(), MTDTopologyMode::crysLayoutFromTopoMode(), DEBUG, TauDecayModes::dec, end, MTDArrayBuffer::energy(), FTLCluster::energy(), MTDDetId::ETL, Exception, MTDDetId::FastTime, relativeConstraints::geom, MTDTopology::getMTDTopologyMode(), mps_fire::i, input, make_cluster(), MTDDetId::mtdSubDetector(), convertSQLitetoXML_cfg::output, edmNew::DetSetVector< T >::FastFiller::push_back(), FastTimerService_cff::range, DetId::rawId(), setup(), FTLCluster::size(), MTDDetId::subDetector(), theBuffer, theClusterThreshold, theSeeds, theSeedThreshold, FTLCluster::time(), FTLCluster::x(), and FTLCluster::y().

◆ copy_to_buffer()

void MTDThresholdClusterizer::copy_to_buffer ( RecHitIterator  itr)
private

Copy FTLRecHit into the buffer, identify seeds.

Definition at line 195 of file MTDThresholdClusterizer.cc.

195  {
196  int row = itr->row();
197  int col = itr->column();
198  float energy = itr->energy();
199  float time = itr->time();
200  float timeError = itr->timeError();
201 
202  DEBUG("ROW " << row << " COL " << col << " ENERGY " << energy << " TIME " << time);
203  if (energy > theHitThreshold) {
204  theBuffer.set(row, col, energy, time, timeError);
205  if (energy > theSeedThreshold)
206  theSeeds.push_back(FTLCluster::FTLHitPos(row, col));
207  //sort seeds?
208  }
209 }

References cuy::col, DEBUG, HCALHighEnergyHPDFilter_cfi::energy, MTDArrayBuffer::set(), theBuffer, theHitThreshold, theSeeds, theSeedThreshold, and ntuplemaker::time.

Referenced by clusterize().

◆ fillDescriptions()

void MTDThresholdClusterizer::fillDescriptions ( edm::ParameterSetDescription desc)
static

Definition at line 47 of file MTDThresholdClusterizer.cc.

47  {
48  desc.add<double>("HitThreshold", 0.);
49  desc.add<double>("SeedThreshold", 0.);
50  desc.add<double>("ClusterThreshold", 0.);
51  desc.add<double>("TimeThreshold", 10.);
52 }

References edm::ParameterSetDescription::add().

Referenced by MTDClusterProducer::fillDescriptions().

◆ make_cluster()

FTLCluster MTDThresholdClusterizer::make_cluster ( const FTLCluster::FTLHitPos hit)
private

The actual clustering algorithm: group the neighboring hits around the seed.

Definition at line 214 of file MTDThresholdClusterizer.cc.

214  {
215  //First we acquire the seeds for the clusters
216  float seed_energy = theBuffer.energy(hit.row(), hit.col());
217  float seed_time = theBuffer.time(hit.row(), hit.col());
218  float seed_time_error = theBuffer.time_error(hit.row(), hit.col());
220 
221  AccretionCluster acluster;
222  acluster.add(hit, seed_energy, seed_time, seed_time_error);
223 
224  bool stopClus = false;
225  //Here we search all hits adjacent to all hits in the cluster.
226  while (!acluster.empty() && !stopClus) {
227  //This is the standard algorithm to find and add a hit
228  auto curInd = acluster.top();
229  acluster.pop();
230  for (auto c = std::max(0, int(acluster.y[curInd] - 1));
231  c < std::min(int(acluster.y[curInd] + 2), int(theBuffer.columns())) && !stopClus;
232  ++c) {
233  for (auto r = std::max(0, int(acluster.x[curInd] - 1));
234  r < std::min(int(acluster.x[curInd] + 2), int(theBuffer.rows())) && !stopClus;
235  ++r) {
236  if (theBuffer.energy(r, c) > theHitThreshold) {
237  if (std::abs(theBuffer.time(r, c) - seed_time) >
239  sqrt(theBuffer.time_error(r, c) * theBuffer.time_error(r, c) + seed_time_error * seed_time_error))
240  continue;
241  FTLCluster::FTLHitPos newhit(r, c);
242  if (!acluster.add(newhit, theBuffer.energy(r, c), theBuffer.time(r, c), theBuffer.time_error(r, c))) {
243  stopClus = true;
244  break;
245  }
246  theBuffer.clear(newhit);
247  }
248  }
249  }
250  } // while accretion
251 
252  FTLCluster cluster(theCurrentId,
253  acluster.isize,
254  acluster.energy.data(),
255  acluster.time.data(),
256  acluster.timeError.data(),
257  acluster.x.data(),
258  acluster.y.data(),
259  acluster.xmin,
260  acluster.ymin);
261  return cluster;
262 }

References funct::abs(), MTDClusterizerBase::AccretionCluster::add(), HltBtagPostValidation_cff::c, MTDArrayBuffer::clear(), MTDArrayBuffer::columns(), MTDClusterizerBase::AccretionCluster::empty(), MTDArrayBuffer::energy(), MTDClusterizerBase::AccretionCluster::energy, MTDClusterizerBase::AccretionCluster::isize, SiStripPI::max, min(), MTDClusterizerBase::AccretionCluster::pop(), alignCSCRings::r, MTDArrayBuffer::rows(), mathSSE::sqrt(), theBuffer, theCurrentId, theHitThreshold, theTimeThreshold, MTDArrayBuffer::time(), MTDClusterizerBase::AccretionCluster::time, MTDArrayBuffer::time_error(), MTDClusterizerBase::AccretionCluster::timeError, MTDClusterizerBase::AccretionCluster::top(), MTDClusterizerBase::AccretionCluster::x, MTDClusterizerBase::AccretionCluster::xmin, MTDClusterizerBase::AccretionCluster::y, and MTDClusterizerBase::AccretionCluster::ymin.

Referenced by clusterize().

◆ setup()

bool MTDThresholdClusterizer::setup ( const MTDGeometry geom,
const MTDTopology topo,
const DetId id 
)
private

Prepare the Clusterizer to work on a particular DetUnit. Re-init the size of the panel/plaquette (so update nrows and ncols),

Definition at line 58 of file MTDThresholdClusterizer.cc.

58  {
59  theCurrentId = id;
60  //using geopraphicalId here
61  const auto& thedet = geom->idToDet(id);
62  if (thedet == nullptr) {
63  throw cms::Exception("MTDThresholdClusterizer")
64  << "GeographicalID: " << std::hex << id.rawId() << " is invalid!" << std::dec << std::endl;
65  return false;
66  }
67  const ProxyMTDTopology& topoproxy = static_cast<const ProxyMTDTopology&>(thedet->topology());
68  const RectangularMTDTopology& topol = static_cast<const RectangularMTDTopology&>(topoproxy.specificTopology());
69 
70  // Get the new sizes.
71  unsigned int nrows = topol.nrows(); // rows in x
72  unsigned int ncols = topol.ncolumns(); // cols in y
73 
74  theNumOfRows = nrows; // Set new sizes
76 
77  DEBUG("Buffer size [" << theNumOfRows + 1 << "," << theNumOfCols + 1 << "]");
78 
79  if (nrows > theBuffer.rows() || ncols > theBuffer.columns()) { // change only when a larger is needed
80  // Resize the buffer
81  theBuffer.setSize(nrows + 1, ncols + 1); // +1 needed for MTD
82  bufferAlreadySet = true;
83  }
84 
85  return true;
86 }

References bufferAlreadySet, MTDArrayBuffer::columns(), DEBUG, TauDecayModes::dec, Exception, relativeConstraints::geom, triggerObjects_cff::id, hgcalPlots::ncols, RectangularMTDTopology::nrows(), MTDArrayBuffer::rows(), MTDArrayBuffer::setSize(), ProxyMTDTopology::specificTopology(), theBuffer, theCurrentId, theNumOfCols, and theNumOfRows.

Referenced by clusterize().

Member Data Documentation

◆ bufferAlreadySet

bool MTDThresholdClusterizer::bufferAlreadySet
private

Definition at line 82 of file MTDThresholdClusterizer.h.

Referenced by setup().

◆ theBuffer

MTDArrayBuffer MTDThresholdClusterizer::theBuffer
private

Data storage.

Definition at line 81 of file MTDThresholdClusterizer.h.

Referenced by clear_buffer(), clusterize(), copy_to_buffer(), make_cluster(), and setup().

◆ theClusters

std::vector<FTLCluster> MTDThresholdClusterizer::theClusters
private

Definition at line 66 of file MTDThresholdClusterizer.h.

◆ theClusterThreshold

float MTDThresholdClusterizer::theClusterThreshold
private

Definition at line 71 of file MTDThresholdClusterizer.h.

Referenced by clusterize().

◆ theCurrentId

DetId MTDThresholdClusterizer::theCurrentId
private

Definition at line 78 of file MTDThresholdClusterizer.h.

Referenced by make_cluster(), and setup().

◆ theHitThreshold

float MTDThresholdClusterizer::theHitThreshold
private

Clustering-related quantities:

Definition at line 69 of file MTDThresholdClusterizer.h.

Referenced by copy_to_buffer(), and make_cluster().

◆ theNumOfCols

int MTDThresholdClusterizer::theNumOfCols
private

Definition at line 76 of file MTDThresholdClusterizer.h.

Referenced by setup().

◆ theNumOfRows

int MTDThresholdClusterizer::theNumOfRows
private

Geometry-related information.

Definition at line 75 of file MTDThresholdClusterizer.h.

Referenced by setup().

◆ theSeeds

std::vector<FTLCluster::FTLHitPos> MTDThresholdClusterizer::theSeeds
private

Definition at line 65 of file MTDThresholdClusterizer.h.

Referenced by clusterize(), and copy_to_buffer().

◆ theSeedThreshold

float MTDThresholdClusterizer::theSeedThreshold
private

Definition at line 70 of file MTDThresholdClusterizer.h.

Referenced by clusterize(), and copy_to_buffer().

◆ theTimeThreshold

float MTDThresholdClusterizer::theTimeThreshold
private

Definition at line 72 of file MTDThresholdClusterizer.h.

Referenced by make_cluster().

FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
hgcalPlots.ncols
ncols
Definition: hgcalPlots.py:105
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
input
static const std::string input
Definition: EdmProvDump.cc:48
MTDArrayBuffer::columns
uint columns() const
Definition: MTDArrayBuffer.h:33
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
min
T min(T a, T b)
Definition: MathUtil.h:58
FTLCluster
Definition: FTLCluster.h:21
MTDArrayBuffer::set
void set(uint row, uint col, float energy, float time, float time_error)
Definition: MTDArrayBuffer.h:97
cuy.col
col
Definition: cuy.py:1010
edm::LogInfo
Definition: MessageLogger.h:254
FTLCluster::energy
float energy() const
Definition: FTLCluster.h:150
RectangularMTDTopology::nrows
int nrows() const override
Definition: RectangularMTDTopology.h:165
cms::cuda::assert
assert(be >=bs)
ProxyMTDTopology::specificTopology
virtual const PixelTopology & specificTopology() const
Definition: ProxyMTDTopology.h:89
MTDArrayBuffer::rows
uint rows() const
Definition: MTDArrayBuffer.h:32
ETLDetId
Detector identifier class for the Endcap Timing Layer.
Definition: ETLDetId.h:15
MTDThresholdClusterizer::theCurrentId
DetId theCurrentId
Definition: MTDThresholdClusterizer.h:78
FTLCluster::FTLHitPos
Definition: FTLCluster.h:58
MTDTopology::getMTDTopologyMode
int getMTDTopologyMode() const
Definition: MTDTopology.h:73
end
#define end
Definition: vmac.h:39
DEBUG
#define DEBUG(x)
Definition: MTDThresholdClusterizer.cc:26
FTLCluster::time
float time() const
Definition: FTLCluster.h:131
DetId
Definition: DetId.h:17
BTLDetId
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0,...
Definition: BTLDetId.h:18
MTDThresholdClusterizer::theNumOfCols
int theNumOfCols
Definition: MTDThresholdClusterizer.h:76
MTDThresholdClusterizer::theSeeds
std::vector< FTLCluster::FTLHitPos > theSeeds
Definition: MTDThresholdClusterizer.h:65
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
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
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
MTDArrayBuffer::time
float time(uint row, uint col) const
Definition: MTDArrayBuffer.h:91
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
MTDDetId::mtdSubDetector
int mtdSubDetector() const
Definition: MTDDetId.h:56
MTDThresholdClusterizer::theNumOfRows
int theNumOfRows
Geometry-related information.
Definition: MTDThresholdClusterizer.h:75
MTDArrayBuffer::clear
void clear(uint row, uint col)
Definition: MTDArrayBuffer.h:37
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
MTDTopologyMode::crysLayoutFromTopoMode
BTLDetId::CrysLayout crysLayoutFromTopoMode(const int &topoMode)
Definition: MTDTopologyMode.h:19
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
MTDArrayBuffer::energy
float energy(uint row, uint col) const
Definition: MTDArrayBuffer.h:88
MTDThresholdClusterizer::theBuffer
MTDArrayBuffer theBuffer
Data storage.
Definition: MTDThresholdClusterizer.h:81
MTDArrayBuffer::setSize
void setSize(uint rows, uint cols)
Definition: MTDArrayBuffer.h:78
MTDThresholdClusterizer::theSeedThreshold
float theSeedThreshold
Definition: MTDThresholdClusterizer.h:70
MTDDetId::FastTime
Definition: MTDDetId.h:24
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
RectangularMTDTopology
Definition: RectangularMTDTopology.h:39
ProxyMTDTopology
Definition: ProxyMTDTopology.h:28
alignCSCRings.r
r
Definition: alignCSCRings.py:93
MTDDetId::BTL
Definition: MTDDetId.h:27
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
FTLCluster::size
int size() const
Definition: FTLCluster.h:142
FTLCluster::x
float x() const
Definition: FTLCluster.h:121
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
MTDDetId::ETL
Definition: MTDDetId.h:27
MTDDetId
Detector identifier base class for the MIP Timing Layer.
Definition: MTDDetId.h:21
Exception
Definition: hltDiff.cc:246
FTLCluster::y
float y() const
Definition: FTLCluster.h:126
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edmNew::DetSetVector::FastFiller
Definition: DetSetVectorNew.h:236
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ntuplemaker.time
time
Definition: ntuplemaker.py:310
MTDThresholdClusterizer::theHitThreshold
float theHitThreshold
Clustering-related quantities:
Definition: MTDThresholdClusterizer.h:69
MTDDetId::subDetector
SubDetector subDetector() const
Definition: MTDDetId.h:53
MTDArrayBuffer::time_error
float time_error(uint row, uint col) const
Definition: MTDArrayBuffer.h:94
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
begin
#define begin
Definition: vmac.h:32
MTDThresholdClusterizer::bufferAlreadySet
bool bufferAlreadySet
Definition: MTDThresholdClusterizer.h:82
hit
Definition: SiStripHitEffFromCalibTree.cc:88