4 double minLowHitE,
double minHighHitE,
double TS4TS5EnergyThreshold,
5 std::vector<std::pair<double, double> > &TS4TS5UpperCut,
6 std::vector<std::pair<double, double> > &TS4TS5LowerCut)
17 if(
energy_ > TS4TS5EnergyThreshold)
19 std::vector<float> AllCharge = rbx.
allCharge();
20 double BaseCharge = AllCharge[4] + AllCharge[5];
23 double TS4TS5 = (AllCharge[4] - AllCharge[5]) / BaseCharge;
35 for(std::vector<reco::HcalNoiseHPD>::const_iterator it1=rbx.
HPDsBegin(); it1!=rbx.
HPDsEnd(); ++it1) {
36 int nhpdhits=it1->numRecHits(minRecHitE);
50 for(std::vector<reco::HcalNoiseHPD>::const_iterator it1=rbx.
HPDsBegin(); it1!=rbx.
HPDsEnd(); ++it1) {
53 float energy=(*it2)->energy();
54 float time=(*it2)->time();
55 if(energy>=minLowHitE) {
61 if(energy>=minHighHitE) {
72 for(std::vector<reco::HcalNoiseHPD>::const_iterator it1=rbx.
HPDsBegin(); it1!=rbx.
HPDsEnd(); ++it1) {
73 double eme=it1->caloTowerEmE();
74 double hade=it1->recHitEnergy(minRecHitE);
75 double emf=(eme+hade)==0 ? 999 : eme/(eme+hade);
84 for(std::vector<reco::HcalNoiseHPD>::const_iterator it1=rbx.
HPDsBegin(); it1!=rbx.
HPDsEnd(); ++it1) {
268 twrrefset.insert(*it);
270 twrrefset.insert(*it);
274 for(twrrefset_t::const_iterator it=twrrefset.begin(); it!=twrrefset.end(); ++it) {
281 std::vector<std::pair<double, double> > &Cuts,
int Side)
295 if(Charge <= Cuts[0].
first)
298 int IndexLargerThanCharge = -1;
299 for(
int i = 1;
i < (int)Cuts.size();
i++)
301 if(Cuts[
i].first > Charge)
303 IndexLargerThanCharge =
i;
308 double limit = 1000000;
310 if(IndexLargerThanCharge == -1)
311 limit = Cuts[Cuts.size()-1].second;
314 double C1 = Cuts[IndexLargerThanCharge].first;
315 double C2 = Cuts[IndexLargerThanCharge-1].first;
316 double L1 = Cuts[IndexLargerThanCharge].second;
317 double L2 = Cuts[IndexLargerThanCharge-1].second;
319 limit = (Charge - C1) / (C2 - C1) * (L2 - L1) + L1;
322 if(Side > 0 && Discriminant > limit)
324 if(Side < 0 && Discriminant < limit)
bool CheckPassFilter(double Charge, double Discriminant, std::vector< std::pair< double, double > > &Cuts, int Side)
double HPDEMF(void) const
T getParameter(std::string const &) const
bool isProblematic(const CommonHcalNoiseRBXData &) const
bool passTightRatio(const CommonHcalNoiseRBXData &) const
double minLowEHitTime(void) const
float allChargeHighest2TS(unsigned int firstts=4) const
bool passLooseRatio(const CommonHcalNoiseRBXData &) const
double maxHighEHitTime(void) const
bool passTightTiming(const CommonHcalNoiseRBXData &) const
double maxLowEHitTime(void) const
std::vector< HcalNoiseHPD >::const_iterator HPDsBegin(void) const
int numRecHits(double threshold=1.5) const
std::vector< HcalNoiseHPD >::const_iterator HPDsEnd(void) const
const_iterator end() const
Termination of iteration.
edm::RefVector< CaloTowerCollection > rbxtowers_
bool passHighLevelNoiseFilter(const CommonHcalNoiseRBXData &) const
const_iterator begin() const
Initialize an iterator over the RefVector.
double RBXEMF(void) const
double caloTowerEmE(void) const
int numRBXHits(void) const
CommonHcalNoiseRBXData(const reco::HcalNoiseRBX &rbx, double minRecHitE, double minLowHitE, double minHighHitE, double TS4TS5EnergyThreshold, std::vector< std::pair< double, double > > &TS4TS5UpperCut, std::vector< std::pair< double, double > > &TS4TS5LowerCut)
std::set< edm::Ref< CaloTowerCollection >, twrrefcomp > twrrefset_t
bool passLooseZeros(const CommonHcalNoiseRBXData &) const
double recHitEnergy(double theshold=1.5) const
float allChargeTotal(void) const
bool passTightZeros(const CommonHcalNoiseRBXData &) const
bool passRatioThreshold(const CommonHcalNoiseRBXData &) const
void operator()(edm::RefVector< CaloTowerCollection > &v1, const edm::RefVector< CaloTowerCollection > &v2) const
int numHPDNoOtherHits(void) const
bool passZerosThreshold(const CommonHcalNoiseRBXData &) const
bool passLooseNoiseFilter(const CommonHcalNoiseRBXData &) const
HcalNoiseAlgo(const edm::ParameterSet &iConfig)
bool passLooseHits(const CommonHcalNoiseRBXData &) const
int totalZeros(void) const
static std::string join(char **cmd)
void clear()
Clear the vector.
double energy(void) const
bool passLooseTiming(const CommonHcalNoiseRBXData &) const
bool passTightNoiseFilter(const CommonHcalNoiseRBXData &) const
char data[epos_bytes_allocation]
double minHighEHitTime(void) const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
bool passEMFThreshold(const CommonHcalNoiseRBXData &) const
const std::vector< float > allCharge(void) const
int numHPDHits(void) const
bool validRatio(void) const
bool passTightHits(const CommonHcalNoiseRBXData &) const