21 if (
a->getFiredLayerCntConstr() >
b->getFiredLayerCntConstr())
23 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() && aRefLayerLogicNum < bRefLayerLogicNum) {
25 }
else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() && aRefLayerLogicNum == bRefLayerLogicNum &&
26 a->getPdfSumConstr() >
b->getPdfSumConstr())
28 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() && aRefLayerLogicNum == bRefLayerLogicNum &&
29 a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() >
b->getPatternNumConstr())
31 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() && aRefLayerLogicNum == bRefLayerLogicNum &&
32 a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() ==
b->getPatternNumConstr() &&
33 a->getRefHitNumber() <
b->getRefHitNumber())
47 if (
a->getFiredLayerCntConstr() >
b->getFiredLayerCntConstr())
49 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() &&
a->getPdfSumConstr() >
b->getPdfSumConstr())
51 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() &&
52 a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() >
b->getPatternNumConstr())
54 else if (
a->getFiredLayerCntConstr() ==
b->getFiredLayerCntConstr() &&
55 a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() ==
b->getPatternNumConstr() &&
56 a->getRefHitNumber() <
b->getRefHitNumber())
70 if (
a->getPdfSumConstr() >
b->getPdfSumConstr())
72 else if (
a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() >
b->getPatternNumConstr())
74 else if (
a->getPdfSumConstr() ==
b->getPdfSumConstr() &&
a->getPatternNumConstr() ==
b->getPatternNumConstr() &&
75 a->getRefHitNumber() <
b->getRefHitNumber())
93 if (aRefLayerLogicNum < bRefLayerLogicNum) {
95 }
else if (aRefLayerLogicNum == bRefLayerLogicNum &&
a->getPdfSum() >
b->getPdfSum())
97 else if (aRefLayerLogicNum == bRefLayerLogicNum &&
a->getPdfSum() ==
b->getPdfSum() &&
98 a->getPatternNumConstr() >
99 b->getPatternNumConstr())
101 else if (aRefLayerLogicNum == bRefLayerLogicNum &&
a->getPdfSum() ==
b->getPdfSum() &&
102 a->getPatternNumConstr() ==
b->getPatternNumConstr())
109 std::sort(muonsIN.rbegin(), muonsIN.rend(), customLessByLLH);
111 std::sort(muonsIN.rbegin(), muonsIN.rend(), customLessByFPLLH);
113 std::sort(muonsIN.rbegin(), muonsIN.rend(), customByRefLayer);
115 std::sort(muonsIN.rbegin(), muonsIN.rend(), customLess);
120 for (
unsigned int iMu1 = 0; iMu1 < muonsIN.size(); iMu1++) {
121 if (muonsIN[iMu1]->getPdfSumConstr() < -1) {
122 LogTrace(
"OMTFReconstruction") << *(muonsIN[iMu1]) << std::endl
123 << muonsIN[iMu1]->getGpResultConstr() << std::endl
124 << muonsIN[iMu1]->getGpResultUnconstr() << std::endl;
126 refHitCleanCandsFixedEta.emplace_back(
new AlgoMuon(*(muonsIN[iMu1])));
132 for (
unsigned int iMu1 = 0; iMu1 < refHitCleanCandsFixedEta.size(); iMu1++) {
133 auto& muIN1 = refHitCleanCandsFixedEta[iMu1];
137 if (!muIN1->isValid() || muIN1->isKilled())
140 for (
unsigned int iMu2 = refHitCleanCandsFixedEta.size() - 1; iMu2 >= iMu1 + 1; iMu2--) {
141 auto& muIN2 = refHitCleanCandsFixedEta[iMu2];
142 if (muIN2->isValid() &&
145 refHitCleanCandsFixedEta[iMu2]->kill();
146 refHitCleanCandsFixedEta[iMu1]->getKilledMuons().emplace_back(muIN2);
155 (
abs(muIN1->getEtaHw()) == 75 ||
abs(muIN1->getEtaHw()) == 79 ||
abs(muIN1->getEtaHw()) == 92) &&
156 (
abs(muIN2->getEtaHw()) != 75 &&
abs(muIN2->getEtaHw()) != 79 &&
abs(muIN2->getEtaHw()) != 92 &&
157 abs(muIN2->getEtaHw()) != 121)) {
158 muIN1->setEta(muIN2->getEtaHw());
172 for (
const auto&
mu : refHitCleanCandsFixedEta) {
173 if (
mu->isValid() && !(
mu->isKilled()))
174 refHitCleanCands.emplace_back(
mu);
175 if (refHitCleanCands.size() >= 3)
179 while (refHitCleanCands.size() < 3)
180 refHitCleanCands.emplace_back(
new AlgoMuon());
182 return refHitCleanCands;
int procPhiToGmtPhi(int procPhi) const
StubEtaEncoding getStubEtaEncoding() const
unsigned int fwVersion() const
Container::value_type value_type
Abs< T >::type abs(const T &t)
const std::vector< int > & getRefToLogicNumber() const
const std::string & getGhostBusterType() const
std::vector< AlgoMuonPtr > AlgoMuons
static unsigned int etaBits2HwEta(unsigned int eta)
const OMTFConfiguration * omtfConfig