Vector.hh
Go to the documentation of this file.
24 std::vector<Multiplet_> RemoveIfOutsidePtWindow(std::vector<Multiplet_> jets, Momentum const &lower_cut, Momentum const &upper_cut)
98 std::vector<Multiplet_1_> RemoveIfClose(std::vector<Multiplet_1_> jets, std::vector<Multiplet_2_> const &particles)
100 for (auto const &particle : particles) jets = boost::range::remove_erase_if(jets, Close<Multiplet_2_>(particle));
105 bool CrossComparison(Multiplet_1_ const &multiplet, std::pair<Multiplet_2_, Multiplet_2_> const &particles)
107 return (Close<Multiplet_2_>(particles.first)(multiplet.Multiplet1()) && Close<Multiplet_2_>(particles.second)(multiplet.Multiplet2())) || (Close<Multiplet_2_>(particles.first)(multiplet.Multiplet2()) && Close<Multiplet_2_>(particles.second)(multiplet.Multiplet1()));
111 std::vector<Multiplet_1_> RemoveIfClose(std::vector<Multiplet_1_> jets, std::vector<std::pair<Multiplet_2_, Multiplet_2_>> const &particles)
113 for (auto const &particle : particles) jets = boost::range::remove_erase_if(jets, [&](Multiplet_1_ const & multiplet) {
120 std::vector<Multiplet_1_> CopyIfClose(std::vector<Multiplet_1_> const &multiplets, std::vector<Multiplet_2_> const &particles)
124 for (auto const &particle : particles) Insert(close_multiplets, CopyIfClose(multiplets, particle));
129 std::vector<Multiplet_1_> CopyIfClose(std::vector<Multiplet_1_> const &multiplets, Multiplet_2_ const &particle)
137 std::vector<Multiplet_1_> CopyIfClose(std::vector<Multiplet_1_> const &multiplets, std::pair<Multiplet_2_, Multiplet_2_> const &particle)
145 // std::vector<Multiplet_> CopyIfClose(std::vector<Multiplet_> const& multiplets, std::vector<std::pair<Particle, Particle>> const& particles)
149 // for (auto const & particle : particles) for (auto const & multiplet : multiplets) if (CrossComparison(multiplet, particle)) final_multiplets.emplace_back(multiplet);
Close(Multiplet_1_ const &particle, Angle const &cone_size)
Definition: Vector.hh:83
auto CountIfBottom(std::vector< Multiplet_ > const &jets)
Definition: Vector.hh:68
boost::units::quantity< boost::units::si::plane_angle > Angle
Angle measured in radian.
Definition: Si.hh:35
std::vector< Multiplet_ > RemoveIfOutsidePtWindow(std::vector< Multiplet_ > jets, Momentum const &lower_cut, Momentum const &upper_cut)
Definition: Vector.hh:24
std::vector< Multiplet_ > RemoveIfSoft(std::vector< Multiplet_ > multiplets, Momentum const &pt_min)
Definition: Vector.hh:44
Definition: Vector.hh:76
std::vector< Multiplet_1_ > RemoveIfClose(std::vector< Multiplet_1_ > jets, std::vector< Multiplet_2_ > const &particles)
Definition: Vector.hh:98
void Insert(std::vector< Element_ > &vector_1, std::vector< Element_ > const &vector_2)
Insert two std::vector.
Definition: Vector.hh:130
std::vector< Multiplet_ > CopyIfTag(std::vector< Multiplet_ > const &multiplets, double value=0)
Copy if Bdt value of multiplet is larger than value (default = 0)
Definition: Vector.hh:36
std::vector< Multiplet_ > RemoveIfHard(std::vector< Multiplet_ > multiplets, Momentum const &pt_max)
Definition: Vector.hh:52
int CountIfHard(std::vector< Multiplet_ > multiplets, Momentum const &pt_min)
Definition: Vector.hh:60
Energy Momentum
Momentum measured in electronvolt.
Definition: ElectronVolt.hh:68
std::vector< Elements_ > CopyIf(std::vector< Elements_ > const &inputs, Function_ function)
Definition: Vector.hh:63
bool CrossComparison(Multiplet_1_ const &multiplet, std::pair< Multiplet_2_, Multiplet_2_ > const &particles)
Definition: Vector.hh:105
std::vector< Multiplet_1_ > CopyIfClose(std::vector< Multiplet_1_ > const &multiplets, std::vector< Multiplet_2_ > const &particles)
Definition: Vector.hh:120