13 #include <boost/regex.hpp> 54 return std::make_unique<alCaHBHEMuonProducer::Counters>();
86 labelBS_(iConfig.getParameter<
edm::
InputTag>(
"BeamSpotLabel")),
87 labelVtx_(iConfig.getParameter<
edm::
InputTag>(
"VertexLabel")),
88 labelEB_(iConfig.getParameter<
edm::
InputTag>(
"EBRecHitLabel")),
89 labelEE_(iConfig.getParameter<
edm::
InputTag>(
"EERecHitLabel")),
90 labelHBHE_(iConfig.getParameter<
edm::
InputTag>(
"HBHERecHitLabel")),
91 labelMuon_(iConfig.getParameter<
edm::
InputTag>(
"MuonLabel")),
92 pMuonMin_(iConfig.getParameter<double>(
"MinimumMuonP")) {
122 <<
iEvent.id().event() <<
" Luminosity " <<
iEvent.luminosityBlock() <<
" Bunch " 123 <<
iEvent.bunchCrossing();
128 if (!bmspot.isValid()) {
140 if (!barrelRecHitsHandle.isValid()) {
146 if (!endcapRecHitsHandle.isValid()) {
152 if (!
hbhe.isValid()) {
158 if (!muonhandle.isValid()) {
164 edm::LogVerbatim(
"HcalHBHEMuon") <<
"AlCaHBHEMuonProducer::obtained the collections with validity flag " <<
valid;
168 auto outputBeamSpot = std::make_unique<reco::BeamSpot>();
169 auto outputVColl = std::make_unique<reco::VertexCollection>();
170 auto outputEBColl = std::make_unique<EBRecHitCollection>();
171 auto outputEEColl = std::make_unique<EERecHitCollection>();
172 auto outputHBHEColl = std::make_unique<HBHERecHitCollection>();
173 auto outputMColl = std::make_unique<reco::MuonCollection>();
177 outputBeamSpot = std::make_unique<reco::BeamSpot>(
190 for (reco::VertexCollection::const_iterator vtr =
vtx.begin(); vtr !=
vtx.end(); ++vtr)
191 outputVColl->push_back(*vtr);
194 outputEBColl->push_back(*ehit);
197 outputEEColl->push_back(*ehit);
199 for (std::vector<HBHERecHit>::const_iterator hhit = hbhecoll.
begin(); hhit != hbhecoll.
end(); ++hhit)
200 outputHBHEColl->push_back(*hhit);
203 outputMColl->push_back(*
muon);
216 globalCache()->nAll_ +=
nAll_;
217 globalCache()->nGood_ +=
nGood_;
234 desc.add<
double>(
"MinimumMuonP", 5.0);
235 descriptions.
add(
"alcaHBHEMuonProducer",
desc);
249 for (
unsigned int k = 0;
k <
muons.size(); ++
k) {
Log< level::Info, true > LogVerbatim
bool select(const reco::MuonCollection &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
const edm::InputTag labelEE_
void beginRun(edm::Run const &, edm::EventSetup const &) override
std::vector< T >::const_iterator const_iterator
std::vector< Vertex > VertexCollection
collection of Vertex objects
const edm::InputTag labelHBHE_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
const edm::InputTag labelBS_
std::vector< Muon > MuonCollection
collection of Muon objects
void endRun(edm::Run const &, edm::EventSetup const &) override
TupleMultiplicity< TrackerTraits > const HitToTuple< TrackerTraits > const cms::cuda::AtomicPairCounter GPUCACellT< TrackerTraits > const *__restrict__ uint32_t const *__restrict__ CellNeighborsVector< TrackerTraits > const CellTracksVector< TrackerTraits > const OuterHitOfCell< TrackerTraits > const int32_t uint32_t Counters * counters
const edm::InputTag labelEB_
edm::EDGetTokenT< HBHERecHitCollection > tok_HBHE_
std::atomic< unsigned int > nAll_
const edm::InputTag labelVtx_
const edm::InputTag labelMuon_
#define DEFINE_FWK_MODULE(type)
const_iterator begin() const
AlCaHBHEMuonProducer(edm::ParameterSet const &, const alCaHBHEMuonProducer::Counters *count)
const_iterator end() const
std::atomic< unsigned int > nGood_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
edm::EDGetTokenT< reco::BeamSpot > tok_BS_
static std::unique_ptr< alCaHBHEMuonProducer::Counters > initializeGlobalCache(edm::ParameterSet const &)
~AlCaHBHEMuonProducer() override
void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::VertexCollection > tok_Vtx_
Log< level::Warning, false > LogWarning
static void globalEndJob(const alCaHBHEMuonProducer::Counters *counters)
void endStream() override
edm::EDGetTokenT< reco::MuonCollection > tok_Muon_