9#include <analysis/ContinuumSuppression/CleoCones.h>
19 const std::vector<ROOT::Math::XYZVector>& p3_cms_roe,
20 const ROOT::Math::XYZVector& thrustB,
21 bool calc_CleoCones_with_all,
22 bool calc_CleoCones_with_roe
31 if (calc_CleoCones_with_all ==
true) {
32 for (
int i = 1; i <= 9; i++) {
33 float momentum_flow_all = 0;
34 for (
auto& iter0 : p3_cms_all) {
48 float angle = ((180 * acos(thrustB.Unit().Dot(iter0.Unit()))) / M_PI);
49 if (((((i - 1) * 10) <= angle) && (angle < (i * 10))) || (((180 - (i * 10)) < angle) && (angle <= (180 - ((i - 1) * 10))))) {
50 momentum_flow_all += iter0.R();
53 if ((i == 9) && (angle == 90)) {
54 momentum_flow_all += iter0.R();
64 if (calc_CleoCones_with_roe ==
true) {
65 for (
int i = 1; i <= 9; i++) {
66 float momentum_flow_roe = 0;
67 for (
auto& iter1 : p3_cms_roe) {
68 float angle = ((180 * acos(thrustB.Unit().Dot(iter1.Unit()))) / M_PI);
69 if (((((i - 1) * 10) <= angle) && (angle < (i * 10))) || (((180 - (i * 10)) < angle) && (angle <= (180 - ((i - 1) * 10))))) {
70 momentum_flow_roe += iter1.R();
72 if ((i == 9) && (angle == 90)) {
73 momentum_flow_roe += iter1.R();
std::vector< float > m_cleo_cone_with_roe
Cleo Cones calculated from only ROE tracks.
std::vector< float > m_cleo_cone_with_all
Cleo Cones calculated from all tracks.
CleoCones(const std::vector< ROOT::Math::XYZVector > &p3_cms_all, const std::vector< ROOT::Math::XYZVector > &p3_cms_roe, const ROOT::Math::XYZVector &thrustB, bool calc_CleoCones_with_all, bool calc_CleoCones_with_roe)
Constructor.
Abstract base class for different kinds of events.