|
double | bit () |
|
double | CalcThreshold (double abs_energy, const std::vector< double > ¶ms) |
|
std::vector< double > | GetLong_Energy_Thresh () |
|
std::vector< double > | GetLong_ET_Thresh () |
|
std::vector< double > | GetLong_R () |
|
std::vector< double > | GetShort_Energy_Thresh () |
|
std::vector< double > | GetShort_ET_Thresh () |
|
std::vector< double > | GetShort_R () |
|
| HcalHF_PETalgorithm () |
|
| HcalHF_PETalgorithm (const std::vector< double > &short_R, const std::vector< double > &short_Energy, const std::vector< double > &short_ET, const std::vector< double > &long_R, const std::vector< double > &long_Energy, const std::vector< double > &long_ET, int HcalAcceptSeverityLevel, const std::vector< double > &short_R_29, const std::vector< double > &long_R_29) |
|
void | HFSetFlagFromPET (HFRecHit &hf, HFRecHitCollection &rec, const HcalChannelQuality *myqual, const HcalSeverityLevelComputer *mySeverity) |
|
void | SetLong_Energy_Thresh (const std::vector< double > &x) |
|
void | SetLong_ET_Thresh (const std::vector< double > &x) |
|
void | SetLong_R (const std::vector< double > &x) |
|
void | SetShort_Energy_Thresh (const std::vector< double > &x) |
|
void | SetShort_ET_Thresh (const std::vector< double > &x) |
|
void | SetShort_R (const std::vector< double > &x) |
|
| ~HcalHF_PETalgorithm () |
|
Class evaluates the ratio |(L-S)/(L+S)| for a given cell, and flags the cell if the threshold exceeds a given maximum value R(Energy). Each cell must also pass ieta-dependent energy and ET cuts to be considered for flagging.
- Author
- J. Temple and D. Ferencek
Definition at line 22 of file HcalHF_PETalgorithm.h.
Definition at line 71 of file HcalHF_PETalgorithm.cc.
References funct::abs(), CalcThreshold(), egammaForCoreTracking_cff::depth, HcalDetId::depth(), HcalSeverityLevelComputer::dropChannel(), edm::SortedCollection< T, SORT >::end(), CaloRecHit::energy(), ET, HcalTopology::etaRange(), EnergyCorrector::etas, edm::SortedCollection< T, SORT >::find(), HcalSeverityLevelComputer::getSeverityLevel(), HcalChannelStatus::getValue(), HcalCondObjectContainer< Item >::getValues(), HcalAcceptSeverityLevel_, HcalForward, HcalCaloFlagLabels::HFLongShort, HcalCaloFlagLabels::HFPET, HFRecHit::id(), HcalDetId::ieta(), HcalDetId::iphi(), long_Energy_Thresh, long_ET_Thresh, long_R, long_R_29, DetId::rawId(), CaloRecHit::setFlagField(), short_Energy_Thresh, short_ET_Thresh, short_R, short_R_29, and HcalCondObjectContainerBase::topo().
Referenced by HcalHitReconstructor::produce().
82 double eta1 = etas.first;
83 double eta2 = etas.second;
84 double fEta = 0.5*(eta1 + eta2);
86 double ET = energy/fabs(cosh(fEta));
89 double ETthresh=0, Energythresh=0;
102 if (energy<Energythresh || ET < ETthresh)
127 HcalDetId neighbor(part->detid().rawId());
134 Ratio=(energy-part->energy())/(energy+part->energy());
137 double RatioThresh=0;
149 if (Ratio<=RatioThresh)
std::vector< double > long_ET_Thresh
void setFlagField(uint32_t value, int base, int width=1)
std::vector< HFRecHit >::const_iterator const_iterator
std::vector< double > long_Energy_Thresh
std::vector< double > short_R
const Item * getValues(DetId fId, bool throwOnFail=true) const
uint32_t rawId() const
get the raw id
int depth() const
get the tower depth
std::vector< double > long_R
int ieta() const
get the cell ieta
Abs< T >::type abs(const T &t)
bool dropChannel(const uint32_t &mystatus) const
double CalcThreshold(double abs_energy, const std::vector< double > ¶ms)
std::vector< double > long_R_29
const_iterator end() const
int iphi() const
get the cell iphi
int HcalAcceptSeverityLevel_
std::vector< double > short_ET_Thresh
std::vector< double > short_Energy_Thresh
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
std::pair< double, double > etaRange(HcalSubdetector subdet, int ieta) const
iterator find(key_type k)
uint32_t getValue() const
const HcalTopology * topo() const
std::vector< double > short_R_29