Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:35

0001 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0002 #include "RecoJets/JetProducers/interface/AnomalousTower.h"
0003 #include "DataFormats/CaloTowers/interface/CaloTower.h"
0004 
0005 #define init_param(type, varname) varname(ps.getParameter<type>(#varname))
0006 
0007 AnomalousTower::AnomalousTower(const edm::ParameterSet& ps)
0008     : init_param(unsigned, maxBadEcalCells),
0009       init_param(unsigned, maxRecoveredEcalCells),
0010       init_param(unsigned, maxProblematicEcalCells),
0011       init_param(unsigned, maxBadHcalCells),
0012       init_param(unsigned, maxRecoveredHcalCells),
0013       init_param(unsigned, maxProblematicHcalCells) {}
0014 
0015 bool AnomalousTower::operator()(const reco::Candidate& input) const {
0016   const CaloTower* tower = dynamic_cast<const CaloTower*>(&input);
0017   if (tower)
0018     return tower->numBadEcalCells() > maxBadEcalCells || tower->numRecoveredEcalCells() > maxRecoveredEcalCells ||
0019            tower->numProblematicEcalCells() > maxProblematicEcalCells || tower->numBadHcalCells() > maxBadHcalCells ||
0020            tower->numRecoveredHcalCells() > maxRecoveredHcalCells ||
0021            tower->numProblematicHcalCells() > maxProblematicHcalCells;
0022   else
0023     return false;
0024 }