Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run3-alca208 Attempt to validate the new AlCa for IsoTracks #35854

Merged
merged 2 commits into from Nov 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
51 changes: 33 additions & 18 deletions Calibration/HcalAlCaRecoProducers/plugins/AlCaHcalIsotrkFilter.cc
@@ -1,4 +1,5 @@
// system include files
#include <algorithm>
#include <atomic>
#include <memory>
#include <cmath>
Expand Down Expand Up @@ -29,9 +30,10 @@ namespace alcaHcalIsoTrk {
};
} // namespace alcaHcalIsoTrk

class AlCaHcalIsotrkFilter : public edm::global::EDFilter<edm::RunCache<alcaHcalIsoTrk::Counters> > {
class AlCaHcalIsotrkFilter : public edm::global::EDFilter<edm::RunCache<alcaHcalIsoTrk::Counters>> {
public:
AlCaHcalIsotrkFilter(edm::ParameterSet const&);
~AlCaHcalIsotrkFilter() override = default;

std::shared_ptr<alcaHcalIsoTrk::Counters> globalBeginRun(edm::Run const&, edm::EventSetup const&) const override;

Expand All @@ -41,10 +43,11 @@ class AlCaHcalIsotrkFilter : public edm::global::EDFilter<edm::RunCache<alcaHcal

private:
// ----------member data ---------------------------
double pTrackLow_, pTrackHigh_;
int prescaleLow_, prescaleHigh_;
edm::InputTag labelIsoTkVar_;
edm::EDGetTokenT<HcalIsoTrkCalibVariablesCollection> tokIsoTrkVar_;
const double pTrackLow_, pTrackHigh_;
const int prescaleLow_, prescaleHigh_;
const edm::InputTag labelIsoTkVar_;
const std::vector<int> debEvents_;
const edm::EDGetTokenT<HcalIsoTrkCalibVariablesCollection> tokIsoTrkVar_;
};

//
Expand All @@ -56,10 +59,12 @@ AlCaHcalIsotrkFilter::AlCaHcalIsotrkFilter(edm::ParameterSet const& iConfig)
prescaleLow_(iConfig.getParameter<int>("prescaleLow")),
prescaleHigh_(iConfig.getParameter<int>("prescaleHigh")),
labelIsoTkVar_(iConfig.getParameter<edm::InputTag>("isoTrackLabel")),
debEvents_(iConfig.getParameter<std::vector<int>>("debugEvents")),
tokIsoTrkVar_(consumes<HcalIsoTrkCalibVariablesCollection>(labelIsoTkVar_)) {
edm::LogVerbatim("HcalIsoTrack") << "Parameters read from config file \n\t momentumLow_ " << pTrackLow_
<< "\t prescaleLow_ " << prescaleLow_ << "\t momentumHigh_ " << pTrackHigh_
<< "\t prescaleHigh_ " << prescaleHigh_ << "\n\t Labels " << labelIsoTkVar_;
<< "\t prescaleHigh_ " << prescaleHigh_ << "\n\t Labels " << labelIsoTkVar_
<< "\tand " << debEvents_.size() << " events to be debugged";
} // AlCaHcalIsotrkFilter::AlCaHcalIsotrkFilter constructor

//
Expand All @@ -71,9 +76,13 @@ bool AlCaHcalIsotrkFilter::filter(edm::StreamID, edm::Event& iEvent, edm::EventS
bool accept(false);
++(runCache(iEvent.getRun().index())->nAll_);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Run " << iEvent.id().run() << " Event "
<< iEvent.id().event() << " Luminosity " << iEvent.luminosityBlock() << " Bunch "
<< iEvent.bunchCrossing();
bool debug = (debEvents_.empty())
? true
: (std::find(debEvents_.begin(), debEvents_.end(), iEvent.id().event()) != debEvents_.end());
if (debug)
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Run " << iEvent.id().run() << " Event "
<< iEvent.id().event() << " Luminosity " << iEvent.luminosityBlock() << " Bunch "
<< iEvent.bunchCrossing();
#endif

auto const& isotrkCalibColl = iEvent.getHandle(tokIsoTrkVar_);
Expand All @@ -90,9 +99,10 @@ bool AlCaHcalIsotrkFilter::filter(edm::StreamID, edm::Event& iEvent, edm::EventS
}
}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Finds " << isotrkCalib->size()
<< " entries in HcalIsoTrkCalibVariables collection with inRange " << inRange
<< " low " << low << " high " << high;
if (debug)
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Finds " << isotrkCalib->size()
<< " entries in HcalIsoTrkCalibVariables collection with inRange " << inRange
<< " low " << low << " high " << high;
#endif
if (low)
++(runCache(iEvent.getRun().index())->nLow_);
Expand All @@ -119,14 +129,17 @@ bool AlCaHcalIsotrkFilter::filter(edm::StreamID, edm::Event& iEvent, edm::EventS
}

// Return the acceptance flag
if (accept)
if (accept) {
++(runCache(iEvent.getRun().index())->nGood_);
edm::LogVerbatim("HcalIsoTrackX") << "Run " << iEvent.id().run() << " Event " << iEvent.id().event();
}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Accept flag " << accept << " All "
<< runCache(iEvent.getRun().index())->nAll_ << " Good "
<< runCache(iEvent.getRun().index())->nGood_ << " Low "
<< runCache(iEvent.getRun().index())->nLow_ << " High "
<< runCache(iEvent.getRun().index())->nHigh_;
if (debug)
edm::LogVerbatim("HcalIsoTrack") << "AlCaHcalIsotrkFilter::Accept flag " << accept << " All "
<< runCache(iEvent.getRun().index())->nAll_ << " Good "
<< runCache(iEvent.getRun().index())->nGood_ << " Low "
<< runCache(iEvent.getRun().index())->nLow_ << " High "
<< runCache(iEvent.getRun().index())->nHigh_;
#endif
return accept;

Expand Down Expand Up @@ -155,6 +168,8 @@ void AlCaHcalIsotrkFilter::fillDescriptions(edm::ConfigurationDescriptions& desc
desc.add<int>("prescaleLow", 1);
desc.add<int>("prescaleHigh", 1);
desc.add<edm::InputTag>("isoTrackLabel", edm::InputTag("alcaHcalIsotrkProducer", "HcalIsoTrack"));
std::vector<int> events;
desc.add<std::vector<int>>("debugEvents", events);
descriptions.add("alcaHcalIsotrkFilter", desc);
}

Expand Down