1 #include <fastjet/ClusterSequence.hh>
9 using namespace fastjet;
28 static bool init =
false;
35 algorithms[
"CAMBRIDGE_FOR_PASSIVE"] = cambridge_for_passive_algorithm;
36 algorithms[
"GENKT_FOR_PASSIVE"] = genkt_for_passive_algorithm;
47 hijfst_control(
int enable, vector<string> valgorithm, vector<float> vR, vector<int> vPID, vector<float> vEtaMin, vector<float> vEtaMax, vector<float> vEtMin)
49 enablep = (enable==1) ?
true:
false;
52 for (
unsigned int i = 0; i < valgorithm.size(); ++i)
54 string algorithmName = valgorithm[i];
55 transform(algorithmName.begin(), algorithmName.end(), algorithmName.begin(), ::toupper);
60 algo.EtaMin = vEtaMin[i];
61 algo.EtaMax = vEtaMax[i];
62 algo.EtMin = vEtMin[i];
74 int *K1 =
new(K)
int[M];
75 int *K2 =
new(K+M)
int[M];
76 int *K3 =
new(K+2*M)
int[M];
77 int *K4 =
new(K+3*M)
int[M];
78 int *K5 =
new(K+4*M)
int[M];
80 float *px =
new(
P)
float[M];
81 float *py =
new(P+M)
float[M];
82 float *pz =
new(P+2*M)
float[M];
83 float *
E =
new(P+3*M)
float[M];
84 float *
m =
new(P+4*M)
float[M];
86 float *
V1 =
new(V)
float[M];
87 float *
V2 =
new(V+M)
float[M];
88 float *V3 =
new(V+2*M)
float[M];
89 float *V4 =
new(V+3*M)
float[M];
90 float *V5 =
new(V+4*M)
float[M];
92 std::vector<PseudoJet> particles;
94 for (
int i = 0; i < *
n; i++)
99 particles.push_back(PseudoJet(px[i], py[i], pz[i], E[i]));
110 ClusterSequence cs(particles, jet_def);
111 std::vector<PseudoJet> jets = cs.inclusive_jets();
116 for (
unsigned i = 0; i < jets.size(); i++)
132 px[j] = jets[i].px();
133 py[j] = jets[i].py();
134 pz[j] = jets[i].pz();