13 vector<float> phibins;
15 for (
int i = 0;
i < 10;
i++)
20 for (
int i = 0;
i < 8; ++
i)
23 for (
int i = 0;
i < 10; ++
i) {
27 etabins.push_back(2.7 + 0.6 * (
i - 5));
30 for (
int i = 0;
i < 18; ++
i)
33 return fixedGridRho(
etabins, phibins);
38 float phidist = phibins[1] - phibins[0];
40 float phihalfdist = (phibins[1] - phibins[0]) / 2.;
41 vector<float> sumPFNallSMDQ;
42 sumPFNallSMDQ.reserve(
etabins.size() * phibins.size());
44 for (
unsigned int iphi = 0;
iphi < phibins.size(); ++
iphi) {
45 float pfniso_ieta_iphi = 0;
47 if (fabs(
etabins[
ieta] - pf_it->eta()) > etahalfdist)
51 pfniso_ieta_iphi += pf_it->pt();
53 sumPFNallSMDQ.push_back(pfniso_ieta_iphi);
57 sort(sumPFNallSMDQ.begin(), sumPFNallSMDQ.end());
58 if (sumPFNallSMDQ.size() % 2)
59 evt_smdq = sumPFNallSMDQ[(sumPFNallSMDQ.size() - 1) / 2];
61 evt_smdq = (sumPFNallSMDQ[sumPFNallSMDQ.size() / 2] + sumPFNallSMDQ[(sumPFNallSMDQ.size() - 2) / 2]) / 2.;
62 return evt_smdq / (etadist * phidist);
constexpr double deltaPhi(double phi1, double phi2)
float fixedGridRho(EtaRegion etaRegion=Central)