CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
GEMPadDigiClusterProducer Class Reference
Inheritance diagram for GEMPadDigiClusterProducer:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef std::map< GEMDetId, GEMPadDigiClustersGEMPadDigiClusterContainer
 
typedef std::vector< GEMPadDigiClusterGEMPadDigiClusters
 
- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 GEMPadDigiClusterProducer (const edm::ParameterSet &ps)
 
void produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override
 
 ~GEMPadDigiClusterProducer () override
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
bool wantsStreamLuminosityBlocks () const noexcept final
 
bool wantsStreamRuns () const noexcept final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

GEMPadDigiClusterContainer buildClusters (const GEMPadDigiCollection &pads, const GEMGeometry &) const
 
template<class T >
void checkValid (const T &cluster, const GEMDetId &id) const
 
GEMPadDigiClusterCollection selectClusters (const GEMPadDigiClusterContainer &in_clusters, const GEMGeometry &) const
 

Private Attributes

edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeom_token_
 
unsigned int maxClusterSize_
 
unsigned int maxClustersOHGE11_
 
unsigned int maxClustersOHGE21_
 
unsigned int maxClustersPartitionGE11_
 
unsigned int maxClustersPartitionGE21_
 
unsigned int nOHGE11_
 
unsigned int nOHGE21_
 
unsigned int nPartitionsGE11_
 
unsigned int nPartitionsGE21_
 
edm::EDGetTokenT< GEMPadDigiCollectionpad_token_
 Name of input digi Collection. More...
 
edm::InputTag pads_
 
edm::EDPutTokenT< GEMPadDigiClusterCollectionput_token_
 
bool sendOverflowClusters_
 

Additional Inherited Members

- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Produces GEM pad clusters from at most 8 adjacent GEM pads. Clusters are used downstream in the CSC local trigger to build GEM-CSC triggers and in the muon trigger to build EMTF tracks

Based on documentation provided by the GEM firmware architects

Author
Sven Dildick (TAMU), updated by Giovanni Mocellin (UCDavis)

** Notes on chambers and cluster packing algorithm **


Based on: https://gitlab.cern.ch/emu/0xbefe/-/tree/devel/gem/hdl/cluster_finding/README.org (Andrew Peck, 2020/06/26)

GE1/1 chamber has 8 iEta partitions and 1 OH GE2/1 chamber has 16 iEta partitions and 4 OH (one per module)

Both GE1/1 and GE2/1 have 384 strips = 192 pads per iEta partition

GE1/1 OH has 4 clustering partitions, each covering 2 iEta partitions GE2/1 OH has 4 clustering partitions, each covering 1 iEta partition

Each clustering partition finds up to 4 clusters per BX, which are then sent to the sorter. The sorting of the clusters favors lower eta partitions and lower pad numbers.

The first 8 clusters are selected and sent out through optical fibers.

Definition at line 60 of file GEMPadDigiClusterProducer.cc.

Member Typedef Documentation

◆ GEMPadDigiClusterContainer

Definition at line 63 of file GEMPadDigiClusterProducer.cc.

◆ GEMPadDigiClusters

Definition at line 62 of file GEMPadDigiClusterProducer.cc.

Constructor & Destructor Documentation

◆ GEMPadDigiClusterProducer()

GEMPadDigiClusterProducer::GEMPadDigiClusterProducer ( const edm::ParameterSet ps)
explicit

Definition at line 97 of file GEMPadDigiClusterProducer.cc.

References geom_token_, edm::ParameterSet::getParameter(), maxClusterSize_, maxClustersOHGE11_, maxClustersOHGE21_, maxClustersPartitionGE11_, maxClustersPartitionGE21_, nOHGE11_, nOHGE21_, nPartitionsGE11_, nPartitionsGE21_, pad_token_, pads_, put_token_, and sendOverflowClusters_.

97  {
98  pads_ = ps.getParameter<edm::InputTag>("InputCollection");
99  nPartitionsGE11_ = ps.getParameter<unsigned int>("nPartitionsGE11");
100  nPartitionsGE21_ = ps.getParameter<unsigned int>("nPartitionsGE21");
101  maxClustersPartitionGE11_ = ps.getParameter<unsigned int>("maxClustersPartitionGE11");
102  maxClustersPartitionGE21_ = ps.getParameter<unsigned int>("maxClustersPartitionGE21");
103  nOHGE11_ = ps.getParameter<unsigned int>("nOHGE11");
104  nOHGE21_ = ps.getParameter<unsigned int>("nOHGE21");
105  maxClustersOHGE11_ = ps.getParameter<unsigned int>("maxClustersOHGE11");
106  maxClustersOHGE21_ = ps.getParameter<unsigned int>("maxClustersOHGE21");
107  maxClusterSize_ = ps.getParameter<unsigned int>("maxClusterSize");
108  sendOverflowClusters_ = ps.getParameter<bool>("sendOverflowClusters");
109 
110  if (sendOverflowClusters_) {
111  maxClustersOHGE11_ *= 2;
112  maxClustersOHGE21_ *= 2;
113  }
114 
115  pad_token_ = consumes<GEMPadDigiCollection>(pads_);
116  geom_token_ = esConsumes<GEMGeometry, MuonGeometryRecord>();
117 
118  put_token_ = produces<GEMPadDigiClusterCollection>();
119 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geom_token_
edm::EDPutTokenT< GEMPadDigiClusterCollection > put_token_
edm::EDGetTokenT< GEMPadDigiCollection > pad_token_
Name of input digi Collection.

◆ ~GEMPadDigiClusterProducer()

GEMPadDigiClusterProducer::~GEMPadDigiClusterProducer ( )
override

Definition at line 121 of file GEMPadDigiClusterProducer.cc.

121 {}

Member Function Documentation

◆ buildClusters()

GEMPadDigiClusterProducer::GEMPadDigiClusterContainer GEMPadDigiClusterProducer::buildClusters ( const GEMPadDigiCollection pads,
const GEMGeometry geometry 
) const
private

Definition at line 152 of file GEMPadDigiClusterProducer.cc.

References checkValid(), haddnano::cl, ztail::d, maxClusterSize_, and nPart().

Referenced by produce().

153  {
154  GEMPadDigiClusterContainer proto_clusters;
155 
156  // construct clusters
157  for (const auto& part : geometry.etaPartitions()) {
158  // clusters are not build for ME0
159  // -> ignore hits from station 0
160  if (part->isME0())
161  continue;
162 
163  GEMPadDigiClusters all_pad_clusters;
164 
165  auto pads = det_pads.get(part->id());
166  std::vector<uint16_t> cl;
167  int startBX = 99;
168 
169  for (auto d = pads.first; d != pads.second; ++d) {
170  // check if the input pad is valid
171  checkValid(*d, part->id());
172 
173  // number of eta partitions
174  unsigned nPart = d->nPartitions();
175 
176  if (cl.empty()) {
177  cl.push_back((*d).pad());
178  } else {
179  if ((*d).bx() == startBX and // same bunch crossing
180  (*d).pad() == cl.back() + 1 // pad difference is 1
181  and cl.size() < maxClusterSize_) { // max 8 in cluster
182  cl.push_back((*d).pad());
183  } else {
184  // put the current cluster in the proto collection
185  GEMPadDigiCluster pad_cluster(cl, startBX, part->subsystem(), nPart);
186 
187  // check if the output cluster is valid
188  checkValid(pad_cluster, part->id());
189 
190  all_pad_clusters.emplace_back(pad_cluster);
191 
192  // start a new cluster
193  cl.clear();
194  cl.push_back((*d).pad());
195  }
196  }
197  startBX = (*d).bx();
198  }
199 
200  // put the last cluster in the proto collection
201  if (pads.first != pads.second) {
202  // number of eta partitions
203  unsigned nPart = (pads.first)->nPartitions();
204 
205  GEMPadDigiCluster pad_cluster(cl, startBX, part->subsystem(), nPart);
206 
207  // check if the output cluster is valid
208  checkValid(pad_cluster, part->id());
209 
210  all_pad_clusters.emplace_back(pad_cluster);
211  }
212  proto_clusters.emplace(part->id(), all_pad_clusters);
213 
214  } // end of partition loop
215  return proto_clusters;
216 }
void checkValid(const T &cluster, const GEMDetId &id) const
std::vector< GEMPadDigiCluster > GEMPadDigiClusterContainer
d
Definition: ztail.py:151
TString nPart(Int_t part, TString string, TString delimit=";", Bool_t removerest=true)
part
Definition: HCALResponse.h:20
std::vector< GEMPadDigiCluster > GEMPadDigiClusters

◆ checkValid()

template<class T >
void GEMPadDigiClusterProducer::checkValid ( const T cluster,
const GEMDetId id 
) const
private

Definition at line 257 of file GEMPadDigiClusterProducer.cc.

References EcalPhiSymFlatTableProducers_cfi::id, and cmsswSequenceInfo::tp.

Referenced by buildClusters(), and selectClusters().

257  {
258  // check if the pad/cluster is valid
259  // in principle, invalid pads/clusters can appear in the CMS raw data
260  if (!tp.isValid()) {
261  edm::LogWarning("GEMPadDigiClusterProducer") << "Invalid " << tp << " in " << id;
262  }
263 }
Log< level::Warning, false > LogWarning

◆ fillDescriptions()

void GEMPadDigiClusterProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 123 of file GEMPadDigiClusterProducer.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

123  {
125  desc.add<edm::InputTag>("InputCollection", edm::InputTag("simMuonGEMPadDigis"));
126  desc.add<unsigned int>("nPartitionsGE11", 4); // Number of clusterizer partitions per OH
127  desc.add<unsigned int>("nPartitionsGE21", 4); // Number of clusterizer partitions per OH
128  desc.add<unsigned int>("maxClustersPartitionGE11", 4); // Maximum number of clusters per clusterizer partition
129  desc.add<unsigned int>("maxClustersPartitionGE21", 4); // Maximum number of clusters per clusterizer partition
130  desc.add<unsigned int>("nOHGE11", 1); // Number of OH boards per chamber
131  desc.add<unsigned int>("nOHGE21", 4); // Number of OH boards per chamber
132  desc.add<unsigned int>("maxClustersOHGE11", 8); // Maximum number of clusters per OH
133  desc.add<unsigned int>("maxClustersOHGE21", 8); // Maximum number of clusters per OH
134  desc.add<unsigned int>("maxClusterSize", 8); // Maximum cluster size (number of pads)
135  desc.add<bool>("sendOverflowClusters", false);
136 
137  descriptions.add("simMuonGEMPadDigiClustersDef", desc);
138 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ produce()

void GEMPadDigiClusterProducer::produce ( edm::StreamID  ,
edm::Event e,
const edm::EventSetup eventSetup 
) const
overridevirtual

Implements edm::global::EDProducerBase.

Definition at line 140 of file GEMPadDigiClusterProducer.cc.

References buildClusters(), MillePedeFileConverter_cfg::e, options_cfi::eventSetup, geom_token_, pad_token_, put_token_, and selectClusters().

140  {
141  auto const& geometry = eventSetup.getData(geom_token_);
142 
143  auto const& pads = e.get(pad_token_);
144 
145  // build the proto clusters (per partition)
146  GEMPadDigiClusterContainer proto_clusters = buildClusters(pads, geometry);
147 
148  // sort and select clusters per chamber, per OH, per partition number and per pad number
149  e.emplace(put_token_, selectClusters(proto_clusters, geometry));
150 }
GEMPadDigiClusterCollection selectClusters(const GEMPadDigiClusterContainer &in_clusters, const GEMGeometry &) const
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geom_token_
edm::EDPutTokenT< GEMPadDigiClusterCollection > put_token_
std::vector< GEMPadDigiCluster > GEMPadDigiClusterContainer
edm::EDGetTokenT< GEMPadDigiCollection > pad_token_
Name of input digi Collection.
GEMPadDigiClusterContainer buildClusters(const GEMPadDigiCollection &pads, const GEMGeometry &) const

◆ selectClusters()

GEMPadDigiClusterCollection GEMPadDigiClusterProducer::selectClusters ( const GEMPadDigiClusterContainer in_clusters,
const GEMGeometry geometry 
) const
private

Definition at line 218 of file GEMPadDigiClusterProducer.cc.

References checkValid(), l1tPhase2CaloJetEmulator_cfi::iEta, maxClustersOHGE11_, maxClustersOHGE21_, maxClustersPartitionGE11_, maxClustersPartitionGE21_, nOHGE11_, nOHGE21_, nPartitionsGE11_, and nPartitionsGE21_.

Referenced by produce().

219  {
220  GEMPadDigiClusterCollection out_clusters;
221  for (const auto& ch : geometry.chambers()) {
222  const unsigned nOH = ch->id().isGE11() ? nOHGE11_ : nOHGE21_;
223  const unsigned nPartitions = ch->id().isGE11() ? nPartitionsGE11_ : nPartitionsGE21_;
224  const unsigned nEtaPerPartition = ch->nEtaPartitions() / (nPartitions * nOH);
225  const unsigned maxClustersPart = ch->id().isGE11() ? maxClustersPartitionGE11_ : maxClustersPartitionGE21_;
226  const unsigned maxClustersOH = ch->id().isGE11() ? maxClustersOHGE11_ : maxClustersOHGE21_;
227 
228  // loop over OH in this chamber
229  for (unsigned int iOH = 0; iOH < nOH; iOH++) {
230  unsigned int nClustersOH = 0; // Up to 8 clusters per OH
231  // loop over clusterizer partitions
232  for (unsigned int iPart = 0; iPart < nPartitions; iPart++) {
233  unsigned int nClustersPart = 0; // Up to 4 clusters per clustizer partition
234  // loop over the eta partitions for this clusterizer partition
235  for (unsigned iEta = 1; iEta <= nEtaPerPartition; iEta++) {
236  // get the clusters for this eta partition
237  const GEMDetId& iEtaId =
238  ch->etaPartition(iEta + iPart * nEtaPerPartition + iOH * nPartitions * nEtaPerPartition)->id();
239  if (proto_clusters.find(iEtaId) != proto_clusters.end()) {
240  for (const auto& cluster : proto_clusters.at(iEtaId)) {
241  if (nClustersPart < maxClustersPart and nClustersOH < maxClustersOH) {
242  checkValid(cluster, iEtaId);
243  out_clusters.insertDigi(iEtaId, cluster);
244  nClustersPart++;
245  nClustersOH++;
246  }
247  } // end of loop on clusters in eta
248  }
249  } // end of eta partition loop
250  } // end of clusterizer partition loop
251  } // end of OH loop
252  } // end of chamber loop
253  return out_clusters;
254 }
void checkValid(const T &cluster, const GEMDetId &id) const

Member Data Documentation

◆ geom_token_

edm::ESGetToken<GEMGeometry, MuonGeometryRecord> GEMPadDigiClusterProducer::geom_token_
private

Definition at line 82 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and produce().

◆ maxClusterSize_

unsigned int GEMPadDigiClusterProducer::maxClusterSize_
private

Definition at line 93 of file GEMPadDigiClusterProducer.cc.

Referenced by buildClusters(), and GEMPadDigiClusterProducer().

◆ maxClustersOHGE11_

unsigned int GEMPadDigiClusterProducer::maxClustersOHGE11_
private

Definition at line 91 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ maxClustersOHGE21_

unsigned int GEMPadDigiClusterProducer::maxClustersOHGE21_
private

Definition at line 92 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ maxClustersPartitionGE11_

unsigned int GEMPadDigiClusterProducer::maxClustersPartitionGE11_
private

Definition at line 87 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ maxClustersPartitionGE21_

unsigned int GEMPadDigiClusterProducer::maxClustersPartitionGE21_
private

Definition at line 88 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ nOHGE11_

unsigned int GEMPadDigiClusterProducer::nOHGE11_
private

Definition at line 89 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ nOHGE21_

unsigned int GEMPadDigiClusterProducer::nOHGE21_
private

Definition at line 90 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ nPartitionsGE11_

unsigned int GEMPadDigiClusterProducer::nPartitionsGE11_
private

Definition at line 85 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ nPartitionsGE21_

unsigned int GEMPadDigiClusterProducer::nPartitionsGE21_
private

Definition at line 86 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and selectClusters().

◆ pad_token_

edm::EDGetTokenT<GEMPadDigiCollection> GEMPadDigiClusterProducer::pad_token_
private

Name of input digi Collection.

Definition at line 80 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and produce().

◆ pads_

edm::InputTag GEMPadDigiClusterProducer::pads_
private

Definition at line 83 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer().

◆ put_token_

edm::EDPutTokenT<GEMPadDigiClusterCollection> GEMPadDigiClusterProducer::put_token_
private

Definition at line 81 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer(), and produce().

◆ sendOverflowClusters_

bool GEMPadDigiClusterProducer::sendOverflowClusters_
private

Definition at line 94 of file GEMPadDigiClusterProducer.cc.

Referenced by GEMPadDigiClusterProducer().