Definition at line 148 of file HLTHcalTowerNoiseCleaner.cc.
References edm::RefVector< C, T, F >::begin(), edm::SortedCollection< T, SORT >::begin(), edmIntegrityCheck::d, data, CaloTowerTopology::denseIndex(), edm::RefVector< C, T, F >::end(), edm::SortedCollection< T, SORT >::end(), edm::EventSetup::get(), edm::Event::getByToken(), HcalNoiseRBXCollectionTag_, CaloTower::id(), edm::Ref< C, T, F >::id(), edm::HandleBase::isValid(), LogDebug, m_theCaloTowerCollectionToken, m_theHcalNoiseToken, maxHighEHitTime_, maxRatio_, maxRBXEMF_, minHighEHitTime_, minHighHitE_, minHPDHits_, minHPDNoOtherHits_, minLowHitE_, minR45HitE_, minRatio_, minRBXEnergy_, minRBXHits_, minRecHitE_, minZeros_, eostools::move(), needEMFCoincidence_, edm::Event::put(), severity_, TS4TS5EnergyThreshold_, TS4TS5LowerCut_, and TS4TS5UpperCut_.
150 using namespace reco;
156 std::set<unsigned int> noisyTowers;
159 edm::LogError(
"HLTHcalTowerNoiseCleaner") <<
"Input Tower Collection is not Valid";
171 edm::LogWarning(
"HLTHcalTowerNoiseCleaner") <<
"Could not find HcalNoiseRBXCollection product named " 178 for(
auto const & rbx : *rbxs_h) {
187 for(
auto const & it : data) {
190 bool passFilter=
true;
193 if(it.validRatio() && it.ratio()<
minRatio_) passFilter=
false;
194 else if(it.validRatio() && it.ratio()>
maxRatio_) passFilter=
false;
195 else if(it.numHPDHits()>=
minHPDHits_) passFilter=
false;
196 else if(it.numRBXHits()>=
minRBXHits_) passFilter=
false;
198 else if(it.numZeros()>=
minZeros_) passFilter=
false;
201 else if(!it.PassTS4TS5()) passFilter=
false;
210 LogDebug(
"") <<
"HLTHcalTowerNoiseCleaner debug: Found a noisy RBX: " 211 <<
"energy=" << it.energy() <<
"; " 212 <<
"ratio=" << it.ratio() <<
"; " 213 <<
"# RBX hits=" << it.numRBXHits() <<
"; " 214 <<
"# HPD hits=" << it.numHPDHits() <<
"; " 215 <<
"# Zeros=" << it.numZeros() <<
"; " 216 <<
"min time=" << it.minHighEHitTime() <<
"; " 217 <<
"max time=" << it.maxHighEHitTime() <<
"; " 218 <<
"passTS4TS5=" << it.PassTS4TS5() <<
"; " 219 <<
"RBX EMF=" << it.RBXEMF()
225 for( noiseTowersIt = noiseTowers.
begin(); noiseTowersIt != noiseTowers.
end(); noiseTowersIt++){
228 noisyTowers.insert( caloTowerTopology->
denseIndex(
id) );
238 for(inTowersIt = tower_h->
begin(); inTowersIt != tower_h->
end(); inTowersIt++){
241 if(noisyTowers.find( caloTowerTopology->
denseIndex(
id) ) == noisyTowers.end()){
242 OutputTowers->push_back(*inTowersIt);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::set< CommonHcalNoiseRBXData, noisedatacomp > noisedataset_t
std::vector< CaloTower >::const_iterator const_iterator
const_iterator end() const
Termination of iteration.
ProductID id() const
Accessor for product ID.
const_iterator begin() const
Initialize an iterator over the RefVector.
std::vector< std::pair< double, double > > TS4TS5UpperCut_
edm::EDGetTokenT< CaloTowerCollection > m_theCaloTowerCollectionToken
edm::SortedCollection< CaloTower > CaloTowerCollection
edm::InputTag HcalNoiseRBXCollectionTag_
const_iterator end() const
uint32_t denseIndex(const DetId &id) const
CaloTowerDetId id() const
edm::EDGetTokenT< reco::HcalNoiseRBXCollection > m_theHcalNoiseToken
double TS4TS5EnergyThreshold_
char data[epos_bytes_allocation]
std::vector< std::pair< double, double > > TS4TS5LowerCut_
const_iterator begin() const