CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
cms::SiPixelDigitizer Class Reference

#include <SiPixelDigitizer.h>

Inheritance diagram for cms::SiPixelDigitizer:
DigiAccumulatorMixMod

Public Member Functions

void accumulate (edm::Event const &e, edm::EventSetup const &c) override
 
void accumulate (PileUpEventPrincipal const &e, edm::EventSetup const &c, edm::StreamID const &) override
 
virtual void beginJob ()
 
void finalizeEvent (edm::Event &e, edm::EventSetup const &c) override
 
PileupMixingContentgetEventPileupInfo () override
 
void initializeEvent (edm::Event const &e, edm::EventSetup const &c) override
 
 SiPixelDigitizer (const edm::ParameterSet &conf, edm::ProducesCollector, edm::ConsumesCollector &iC)
 
void StorePileupInformation (std::vector< int > &numInteractionList, std::vector< int > &bunchCrossingList, std::vector< float > &TrueInteractionList, std::vector< edm::EventID > &eventInfoList, int bunchSpacing) override
 
 ~SiPixelDigitizer () override
 
- Public Member Functions inherited from DigiAccumulatorMixMod
virtual void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup)
 
virtual void beginRun (edm::Run const &run, edm::EventSetup const &setup)
 
 DigiAccumulatorMixMod ()
 
 DigiAccumulatorMixMod (DigiAccumulatorMixMod const &)=delete
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup)
 
virtual void endRun (edm::Run const &run, edm::EventSetup const &setup)
 
virtual void finalizeBunchCrossing (edm::Event &event, edm::EventSetup const &setup, int bunchCrossing)
 
virtual void initializeBunchCrossing (edm::Event const &event, edm::EventSetup const &setup, int bunchCrossing)
 
DigiAccumulatorMixMod const & operator= (DigiAccumulatorMixMod const &)=delete
 
virtual ~DigiAccumulatorMixMod ()
 

Private Types

typedef std::vector< std::string > vstring
 

Private Member Functions

void accumulatePixelHits (edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const unsigned int tofBin, edm::EventSetup const &c)
 

Private Attributes

std::unique_ptr
< SiPixelDigitizerAlgorithm
_pixeldigialgo
 
std::map< std::string, size_t > crossingSimHitIndexOffset_
 Offset to add to the index of each sim hit to account for which crossing it's in. More...
 
std::map< unsigned int,
PixelGeomDetUnit const * > 
detectorUnits
 
bool firstFinalizeEvent_
 
bool firstInitializeEvent_
 
const std::string hitsProducer
 
const int NumberOfEndcapDisks
 
const TrackerGeometrypDD = nullptr
 
const edm::ESGetToken
< TrackerGeometry,
TrackerDigiGeometryRecord
pDDToken_
 
std::unique_ptr
< PileupMixingContent
PileupInfo_
 
const bool pilotBlades
 
const MagneticFieldpSetup = nullptr
 
const edm::ESGetToken
< MagneticField,
IdealMagneticFieldRecord
pSetupToken_
 
CLHEP::HepRandomEngine * randomEngine_ = nullptr
 
const vstring trackerContainers
 
const edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
tTopoToken_
 

Detailed Description

Definition at line 44 of file SiPixelDigitizer.h.

Member Typedef Documentation

typedef std::vector<std::string> cms::SiPixelDigitizer::vstring
private

Definition at line 87 of file SiPixelDigitizer.h.

Constructor & Destructor Documentation

SiPixelDigitizer::SiPixelDigitizer ( const edm::ParameterSet conf,
edm::ProducesCollector  producesCollector,
edm::ConsumesCollector iC 
)
explicit

Definition at line 81 of file SiPixelDigitizer.cc.

References _pixeldigialgo, HLT_FULL_cff::alias, edm::ConsumesCollector::consumes(), Exception, hitsProducer, iConfig, HLT_FULL_cff::InputTag, edm::Service< T >::isAvailable(), NumberOfEndcapDisks, edm::ProducesCollector::produces(), AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and trackerContainers.

84  : firstInitializeEvent_(true),
85  firstFinalizeEvent_(true),
87  hitsProducer(iConfig.getParameter<std::string>("hitsProducer")),
88  trackerContainers(iConfig.getParameter<std::vector<std::string> >("RoutList")),
89  pilotBlades(iConfig.exists("enablePilotBlades") ? iConfig.getParameter<bool>("enablePilotBlades") : false),
90  NumberOfEndcapDisks(iConfig.exists("NumPixelEndcap") ? iConfig.getParameter<int>("NumPixelEndcap") : 2),
91  tTopoToken_(iC.esConsumes()),
92  pDDToken_(iC.esConsumes(edm::ESInputTag("", iConfig.getParameter<std::string>("PixGeometryType")))),
93  pSetupToken_(iC.esConsumes()) {
94  edm::LogInfo("PixelDigitizer ") << "Enter the Pixel Digitizer";
95 
96  const std::string alias("simSiPixelDigis");
97 
98  producesCollector.produces<edm::DetSetVector<PixelDigi> >().setBranchAlias(alias);
99  producesCollector.produces<edm::DetSetVector<PixelDigiSimLink> >().setBranchAlias(alias + "siPixelDigiSimLink");
100 
101  for (auto const& trackerContainer : trackerContainers) {
102  edm::InputTag tag(hitsProducer, trackerContainer);
103  iC.consumes<std::vector<PSimHit> >(edm::InputTag(hitsProducer, trackerContainer));
104  }
106  if (!rng.isAvailable()) {
107  throw cms::Exception("Configuration")
108  << "SiPixelDigitizer requires the RandomNumberGeneratorService\n"
109  "which is not present in the configuration file. You must add the service\n"
110  "in the configuration file or remove the modules that require it.";
111  }
112 
113  _pixeldigialgo = std::make_unique<SiPixelDigitizerAlgorithm>(iConfig, iC);
114  if (NumberOfEndcapDisks != 2)
115  producesCollector.produces<PixelFEDChannelCollection>();
116  }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
const std::string hitsProducer
bool isAvailable() const
Definition: Service.h:40
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > pDDToken_
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
Log< level::Info, false > LogInfo
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > pSetupToken_
const vstring trackerContainers
SiPixelDigitizer::~SiPixelDigitizer ( )
override

Definition at line 118 of file SiPixelDigitizer.cc.

118 { edm::LogInfo("PixelDigitizer ") << "Destruct the Pixel Digitizer"; }
Log< level::Info, false > LogInfo

Member Function Documentation

void SiPixelDigitizer::accumulate ( edm::Event const &  e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 201 of file SiPixelDigitizer.cc.

References accumulatePixelHits(), crossingSimHitIndexOffset_, edm::InputTag::encode(), edm::Event::getByLabel(), PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, edm::HandleBase::isValid(), PixelDigiSimLink::LowTof, trackerHits::simHits, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and trackerContainers.

201  {
202  // Step A: Get Inputs
203  for (vstring::const_iterator i = trackerContainers.begin(), iEnd = trackerContainers.end(); i != iEnd; ++i) {
206 
207  iEvent.getByLabel(tag, simHits);
208  unsigned int tofBin = PixelDigiSimLink::LowTof;
209  if ((*i).find(std::string("HighTof")) != std::string::npos)
210  tofBin = PixelDigiSimLink::HighTof;
211  accumulatePixelHits(simHits, crossingSimHitIndexOffset_[tag.encode()], tofBin, iSetup);
212  // Now that the hits have been processed, I'll add the amount of hits in this crossing on to
213  // the global counter. Next time accumulateStripHits() is called it will count the sim hits
214  // as though they were on the end of this collection.
215  // Note that this is only used for creating digi-sim links (if configured to do so).
216  // std::cout << "index offset, current hit count = " << crossingSimHitIndexOffset_[tag.encode()] << ", " << simHits->size() << std::endl;
217  if (simHits.isValid())
218  crossingSimHitIndexOffset_[tag.encode()] += simHits->size();
219  }
220  }
const std::string hitsProducer
int iEvent
Definition: GenABIO.cc:224
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const unsigned int tofBin, edm::EventSetup const &c)
bool isValid() const
Definition: HandleBase.h:70
tuple simHits
Definition: trackerHits.py:16
const vstring trackerContainers
std::map< std::string, size_t > crossingSimHitIndexOffset_
Offset to add to the index of each sim hit to account for which crossing it&#39;s in. ...
void SiPixelDigitizer::accumulate ( PileUpEventPrincipal const &  e,
edm::EventSetup const &  c,
edm::StreamID const &  streamID 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 222 of file SiPixelDigitizer.cc.

References accumulatePixelHits(), crossingSimHitIndexOffset_, edm::InputTag::encode(), PileUpEventPrincipal::getByLabel(), PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, edm::HandleBase::isValid(), PixelDigiSimLink::LowTof, trackerHits::simHits, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and trackerContainers.

224  {
225  // Step A: Get Inputs
226  for (vstring::const_iterator i = trackerContainers.begin(), iEnd = trackerContainers.end(); i != iEnd; ++i) {
229 
230  iEvent.getByLabel(tag, simHits);
231  unsigned int tofBin = PixelDigiSimLink::LowTof;
232  if ((*i).find(std::string("HighTof")) != std::string::npos)
233  tofBin = PixelDigiSimLink::HighTof;
234  accumulatePixelHits(simHits, crossingSimHitIndexOffset_[tag.encode()], tofBin, iSetup);
235  // Now that the hits have been processed, I'll add the amount of hits in this crossing on to
236  // the global counter. Next time accumulateStripHits() is called it will count the sim hits
237  // as though they were on the end of this collection.
238  // Note that this is only used for creating digi-sim links (if configured to do so).
239  // std::cout << "index offset, current hit count = " << crossingSimHitIndexOffset_[tag.encode()] << ", " << simHits->size() << std::endl;
240  if (simHits.isValid())
241  crossingSimHitIndexOffset_[tag.encode()] += simHits->size();
242  }
243  }
const std::string hitsProducer
int iEvent
Definition: GenABIO.cc:224
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const unsigned int tofBin, edm::EventSetup const &c)
bool isValid() const
Definition: HandleBase.h:70
tuple simHits
Definition: trackerHits.py:16
const vstring trackerContainers
std::map< std::string, size_t > crossingSimHitIndexOffset_
Offset to add to the index of each sim hit to account for which crossing it&#39;s in. ...
void SiPixelDigitizer::accumulatePixelHits ( edm::Handle< std::vector< PSimHit > >  hSimHits,
size_t  globalSimHitIndex,
const unsigned int  tofBin,
edm::EventSetup const &  c 
)
private

Definition at line 124 of file SiPixelDigitizer.cc.

References _pixeldigialgo, cms::cuda::assert(), detectorUnits, edm::EventSetup::getData(), MagneticField::inTesla(), GeomDetEnumerators::isTrackerPixel(), LogDebug, pSetup, randomEngine_, trackerHits::simHits, and tTopoToken_.

Referenced by accumulate().

127  {
128  if (hSimHits.isValid()) {
129  std::set<unsigned int> detIds;
130  std::vector<PSimHit> const& simHits = *hSimHits.product();
131  const TrackerTopology* tTopo = &iSetup.getData(tTopoToken_);
132  for (std::vector<PSimHit>::const_iterator it = simHits.begin(), itEnd = simHits.end(); it != itEnd;
133  ++it, ++globalSimHitIndex) {
134  unsigned int detId = (*it).detUnitId();
135  if (detIds.insert(detId).second) {
136  // The insert succeeded, so this detector element has not yet been processed.
137  assert(detectorUnits[detId]);
138  if (detectorUnits[detId] &&
139  detectorUnits[detId]
140  ->type()
141  .isTrackerPixel()) { // this test could be avoided and changed into a check of pixdet!=0
142  std::map<unsigned int, PixelGeomDetUnit const*>::iterator itDet = detectorUnits.find(detId);
143  if (itDet == detectorUnits.end())
144  continue;
145  auto pixdet = itDet->second;
146  assert(pixdet != nullptr);
147  //access to magnetic field in global coordinates
148  GlobalVector bfield = pSetup->inTesla(pixdet->surface().position());
149  LogDebug("PixelDigitizer ") << "B-field(T) at " << pixdet->surface().position()
150  << "(cm): " << pSetup->inTesla(pixdet->surface().position());
151  _pixeldigialgo->accumulateSimHits(
152  it, itEnd, globalSimHitIndex, tofBin, pixdet, bfield, tTopo, randomEngine_);
153  }
154  }
155  }
156  }
157  }
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
const MagneticField * pSetup
assert(be >=bs)
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
bool isValid() const
Definition: HandleBase.h:70
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
CLHEP::HepRandomEngine * randomEngine_
T const * product() const
Definition: Handle.h:70
tuple simHits
Definition: trackerHits.py:16
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
#define LogDebug(id)
virtual void cms::SiPixelDigitizer::beginJob ( void  )
inlinevirtual

Definition at line 55 of file SiPixelDigitizer.h.

55 {}
void SiPixelDigitizer::finalizeEvent ( edm::Event e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 246 of file SiPixelDigitizer.cc.

References _pixeldigialgo, TrackerGeometry::detUnits(), Exception, firstFinalizeEvent_, edm::EventSetup::getData(), eostools::move(), convertSQLitetoXML_cfg::output, pDD, PileupInfo_, edm::Event::put(), randomEngine_, and tTopoToken_.

246  {
247  const TrackerTopology* tTopo = &iSetup.getData(tTopoToken_);
248 
249  std::vector<edm::DetSet<PixelDigi> > theDigiVector;
250  std::vector<edm::DetSet<PixelDigiSimLink> > theDigiLinkVector;
251 
252  if (firstFinalizeEvent_) {
253  _pixeldigialgo->init_DynIneffDB(iSetup);
254  firstFinalizeEvent_ = false;
255  }
256  _pixeldigialgo->calculateInstlumiFactor(PileupInfo_.get());
257 
258  if (_pixeldigialgo->killBadFEDChannels()) {
259  std::unique_ptr<PixelFEDChannelCollection> PixelFEDChannelCollection_ =
260  _pixeldigialgo->chooseScenario(PileupInfo_.get(), randomEngine_);
261  if (PixelFEDChannelCollection_ == nullptr) {
262  throw cms::Exception("NullPointerError") << "PixelFEDChannelCollection not set in chooseScenario function.\n";
263  }
264  iEvent.put(std::move(PixelFEDChannelCollection_));
265  }
266 
267  for (const auto& iu : pDD->detUnits()) {
268  if (iu->type().isTrackerPixel()) {
269  //
270 
271  edm::DetSet<PixelDigi> collector(iu->geographicalId().rawId());
272  edm::DetSet<PixelDigiSimLink> linkcollector(iu->geographicalId().rawId());
273 
274  _pixeldigialgo->digitize(
275  dynamic_cast<const PixelGeomDetUnit*>(iu), collector.data, linkcollector.data, tTopo, randomEngine_);
276  if (!collector.data.empty()) {
277  theDigiVector.push_back(std::move(collector));
278  }
279  if (!linkcollector.data.empty()) {
280  theDigiLinkVector.push_back(std::move(linkcollector));
281  }
282  }
283  }
284 
285  // Step C: create collection with the cache vector of DetSet
286  std::unique_ptr<edm::DetSetVector<PixelDigi> > output(new edm::DetSetVector<PixelDigi>(theDigiVector));
287  std::unique_ptr<edm::DetSetVector<PixelDigiSimLink> > outputlink(
288  new edm::DetSetVector<PixelDigiSimLink>(theDigiLinkVector));
289 
290  // Step D: write output to file
291  iEvent.put(std::move(output));
292  iEvent.put(std::move(outputlink));
293 
294  randomEngine_ = nullptr; // to prevent access outside event
295  }
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
const TrackerGeometry * pDD
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
std::unique_ptr< PileupMixingContent > PileupInfo_
int iEvent
Definition: GenABIO.cc:224
def move
Definition: eostools.py:511
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
CLHEP::HepRandomEngine * randomEngine_
PileupMixingContent* cms::SiPixelDigitizer::getEventPileupInfo ( )
inlineoverridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 66 of file SiPixelDigitizer.h.

References PileupInfo_.

66 { return PileupInfo_.get(); }
std::unique_ptr< PileupMixingContent > PileupInfo_
void SiPixelDigitizer::initializeEvent ( edm::Event const &  e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 159 of file SiPixelDigitizer.cc.

References _pixeldigialgo, cms::cuda::assert(), crossingSimHitIndexOffset_, detectorUnits, TrackerGeometry::detUnits(), firstInitializeEvent_, edm::EventSetup::getData(), edm::RandomNumberGenerator::getEngine(), TrackerTopology::layer(), NumberOfEndcapDisks, pDD, pDDToken_, pilotBlades, GeomDetEnumerators::PixelEndcap, pSetup, pSetupToken_, randomEngine_, edm::Event::streamID(), and tTopoToken_.

159  {
160  if (firstInitializeEvent_) {
161  _pixeldigialgo->init(iSetup);
162  firstInitializeEvent_ = false;
163  }
164 
165  // Make sure that the first crossing processed starts indexing the sim hits from zero.
166  // This variable is used so that the sim hits from all crossing frames have sequential
167  // indices used to create the digi-sim link (if configured to do so) rather than starting
168  // from zero for each crossing.
170 
171  // Cache random number engine
173  randomEngine_ = &rng->getEngine(e.streamID());
174 
175  _pixeldigialgo->initializeEvent();
176  pDD = &iSetup.getData(pDDToken_);
177  pSetup = &iSetup.getData(pSetupToken_);
178  const TrackerTopology* tTopo = &iSetup.getData(tTopoToken_);
179 
180  // FIX THIS! We only need to clear and (re)fill this map when the geometry type IOV changes. Use ESWatcher to determine this.
181  if (true) { // Replace with ESWatcher
182  detectorUnits.clear();
183  for (const auto& iu : pDD->detUnits()) {
184  unsigned int detId = iu->geographicalId().rawId();
185  if (iu->type().isTrackerPixel()) {
186  auto pixdet = dynamic_cast<const PixelGeomDetUnit*>(iu);
187  assert(pixdet != nullptr);
188  if (iu->subDetector() ==
189  GeomDetEnumerators::SubDetector::PixelEndcap) { // true ONLY for the phase 0 pixel deetctor
190  unsigned int disk = tTopo->layer(detId); // using the generic layer method
191  //if using pilot blades, then allowing it for current detector only
192  if ((disk == 3) && ((!pilotBlades) && (NumberOfEndcapDisks == 2)))
193  continue;
194  }
195  detectorUnits.insert(std::make_pair(detId, pixdet));
196  }
197  }
198  }
199  }
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
const TrackerGeometry * pDD
const MagneticField * pSetup
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
assert(be >=bs)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > pDDToken_
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
CLHEP::HepRandomEngine * randomEngine_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > pSetupToken_
unsigned int layer(const DetId &id) const
std::map< std::string, size_t > crossingSimHitIndexOffset_
Offset to add to the index of each sim hit to account for which crossing it&#39;s in. ...
void cms::SiPixelDigitizer::StorePileupInformation ( std::vector< int > &  numInteractionList,
std::vector< int > &  bunchCrossingList,
std::vector< float > &  TrueInteractionList,
std::vector< edm::EventID > &  eventInfoList,
int  bunchSpacing 
)
inlineoverridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 57 of file SiPixelDigitizer.h.

References PileupInfo_.

61  {
62  PileupInfo_ = std::make_unique<PileupMixingContent>(
63  numInteractionList, bunchCrossingList, TrueInteractionList, eventInfoList, bunchSpacing);
64  }
std::unique_ptr< PileupMixingContent > PileupInfo_

Member Data Documentation

std::unique_ptr<SiPixelDigitizerAlgorithm> cms::SiPixelDigitizer::_pixeldigialgo
private
std::map<std::string, size_t> cms::SiPixelDigitizer::crossingSimHitIndexOffset_
private

Offset to add to the index of each sim hit to account for which crossing it's in.

I need to know what each sim hit index will be when the hits from all crossing frames are merged into one collection (assuming the MixingModule is configured to create the crossing frame for all sim hits). To do this I'll record how many hits were in each crossing, and then add that on to the index for a given hit in a given crossing. This assumes that the crossings are processed in the same order here as they are put into the crossing frame, which I'm pretty sure is true.
The key is the name of the sim hit collection.

Definition at line 85 of file SiPixelDigitizer.h.

Referenced by accumulate(), and initializeEvent().

std::map<unsigned int, PixelGeomDetUnit const*> cms::SiPixelDigitizer::detectorUnits
private

Definition at line 92 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

bool cms::SiPixelDigitizer::firstFinalizeEvent_
private

Definition at line 75 of file SiPixelDigitizer.h.

Referenced by finalizeEvent().

bool cms::SiPixelDigitizer::firstInitializeEvent_
private

Definition at line 74 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

const std::string cms::SiPixelDigitizer::hitsProducer
private

Definition at line 88 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

const int cms::SiPixelDigitizer::NumberOfEndcapDisks
private

Definition at line 98 of file SiPixelDigitizer.h.

Referenced by initializeEvent(), and SiPixelDigitizer().

const TrackerGeometry* cms::SiPixelDigitizer::pDD = nullptr
private

Definition at line 90 of file SiPixelDigitizer.h.

Referenced by finalizeEvent(), and initializeEvent().

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> cms::SiPixelDigitizer::pDDToken_
private

Definition at line 101 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

std::unique_ptr<PileupMixingContent> cms::SiPixelDigitizer::PileupInfo_
private

Definition at line 95 of file SiPixelDigitizer.h.

Referenced by finalizeEvent(), getEventPileupInfo(), and StorePileupInformation().

const bool cms::SiPixelDigitizer::pilotBlades
private

Definition at line 97 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

const MagneticField* cms::SiPixelDigitizer::pSetup = nullptr
private

Definition at line 91 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> cms::SiPixelDigitizer::pSetupToken_
private

Definition at line 102 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

CLHEP::HepRandomEngine* cms::SiPixelDigitizer::randomEngine_ = nullptr
private

Definition at line 93 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), finalizeEvent(), and initializeEvent().

const vstring cms::SiPixelDigitizer::trackerContainers
private

Definition at line 89 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> cms::SiPixelDigitizer::tTopoToken_
private

Definition at line 100 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), finalizeEvent(), and initializeEvent().