CMS 3D CMS Logo

SiPixelDigitizer.h
Go to the documentation of this file.
1 #ifndef SiPixelDigitizer_h
2 #define SiPixelDigitizer_h
3 
16 #include <map>
17 #include <memory>
18 #include <string>
19 #include <vector>
20 
25 
26 namespace edm {
27  class ConsumesCollector;
28  class Event;
29  class EventSetup;
30  class ParameterSet;
31  template <typename T>
32  class Handle;
33  class StreamID;
34 } // namespace edm
35 
36 class MagneticField;
38 class PixelGeomDetUnit;
39 class PSimHit;
41 class TrackerGeometry;
42 
43 namespace CLHEP {
44  class HepRandomEngine;
45 }
46 
47 namespace cms {
49  public:
51 
52  ~SiPixelDigitizer() override;
53 
54  void initializeEvent(edm::Event const& e, edm::EventSetup const& c) override;
55  void accumulate(edm::Event const& e, edm::EventSetup const& c) override;
56  void accumulate(PileUpEventPrincipal const& e, edm::EventSetup const& c, edm::StreamID const&) override;
57  void finalizeEvent(edm::Event& e, edm::EventSetup const& c) override;
58 
59  virtual void beginJob() {}
60 
61  void StorePileupInformation(std::vector<int>& numInteractionList,
62  std::vector<int>& bunchCrossingList,
63  std::vector<float>& TrueInteractionList,
64  std::vector<edm::EventID>& eventInfoList,
65  int bunchSpacing) override {
66  PileupInfo_ = std::make_unique<PileupMixingContent>(
67  numInteractionList, bunchCrossingList, TrueInteractionList, eventInfoList, bunchSpacing);
68  }
69 
70  PileupMixingContent* getEventPileupInfo() override { return PileupInfo_.get(); }
71 
72  private:
73  void accumulatePixelHits(edm::Handle<std::vector<PSimHit> >,
74  size_t globalSimHitIndex,
75  const unsigned int tofBin,
76  edm::EventSetup const& c);
77 
80  std::unique_ptr<SiPixelDigitizerAlgorithm> _pixeldigialgo;
89  std::map<std::string, size_t> crossingSimHitIndexOffset_;
90 
91  typedef std::vector<std::string> vstring;
97  std::map<unsigned int, PixelGeomDetUnit const*> detectorUnits;
98  CLHEP::HepRandomEngine* randomEngine_ = nullptr;
99 
100  std::unique_ptr<PileupMixingContent> PileupInfo_;
101 
102  const bool pilotBlades; // Default = false
103  const int NumberOfEndcapDisks; // Default = 2
104 
105  // infrastructure to reject dead pixels as defined in db (added by F.Blekman)
106  };
107 } // namespace cms
108 
109 #endif
edm::StreamID
Definition: StreamID.h:30
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
cms::SiPixelDigitizer::NumberOfEndcapDisks
const int NumberOfEndcapDisks
Definition: SiPixelDigitizer.h:103
cms::SiPixelDigitizer::firstInitializeEvent_
bool firstInitializeEvent_
Definition: SiPixelDigitizer.h:78
ESHandle.h
cms::SiPixelDigitizer::pilotBlades
const bool pilotBlades
Definition: SiPixelDigitizer.h:102
SiPixelDigitizerAlgorithm
Definition: SiPixelDigitizerAlgorithm.h:55
Handle
edm
HLT enums.
Definition: AlignableModifier.h:19
cms::SiPixelDigitizer::~SiPixelDigitizer
~SiPixelDigitizer() override
Definition: SiPixelDigitizer.cc:120
cms::SiPixelDigitizer::vstring
std::vector< std::string > vstring
Definition: SiPixelDigitizer.h:91
cms::SiPixelDigitizer::beginJob
virtual void beginJob()
Definition: SiPixelDigitizer.h:59
PileUpEventPrincipal
Definition: PileUpEventPrincipal.h:19
edm::Handle
Definition: AssociativeIterator.h:50
ProducesCollector.h
cms::SiPixelDigitizer::pSetup
edm::ESHandle< MagneticField > pSetup
Definition: SiPixelDigitizer.h:96
HLTEgPhaseIITestSequence_cff.bunchSpacing
bunchSpacing
Definition: HLTEgPhaseIITestSequence_cff.py:1574
cms::SiPixelDigitizer::PileupInfo_
std::unique_ptr< PileupMixingContent > PileupInfo_
Definition: SiPixelDigitizer.h:100
DigiAccumulatorMixMod.h
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
EventID.h
edm::ESHandle< TrackerGeometry >
Event
DigiAccumulatorMixMod
Definition: DigiAccumulatorMixMod.h:41
cms::SiPixelDigitizer::hitsProducer
const std::string hitsProducer
Definition: SiPixelDigitizer.h:92
cms::SiPixelDigitizer::accumulate
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
Definition: SiPixelDigitizer.cc:207
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cms::SiPixelDigitizer::_pixeldigialgo
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
Definition: SiPixelDigitizer.h:80
edm::ParameterSet
Definition: ParameterSet.h:47
cms::SiPixelDigitizer::detectorUnits
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
Definition: SiPixelDigitizer.h:97
cms::SiPixelDigitizer::SiPixelDigitizer
SiPixelDigitizer(const edm::ParameterSet &conf, edm::ProducesCollector, edm::ConsumesCollector &iC)
Definition: SiPixelDigitizer.cc:85
ParameterSet
Definition: Functions.h:16
cms::SiPixelDigitizer::initializeEvent
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
Definition: SiPixelDigitizer.cc:163
cms::SiPixelDigitizer
Definition: SiPixelDigitizer.h:48
PileupMixingContent
Definition: PileupMixingContent.h:24
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::EventSetup
Definition: EventSetup.h:58
cms::SiPixelDigitizer::trackerContainers
const vstring trackerContainers
Definition: SiPixelDigitizer.h:93
edm::ProducesCollector
Definition: ProducesCollector.h:43
cms::SiPixelDigitizer::randomEngine_
CLHEP::HepRandomEngine * randomEngine_
Definition: SiPixelDigitizer.h:98
cms::SiPixelDigitizer::StorePileupInformation
void StorePileupInformation(std::vector< int > &numInteractionList, std::vector< int > &bunchCrossingList, std::vector< float > &TrueInteractionList, std::vector< edm::EventID > &eventInfoList, int bunchSpacing) override
Definition: SiPixelDigitizer.h:61
cms::SiPixelDigitizer::geometryType
const std::string geometryType
Definition: SiPixelDigitizer.h:94
cms::SiPixelDigitizer::finalizeEvent
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
Definition: SiPixelDigitizer.cc:252
EventSetup
PSimHit
Definition: PSimHit.h:15
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
edm::Event
Definition: Event.h:73
MagneticField
Definition: MagneticField.h:19
cms::SiPixelDigitizer::firstFinalizeEvent_
bool firstFinalizeEvent_
Definition: SiPixelDigitizer.h:79
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
cms
Namespace of DDCMS conversion namespace.
Definition: ProducerAnalyzer.cc:21
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
cms::SiPixelDigitizer::getEventPileupInfo
PileupMixingContent * getEventPileupInfo() override
Definition: SiPixelDigitizer.h:70
TrackerGeometry
Definition: TrackerGeometry.h:14