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);
Key(int iEta=99, unsigned int iPt=0, int iCharge=0, unsigned int iNumber=999)
unsigned int number() const
friend std::ostream & operator<<(std::ostream &out, const GoldenPattern &aPattern)
vector2D meanDistPhiCounts
std::vector< int > vector1D
std::pair< int, bool > layerResult
const OMTFConfiguration * myOmtfConfig
bool hasCounts()
Check if the GP has any counts in any of referecne layers;.
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
void normalise(unsigned int nPdfAddrBits)
const vector2D & getMeanDistPhi() const
std::vector< vector1D > vector2D
std::vector< vector2D > vector3D
void setPdf(const vector3D &aPdf)
Key theKey
Pattern kinematical identification (iEta,iPt,iCharge)
bool operator==(const Key &o) const
GoldenPattern(const Key &aKey, const OMTFConfiguration *omtfConfig)
void reset()
Reset contents of all data vectors, keeping the vectors size.
bool operator<(const Key &o) const
int propagateRefPhi(int phiRef, int etaRef, unsigned int iRefLayer)
const vector3D & getPdf() const
void setMeanDistPhi(const vector2D &aMeanDistPhi)
friend std::ostream & operator<<(std::ostream &out, const Key &o)
int meanDistPhiValue(unsigned int iLayer, unsigned int iRefLayer) const
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.