Go to the documentation of this file. 1 #ifndef OMTF_GoldenPattern_H
2 #define OMTF_GoldenPattern_H
16 Key(
int iEta = 99,
unsigned int iPt = 0,
int iCharge = 0,
unsigned int iNumber = 999)
27 out <<
"Key_" <<
o.theNumber <<
": (eta=" <<
o.theEtaCode <<
", pt=" <<
o.thePtCode <<
", charge=" <<
o.theCharge
68 int pdfValue(
unsigned int iLayer,
unsigned int iRefLayer,
unsigned int iBin)
const {
69 return pdfAllRef[iLayer][iRefLayer][iBin];
91 void normalise(
unsigned int nPdfAddrBits);
friend std::ostream & operator<<(std::ostream &out, const GoldenPattern &aPattern)
void setMeanDistPhi(const vector2D &aMeanDistPhi)
void setPdf(const vector3D &aPdf)
void addCount(unsigned int iRefLayer, unsigned int iLayer, const int refPhi, const OMTFinput::vector1D &layerHits)
Add a single count to the relevant pdf bin in three dimensions.
int propagateRefPhi(int phiRef, int etaRef, unsigned int iRefLayer)
std::vector< int > vector1D
const vector2D & getMeanDistPhi() const
bool hasCounts()
Check if the GP has any counts in any of referecne layers;.
Key(int iEta=99, unsigned int iPt=0, int iCharge=0, unsigned int iNumber=999)
bool operator<(const Key &o) const
std::vector< vector2D > vector3D
GoldenPattern::layerResult process1Layer1RefLayer(unsigned int iRefLayer, unsigned int iLayer, const int refPhi, const OMTFinput::vector1D &layerHits)
int pdfValue(unsigned int iLayer, unsigned int iRefLayer, unsigned int iBin) const
Key theKey
Pattern kinematical identification (iEta,iPt,iCharge)
GoldenPattern(const Key &aKey, const OMTFConfiguration *omtfConfig)
friend std::ostream & operator<<(std::ostream &out, const Key &o)
const OMTFConfiguration * myOmtfConfig
vector2D meanDistPhiCounts
int meanDistPhiValue(unsigned int iLayer, unsigned int iRefLayer) const
void reset()
Reset contents of all data vectors, keeping the vectors size.
std::pair< int, bool > layerResult
const vector3D & getPdf() const
bool operator==(const Key &o) const
void normalise(unsigned int nPdfAddrBits)
unsigned int number() const
std::vector< vector1D > vector2D