CMS 3D CMS Logo

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

Public Types

using HitModuleStart = std::array< uint32_t, TrackerTraits::numberOfModules+1 >
 
using HitsOnHost = TrackingRecHitSoAHost< TrackerTraits >
 
using HMSstorage = HostProduct< uint32_t[]>
 
- 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

 SiPixelRecHitSoAFromLegacyT (const edm::ParameterSet &iConfig)
 
 ~SiPixelRecHitSoAFromLegacyT () override=default
 
- 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

void produce (edm::StreamID streamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
 

Private Attributes

const edm::EDGetTokenT< reco::BeamSpotbsGetToken_
 
const edm::EDGetTokenT< SiPixelClusterCollectionNewclusterToken_
 
const bool convert2Legacy_
 
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecordcpeToken_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
const edm::EDPutTokenT< HitsOnHosttokenHit_
 
const edm::EDPutTokenT< HMSstoragetokenModuleStart_
 

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

template<typename TrackerTraits>
class SiPixelRecHitSoAFromLegacyT< TrackerTraits >

Definition at line 32 of file SiPixelRecHitSoAFromLegacy.cc.

Member Typedef Documentation

◆ HitModuleStart

template<typename TrackerTraits >
using SiPixelRecHitSoAFromLegacyT< TrackerTraits >::HitModuleStart = std::array<uint32_t, TrackerTraits::numberOfModules + 1>

Definition at line 39 of file SiPixelRecHitSoAFromLegacy.cc.

◆ HitsOnHost

template<typename TrackerTraits >
using SiPixelRecHitSoAFromLegacyT< TrackerTraits >::HitsOnHost = TrackingRecHitSoAHost<TrackerTraits>

Definition at line 41 of file SiPixelRecHitSoAFromLegacy.cc.

◆ HMSstorage

template<typename TrackerTraits >
using SiPixelRecHitSoAFromLegacyT< TrackerTraits >::HMSstorage = HostProduct<uint32_t[]>

Definition at line 40 of file SiPixelRecHitSoAFromLegacy.cc.

Constructor & Destructor Documentation

◆ SiPixelRecHitSoAFromLegacyT()

template<typename TrackerTraits >
SiPixelRecHitSoAFromLegacyT< TrackerTraits >::SiPixelRecHitSoAFromLegacyT ( const edm::ParameterSet iConfig)
explicit

Definition at line 56 of file SiPixelRecHitSoAFromLegacy.cc.

References edm::ParameterSet::getParameter().

59  bsGetToken_{consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("beamSpot"))},
60  clusterToken_{consumes<SiPixelClusterCollectionNew>(iConfig.getParameter<edm::InputTag>("src"))},
61  tokenHit_{produces<HitsOnHost>()},
62  tokenModuleStart_{produces<HMSstorage>()},
63  convert2Legacy_(iConfig.getParameter<bool>("convertToLegacy")) {
64  if (convert2Legacy_)
65  produces<SiPixelRecHitCollectionNew>();
66 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDPutTokenT< HMSstorage > tokenModuleStart_
const edm::EDPutTokenT< HitsOnHost > tokenHit_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > cpeToken_
const edm::EDGetTokenT< reco::BeamSpot > bsGetToken_
const edm::EDGetTokenT< SiPixelClusterCollectionNew > clusterToken_

◆ ~SiPixelRecHitSoAFromLegacyT()

template<typename TrackerTraits >
SiPixelRecHitSoAFromLegacyT< TrackerTraits >::~SiPixelRecHitSoAFromLegacyT ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

template<typename TrackerTraits >
void SiPixelRecHitSoAFromLegacyT< TrackerTraits >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 69 of file SiPixelRecHitSoAFromLegacy.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

69  {
71 
72  desc.add<edm::InputTag>("beamSpot", edm::InputTag("offlineBeamSpot"));
73  desc.add<edm::InputTag>("src", edm::InputTag("siPixelClustersPreSplitting"));
74  std::string cpeName = "PixelCPEFast";
75  cpeName += TrackerTraits::nameModifier;
76  desc.add<std::string>("CPE", cpeName);
77  desc.add<bool>("convertToLegacy", false);
78 
79  descriptions.addWithDefaultLabel(desc);
80 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ produce()

template<typename TrackerTraits >
void SiPixelRecHitSoAFromLegacyT< TrackerTraits >::produce ( edm::StreamID  streamID,
edm::Event iEvent,
const edm::EventSetup iSetup 
) const
overrideprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 83 of file SiPixelRecHitSoAFromLegacy.cc.

References cms::cuda::assert(), cms::cuda::bs, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), ALCARECOPPSCalTrackBasedSel_cff::detid, Exception, cms::alpakatools::fillManyFromVector(), edm::EventSetup::getData(), h, mps_fire::i, TrackerGeometry::idToDetUnit(), iEvent, GeomDet::index(), input, gpuClustering::invalidModuleId, LogDebug, edmNew::makeRefTo(), pixelClustering::maxHitsInModule(), pixelClustering::maxNumClustersPerModules, eostools::move(), MuonTCMETValueMapProducer_cff::nLayers, electrons_cff::numberOfClusters, phase1PixelTopology::numberOfLayers, phase1PixelTopology::numberOfModules, convertSQLitetoXML_cfg::output, edmNew::DetSetVector< T >::FastFiller::push_back(), multPhiCorr_741_25nsDY_cfi::px, gpuClustering::startBPIX2, mitigatedMETSequence_cff::U, cms::cuda::PortableHostCollection< T >::view(), BeamSpotPOD::x, BeamSpotPOD::y, and BeamSpotPOD::z.

85  {
86  const TrackerGeometry* geom_ = &es.getData(geomToken_);
87  PixelCPEFast<TrackerTraits> const* fcpe = dynamic_cast<const PixelCPEFast<TrackerTraits>*>(&es.getData(cpeToken_));
88  if (not fcpe) {
89  throw cms::Exception("Configuration") << "SiPixelRecHitSoAFromLegacy can only use a CPE of type PixelCPEFast";
90  }
91  auto const& cpeView = fcpe->getCPUProduct();
92 
93  const reco::BeamSpot& bs = iEvent.get(bsGetToken_);
94 
95  BeamSpotPOD bsHost;
96  bsHost.x = bs.x0();
97  bsHost.y = bs.y0();
98  bsHost.z = bs.z0();
99 
101  iEvent.getByToken(clusterToken_, hclusters);
102  auto const& input = *hclusters;
103 
105  constexpr int startBPIX2 = pixelTopology::layerStart<TrackerTraits>(1);
106 
107  // allocate a buffer for the indices of the clusters
108  auto hmsp = std::make_unique<uint32_t[]>(nModules + 1);
109  auto hitsModuleStart = hmsp.get();
110  // wrap the buffer in a HostProduct
111  auto hms = std::make_unique<HMSstorage>(std::move(hmsp));
112  // move the HostProduct to the Event, without reallocating the buffer or affecting hitsModuleStart
114 
115  // legacy output
116  auto legacyOutput = std::make_unique<SiPixelRecHitCollectionNew>();
117 
118  std::vector<edm::Ref<edmNew::DetSetVector<SiPixelCluster>, SiPixelCluster>> clusterRef;
119 
121 
123 
124  memset(clusters_h.view().clusInModule(), 0, (nModules + 1) * sizeof(uint32_t)); // needed??
125  memset(clusters_h.view().moduleStart(), 0, (nModules + 1) * sizeof(uint32_t));
126  memset(clusters_h.view().moduleId(), 0, (nModules + 1) * sizeof(uint32_t));
127  memset(clusters_h.view().clusModuleStart(), 0, (nModules + 1) * sizeof(uint32_t));
128 
129  assert(0 == clusters_h.view()[nModules].clusInModule());
130  clusters_h.view()[1].moduleStart() = 0;
131 
132  // fill cluster arrays
133  int numberOfClusters = 0;
134  for (auto const& dsv : input) {
135  unsigned int detid = dsv.detId();
136  DetId detIdObject(detid);
137  const GeomDetUnit* genericDet = geom_->idToDetUnit(detIdObject);
138  auto gind = genericDet->index();
139  assert(gind < nModules);
140  auto const nclus = dsv.size();
141  clusters_h.view()[gind].clusInModule() = nclus;
142  numberOfClusters += nclus;
143  }
144  clusters_h.view()[0].clusModuleStart() = 0;
145 
146  for (int i = 1; i < nModules + 1; ++i) {
147  clusters_h.view()[i].clusModuleStart() =
148  clusters_h.view()[i - 1].clusModuleStart() + clusters_h.view()[i - 1].clusInModule();
149  }
150 
151  assert((uint32_t)numberOfClusters == clusters_h.view()[nModules].clusModuleStart());
152  // output SoA
153  // element 96 is the start of BPIX2 (i.e. the number of clusters in BPIX1)
155  numberOfClusters, clusters_h.view()[startBPIX2].clusModuleStart(), &cpeView, clusters_h.view().clusModuleStart());
156 
157  if (0 == numberOfClusters) {
158  iEvent.emplace(tokenHit_, std::move(output));
159  if (convert2Legacy_)
160  iEvent.put(std::move(legacyOutput));
161  return;
162  }
163 
164  if (convert2Legacy_)
165  legacyOutput->reserve(nModules, numberOfClusters);
166 
167  int numberOfDetUnits = 0;
168  int numberOfHits = 0;
169  for (auto const& dsv : input) {
170  numberOfDetUnits++;
171  unsigned int detid = dsv.detId();
172  DetId detIdObject(detid);
173  const GeomDetUnit* genericDet = geom_->idToDetUnit(detIdObject);
174  auto const gind = genericDet->index();
175  assert(gind < nModules);
176  const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(genericDet);
177  assert(pixDet);
178  auto const nclus = dsv.size();
179 
180  assert(clusters_h.view()[gind].clusInModule() == nclus);
181  if (0 == nclus)
182  continue; // is this really possible?
183 
184  auto const fc = clusters_h.view()[gind].clusModuleStart();
185  auto const lc = clusters_h.view()[gind + 1].clusModuleStart();
186  assert(lc > fc);
187  LogDebug("SiPixelRecHitSoAFromLegacy") << "in det " << gind << ": conv " << nclus << " hits from " << dsv.size()
188  << " legacy clusters" << ' ' << fc << ',' << lc;
189  assert((lc - fc) == nclus);
190  if (nclus > maxHitsInModule)
191  printf(
192  "WARNING: too many clusters %d in Module %d. Only first %d Hits converted\n", nclus, gind, maxHitsInModule);
193 
194  // count digis
195  uint32_t ndigi = 0;
196  for (auto const& clust : dsv) {
197  assert(clust.size() > 0);
198  ndigi += clust.size();
199  }
200 
202 
203  clusterRef.clear();
204  clusters_h.view()[0].moduleId() = gind;
205 
206  uint32_t ic = 0;
207  ndigi = 0;
208  //filling digis
209  for (auto const& clust : dsv) {
210  assert(clust.size() > 0);
211  for (int i = 0, nd = clust.size(); i < nd; ++i) {
212  auto px = clust.pixel(i);
213  digis_h.view()[ndigi].xx() = px.x;
214  digis_h.view()[ndigi].yy() = px.y;
215  digis_h.view()[ndigi].adc() = px.adc;
216  digis_h.view()[ndigi].moduleId() = gind;
217  digis_h.view()[ndigi].clus() = ic;
218  ++ndigi;
219  }
220 
221  if (convert2Legacy_)
222  clusterRef.emplace_back(edmNew::makeRefTo(hclusters, &clust));
223  ic++;
224  }
225  assert(nclus == ic);
226 
227  numberOfHits += nclus;
228  // filled creates view
229  assert(digis_h.view()[0].adc() != 0);
230  // we run on blockId.x==0
231 
232  gpuPixelRecHits::getHits(&cpeView, &bsHost, digis_h.view(), ndigi, clusters_h.view(), output.view());
233  for (auto h = fc; h < lc; ++h)
234  if (h - fc < maxHitsInModule)
235  assert(gind == output.view()[h].detectorIndex());
236  else
237  assert(gpuClustering::invalidModuleId == output.view()[h].detectorIndex());
238 
239  if (convert2Legacy_) {
240  SiPixelRecHitCollectionNew::FastFiller recHitsOnDetUnit(*legacyOutput, detid);
241  for (auto h = fc; h < lc; ++h) {
242  auto ih = h - fc;
243 
244  if (ih >= maxHitsInModule)
245  break;
246 
247  assert(ih < clusterRef.size());
248  LocalPoint lp(output.view()[h].xLocal(), output.view()[h].yLocal());
249  LocalError le(output.view()[h].xerrLocal(), 0, output.view()[h].yerrLocal());
250 
252  SiPixelRecHit hit(lp, le, rqw, *genericDet, clusterRef[ih]);
253  recHitsOnDetUnit.push_back(hit);
254  }
255  }
256  }
257 
258  assert(numberOfHits == numberOfClusters);
259 
260  // fill data structure to support CA
262  for (auto i = 0U; i < nLayers + 1; ++i) {
263  output.view().hitsLayerStart()[i] = clusters_h.view()[cpeView.layerGeometry().layerStart[i]].clusModuleStart();
264  LogDebug("SiPixelRecHitSoAFromLegacy")
265  << "Layer n." << i << " - starting at module: " << cpeView.layerGeometry().layerStart[i]
266  << " - starts ad cluster: " << output->hitsLayerStart()[i] << "\n";
267  }
268 
269  cms::cuda::fillManyFromVector(&(output.view().phiBinner()),
270  nLayers,
271  output.view().iphi(),
272  output.view().hitsLayerStart().data(),
273  output.view().nHits(),
274  256,
275  output.view().phiBinnerStorage());
276 
277  LogDebug("SiPixelRecHitSoAFromLegacy") << "created HitSoa for " << numberOfClusters << " clusters in "
278  << numberOfDetUnits << " Dets"
279  << "\n";
280 
281  // copy pointer to data (SoA view) to allocated buffer
282  memcpy(hitsModuleStart, clusters_h.view().clusModuleStart(), nModules * sizeof(uint32_t));
283 
284  iEvent.emplace(tokenHit_, std::move(output));
285  if (convert2Legacy_)
286  iEvent.put(std::move(legacyOutput));
287 }
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
TrackingRecHitSoAHost< TrackerTraits > HitsOnHost
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
constexpr uint32_t numberOfLayers
int index() const
Definition: GeomDet.h:83
const edm::EDPutTokenT< HMSstorage > tokenModuleStart_
ALPAKA_FN_INLINE void fillManyFromVector(Histo *__restrict__ h, uint32_t nh, T const *__restrict__ v, uint32_t const *__restrict__ offsets, uint32_t totSize, uint32_t nthreads, TQueue &queue)
assert(be >=bs)
constexpr uint16_t numberOfModules
static std::string const input
Definition: EdmProvDump.cc:50
const edm::EDPutTokenT< HitsOnHost > tokenHit_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
int iEvent
Definition: GenABIO.cc:224
constexpr int startBPIX2
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > cpeToken_
constexpr uint16_t invalidModuleId
const edm::EDGetTokenT< reco::BeamSpot > bsGetToken_
Definition: DetId.h:17
Pixel cluster – collection of neighboring pixels above threshold.
constexpr int32_t maxNumClustersPerModules
Definition: output.py:1
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
def move(src, dest)
Definition: eostools.py:511
constexpr uint32_t maxHitsInModule()
const edm::EDGetTokenT< SiPixelClusterCollectionNew > clusterToken_
Our base class.
Definition: SiPixelRecHit.h:23
#define LogDebug(id)

Member Data Documentation

◆ bsGetToken_

template<typename TrackerTraits >
const edm::EDGetTokenT<reco::BeamSpot> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::bsGetToken_
private

Definition at line 48 of file SiPixelRecHitSoAFromLegacy.cc.

◆ clusterToken_

template<typename TrackerTraits >
const edm::EDGetTokenT<SiPixelClusterCollectionNew> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::clusterToken_
private

Definition at line 49 of file SiPixelRecHitSoAFromLegacy.cc.

◆ convert2Legacy_

template<typename TrackerTraits >
const bool SiPixelRecHitSoAFromLegacyT< TrackerTraits >::convert2Legacy_
private

Definition at line 52 of file SiPixelRecHitSoAFromLegacy.cc.

◆ cpeToken_

template<typename TrackerTraits >
const edm::ESGetToken<PixelClusterParameterEstimator, TkPixelCPERecord> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::cpeToken_
private

Definition at line 47 of file SiPixelRecHitSoAFromLegacy.cc.

◆ geomToken_

template<typename TrackerTraits >
const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::geomToken_
private

Definition at line 46 of file SiPixelRecHitSoAFromLegacy.cc.

◆ tokenHit_

template<typename TrackerTraits >
const edm::EDPutTokenT<HitsOnHost> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::tokenHit_
private

Definition at line 50 of file SiPixelRecHitSoAFromLegacy.cc.

◆ tokenModuleStart_

template<typename TrackerTraits >
const edm::EDPutTokenT<HMSstorage> SiPixelRecHitSoAFromLegacyT< TrackerTraits >::tokenModuleStart_
private

Definition at line 51 of file SiPixelRecHitSoAFromLegacy.cc.