55 return std::make_unique<AlCaHBHEMuons::Counters>();
59 void endStream()
override;
110 edm::LogInfo(
"HBHEMuon") <<
"Parameters read from config file \n" 111 <<
"Process " << processName_ <<
" Prescale " << preScale_ <<
" Isolation Cuts " 112 << trackIsoCut_ <<
":" << caloIsoCut_ <<
"\n";
136 if (triggerResults.
isValid()) {
138 std::vector<std::string>
modules;
140 const std::vector<std::string>& triggerNames_ = triggerNames.
triggerNames();
141 for (
unsigned int iHLT = 0; iHLT < triggerResults->
size(); iHLT++) {
149 edm::LogInfo(
"HBHEMuon") <<
"AlCaHBHEMuonFilter::Trigger " << triggerNames_[iHLT] <<
" Flag " << hlt <<
":" 170 edm::LogInfo(
"HBHEMuon") <<
"AlCaHBHEMuonFilter::Muon Handle " << _Muon.
isValid() << std::endl;
173 for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon != _Muon->end(); ++RecMuon) {
175 edm::LogInfo(
"HBHEMuon") <<
"AlCaHBHEMuonFilter::Muon:Track " << RecMuon->track().isNonnull()
176 <<
" innerTrack " << RecMuon->innerTrack().isNonnull() <<
" outerTrack " 177 << RecMuon->outerTrack().isNonnull() <<
" globalTrack " 178 << RecMuon->globalTrack().isNonnull() << std::endl;
180 if ((RecMuon->track().isNonnull()) && (RecMuon->innerTrack().isNonnull()) &&
181 (RecMuon->outerTrack().isNonnull()) && (RecMuon->globalTrack().isNonnull())) {
182 const reco::Track* pTrack = (RecMuon->innerTrack()).
get();
185 edm::LogInfo(
"HBHEMuon") <<
"AlCaHBHEMuonFilter::Propagate: ECAL " << trackID.
okECAL <<
" to HCAL " 186 << trackID.
okHCAL << std::endl;
188 double trackIso = RecMuon->isolationR03().sumPt;
189 double caloIso = RecMuon->isolationR03().emEt + RecMuon->isolationR03().hadEt;
191 ((RecMuon->pfIsolationR04().sumChargedHadronPt +
193 RecMuon->pfIsolationR04().sumNeutralHadronEt + RecMuon->pfIsolationR04().sumPhotonEt -
194 (0.5 * RecMuon->pfIsolationR04().sumPUPt))) /
221 globalCache()->nAll_ +=
nAll_;
222 globalCache()->nGood_ +=
nGood_;
223 globalCache()->nFinal_ +=
nFinal_;
228 << count->
nAll_ <<
" total # of events\n";
235 edm::LogInfo(
"HBHEMuon") <<
"Run[" <<
nRun_ <<
"] " << iRun.
run() <<
" hltconfig.init " << flag << std::endl;
std::atomic< unsigned int > nGood_
T getParameter(std::string const &) const
EventNumber_t event() const
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~AlCaHBHEMuonFilter() override
void endStream() override
bool accept() const
Has at least one path accepted the event?
std::atomic< unsigned int > nAll_
edm::EDGetTokenT< reco::MuonCollection > tok_Muon_
int bunchCrossing() const
edm::LuminosityBlockNumber_t luminosityBlock() const
void beginRun(edm::Run const &, edm::EventSetup const &) override
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::atomic< unsigned int > nFinal_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Strings const & triggerNames() const
static void globalEndJob(const AlCaHBHEMuons::Counters *counters)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
#define DEFINE_FWK_MODULE(type)
void addDefault(ParameterSetDescription const &psetDescription)
AlCaHBHEMuonFilter(edm::ParameterSet const &, const AlCaHBHEMuons::Counters *count)
unsigned int size() const
Get number of paths stored.
edm::InputTag triggerResults_
static std::string const triggerResults
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
static std::unique_ptr< AlCaHBHEMuons::Counters > initializeGlobalCache(edm::ParameterSet const &)
void endRun(edm::Run const &, edm::EventSetup const &) override
bool filter(edm::Event &, edm::EventSetup const &) override
std::vector< std::string > trigNames_
HLTConfigProvider hltConfig_
T const * product() const
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt