7 #include "Math/SpecFuncMathMore.h"
9 #include "TLorentzVector.h"
17 const std::vector<PanTau::TauConstituent*>&
neutral) {
18 if(
neutral.empty())
return nullptr;
20 unsigned int idx_Neutral = -1;
21 double angle_Neutral = -1.;
22 for(
unsigned int iNeut=0; iNeut<
neutral.size(); iNeut++) {
23 TLorentzVector tlv_CurNeut =
neutral[iNeut]->p4();
25 if(
angle > angle_Neutral) {
26 angle_Neutral =
angle;
36 std::stringstream tmpStream;
38 return tmpStream.str();
44 for(
unsigned int i=0;
i<binEdges.size()-1;
i++) {
45 double lowerEdge = binEdges[
i];
46 double upperEdge = binEdges[
i+1];
47 if(lowerEdge <=
value &&
value < upperEdge) resBin =
i;
51 for(
unsigned int i=0;
i<binEdges.size();
i++)
ATH_MSG_WARNING(
"\tbin edge " <<
i <<
": " << binEdges[
i]);
61 if(numConsts == 1)
return 0;
62 double a = sumOfSquares / ((
double)numConsts);
63 double b = sumOfValues / ((
double)numConsts);
64 double stdDev =
a -
b*
b;
65 if(stdDev < 0.) stdDev = 0;
66 return std::sqrt(stdDev);
71 const double a = vec1.DeltaPhi(
vec2);
72 const double b = vec1.Theta() -
vec2.Theta();
73 double dRprime = std::sqrt(
a*
a +
b*
b);