Пример #1
0
double JetInfo::CoreEnergyFraction(Jet const &jet) const
{
    DEBUG0;
    auto energy = 0_eV;
    auto core_energy = 0_eV;
    for (auto const &constituent : Constituents()) if (constituent.DetectorPart() == DetectorPart::photon) {
            energy += constituent.Momentum().Et();
            if (jet.DeltaRTo(constituent.Momentum()) < 0.2_rad) core_energy += constituent.Momentum().Et();
        }
    return energy == 0_eV ? 0. : static_cast<double>(core_energy / energy);
}
Пример #2
0
Angle JetInfo::TrackRadius(Jet const &jet) const
{
    DEBUG0;
    auto energy = 0_eV;
    auto weight = 0_eV * rad;
    for (auto const &constituent : Constituents()) if (constituent.DetectorPart() == DetectorPart::track) {
            energy += constituent.Momentum().Et();
            weight += constituent.Momentum().Et() * jet.DeltaRTo(constituent.Momentum());
        }
    return energy == 0_eV ? 0_rad : Angle(weight / energy);
}