107 addLine(TString::Format(
" %d items in selection", (
int)sted.size()));
109 addLine(
"--------------------------------------------------+--------------");
110 addLine(
" px py pz pT | Collection");
111 addLine(
"--------------------------------------------------+--------------");
118 double sum_len_xy = 0;
123 for (std::set<FWModelId>::const_iterator
i = sted.begin();
i != sted.end(); ++
i, ++
n) {
126 TClass *model_class =
const_cast<TClass *
>(
i->item()->modelType());
127 void *model_data =
const_cast<void *
>(
i->item()->modelData(
i->index()));
136 v.SetXYZ(rc->
px(), rc->
py(), rc->
pz());
140 if (rtb !=
nullptr) {
142 v.SetXYZ(rtb->
px(), rtb->
py(), rtb->
pz());
148 sum_len += TMath::Sqrt(v.mag2());
149 sum_len_xy += TMath::Sqrt(v.perp2());
151 line = TString::Format(
" %+10.3f %+10.3f %+10.3f %10.3f", v.x(), v.y(), v.z(), TMath::Sqrt(v.perp2()));
154 line = TString::Format(
" -------- not a Candidate or TrackBase --------");
156 line += TString::Format(
" | %s[%d]",
i->item()->name().c_str(),
i->index());
166 addLine(
"--------------------------------------------------+--------------");
168 " %+10.3f %+10.3f %+10.3f %10.3f | Sum", sum.x(), sum.y(), sum.z(), TMath::Sqrt(sum.perp2())));
170 addLine(TString::Format(
"m = %10.3f", TMath::Sqrt(
TMath::Max(0.0, sum_len * sum_len - sum.mag2()))));
171 addLine(TString::Format(
"mT = %10.3f", TMath::Sqrt(
TMath::Max(0.0, sum_len_xy * sum_len_xy - sum.perp2()))));
172 addLine(TString::Format(
"HT = %10.3f", sum_len_xy));
175 addLine(TString::Format(
"deltaPhi = %+6.4f",
deltaPhi(first.Phi(), second.Phi())));
176 addLine(TString::Format(
"deltaEta = %+6.4f", first.Eta() - second.Eta()));
177 addLine(TString::Format(
"deltaR = % 6.4f",
deltaR(first.Eta(), first.Phi(), second.Eta(), second.Phi())));
const std::set< FWModelId > & selected() const
virtual double pz() const =0
z coordinate of momentum vector
double px() const
x coordinate of momentum vector
U second(std::pair< T, U > const &p)
void addLine(const TString &line)
virtual double py() const =0
y coordinate of momentum vector
double pz() const
z coordinate of momentum vector
virtual double px() const =0
x coordinate of momentum vector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
FWSelectionManager * m_selectionMgr
double py() const
y coordinate of momentum vector