#include <SortInDetCandidates.h>
Definition at line 17 of file SortInDetCandidates.h.
◆ operator()()
Definition at line 19 of file SortInDetCandidates.h.
21 if (
c1.second.empty() ||
c2.second.empty()) {
return c1.second.empty(); }
23 const TagBase&
t1 = *
c1.second.front();
24 const TagBase&
t2 = *
c2.second.front();
28 if (s1 && !
s2)
return true;
29 if (
s2 && !s1)
return false;
35 const CombinedFitTag* cbFitTag1 =
dynamic_cast<const CombinedFitTag*
>(&
t1);
37 const CombinedFitTag* cbFitTag2 =
dynamic_cast<const CombinedFitTag*
>(&
t2);
38 if (!cbFitTag2)
return false;
39 return *cbFitTag1 < *cbFitTag2;
41 const StacoTag* stacoTag1 =
dynamic_cast<const StacoTag*
>(&
t1);
43 const StacoTag* stacoTag2 =
dynamic_cast<const StacoTag*
>(&
t2);
44 if (!stacoTag2)
return false;
45 return *stacoTag1 < *stacoTag2;
47 const MuGirlTag* muGirlTag1 =
dynamic_cast<const MuGirlTag*
>(&
t1);
49 const MuGirlTag* muGirlTag2 =
dynamic_cast<const MuGirlTag*
>(&
t2);
50 if (!muGirlTag2)
return false;
51 return *muGirlTag1 < *muGirlTag2;
54 }
else if (
t1.type() == xAOD::Muon::SegmentTagged) {
55 const SegmentTag* segmentTag1 =
dynamic_cast<const SegmentTag*
>(&
t1);
57 const SegmentTag* segmentTag2 =
dynamic_cast<const SegmentTag*
>(&
t2);
58 if (!segmentTag2)
return false;
59 return *segmentTag1 < *segmentTag2;
61 const MuGirlTag* muGirlTag1 =
dynamic_cast<const MuGirlTag*
>(&
t1);
63 const MuGirlTag* muGirlTag2 =
dynamic_cast<const MuGirlTag*
>(&
t2);
64 if (!muGirlTag2)
return false;
65 return *muGirlTag1 < *muGirlTag2;
68 }
else if (
t1.type() == xAOD::Muon::CaloTagged) {
72 if (!caloTag2)
return false;
73 return *caloTag1 < *caloTag2;
The documentation for this class was generated from the following file: