CMS 3D CMS Logo

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 ()
 
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)
 
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, TrackerDigiGeometryRecordpDDToken_
 
std::unique_ptr< PileupMixingContentPileupInfo_
 
const bool pilotBlades
 
const MagneticFieldpSetup = nullptr
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordpSetupToken_
 
CLHEP::HepRandomEngine * randomEngine_ = nullptr
 
const vstring trackerContainers
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 

Detailed Description

Definition at line 44 of file SiPixelDigitizer.h.

Member Typedef Documentation

◆ vstring

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

Definition at line 87 of file SiPixelDigitizer.h.

Constructor & Destructor Documentation

◆ SiPixelDigitizer()

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

Definition at line 81 of file SiPixelDigitizer.cc.

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  }

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

◆ ~SiPixelDigitizer()

SiPixelDigitizer::~SiPixelDigitizer ( )
override

Definition at line 118 of file SiPixelDigitizer.cc.

118 { edm::LogInfo("PixelDigitizer ") << "Destruct the Pixel Digitizer"; }

Member Function Documentation

◆ accumulate() [1/2]

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

Implements DigiAccumulatorMixMod.

Definition at line 201 of file SiPixelDigitizer.cc.

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  }

References accumulatePixelHits(), crossingSimHitIndexOffset_, PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, iEvent, PixelDigiSimLink::LowTof, FastTrackerRecHitCombiner_cfi::simHits, AlCaHLTBitMon_QueryRunRegistry::string, makeGlobalPositionRcd_cfg::tag, and trackerContainers.

◆ accumulate() [2/2]

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.

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  }

References accumulatePixelHits(), crossingSimHitIndexOffset_, PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, iEvent, PixelDigiSimLink::LowTof, FastTrackerRecHitCombiner_cfi::simHits, AlCaHLTBitMon_QueryRunRegistry::string, makeGlobalPositionRcd_cfg::tag, and trackerContainers.

◆ accumulatePixelHits()

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.

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  }

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

Referenced by accumulate().

◆ beginJob()

virtual void cms::SiPixelDigitizer::beginJob ( void  )
inlinevirtual

Definition at line 55 of file SiPixelDigitizer.h.

55 {}

◆ finalizeEvent()

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

Implements DigiAccumulatorMixMod.

Definition at line 246 of file SiPixelDigitizer.cc.

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  }

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

◆ getEventPileupInfo()

PileupMixingContent* cms::SiPixelDigitizer::getEventPileupInfo ( )
inlineoverridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 66 of file SiPixelDigitizer.h.

66 { return PileupInfo_.get(); }

References PileupInfo_.

◆ initializeEvent()

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

Implements DigiAccumulatorMixMod.

Definition at line 159 of file SiPixelDigitizer.cc.

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  }

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

◆ StorePileupInformation()

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.

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

References genPUProtons_cfi::bunchCrossingList, HLTEgPhaseIITestSequence_cff::bunchSpacing, and PileupInfo_.

Member Data Documentation

◆ _pixeldigialgo

std::unique_ptr<SiPixelDigitizerAlgorithm> cms::SiPixelDigitizer::_pixeldigialgo
private

◆ crossingSimHitIndexOffset_

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().

◆ detectorUnits

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

Definition at line 92 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

◆ firstFinalizeEvent_

bool cms::SiPixelDigitizer::firstFinalizeEvent_
private

Definition at line 75 of file SiPixelDigitizer.h.

Referenced by finalizeEvent().

◆ firstInitializeEvent_

bool cms::SiPixelDigitizer::firstInitializeEvent_
private

Definition at line 74 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ hitsProducer

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

Definition at line 88 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

◆ NumberOfEndcapDisks

const int cms::SiPixelDigitizer::NumberOfEndcapDisks
private

Definition at line 98 of file SiPixelDigitizer.h.

Referenced by initializeEvent(), and SiPixelDigitizer().

◆ pDD

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

Definition at line 90 of file SiPixelDigitizer.h.

Referenced by finalizeEvent(), and initializeEvent().

◆ pDDToken_

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

Definition at line 101 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ PileupInfo_

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

Definition at line 95 of file SiPixelDigitizer.h.

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

◆ pilotBlades

const bool cms::SiPixelDigitizer::pilotBlades
private

Definition at line 97 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ pSetup

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

Definition at line 91 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

◆ pSetupToken_

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

Definition at line 102 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ randomEngine_

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

Definition at line 93 of file SiPixelDigitizer.h.

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

◆ trackerContainers

const vstring cms::SiPixelDigitizer::trackerContainers
private

Definition at line 89 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

◆ tTopoToken_

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

Definition at line 100 of file SiPixelDigitizer.h.

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

Vector3DBase
Definition: Vector3DBase.h:8
edm::DetSetVector< PixelDigi >
cms::SiPixelDigitizer::crossingSimHitIndexOffset_
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.
Definition: SiPixelDigitizer.h:85
edm::RandomNumberGenerator::getEngine
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
cms::SiPixelDigitizer::NumberOfEndcapDisks
const int NumberOfEndcapDisks
Definition: SiPixelDigitizer.h:98
cms::SiPixelDigitizer::firstInitializeEvent_
bool firstInitializeEvent_
Definition: SiPixelDigitizer.h:74
MagneticField::inTesla
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
mps_fire.i
i
Definition: mps_fire.py:428
edm::ESInputTag
Definition: ESInputTag.h:87
edm::Handle::product
T const * product() const
Definition: Handle.h:70
cms::SiPixelDigitizer::pilotBlades
const bool pilotBlades
Definition: SiPixelDigitizer.h:97
edm::DetSet
Definition: DetSet.h:23
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
TrackerTopology
Definition: TrackerTopology.h:16
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
cms::cuda::assert
assert(be >=bs)
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
cms::SiPixelDigitizer::tTopoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: SiPixelDigitizer.h:100
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
cms::SiPixelDigitizer::pDD
const TrackerGeometry * pDD
Definition: SiPixelDigitizer.h:90
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::ConsumesCollector::esConsumes
auto esConsumes()
Definition: ConsumesCollector.h:97
edm::Handle
Definition: AssociativeIterator.h:50
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
cms::SiPixelDigitizer::pSetup
const MagneticField * pSetup
Definition: SiPixelDigitizer.h:91
HLTEgPhaseIITestSequence_cff.bunchSpacing
bunchSpacing
Definition: HLTEgPhaseIITestSequence_cff.py:1574
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
cms::SiPixelDigitizer::PileupInfo_
std::unique_ptr< PileupMixingContent > PileupInfo_
Definition: SiPixelDigitizer.h:95
cms::SiPixelDigitizer::pDDToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > pDDToken_
Definition: SiPixelDigitizer.h:101
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
cms::SiPixelDigitizer::hitsProducer
const std::string hitsProducer
Definition: SiPixelDigitizer.h:88
cms::SiPixelDigitizer::_pixeldigialgo
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
Definition: SiPixelDigitizer.h:76
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
cms::SiPixelDigitizer::detectorUnits
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
Definition: SiPixelDigitizer.h:92
makeGlobalPositionRcd_cfg.tag
tag
Definition: makeGlobalPositionRcd_cfg.py:6
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:40
edm::Service< edm::RandomNumberGenerator >
GeomDetEnumerators::isTrackerPixel
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:68
iEvent
int iEvent
Definition: GenABIO.cc:224
genPUProtons_cfi.bunchCrossingList
bunchCrossingList
Definition: genPUProtons_cfi.py:5
cms::SiPixelDigitizer::accumulatePixelHits
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const unsigned int tofBin, edm::EventSetup const &c)
Definition: SiPixelDigitizer.cc:124
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
Definition: ProducesCollector.h:52
cms::SiPixelDigitizer::trackerContainers
const vstring trackerContainers
Definition: SiPixelDigitizer.h:89
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edmNew::DetSetVector
Definition: DetSetNew.h:13
eostools.move
def move(src, dest)
Definition: eostools.py:511
cms::SiPixelDigitizer::randomEngine_
CLHEP::HepRandomEngine * randomEngine_
Definition: SiPixelDigitizer.h:93
SiStripOfflineCRack_cfg.alias
alias
Definition: SiStripOfflineCRack_cfg.py:128
Exception
Definition: hltDiff.cc:245
cms::SiPixelDigitizer::pSetupToken_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > pSetupToken_
Definition: SiPixelDigitizer.h:102
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
cms::SiPixelDigitizer::firstFinalizeEvent_
bool firstFinalizeEvent_
Definition: SiPixelDigitizer.h:75
edm::InputTag
Definition: InputTag.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37