Skip to content

Commit

Permalink
Split HOCalibAnalyzer.cc to take out the post analysis part in separa…
Browse files Browse the repository at this point in the history
…te macros

Try to avoid clang error

Code check
  • Loading branch information
Sunanda committed Sep 12, 2021
1 parent 11ee6d8 commit 280d5b3
Show file tree
Hide file tree
Showing 5 changed files with 5,560 additions and 2,528 deletions.
30 changes: 22 additions & 8 deletions Calibration/HcalAlCaRecoProducers/plugins/AlCaHBHEMuonFilter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
#include "Geometry/Records/interface/CaloGeometryRecord.h"

//#define EDM_ML_DEBUG
#define EDM_ML_DEBUG
//
// class declaration
//
Expand Down Expand Up @@ -70,6 +70,7 @@ class AlCaHBHEMuonFilter : public edm::stream::EDFilter<edm::GlobalCache<AlCaHBH
bool pfCut_;
double trackIsoCut_, caloIsoCut_, pfIsoCut_;
int preScale_;
bool onlyOuterTrack_;
unsigned int nRun_, nAll_, nGood_, nFinal_;
edm::InputTag triggerResults_, labelMuon_;
edm::EDGetTokenT<trigger::TriggerEvent> tok_trigEvt;
Expand Down Expand Up @@ -104,6 +105,7 @@ AlCaHBHEMuonFilter::AlCaHBHEMuonFilter(edm::ParameterSet const& iConfig, const A
preScale_ = iConfig.getParameter<int>("PreScale");
if (preScale_ < 1)
preScale_ = 1;
onlyOuterTrack_ = iConfig.getParameter<bool>("OnlyOuterTrack");

// define tokens for access
tok_trigRes_ = consumes<edm::TriggerResults>(triggerResults_);
Expand All @@ -112,9 +114,11 @@ AlCaHBHEMuonFilter::AlCaHBHEMuonFilter(edm::ParameterSet const& iConfig, const A
tok_geom_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
tok_magField_ = esConsumes<MagneticField, IdealMagneticFieldRecord>();

edm::LogVerbatim("HBHEMuon") << "Parameters read from config file \n"
<< "Process " << processName_ << " Prescale " << preScale_ << " Isolation Cuts "
<< trackIsoCut_ << ":" << caloIsoCut_ << "\n";
edm::LogVerbatim("HBHEMuon") << "Parameters read from config file \nProcess " << processName_ << " Prescale "
<< preScale_ << " Isolation Cuts " << pfCut_ << ":" << pfIsoCut_ << ":" << trackIsoCut_
<< ":" << caloIsoCut_ << " OnlyOuterTrack " << onlyOuterTrack_ << "\nInput tags "
<< labelMuon_ << " and " << triggerResults_ << "\nStudy " << trigNames_.size()
<< " triggers: ";
for (unsigned int k = 0; k < trigNames_.size(); ++k)
edm::LogVerbatim("HBHEMuon") << "Trigger[" << k << "] " << trigNames_[k] << "\n";
} // AlCaHBHEMuonFilter::AlCaHBHEMuonFilter constructor
Expand Down Expand Up @@ -171,19 +175,24 @@ bool AlCaHBHEMuonFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSetu
edm::Handle<reco::MuonCollection> _Muon;
iEvent.getByToken(tok_Muon_, _Muon);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon Handle " << _Muon.isValid() << std::endl;
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon Handle " << _Muon.isValid();
#endif
if (_Muon.isValid()) {
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Size of collection " << _Muon->size();
#endif
for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon != _Muon->end(); ++RecMuon) {
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon:Track " << RecMuon->track().isNonnull()
<< " innerTrack " << RecMuon->innerTrack().isNonnull() << " outerTrack "
<< RecMuon->outerTrack().isNonnull() << " globalTrack "
<< RecMuon->globalTrack().isNonnull() << std::endl;
#endif
if ((RecMuon->track().isNonnull()) && (RecMuon->innerTrack().isNonnull()) &&
(RecMuon->outerTrack().isNonnull()) && (RecMuon->globalTrack().isNonnull())) {
const reco::Track* pTrack = (RecMuon->innerTrack()).get();
bool check = (onlyOuterTrack_) ? (RecMuon->outerTrack().isNonnull())
: ((RecMuon->track().isNonnull()) && (RecMuon->innerTrack().isNonnull()) &&
(RecMuon->outerTrack().isNonnull()) && (RecMuon->globalTrack().isNonnull()));
if (check) {
const reco::Track* pTrack = (onlyOuterTrack_) ? (RecMuon->outerTrack()).get() : (RecMuon->innerTrack()).get();
spr::propagatedTrackID trackID = spr::propagateCALO(pTrack, geo, bField, false);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Propagate: ECAL " << trackID.okECAL << " to HCAL "
Expand All @@ -198,6 +207,10 @@ bool AlCaHBHEMuonFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSetu
(0.5 * RecMuon->pfIsolationR04().sumPUPt))) /
RecMuon->pt());
bool isoCut = (pfCut_) ? (isolR04 < pfIsoCut_) : ((trackIso < trackIsoCut_) && (caloIso < caloIsoCut_));
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Isolation: " << trackIso << ":" << caloIso << ":"
<< isolR04 << " --> " << isoCut;
#endif
if ((trackID.okECAL) && (trackID.okHCAL) && isoCut) {
accept = true;
break;
Expand Down Expand Up @@ -260,6 +273,7 @@ void AlCaHBHEMuonFilter::fillDescriptions(edm::ConfigurationDescriptions& descri
desc.add<double>("TrackIsolationCut", 3.0);
desc.add<double>("CaloIsolationCut", 5.0);
desc.add<int>("PreScale", 2);
desc.add<bool>("OnlyOuterTrack", false);
descriptions.add("AlcaHBHEMuonFilter", desc);
}

Expand Down
21 changes: 19 additions & 2 deletions Calibration/HcalAlCaRecoProducers/plugins/AlCaIsoTracksFilter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h"
#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgoRcd.h"

#define EDM_ML_DEBUG
//
// class declaration
//
Expand Down Expand Up @@ -266,6 +267,9 @@ bool AlCaIsoTracksFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSet
}
}
}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaIsoTracksFilter:: triggerSatisfied: " << triggerSatisfied;
#endif

//Step2: Get geometry/B-field information
if (triggerSatisfied) {
Expand Down Expand Up @@ -315,6 +319,9 @@ bool AlCaIsoTracksFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSet
edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelHBHE_;
foundCollections = false;
}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaIsoTracksFilter:: foundCollections: " << foundCollections;
#endif

//Step3 propagate the tracks to calorimeter surface and find
// candidates for isolated tracks
Expand All @@ -324,23 +331,31 @@ bool AlCaIsoTracksFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSet
spr::propagateCALO(trkCollection, geo, bField, theTrackQuality_, trkCaloDirections, false);

std::vector<spr::propagatedTrackDirection>::const_iterator trkDetItr;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "AlCaIsoTracksFilter:: Has " << trkCaloDirections.size()
<< " propagated tracks from a total of " << trkCollection->size();
#endif
unsigned int nTracks(0), nselTracks(0), ntrin(0), ntrout(0), ntrH(0);
for (trkDetItr = trkCaloDirections.begin(), nTracks = 0; trkDetItr != trkCaloDirections.end();
trkDetItr++, nTracks++) {
const reco::Track* pTrack = &(*(trkDetItr->trkItr));
math::XYZTLorentzVector v4(pTrack->px(), pTrack->py(), pTrack->pz(), pTrack->p());
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
<< pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p();

<< pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p() << " OK HCAL "
<< trkDetItr->okHCAL;
#endif
//Selection of good track
int ieta(0);
if (trkDetItr->okHCAL) {
HcalDetId detId = (HcalDetId)(trkDetItr->detIdHCAL);
ieta = detId.ietaAbs();
}
bool qltyFlag = spr::goodTrack(pTrack, leadPV, selectionParameter_, false);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "qltyFlag|okECAL|okHCAL : " << qltyFlag << "|" << trkDetItr->okECAL << "|"
<< trkDetItr->okHCAL;
#endif
if (qltyFlag && trkDetItr->okECAL && trkDetItr->okHCAL) {
double t_p = pTrack->p();
nselTracks++;
Expand Down Expand Up @@ -375,9 +390,11 @@ bool AlCaIsoTracksFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSet
double eIsolation = (maxRestrictionP_ * exp(slopeRestrictionP_ * ((double)(ieta))));
if (eIsolation < eIsolate_)
eIsolation = eIsolate_;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
<< pTrack->eta() << "|" << pTrack->phi() << "|" << t_p << "e_MIP " << eMipDR
<< ":" << eEcal << " Chg Isolation " << hmaxNearP << ":" << eIsolation;
#endif
if (t_p > pTrackMin_ && eMipDR < eEcalMax_ && hmaxNearP < eIsolation) {
if (t_p > pTrackLow_ && t_p < pTrackHigh_)
ntrin++;
Expand Down
Loading

0 comments on commit 280d5b3

Please sign in to comment.