13 if(
jet.constituents().empty())
return -1;
14 if(
jet.m()==0.0)
return -1;
16 vector<fastjet::PseudoJet> constit_pseudojets =
jet.constituents();
17 TLorentzVector jet_p4(
jet.px(),
jet.py(),
jet.pz(),
jet.e());
19 double Angularity2=-1.;
23 for(
unsigned int iConstit=0; iConstit < constit_pseudojets.size(); iConstit++) {
24 TLorentzVector tclus = TLorentzVector(constit_pseudojets[iConstit].px(),constit_pseudojets[iConstit].py(),constit_pseudojets[iConstit].pz(),constit_pseudojets[iConstit].e());
25 double theta_i = jet_p4.Angle(tclus.Vect());
26 double sintheta_i = sin(theta_i);
27 if( sintheta_i == 0 )
continue;
28 double e_theta_i_a2 = constit_pseudojets[iConstit].E()*
pow(sintheta_i,a2)*
pow(1-cos(theta_i),1-a2);
29 sum_a2 += e_theta_i_a2;
32 if (
jet.m() < 1.e-20 )
return -1.0;
33 Angularity2 = sum_a2/
jet.m();