Class for "official" algorithm to be used in TTStubBuilder. More...
#include <TTStubAlgorithm_official.h>
Public Member Functions | |
float | degradeBend (bool psModule, int window, int bend) const |
template<> | |
float | degradeBend (bool psModule, int window, int bend) const |
template<> | |
float | degradeBend (bool psModule, int window, int bend) const |
template<> | |
void | PatternHitCorrelation (bool &aConfirmation, int &aDisplacement, int &anOffset, float &anROffset, float &anHardBend, const TTStub< Ref_Phase2TrackerDigi_ > &aTTStub) const |
Implementation of methods of TTStubAlgorithm_official. More... | |
void | PatternHitCorrelation (bool &aConfirmation, int &aDisplacement, int &anOffset, float &anROffset, float &anHardBend, const TTStub< T > &aTTStub) const override |
Matching operations. More... | |
template<> | |
void | PatternHitCorrelation (bool &aConfirmation, int &aDisplacement, int &anOffset, float &anROffset, float &anHardBend, const TTStub< Ref_Phase2TrackerDigi_ > &aTTStub) const |
Close class. More... | |
TTStubAlgorithm_official (const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, std::vector< double > setBarrelCut, std::vector< std::vector< double > > setRingCut, std::vector< std::vector< double > > setTiltedCut, std::vector< double > setBarrelNTilt, bool aPerformZMatchingPS, bool aPerformZMatching2S) | |
Constructor. More... | |
~TTStubAlgorithm_official () | |
Destructor. More... | |
Public Member Functions inherited from TTStubAlgorithm< T > | |
virtual std::string | AlgorithmName () const |
Algorithm name. More... | |
TTStubAlgorithm (const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, std::string fName) | |
Constructors. More... | |
virtual | ~TTStubAlgorithm () |
Destructor. More... | |
Private Attributes | |
std::vector< double > | barrelCut |
std::vector< double > | barrelNTilt |
std::string | className_ |
bool | m_tilted |
bool | mPerformZMatching2S |
bool | mPerformZMatchingPS |
Data members. More... | |
std::vector< std::vector< double > > | ringCut |
std::vector< std::vector< double > > | tiltedCut |
Additional Inherited Members | |
Protected Attributes inherited from TTStubAlgorithm< T > | |
std::string | className_ |
const TrackerGeometry *const | theTrackerGeom_ |
Data members. More... | |
const TrackerTopology *const | theTrackerTopo_ |
Class for "official" algorithm to be used in TTStubBuilder.
HW-friendly algorithm: layer-wise LUT. After moving from SimDataFormats to DataFormats, the template structure of the class was maintained in order to accomodate any types other than PixelDigis in case there is such a need in the future.
Definition at line 38 of file TTStubAlgorithm_official.h.
|
inline |
Constructor.
Definition at line 54 of file TTStubAlgorithm_official.h.
|
inline |
Destructor.
Definition at line 71 of file TTStubAlgorithm_official.h.
References TTStubAlgorithm_official< T >::degradeBend(), TTStubAlgorithm_official< T >::PatternHitCorrelation(), and svgfig::window().
float TTStubAlgorithm_official< T >::degradeBend | ( | bool | psModule, |
int | window, | ||
int | bend | ||
) | const |
Referenced by TTStubAlgorithm_official< T >::~TTStubAlgorithm_official().
float TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ >::degradeBend | ( | bool | psModule, |
int | window, | ||
int | bend | ||
) | const |
float TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ >::degradeBend | ( | bool | psModule, |
int | window, | ||
int | bend | ||
) | const |
Definition at line 139 of file TTStubAlgorithm_official.cc.
References Exception, mps_fire::i, funct::pow(), and svgfig::window().
void TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ >::PatternHitCorrelation | ( | bool & | aConfirmation, |
int & | aDisplacement, | ||
int & | anOffset, | ||
float & | anROffset, | ||
float & | anHardBend, | ||
const TTStub< Ref_Phase2TrackerDigi_ > & | aTTStub | ||
) | const |
Implementation of methods of TTStubAlgorithm_official.
Here, in the source file, the methods which do depend on the specific type <T> that can fit the template.
Calculate average coordinates col/row for inner/outer Cluster
Get the module position in global coordinates
Find pixel pitch and topology related information
Stop if the clusters are not in the same z-segment
This assumes the ratio is integer!
PS Modules
Get the Stack radius and z and displacements
Scale factor is already present in double mPtScalingFactor = (floor(mMagneticFieldStrength*10.0 + 0.5))/10.0*0.0015/mPtThreshold; hence the formula iis something like displacement < Delta * 1 / sqrt( ( 1/(mPtScalingFactor*R) )** 2 - 1 )
POSITION IN TERMS OF PITCH MULTIPLES: 0 1 2 3 4 5 5 6 8 9 ... COORD: 0 1 2 3 4 5 6 7 8 9 ... OUT | | | | | |x| | | | | | | | | |
IN | | | |x|x| | | | | | | | | | | THIS is 3.5 (COORD) and 4.0 (POS) 1) disp is the difference between average row coordinates in inner and outer stack member, in terms of outer member pitch (in case they are the same, this is just a plain coordinate difference)
In HALF-STRIP units!
In HALF-STRIP units!
2) offset is the projection with a straight line of the innermost hit towards the ourermost stack member, still in terms of outer member pitch NOTE: in terms of coordinates, the center of the module is at NROWS/2-0.5 to be consistent with the definition given above
In HALF-STRIP units!
In HALF-STRIP units!
Accept the stub if the post-offset correction displacement is smaller than the half-window
In HALF-STRIP units!
In HALF-STRIP units!
In HALF-STRIP units!
In HALF-STRIP units!
End of stub is accepted
Definition at line 15 of file TTStubAlgorithm_official.cc.
References funct::abs(), alpha, corr, funct::cos(), delta, TTStub< T >::getClusterRef(), TTStub< T >::getDetId(), PVValHelper::ladder, PixelTopology::ncolumns(), PixelTopology::nrows(), PV3DBase< T, PVType, FrameType >::perp(), TrackerGeometry::Ph2PSP, PixelTopology::pitch(), GeomDet::position(), pfBoostedDoubleSVAK8TagInfos_cfi::R0, particleFlowDisplacedVertex_cfi::ratio, funct::sin(), PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), StripSubdetector::TID, StripSubdetector::TOB, svgfig::window(), PV2DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and Z0.
|
overridevirtual |
Matching operations.
Reimplemented from TTStubAlgorithm< T >.
Referenced by TTStubAlgorithm_official< T >::~TTStubAlgorithm_official().
void TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ >::PatternHitCorrelation | ( | bool & | aConfirmation, |
int & | aDisplacement, | ||
int & | anOffset, | ||
float & | anROffset, | ||
float & | anHardBend, | ||
const TTStub< Ref_Phase2TrackerDigi_ > & | aTTStub | ||
) | const |
Close class.
Implementation of methods
Here, in the header file, the methods which do not depend on the specific type <T> that can fit the template. Other methods, with type-specific features, are implemented in the source file.Matching operations
|
private |
Definition at line 47 of file TTStubAlgorithm_official.h.
|
private |
Definition at line 50 of file TTStubAlgorithm_official.h.
|
private |
Definition at line 45 of file TTStubAlgorithm_official.h.
|
private |
Definition at line 44 of file TTStubAlgorithm_official.h.
|
private |
Definition at line 43 of file TTStubAlgorithm_official.h.
Referenced by ES_TTStubAlgorithm_official< T >::produce().
|
private |
Data members.
Definition at line 42 of file TTStubAlgorithm_official.h.
Referenced by ES_TTStubAlgorithm_official< T >::produce().
|
private |
Definition at line 48 of file TTStubAlgorithm_official.h.
|
private |
Definition at line 49 of file TTStubAlgorithm_official.h.