37 extRadius(extRadiusI),
47 id15 = towers->
size()>15 ? (*towers)[15].id() : 0;
54 if (0!=detIdToExclude) assert(0==
intRadius);
61 (detIdToExclude==0) ?
nullptr : &((*detIdToExclude).front()),
62 (detIdToExclude==0) ?
nullptr : (&(*detIdToExclude).back())+1
66 case AllDepths:
return detIdToExclude==0 ? sum.
he[0] : sum.heBC[0];
67 case Depth1:
return detIdToExclude==0 ? sum.
he[0]-sum.
h2[0] : sum.heBC[0]-sum.h2BC[0];
68 case Depth2:
return detIdToExclude==0 ? sum.
h2[0] : sum.h2BC[0];
double getSum(bool et, reco::SuperCluster const &sc, const std::vector< CaloTowerDetId > *detIdToExclude) const
static thread_local uint32_t id15
static thread_local EgammaTowerIsolationNew< 1 > * newAlgo
static thread_local const CaloTowerCollection * oldTowers
void setRadius(float const extRadius[NC], float const intRadius[NC])
EgammaTowerIsolation(float extRadiusI, float intRadiusI, float etLow, signed int depth, const CaloTowerCollection *towers)
void compute(bool et, Sum &sum, reco::Candidate const &cand, CaloTowerDetId const *first, CaloTowerDetId const *last) const