17 : finalise([this]() {
finalise0(); }), omtfConfig(omtfConfig) {
27 std::cout << __FUNCTION__ <<
" " << __LINE__ <<
" this->refLayer " << this->
refLayer <<
" refLayer_ " << refLayer_
108 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
137 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
155 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
183 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
198 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
221 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
226 (
stubResults[iLogicLayer].getMuonStub()->qualityHw >= 4)) {
245 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
257 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
280 for (
unsigned int iLogicLayer = 0; iLogicLayer <
stubResults.size(); ++iLogicLayer) {
305 if (iLogicLayer < 10 &&
stubResults[iLogicLayer].getPdfVal() == 0)
324 unsigned int sumOverFiredLayers = 0;
325 for (
unsigned int iLogicLayer = 0; iLogicLayer < gpResult.
stubResults.size(); ++iLogicLayer) {
326 out <<
" layer: " << std::setw(2) << iLogicLayer <<
" hit: ";
327 if (gpResult.
stubResults[iLogicLayer].getMuonStub()) {
330 ? gpResult.
stubResults[iLogicLayer].getMuonStub()->phiBHw
331 : gpResult.
stubResults[iLogicLayer].getMuonStub()->phiHw);
333 out <<
" pdfBin: " << std::setw(4) << gpResult.
stubResults[iLogicLayer].getPdfBin() <<
" pdfVal: " << std::setw(3)
335 << (iLogicLayer == refLayerLogicNum ?
" <<< refLayer" :
"");
338 sumOverFiredLayers += gpResult.
stubResults[iLogicLayer].getPdfVal();
339 }
else if (gpResult.
stubResults[iLogicLayer].getPdfVal()) {
340 out <<
" pdfVal: " << std::setw(3) << gpResult.
stubResults[iLogicLayer].getPdfVal();
345 out <<
" refLayer: ";
348 out <<
" Sum over layers: ";
351 out <<
" sumOverFiredLayers: ";
352 out << sumOverFiredLayers <<
"\t";
354 out <<
" Number of hits: ";
357 out <<
" GpProbability1: ";
360 out <<
" GpProbability2: ";
std::ostream & operator<<(std::ostream &out, const GoldenPatternResult &gpResult)
unsigned int firedLayerBits
bits representing fired logicLayers (including bending layers),
double getGpProbability1() const
void set(int refLayer, int phi, int eta, int refHitPhi)
const OMTFConfiguration * omtfConfig
std::function< void()> finalise
int getGoldenPatternResultFinalizeFunction() const
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
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 - excluding bending 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