#include <EcalCleaningAlgo.h>
Public Member Functions | |
EcalRecHit::Flags | checkTopology (const DetId &id, const EcalRecHitCollection &rhs) |
EcalCleaningAlgo (const edm::ParameterSet &p) | |
void | setFlags (EcalRecHitCollection &rhs) |
Private Member Functions | |
float | e4e1 (const DetId &id, const EcalRecHitCollection &rhs) |
yet another function to calculate swiss cross More... | |
float | e6e2 (const DetId &id, const EcalRecHitCollection &rhs) |
bool | isNearCrack (const DetId &detid) |
in EB, check if we are near a crack More... | |
const std::vector< DetId > | neighbours (const DetId &id) |
return the id of the 4 neighbours in the swiss cross More... | |
float | recHitE (const DetId id, const EcalRecHitCollection &recHits, bool useTimingInfo) |
Private Attributes | |
float | cThreshold_barrel_ |
float | cThreshold_double_ |
float | cThreshold_endcap_ |
float | e4e1_a_barrel_ |
float | e4e1_a_endcap_ |
float | e4e1_b_barrel_ |
float | e4e1_b_endcap_ |
float | e4e1Treshold_barrel_ |
float | e4e1Treshold_endcap_ |
float | e6e2thresh_ |
float | ignoreOutOfTimeThresh_ |
ignore kOutOfTime above threshold when calculating e4e1 More... | |
float | tightenCrack_e1_double_ |
float | tightenCrack_e1_single_ |
float | tightenCrack_e4e1_single_ |
float | tightenCrack_e6e2_double_ |
Definition at line 19 of file EcalCleaningAlgo.h.
EcalCleaningAlgo::EcalCleaningAlgo | ( | const edm::ParameterSet & | p | ) |
Definition at line 13 of file EcalCleaningAlgo.cc.
References cThreshold_barrel_, cThreshold_double_, cThreshold_endcap_, e4e1_a_barrel_, e4e1_a_endcap_, e4e1_b_barrel_, e4e1_b_endcap_, e4e1Treshold_barrel_, e4e1Treshold_endcap_, e6e2thresh_, ignoreOutOfTimeThresh_, AlCaHLTBitMon_ParallelJobs::p, tightenCrack_e1_double_, tightenCrack_e1_single_, tightenCrack_e4e1_single_, and tightenCrack_e6e2_double_.
EcalRecHit::Flags EcalCleaningAlgo::checkTopology | ( | const DetId & | id, |
const EcalRecHitCollection & | rhs | ||
) |
check topology, return : kGood : not anomalous kWeird : spike kDiWeird : dispike
Flag spikey channels
Mark single spikes. Spike definition:
Barrel: e> cThreshold_barrel_ && e4e1 > e4e1_a_barrel_ * log10(e) + e4e1_b_barrel_
Near cracks: energy threshold is multiplied by tightenCrack_e1_single e4e1 threshold is divided by tightenCrack_e4e1_single
Endcap : e> cThreshold_endcap_ && e4e1> e4e1_a_endcap_ * log10(e) + e4e1_b_endcap_
Mark double spikes (barrel only) e> cThreshold_double_ && e6e2 > e6e2thresh_;
Near cracks: energy threshold multiplied by tightenCrack_e1_double
e6e2 threshold divided by tightenCrack_e6e2_double
Out of time hits above e4e1_IgnoreOutOfTimeThresh_ are ignored in topological quantities
Definition at line 62 of file EcalCleaningAlgo.cc.
References a, b, cThreshold_barrel_, cThreshold_double_, cThreshold_endcap_, e4e1(), e4e1_a_barrel_, e4e1_a_endcap_, e4e1_b_barrel_, e4e1_b_endcap_, e6e2(), HLT_2024v14_cff::e6e2thresh, e6e2thresh_, EcalBarrel, EcalEndcap, HBHEDarkening_cff::energy, hybridSuperClusters_cfi::ethresh, isNearCrack(), EcalRecHit::kDiWeird, EcalRecHit::kGood, EcalRecHit::kWeird, recHitE(), tightenCrack_e1_double_, tightenCrack_e1_single_, tightenCrack_e4e1_single_, and tightenCrack_e6e2_double_.
Referenced by setFlags().
|
private |
yet another function to calculate swiss cross
Definition at line 121 of file EcalCleaningAlgo.cc.
References StorageManager_cfg::e1, mps_fire::i, neighbours(), recHitE(), and photons_cff::s4.
Referenced by checkTopology(), and e6e2().
|
private |
Compute e6 over e2 around xtal 1, where 2 is the most energetic in the swiss cross around 1
| | | +-+-+-+-+ | |1|2| | +-+-+-+-+ | | |
Definition at line 135 of file EcalCleaningAlgo.cc.
References StorageManager_cfg::e1, e4e1(), mps_fire::i, neighbours(), and recHitE().
Referenced by checkTopology().
|
private |
in EB, check if we are near a crack
Definition at line 214 of file EcalCleaningAlgo.cc.
References EcalEndcap, EBDetId::isNextToBoundary(), and EEDetId::isNextToRingBoundary().
Referenced by checkTopology().
return the id of the 4 neighbours in the swiss cross
four neighbours in the swiss cross around id
Definition at line 194 of file EcalCleaningAlgo.cc.
References EcalBarrel, EcalEndcap, EBDetId::offsetBy(), EEDetId::offsetBy(), and runTheMatrix::ret.
Referenced by e4e1(), and e6e2().
|
private |
Definition at line 165 of file EcalCleaningAlgo.cc.
References e4e1Treshold_barrel_, e4e1Treshold_endcap_, EcalBarrel, EcalEndcap, ignoreOutOfTimeThresh_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, EcalRecHit::kOutOfTime, nano_mu_digi_cff::rawId, FastTrackerRecHitMaskProducer_cfi::recHits, and DiMuonV_cfg::threshold.
Referenced by checkTopology(), e4e1(), and e6e2().
void EcalCleaningAlgo::setFlags | ( | EcalRecHitCollection & | rhs | ) |
Definition at line 222 of file EcalCleaningAlgo.cc.
References edm::SortedCollection< T, SORT >::begin(), checkTopology(), edm::SortedCollection< T, SORT >::end(), and EcalRecHit::kGood.
|
private |
Definition at line 58 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 69 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 59 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 60 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 62 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 61 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 63 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 65 of file EcalCleaningAlgo.h.
Referenced by EcalCleaningAlgo(), and recHitE().
|
private |
Definition at line 66 of file EcalCleaningAlgo.h.
Referenced by EcalCleaningAlgo(), and recHitE().
|
private |
Definition at line 72 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
ignore kOutOfTime above threshold when calculating e4e1
Definition at line 54 of file EcalCleaningAlgo.h.
Referenced by EcalCleaningAlgo(), and recHitE().
|
private |
Definition at line 70 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 67 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 68 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().
|
private |
Definition at line 71 of file EcalCleaningAlgo.h.
Referenced by checkTopology(), and EcalCleaningAlgo().