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 geometryType
 
const std::string hitsProducer
 
const int NumberOfEndcapDisks
 
edm::ESHandle< TrackerGeometrypDD
 
std::unique_ptr< PileupMixingContentPileupInfo_
 
const bool pilotBlades
 
edm::ESHandle< MagneticFieldpSetup
 
CLHEP::HepRandomEngine * randomEngine_ = nullptr
 
const vstring trackerContainers
 

Detailed Description

Definition at line 48 of file SiPixelDigitizer.h.

Member Typedef Documentation

◆ vstring

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

Definition at line 91 of file SiPixelDigitizer.h.

Constructor & Destructor Documentation

◆ SiPixelDigitizer()

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

Definition at line 85 of file SiPixelDigitizer.cc.

88  : firstInitializeEvent_(true),
89  firstFinalizeEvent_(true),
91  hitsProducer(iConfig.getParameter<std::string>("hitsProducer")),
92  trackerContainers(iConfig.getParameter<std::vector<std::string> >("RoutList")),
93  geometryType(iConfig.getParameter<std::string>("PixGeometryType")),
94  pilotBlades(iConfig.exists("enablePilotBlades") ? iConfig.getParameter<bool>("enablePilotBlades") : false),
95  NumberOfEndcapDisks(iConfig.exists("NumPixelEndcap") ? iConfig.getParameter<int>("NumPixelEndcap") : 2) {
96  edm::LogInfo("PixelDigitizer ") << "Enter the Pixel Digitizer";
97 
98  const std::string alias("simSiPixelDigis");
99 
100  producesCollector.produces<edm::DetSetVector<PixelDigi> >().setBranchAlias(alias);
101  producesCollector.produces<edm::DetSetVector<PixelDigiSimLink> >().setBranchAlias(alias + "siPixelDigiSimLink");
102 
103  for (auto const& trackerContainer : trackerContainers) {
104  edm::InputTag tag(hitsProducer, trackerContainer);
105  iC.consumes<std::vector<PSimHit> >(edm::InputTag(hitsProducer, trackerContainer));
106  }
108  if (!rng.isAvailable()) {
109  throw cms::Exception("Configuration")
110  << "SiPixelDigitizer requires the RandomNumberGeneratorService\n"
111  "which is not present in the configuration file. You must add the service\n"
112  "in the configuration file or remove the modules that require it.";
113  }
114 
115  _pixeldigialgo = std::make_unique<SiPixelDigitizerAlgorithm>(iConfig);
116  if (NumberOfEndcapDisks != 2)
117  producesCollector.produces<PixelFEDChannelCollection>();
118  }

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, GlobalPosition_Frontier_DevDB_cff::tag, and trackerContainers.

◆ ~SiPixelDigitizer()

SiPixelDigitizer::~SiPixelDigitizer ( )
override

Definition at line 120 of file SiPixelDigitizer.cc.

120 { 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 207 of file SiPixelDigitizer.cc.

207  {
208  // Step A: Get Inputs
209  for (vstring::const_iterator i = trackerContainers.begin(), iEnd = trackerContainers.end(); i != iEnd; ++i) {
212 
213  iEvent.getByLabel(tag, simHits);
214  unsigned int tofBin = PixelDigiSimLink::LowTof;
215  if ((*i).find(std::string("HighTof")) != std::string::npos)
216  tofBin = PixelDigiSimLink::HighTof;
217  accumulatePixelHits(simHits, crossingSimHitIndexOffset_[tag.encode()], tofBin, iSetup);
218  // Now that the hits have been processed, I'll add the amount of hits in this crossing on to
219  // the global counter. Next time accumulateStripHits() is called it will count the sim hits
220  // as though they were on the end of this collection.
221  // Note that this is only used for creating digi-sim links (if configured to do so).
222  // std::cout << "index offset, current hit count = " << crossingSimHitIndexOffset_[tag.encode()] << ", " << simHits->size() << std::endl;
223  if (simHits.isValid())
224  crossingSimHitIndexOffset_[tag.encode()] += simHits->size();
225  }
226  }

References accumulatePixelHits(), crossingSimHitIndexOffset_, PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, iEvent, PixelDigiSimLink::LowTof, FastTrackerRecHitCombiner_cfi::simHits, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::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 228 of file SiPixelDigitizer.cc.

230  {
231  // Step A: Get Inputs
232  for (vstring::const_iterator i = trackerContainers.begin(), iEnd = trackerContainers.end(); i != iEnd; ++i) {
235 
236  iEvent.getByLabel(tag, simHits);
237  unsigned int tofBin = PixelDigiSimLink::LowTof;
238  if ((*i).find(std::string("HighTof")) != std::string::npos)
239  tofBin = PixelDigiSimLink::HighTof;
240  accumulatePixelHits(simHits, crossingSimHitIndexOffset_[tag.encode()], tofBin, iSetup);
241  // Now that the hits have been processed, I'll add the amount of hits in this crossing on to
242  // the global counter. Next time accumulateStripHits() is called it will count the sim hits
243  // as though they were on the end of this collection.
244  // Note that this is only used for creating digi-sim links (if configured to do so).
245  // std::cout << "index offset, current hit count = " << crossingSimHitIndexOffset_[tag.encode()] << ", " << simHits->size() << std::endl;
246  if (simHits.isValid())
247  crossingSimHitIndexOffset_[tag.encode()] += simHits->size();
248  }
249  }

References accumulatePixelHits(), crossingSimHitIndexOffset_, PixelDigiSimLink::HighTof, hitsProducer, mps_fire::i, iEvent, PixelDigiSimLink::LowTof, FastTrackerRecHitCombiner_cfi::simHits, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::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 126 of file SiPixelDigitizer.cc.

129  {
130  if (hSimHits.isValid()) {
131  std::set<unsigned int> detIds;
132  std::vector<PSimHit> const& simHits = *hSimHits.product();
134  iSetup.get<TrackerTopologyRcd>().get(tTopoHand);
135  const TrackerTopology* tTopo = tTopoHand.product();
136  for (std::vector<PSimHit>::const_iterator it = simHits.begin(), itEnd = simHits.end(); it != itEnd;
137  ++it, ++globalSimHitIndex) {
138  unsigned int detId = (*it).detUnitId();
139  if (detIds.insert(detId).second) {
140  // The insert succeeded, so this detector element has not yet been processed.
141  assert(detectorUnits[detId]);
142  if (detectorUnits[detId] &&
143  detectorUnits[detId]
144  ->type()
145  .isTrackerPixel()) { // this test could be avoided and changed into a check of pixdet!=0
146  std::map<unsigned int, PixelGeomDetUnit const*>::iterator itDet = detectorUnits.find(detId);
147  if (itDet == detectorUnits.end())
148  continue;
149  auto pixdet = itDet->second;
150  assert(pixdet != nullptr);
151  //access to magnetic field in global coordinates
152  GlobalVector bfield = pSetup->inTesla(pixdet->surface().position());
153  LogDebug("PixelDigitizer ") << "B-field(T) at " << pixdet->surface().position()
154  << "(cm): " << pSetup->inTesla(pixdet->surface().position());
155  _pixeldigialgo->accumulateSimHits(
156  it, itEnd, globalSimHitIndex, tofBin, pixdet, bfield, tTopo, randomEngine_);
157  }
158  }
159  }
160  }
161  }

References _pixeldigialgo, cms::cuda::assert(), detectorUnits, edm::EventSetup::get(), get, MagneticField::inTesla(), GeomDetEnumerators::isTrackerPixel(), LogDebug, edm::ESHandle< T >::product(), pSetup, randomEngine_, and FastTrackerRecHitCombiner_cfi::simHits.

Referenced by accumulate().

◆ beginJob()

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

Definition at line 59 of file SiPixelDigitizer.h.

59 {}

◆ finalizeEvent()

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

Implements DigiAccumulatorMixMod.

Definition at line 252 of file SiPixelDigitizer.cc.

252  {
254  iSetup.get<TrackerTopologyRcd>().get(tTopoHand);
255  const TrackerTopology* tTopo = tTopoHand.product();
256 
257  std::vector<edm::DetSet<PixelDigi> > theDigiVector;
258  std::vector<edm::DetSet<PixelDigiSimLink> > theDigiLinkVector;
259 
260  if (firstFinalizeEvent_) {
261  const unsigned int bunchspace = PileupInfo_->getMix_bunchSpacing();
262  _pixeldigialgo->init_DynIneffDB(iSetup, bunchspace);
263  firstFinalizeEvent_ = false;
264  }
265  _pixeldigialgo->calculateInstlumiFactor(PileupInfo_.get());
266 
267  if (_pixeldigialgo->killBadFEDChannels()) {
268  std::unique_ptr<PixelFEDChannelCollection> PixelFEDChannelCollection_ =
269  _pixeldigialgo->chooseScenario(PileupInfo_.get(), randomEngine_);
270  if (PixelFEDChannelCollection_ == nullptr) {
271  throw cms::Exception("NullPointerError") << "PixelFEDChannelCollection not set in chooseScenario function.\n";
272  }
273  iEvent.put(std::move(PixelFEDChannelCollection_));
274  }
275 
276  for (const auto& iu : pDD->detUnits()) {
277  if (iu->type().isTrackerPixel()) {
278  //
279 
280  edm::DetSet<PixelDigi> collector(iu->geographicalId().rawId());
281  edm::DetSet<PixelDigiSimLink> linkcollector(iu->geographicalId().rawId());
282 
283  _pixeldigialgo->digitize(
284  dynamic_cast<const PixelGeomDetUnit*>(iu), collector.data, linkcollector.data, tTopo, randomEngine_);
285  if (!collector.data.empty()) {
286  theDigiVector.push_back(std::move(collector));
287  }
288  if (!linkcollector.data.empty()) {
289  theDigiLinkVector.push_back(std::move(linkcollector));
290  }
291  }
292  }
293 
294  // Step C: create collection with the cache vector of DetSet
295  std::unique_ptr<edm::DetSetVector<PixelDigi> > output(new edm::DetSetVector<PixelDigi>(theDigiVector));
296  std::unique_ptr<edm::DetSetVector<PixelDigiSimLink> > outputlink(
297  new edm::DetSetVector<PixelDigiSimLink>(theDigiLinkVector));
298 
299  // Step D: write output to file
300  iEvent.put(std::move(output));
301  iEvent.put(std::move(outputlink));
302 
303  randomEngine_ = nullptr; // to prevent access outside event
304  }

References _pixeldigialgo, MixingModule_cfi::bunchspace, TrackerGeometry::detUnits(), Exception, firstFinalizeEvent_, edm::EventSetup::get(), get, iEvent, eostools::move(), convertSQLitetoXML_cfg::output, pDD, PileupInfo_, edm::ESHandle< T >::product(), and randomEngine_.

◆ getEventPileupInfo()

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

Reimplemented from DigiAccumulatorMixMod.

Definition at line 70 of file SiPixelDigitizer.h.

70 { return PileupInfo_.get(); }

References PileupInfo_.

◆ initializeEvent()

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

Implements DigiAccumulatorMixMod.

Definition at line 163 of file SiPixelDigitizer.cc.

163  {
164  if (firstInitializeEvent_) {
165  _pixeldigialgo->init(iSetup);
166  firstInitializeEvent_ = false;
167  }
168 
169  // Make sure that the first crossing processed starts indexing the sim hits from zero.
170  // This variable is used so that the sim hits from all crossing frames have sequential
171  // indices used to create the digi-sim link (if configured to do so) rather than starting
172  // from zero for each crossing.
174 
175  // Cache random number engine
177  randomEngine_ = &rng->getEngine(e.streamID());
178 
179  _pixeldigialgo->initializeEvent();
181  iSetup.get<IdealMagneticFieldRecord>().get(pSetup);
183  iSetup.get<TrackerTopologyRcd>().get(tTopoHand);
184  const TrackerTopology* tTopo = tTopoHand.product();
185 
186  // FIX THIS! We only need to clear and (re)fill this map when the geometry type IOV changes. Use ESWatcher to determine this.
187  if (true) { // Replace with ESWatcher
188  detectorUnits.clear();
189  for (const auto& iu : pDD->detUnits()) {
190  unsigned int detId = iu->geographicalId().rawId();
191  if (iu->type().isTrackerPixel()) {
192  auto pixdet = dynamic_cast<const PixelGeomDetUnit*>(iu);
193  assert(pixdet != nullptr);
194  if (iu->subDetector() ==
195  GeomDetEnumerators::SubDetector::PixelEndcap) { // true ONLY for the phase 0 pixel deetctor
196  unsigned int disk = tTopo->layer(detId); // using the generic layer method
197  //if using pilot blades, then allowing it for current detector only
198  if ((disk == 3) && ((!pilotBlades) && (NumberOfEndcapDisks == 2)))
199  continue;
200  }
201  detectorUnits.insert(std::make_pair(detId, pixdet));
202  }
203  }
204  }
205  }

References _pixeldigialgo, cms::cuda::assert(), crossingSimHitIndexOffset_, detectorUnits, TrackerGeometry::detUnits(), MillePedeFileConverter_cfg::e, firstInitializeEvent_, geometryType, edm::EventSetup::get(), get, edm::RandomNumberGenerator::getEngine(), TrackerTopology::layer(), NumberOfEndcapDisks, pDD, pilotBlades, GeomDetEnumerators::PixelEndcap, edm::ESHandle< T >::product(), pSetup, and randomEngine_.

◆ 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 61 of file SiPixelDigitizer.h.

65  {
66  PileupInfo_ = std::make_unique<PileupMixingContent>(
67  numInteractionList, bunchCrossingList, TrueInteractionList, eventInfoList, bunchSpacing);
68  }

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 89 of file SiPixelDigitizer.h.

Referenced by accumulate(), and initializeEvent().

◆ detectorUnits

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

Definition at line 97 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

◆ firstFinalizeEvent_

bool cms::SiPixelDigitizer::firstFinalizeEvent_
private

Definition at line 79 of file SiPixelDigitizer.h.

Referenced by finalizeEvent().

◆ firstInitializeEvent_

bool cms::SiPixelDigitizer::firstInitializeEvent_
private

Definition at line 78 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ geometryType

const std::string cms::SiPixelDigitizer::geometryType
private

Definition at line 94 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ hitsProducer

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

Definition at line 92 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

◆ NumberOfEndcapDisks

const int cms::SiPixelDigitizer::NumberOfEndcapDisks
private

Definition at line 103 of file SiPixelDigitizer.h.

Referenced by initializeEvent(), and SiPixelDigitizer().

◆ pDD

edm::ESHandle<TrackerGeometry> cms::SiPixelDigitizer::pDD
private

Definition at line 95 of file SiPixelDigitizer.h.

Referenced by finalizeEvent(), and initializeEvent().

◆ PileupInfo_

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

Definition at line 100 of file SiPixelDigitizer.h.

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

◆ pilotBlades

const bool cms::SiPixelDigitizer::pilotBlades
private

Definition at line 102 of file SiPixelDigitizer.h.

Referenced by initializeEvent().

◆ pSetup

edm::ESHandle<MagneticField> cms::SiPixelDigitizer::pSetup
private

Definition at line 96 of file SiPixelDigitizer.h.

Referenced by accumulatePixelHits(), and initializeEvent().

◆ randomEngine_

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

Definition at line 98 of file SiPixelDigitizer.h.

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

◆ trackerContainers

const vstring cms::SiPixelDigitizer::trackerContainers
private

Definition at line 93 of file SiPixelDigitizer.h.

Referenced by accumulate(), and SiPixelDigitizer().

Vector3DBase
Definition: Vector3DBase.h:8
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
edm::DetSetVector
Definition: DetSetVector.h:61
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:89
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:103
cms::SiPixelDigitizer::firstInitializeEvent_
bool firstInitializeEvent_
Definition: SiPixelDigitizer.h:78
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::Handle::product
T const * product() const
Definition: Handle.h:70
cms::SiPixelDigitizer::pilotBlades
const bool pilotBlades
Definition: SiPixelDigitizer.h:102
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:89285
cms::cuda::assert
assert(be >=bs)
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::Handle
Definition: AssociativeIterator.h:50
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
cms::SiPixelDigitizer::pSetup
edm::ESHandle< MagneticField > pSetup
Definition: SiPixelDigitizer.h:96
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
HLTEgPhaseIITestSequence_cff.bunchSpacing
bunchSpacing
Definition: HLTEgPhaseIITestSequence_cff.py:1574
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
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:100
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
edm::ESHandle< TrackerTopology >
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
cms::SiPixelDigitizer::hitsProducer
const std::string hitsProducer
Definition: SiPixelDigitizer.h:92
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cms::SiPixelDigitizer::_pixeldigialgo
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
Definition: SiPixelDigitizer.h:80
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
cms::SiPixelDigitizer::detectorUnits
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
Definition: SiPixelDigitizer.h:97
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
cms::SiPixelDigitizer::pDD
edm::ESHandle< TrackerGeometry > pDD
Definition: SiPixelDigitizer.h:95
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:126
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
Definition: ProducesCollector.h:52
cms::SiPixelDigitizer::trackerContainers
const vstring trackerContainers
Definition: SiPixelDigitizer.h:93
get
#define get
MixingModule_cfi.bunchspace
bunchspace
Definition: MixingModule_cfi.py:41
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:98
SiStripOfflineCRack_cfg.alias
alias
Definition: SiStripOfflineCRack_cfg.py:128
Exception
Definition: hltDiff.cc:245
cms::SiPixelDigitizer::geometryType
const std::string geometryType
Definition: SiPixelDigitizer.h:94
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
cms::SiPixelDigitizer::firstFinalizeEvent_
bool firstFinalizeEvent_
Definition: SiPixelDigitizer.h:79
edm::InputTag
Definition: InputTag.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37