CMS 3D CMS Logo

EcalTimeDigiProducer.cc
Go to the documentation of this file.
13 
14 //#define ecal_time_debug 1
15 
17  edm::ProducesCollector producesCollector,
20  m_EBdigiCollection(params.getParameter<std::string>("EBtimeDigiCollection")),
21  m_hitsProducerTagEB(params.getParameter<edm::InputTag>("hitsProducerEB")),
22  m_hitsProducerTokenEB(sumes.consumes<std::vector<PCaloHit>>(m_hitsProducerTagEB)),
23  m_geometryToken(sumes.esConsumes()),
24  m_timeLayerEB(params.getParameter<int>("timeLayerBarrel")),
25  m_Geometry(nullptr) {
27 
29 
30 #ifdef ecal_time_debug
31  std::cout << "[EcalTimeDigiProducer]::Create EB " << m_EBdigiCollection << " "
32  << " collection and digitizer" << std::endl;
33 #endif
34 
36 }
37 
39 
41  checkGeometry(eventSetup);
42  // checkCalibrations( event, eventSetup );
43  // here the methods to clean the maps
45 }
46 
47 void EcalTimeDigiProducer::accumulateCaloHits(HitsHandle const &ebHandle, int bunchCrossing) {
48  // accumulate the simHits and do the averages in a given layer per bunch
49  // crossing
50  if (ebHandle.isValid()) {
51  m_BarrelDigitizer->add(*ebHandle.product(), bunchCrossing);
52  }
53 }
54 
56  // Step A: Get Inputs
58  e.getByToken(m_hitsProducerTokenEB, ebHandle);
59 
60 #ifdef ecal_time_debug
61  std::cout << "[EcalTimeDigiProducer]::Accumulate Hits HS event" << std::endl;
62 #endif
63 
64  accumulateCaloHits(ebHandle, 0);
65 }
66 
68  edm::EventSetup const &eventSetup,
69  edm::StreamID const &) {
71  e.getByLabel(m_hitsProducerTagEB, ebHandle);
72 
73 #ifdef ecal_time_debug
74  std::cout << "[EcalTimeDigiProducer]::Accumulate Hits for BC " << e.bunchCrossing() << std::endl;
75 #endif
76  accumulateCaloHits(ebHandle, e.bunchCrossing());
77 }
78 
80  std::unique_ptr<EcalTimeDigiCollection> barrelResult = std::make_unique<EcalTimeDigiCollection>();
81 
82 #ifdef ecal_time_debug
83  std::cout << "[EcalTimeDigiProducer]::finalizeEvent" << std::endl;
84 #endif
85 
86  // here basically just put everything in the final collections
87  m_BarrelDigitizer->run(*barrelResult);
88 
89 #ifdef ecal_time_debug
90  std::cout << "[EcalTimeDigiProducer]::EB Digi size " << barrelResult->size() << std::endl;
91 #endif
92 
93  edm::LogInfo("TimeDigiInfo") << "EB time Digis: " << barrelResult->size();
94 
95 #ifdef ecal_time_debug
96  std::cout << "[EcalTimeDigiProducer]::putting EcalTimeDigiCollection into the event " << std::endl;
97 #endif
98 
99  event.put(std::move(barrelResult), m_EBdigiCollection);
100 }
101 
103  if (m_geometryWatcher.check(eventSetup)) {
104  m_Geometry = &eventSetup.getData(m_geometryToken);
105  updateGeometry();
106  }
107 }
108 
111 }
EcalTimeMapDigitizer
Definition: EcalTimeMapDigitizer.h:19
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
edm::StreamID
Definition: StreamID.h:30
EcalTimeDigiProducer::initializeEvent
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
Definition: EcalTimeDigiProducer.cc:40
Handle.h
EcalTimeDigiProducer::m_Geometry
const CaloGeometry * m_Geometry
Definition: EcalTimeDigiProducer.h:57
MessageLogger.h
EcalTimeMapDigitizer::run
void run(EcalTimeDigiCollection &output)
Definition: EcalTimeMapDigitizer.cc:168
EcalTimeDigiProducer::updateGeometry
void updateGeometry()
Definition: EcalTimeDigiProducer.cc:109
edm::Handle::product
T const * product() const
Definition: Handle.h:70
EcalTimeDigiProducer::m_timeLayerEB
int m_timeLayerEB
Definition: EcalTimeDigiProducer.h:56
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
CaloSamples.h
edm
HLT enums.
Definition: AlignableModifier.h:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
edm::SortedCollection
Definition: SortedCollection.h:49
PileUpEventPrincipal
Definition: PileUpEventPrincipal.h:19
EcalTimeDigiProducer::m_geometryToken
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > m_geometryToken
Definition: EcalTimeDigiProducer.h:52
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
EcalTimeMapDigitizer::setGeometry
void setGeometry(const CaloSubdetectorGeometry *geometry)
Definition: EcalTimeMapDigitizer.cc:124
EcalTimeMapDigitizer::setTimeLayerId
void setTimeLayerId(const int &layerId)
Definition: EcalTimeMapDigitizer.h:83
EcalTimeDigiProducer::m_hitsProducerTagEB
const edm::InputTag m_hitsProducerTagEB
Definition: EcalTimeDigiProducer.h:50
edm::Handle
Definition: AssociativeIterator.h:50
EcalBarrel
Definition: EcalSubdetector.h:10
EcalTimeMapDigitizer.h
EcalTimeDigiProducer.h
EcalTimeDigiProducer::m_geometryWatcher
edm::ESWatcher< CaloGeometryRecord > m_geometryWatcher
Definition: EcalTimeDigiProducer.h:53
EcalTimeMapDigitizer::add
void add(const std::vector< PCaloHit > &hits, int bunchCrossing)
Definition: EcalTimeMapDigitizer.cc:76
PileUpEventPrincipal.h
DigiAccumulatorMixMod
Definition: DigiAccumulatorMixMod.h:41
EcalTimeMapDigitizer::initializeMap
void initializeMap()
Definition: EcalTimeMapDigitizer.cc:161
EcalTimeDigiProducer::m_hitsProducerTokenEB
const edm::EDGetTokenT< std::vector< PCaloHit > > m_hitsProducerTokenEB
Definition: EcalTimeDigiProducer.h:51
CaloSubdetectorGeometry.h
EcalTimeDigiProducer::~EcalTimeDigiProducer
~EcalTimeDigiProducer() override
Definition: EcalTimeDigiProducer.cc:38
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
createfilelist.int
int
Definition: createfilelist.py:10
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::ProducesCollector::produces
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
Definition: ProducesCollector.h:52
edm::EventSetup
Definition: EventSetup.h:58
PCaloHit
Definition: PCaloHit.h:8
DetId::Ecal
Definition: DetId.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalTimeDigiProducer::m_BarrelDigitizer
EcalTimeMapDigitizer * m_BarrelDigitizer
Definition: EcalTimeDigiProducer.h:59
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
edm::ProducesCollector
Definition: ProducesCollector.h:43
CaloGeometry.h
EventSetup.h
EcalTimeDigiProducer::accumulate
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
Definition: EcalTimeDigiProducer.cc:55
EcalTimeDigiProducer::accumulateCaloHits
void accumulateCaloHits(HitsHandle const &ebHandle, int bunchCrossing)
Definition: EcalTimeDigiProducer.cc:47
EcalTimeDigiProducer::checkGeometry
void checkGeometry(const edm::EventSetup &eventSetup)
Definition: EcalTimeDigiProducer.cc:102
EcalTimeDigiProducer::finalizeEvent
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
Definition: EcalTimeDigiProducer.cc:79
ParameterSet.h
EcalTimeDigiProducer::m_EBdigiCollection
const std::string m_EBdigiCollection
Definition: EcalTimeDigiProducer.h:49
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
event
Definition: event.py:1
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
EcalTimeDigiProducer::EcalTimeDigiProducer
EcalTimeDigiProducer(const edm::ParameterSet &params, edm::ProducesCollector, edm::ConsumesCollector &)
Definition: EcalTimeDigiProducer.cc:16
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37