17 : finalise([this]() {
finalise0(); }), omtfConfig(omtfConfig) {
27 std::cout << __FUNCTION__ <<
" " << __LINE__ <<
" this->refLayer " << this->
refLayer <<
" refLayer_ " << refLayer_
113 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
141 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
159 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
187 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
202 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
225 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
230 (
stubResults[iLogicLayer].getMuonStub()->qualityHw >= 4)) {
249 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
261 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
283 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
307 if (iLogicLayer < 10 &&
stubResults[iLogicLayer].getPdfVal() == 0)
322 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
344 if (iLogicLayer < 10 &&
stubResults[iLogicLayer].getPdfVal() == 0)
377 if (
stubResults[refLayerLogicNumber + 1].getPdfVal() == 0)
390 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
415 if (iLogicLayer < 10 &&
stubResults[iLogicLayer].getPdfVal() == 0)
443 out <<
"empty GoldenPatternResult" << std::endl;
448 unsigned int sumOverFiredLayers = 0;
449 for (
unsigned int iLogicLayer = 0; iLogicLayer < gpResult.
stubResults.size(); ++iLogicLayer) {
450 out <<
" layer: " << std::setw(2) << iLogicLayer <<
" hit: ";
451 if (gpResult.
stubResults[iLogicLayer].getMuonStub()) {
454 ? gpResult.
stubResults[iLogicLayer].getMuonStub()->phiBHw
455 : gpResult.
stubResults[iLogicLayer].getMuonStub()->phiHw);
457 out <<
" pdfBin: " << std::setw(4) << gpResult.
stubResults[iLogicLayer].getPdfBin() <<
" pdfVal: " << std::setw(3)
459 << (iLogicLayer == refLayerLogicNum ?
" <<< refLayer" :
"");
462 sumOverFiredLayers += gpResult.
stubResults[iLogicLayer].getPdfVal();
463 }
else if (gpResult.
stubResults[iLogicLayer].getPdfVal()) {
464 out <<
" pdfVal: " << std::setw(3) << gpResult.
stubResults[iLogicLayer].getPdfVal();
469 out <<
" refLayer: ";
472 out <<
" Sum over layers: ";
475 out <<
" sumOverFiredLayers: ";
476 out << sumOverFiredLayers <<
"\t";
478 out <<
" Sum over layers unconstr: ";
481 out <<
" Number of hits: ";
484 out <<
" GpProbability1: ";
487 out <<
" GpProbability2: ";
std::ostream & operator<<(std::ostream &out, const GoldenPatternResult &gpResult)
unsigned int firedLayerBits
bits representing fired logicLayers (including bending layers),
bool usePhiBExtrapolationMB2() const
PdfValueType getPdfSumUnconstr() const
double getGpProbability1() const
void set(int refLayer, int phi, int eta, int refHitPhi)
bool usePhiBExtrapolationMB1() const
const OMTFConfiguration * omtfConfig
std::function< void()> finalise
int getGoldenPatternResultFinalizeFunction() const
unsigned int fwVersion() const
double getGpProbability2() const
void init(const OMTFConfiguration *omtfConfig)
void setStubResult(float pdfVal, bool valid, int pdfBin, int layer, MuonStubPtr stub)
unsigned int nLayers() const
std::shared_ptr< MuonStub > MuonStubPtr
const std::vector< int > & getRefToLogicNumber() const
const std::map< int, int > & getLogicToLogic() const
bool isLayerFired(unsigned int iLayer) const
unsigned int getFiredLayerCnt() const
int eta
eta at the 2nd muon station
const std::set< int > & getBendingLayers() const
PdfValueType getPdfSum() const
double pdfSum
Sum of pdfValues.
unsigned int firedLayerCnt
Number of fired layers.
bool isBendingLayer(unsigned int iLayer) const override
int phi
phi at the 2nd muon station (propagated refHitPhi)
int refHitPhi
phi of the reference hits