CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
TTTrack< T > Class Template Reference

Class to store the L1 Track Trigger tracks. More...

#include <TTTrack.h>

Inheritance diagram for TTTrack< T >:
TTTrack_TrackWord

Public Member Functions

void addStubRef (edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > aStub)
 
double chi2 () const
 Chi2. More...
 
double chi2Bend ()
 
double chi2BendRed ()
 
double chi2Red () const
 Chi2 reduced. More...
 
double chi2XY () const
 Chi2XY. More...
 
double chi2XYRed () const
 Chi2XY reduced. More...
 
double chi2Z () const
 Chi2Z. More...
 
double chi2ZRed () const
 Chi2Z reduced. More...
 
double d0 () const
 Track d0. More...
 
double eta () const
 Track eta. More...
 
unsigned int etaSector () const
 Eta Sector. More...
 
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > getStubRefs () const
 Track components. More...
 
unsigned int hitPattern () const
 Hit Pattern. More...
 
double localPhi () const
 Local track phi (within the sector) More...
 
GlobalVector momentum () const
 Track momentum. More...
 
int nFitPars () const
 
double phi () const
 Track phi. More...
 
unsigned int phiSector () const
 Phi Sector. More...
 
GlobalPoint POCA () const
 POCA. More...
 
std::string print (unsigned int i=0) const
 Information. More...
 
double rInv () const
 Track curvature. More...
 
void setBField (double aBField)
 set new Bfield More...
 
void setChi2BendRed (double aChi2BendRed)
 
void setEtaSector (unsigned int aSector)
 
void setFitParNo (unsigned int aFitParNo)
 
void setPhiSector (unsigned int aSector)
 
void setStubPtConsistency (double aPtConsistency)
 StubPtConsistency. More...
 
void setStubRefs (std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > aStubs)
 
void setTrackSeedType (int aSeed)
 
void setTrackWordBits ()
 Set bits in 96-bit Track word. More...
 
void settrkMVA1 (double atrkMVA1)
 
void settrkMVA2 (double atrkMVA2)
 
void settrkMVA3 (double atrkMVA3)
 
double stubPtConsistency () const
 StubPtConsistency. More...
 
double tanL () const
 Track tanL. More...
 
void testTrackWordBits ()
 Test bits in 96-bit Track word. More...
 
unsigned int trackSeedType () const
 Track seeding (for debugging) More...
 
double trkMVA1 () const
 MVA Track quality variables. More...
 
double trkMVA2 () const
 
double trkMVA3 () const
 
 TTTrack ()
 Constructors. More...
 
 TTTrack (double aRinv, double aphi, double aTanLambda, double az0, double ad0, double aChi2, double trkMVA1, double trkMVA2, double trkMVA3, unsigned int aHitpattern, unsigned int nPar, double Bfield)
 Meant to be default constructor. More...
 
 TTTrack (double aRinv, double aphi, double aTanLambda, double az0, double ad0, double aChi2xyfit, double aChi2zfit, double trkMVA1, double trkMVA2, double trkMVA3, unsigned int aHitpattern, unsigned int nPar, double Bfield)
 Second default constructor with split chi2. More...
 
double z0 () const
 Track z0. More...
 
 ~TTTrack ()
 Destructor. More...
 
- Public Member Functions inherited from TTTrack_TrackWord
unsigned int countSetBits (unsigned int n) const
 
unsigned int digitizeSignedValue (double value, unsigned int nBits, double lsb) const
 
double getBendChi2 () const
 
unsigned int getBendChi2Bits () const
 
bendChi2_t getBendChi2Word () const
 
template<typename T >
constexpr unsigned int getBin (double value, const T &bins) const
 
double getChi2RPhi () const
 
unsigned int getChi2RPhiBits () const
 
chi2rphi_t getChi2RPhiWord () const
 
double getChi2RZ () const
 
unsigned int getChi2RZBits () const
 
chi2rz_t getChi2RZWord () const
 
double getD0 () const
 
unsigned int getD0Bits () const
 
d0_t getD0Word () const
 
unsigned int getHitPattern () const
 
unsigned int getHitPatternBits () const
 
hit_t getHitPatternWord () const
 
unsigned int getMVAOther () const
 
unsigned int getMVAOtherBits () const
 
otherMVA_t getMVAOtherWord () const
 
unsigned int getMVAQuality () const
 
unsigned int getMVAQualityBits () const
 
qualityMVA_t getMVAQualityWord () const
 
unsigned int getNStubs () const
 
double getPhi () const
 
unsigned int getPhiBits () const
 
phi_t getPhiWord () const
 
double getRinv () const
 
unsigned int getRinvBits () const
 
rinv_t getRinvWord () const
 
double getTanl () const
 
unsigned int getTanlBits () const
 
tanl_t getTanlWord () const
 
tkword_t getTrackWord () const
 
bool getValid () const
 
unsigned int getValidBits () const
 
valid_t getValidWord () const
 
double getZ0 () const
 
unsigned int getZ0Bits () const
 
z0_t getZ0Word () const
 
TTTrack_TrackWordoperator= (const TTTrack_TrackWord &word)
 
void setTrackWord (unsigned int valid, const GlobalVector &momentum, const GlobalPoint &POCA, double rInv, double chi2RPhi, double chi2RZ, double bendChi2, unsigned int hitPattern, unsigned int mvaQuality, unsigned int mvaOther, unsigned int sector)
 
void setTrackWord (unsigned int valid, unsigned int rInv, unsigned int phi0, unsigned int tanl, unsigned int z0, unsigned int d0, unsigned int chi2RPhi, unsigned int chi2RZ, unsigned int bendChi2, unsigned int hitPattern, unsigned int mvaQuality, unsigned int mvaOther)
 
void setTrackWord (ap_uint< TrackBitWidths::kValidSize > valid, ap_uint< TrackBitWidths::kRinvSize > rInv, ap_uint< TrackBitWidths::kPhiSize > phi0, ap_uint< TrackBitWidths::kTanlSize > tanl, ap_uint< TrackBitWidths::kZ0Size > z0, ap_uint< TrackBitWidths::kD0Size > d0, ap_uint< TrackBitWidths::kChi2RPhiSize > chi2RPhi, ap_uint< TrackBitWidths::kChi2RZSize > chi2RZ, ap_uint< TrackBitWidths::kBendChi2Size > bendChi2, ap_uint< TrackBitWidths::kHitPatternSize > hitPattern, ap_uint< TrackBitWidths::kMVAQualitySize > mvaQuality, ap_uint< TrackBitWidths::kMVAOtherSize > mvaOther)
 
bool singleDigitizationSchemeTest (const double floatingPointValue, const unsigned int nBits, const double lsb) const
 
void testDigitizationScheme () const
 
 TTTrack_TrackWord ()
 
 TTTrack_TrackWord (unsigned int valid, const GlobalVector &momentum, const GlobalPoint &POCA, double rInv, double chi2RPhi, double chi2RZ, double bendChi2, unsigned int hitPattern, unsigned int mvaQuality, unsigned int mvaOther, unsigned int sector)
 
 TTTrack_TrackWord (unsigned int valid, unsigned int rInv, unsigned int phi0, unsigned int tanl, unsigned int z0, unsigned int d0, unsigned int chi2RPhi, unsigned int chi2RZ, unsigned int bendChi2, unsigned int hitPattern, unsigned int mvaQuality, unsigned int mvaOther)
 
 TTTrack_TrackWord (const TTTrack_TrackWord &word)
 
double undigitizeSignedValue (unsigned int twosValue, unsigned int nBits, double lsb, double offset=0.5) const
 

Private Attributes

double theBField_
 
double theChi2_
 
double theChi2_XY_
 
double theChi2_Z_
 
double theD0_
 
unsigned int theEtaSector_
 
unsigned int theHitPattern_
 
GlobalVector theMomentum_
 
unsigned int theNumFitPars_
 
double thePhi_
 
unsigned int thePhiSector_
 
GlobalPoint thePOCA_
 
double theRInv_
 
double theStubPtConsistency_
 
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
 Data members. More...
 
double theTanL_
 
int theTrackSeedType_
 
double theTrkMVA1_
 
double theTrkMVA2_
 
double theTrkMVA3_
 
double theZ0_
 

Static Private Attributes

static constexpr float MagConstant
 
static constexpr unsigned int Npars4 = 4
 
static constexpr unsigned int Npars5 = 5
 

Additional Inherited Members

- Public Types inherited from TTTrack_TrackWord
typedef ap_uint< TrackBitWidths::kBendChi2Size > bendChi2_t
 
typedef ap_uint< TrackBitWidths::kChi2RPhiSize > chi2rphi_t
 
typedef ap_uint< TrackBitWidths::kChi2RZSize > chi2rz_t
 
typedef ap_uint< TrackBitWidths::kD0Size > d0_t
 
typedef ap_uint< TrackBitWidths::kHitPatternSize > hit_t
 
typedef ap_uint< TrackBitWidths::kMVAOtherSize > otherMVA_t
 
typedef ap_uint< TrackBitWidths::kPhiSize > phi_t
 
typedef ap_uint< TrackBitWidths::kMVAQualitySize > qualityMVA_t
 
typedef ap_uint< TrackBitWidths::kRinvSize > rinv_t
 
typedef ap_uint< TrackBitWidths::kTanlSize > tanl_t
 
typedef std::bitset< TrackBitWidths::kTrackWordSize > tkword_bs_t
 
typedef ap_uint< TrackBitWidths::kTrackWordSize > tkword_t
 
enum  TrackBitLocations {
  kMVAOtherLSB = 0, kMVAOtherMSB = kMVAOtherLSB + TrackBitWidths::kMVAOtherSize - 1, kMVAQualityLSB = kMVAOtherMSB + 1, kMVAQualityMSB = kMVAQualityLSB + TrackBitWidths::kMVAQualitySize - 1,
  kHitPatternLSB = kMVAQualityMSB + 1, kHitPatternMSB = kHitPatternLSB + TrackBitWidths::kHitPatternSize - 1, kBendChi2LSB = kHitPatternMSB + 1, kBendChi2MSB = kBendChi2LSB + TrackBitWidths::kBendChi2Size - 1,
  kD0LSB = kBendChi2MSB + 1, kD0MSB = kD0LSB + TrackBitWidths::kD0Size - 1, kChi2RZLSB = kD0MSB + 1, kChi2RZMSB = kChi2RZLSB + TrackBitWidths::kChi2RZSize - 1,
  kZ0LSB = kChi2RZMSB + 1, kZ0MSB = kZ0LSB + TrackBitWidths::kZ0Size - 1, kTanlLSB = kZ0MSB + 1, kTanlMSB = kTanlLSB + TrackBitWidths::kTanlSize - 1,
  kChi2RPhiLSB = kTanlMSB + 1, kChi2RPhiMSB = kChi2RPhiLSB + TrackBitWidths::kChi2RPhiSize - 1, kPhiLSB = kChi2RPhiMSB + 1, kPhiMSB = kPhiLSB + TrackBitWidths::kPhiSize - 1,
  kRinvLSB = kPhiMSB + 1, kRinvMSB = kRinvLSB + TrackBitWidths::kRinvSize - 1, kValidLSB = kRinvMSB + 1, kValidMSB = kValidLSB + TrackBitWidths::kValidSize - 1
}
 
enum  TrackBitWidths {
  kMVAOtherSize = 6, kMVAQualitySize = 3, kHitPatternSize = 7, kBendChi2Size = 3,
  kD0Size = 13, kChi2RZSize = 4, kZ0Size = 12, kTanlSize = 16,
  kChi2RPhiSize = 4, kPhiSize = 12, kRinvSize = 15, kValidSize = 1,
  kTrackWordSize
}
 
typedef ap_uint< TrackBitWidths::kValidSize > valid_t
 
typedef ap_uint< TrackBitWidths::kZ0Size > z0_t
 
- Public Attributes inherited from TTTrack_TrackWord
tkword_bs_t trackWord_
 
- Static Public Attributes inherited from TTTrack_TrackWord
static constexpr std::array< double, 1<< TrackBitWidths::kBendChi2Size > bendChi2Bins
 
static constexpr std::array< double, 1<< TrackBitWidths::kChi2RPhiSize > chi2RPhiBins
 
static constexpr std::array< double, 1<< TrackBitWidths::kChi2RZSize > chi2RZBins
 
static constexpr double minD0 = -16.
 
static constexpr double minPhi0 = -0.7853981696
 
static constexpr double minRinv = -0.006
 
static constexpr double minTanl = -8.
 
static constexpr double minZ0 = -20.46912512
 
static constexpr unsigned int nSectors = 9
 
static constexpr double sectorWidth = (2. * M_PI) / nSectors
 
static constexpr double stepD0 = (1. / (1 << 8))
 
static constexpr double stepPhi0 = (2. * std::abs(minPhi0)) / (1 << TrackBitWidths::kPhiSize)
 
static constexpr double stepRinv = (2. * std::abs(minRinv)) / (1 << TrackBitWidths::kRinvSize)
 
static constexpr double stepTanL = (1. / (1 << 12))
 
static constexpr double stepZ0 = (2. * std::abs(minZ0)) / (1 << TrackBitWidths::kZ0Size)
 
- Protected Member Functions inherited from TTTrack_TrackWord
float localPhi (float globalPhi, unsigned int sector) const
 

Detailed Description

template<typename T>
class TTTrack< T >

Class to store the L1 Track Trigger tracks.

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.

Author
Nicola Pozzobon
Date
2013, Jul 12

Definition at line 29 of file TTTrack.h.

Constructor & Destructor Documentation

◆ TTTrack() [1/3]

template<typename T >
TTTrack< T >::TTTrack ( )

Constructors.

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.Default Constructor

Definition at line 189 of file TTTrack.h.

189  {
190  theStubRefs.clear();
191  theMomentum_ = GlobalVector(0.0, 0.0, 0.0);
192  theRInv_ = 0.0;
193  thePOCA_ = GlobalPoint(0.0, 0.0, 0.0);
194  theD0_ = 0.;
195  theZ0_ = 0.;
196  theTanL_ = 0;
197  thePhi_ = 0;
198  theTrkMVA1_ = 0;
199  theTrkMVA2_ = 0;
200  theTrkMVA3_ = 0;
201  thePhiSector_ = 0;
202  theEtaSector_ = 0;
203  theTrackSeedType_ = 0;
204  theChi2_ = 0.0;
205  theChi2_XY_ = 0.0;
206  theChi2_Z_ = 0.0;
207  theStubPtConsistency_ = 0.0;
208  theNumFitPars_ = 0;
209 }
unsigned int thePhiSector_
Definition: TTTrack.h:40
double theStubPtConsistency_
Definition: TTTrack.h:42
double theTrkMVA2_
Definition: TTTrack.h:49
double thePhi_
Definition: TTTrack.h:36
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
double theTanL_
Definition: TTTrack.h:37
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
int theTrackSeedType_
Definition: TTTrack.h:51
double theRInv_
Definition: TTTrack.h:35
double theD0_
Definition: TTTrack.h:38
GlobalVector theMomentum_
Definition: TTTrack.h:33
unsigned int theEtaSector_
Definition: TTTrack.h:41
unsigned int theNumFitPars_
Definition: TTTrack.h:46
double theZ0_
Definition: TTTrack.h:39
GlobalPoint thePOCA_
Definition: TTTrack.h:34
double theChi2_
Definition: TTTrack.h:43
double theTrkMVA3_
Definition: TTTrack.h:50
double theChi2_Z_
Definition: TTTrack.h:45
double theTrkMVA1_
Definition: TTTrack.h:48
Global3DVector GlobalVector
Definition: GlobalVector.h:10
double theChi2_XY_
Definition: TTTrack.h:44

◆ TTTrack() [2/3]

template<typename T >
TTTrack< T >::TTTrack ( double  aRinv,
double  aphi,
double  aTanLambda,
double  az0,
double  ad0,
double  aChi2,
double  trkMVA1,
double  trkMVA2,
double  trkMVA3,
unsigned int  aHitpattern,
unsigned int  nPar,
double  Bfield 
)

Meant to be default constructor.

Definition at line 213 of file TTTrack.h.

References funct::abs(), funct::cos(), HcalResponse_cfi::nPar, and funct::sin().

224  {
225  theStubRefs.clear();
226  double thePT = std::abs(MagConstant / aRinv * aBfield / 100.0); // Rinv is in cm-1
227  theMomentum_ = GlobalVector(GlobalVector::Cylindrical(thePT, aphi0, thePT * aTanlambda));
228  theRInv_ = aRinv;
229  thePOCA_ = GlobalPoint(ad0 * sin(aphi0), -ad0 * cos(aphi0), az0);
230  theD0_ = ad0;
231  theZ0_ = az0;
232  thePhi_ = aphi0;
233  theTanL_ = aTanlambda;
234  thePhiSector_ = 0; // must be set externally
235  theEtaSector_ = 0; // must be set externally
236  theTrackSeedType_ = 0; // must be set externally
237  theChi2_ = aChi2;
241  theStubPtConsistency_ = 0.0; // must be set externally
243  theHitPattern_ = aHitPattern;
244  theBField_ = aBfield;
245  theChi2_XY_ = -999.;
246  theChi2_Z_ = -999.;
247 }
unsigned int thePhiSector_
Definition: TTTrack.h:40
double theStubPtConsistency_
Definition: TTTrack.h:42
double theTrkMVA2_
Definition: TTTrack.h:49
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
double trkMVA1() const
MVA Track quality variables.
Definition: TTTrack.h:376
double thePhi_
Definition: TTTrack.h:36
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
double theTanL_
Definition: TTTrack.h:37
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
int theTrackSeedType_
Definition: TTTrack.h:51
double theRInv_
Definition: TTTrack.h:35
unsigned int theHitPattern_
Definition: TTTrack.h:47
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
double theD0_
Definition: TTTrack.h:38
double theBField_
Definition: TTTrack.h:52
GlobalVector theMomentum_
Definition: TTTrack.h:33
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double trkMVA3() const
Definition: TTTrack.h:398
unsigned int theEtaSector_
Definition: TTTrack.h:41
static constexpr float MagConstant
Definition: TTTrack.h:55
unsigned int theNumFitPars_
Definition: TTTrack.h:46
double theZ0_
Definition: TTTrack.h:39
double trkMVA2() const
Definition: TTTrack.h:387
GlobalPoint thePOCA_
Definition: TTTrack.h:34
double theChi2_
Definition: TTTrack.h:43
double theTrkMVA3_
Definition: TTTrack.h:50
double theChi2_Z_
Definition: TTTrack.h:45
double theTrkMVA1_
Definition: TTTrack.h:48
Global3DVector GlobalVector
Definition: GlobalVector.h:10
double theChi2_XY_
Definition: TTTrack.h:44

◆ TTTrack() [3/3]

template<typename T >
TTTrack< T >::TTTrack ( double  aRinv,
double  aphi,
double  aTanLambda,
double  az0,
double  ad0,
double  aChi2xyfit,
double  aChi2zfit,
double  trkMVA1,
double  trkMVA2,
double  trkMVA3,
unsigned int  aHitpattern,
unsigned int  nPar,
double  Bfield 
)

Second default constructor with split chi2.

Definition at line 251 of file TTTrack.h.

References TTTrack< T >::theChi2_XY_, and TTTrack< T >::theChi2_Z_.

264  : TTTrack(aRinv,
265  aphi0,
266  aTanlambda,
267  az0,
268  ad0,
269  aChi2XY + aChi2Z, // add chi2 values
270  trkMVA1,
271  trkMVA2,
272  trkMVA3,
273  aHitPattern,
274  nPar,
275  aBfield) {
276  this->theChi2_XY_ = aChi2XY;
277  this->theChi2_Z_ = aChi2Z;
278 }
double trkMVA1() const
MVA Track quality variables.
Definition: TTTrack.h:376
TTTrack()
Constructors.
Definition: TTTrack.h:189
double trkMVA3() const
Definition: TTTrack.h:398
double trkMVA2() const
Definition: TTTrack.h:387
double theChi2_Z_
Definition: TTTrack.h:45
double theChi2_XY_
Definition: TTTrack.h:44

◆ ~TTTrack()

template<typename T >
TTTrack< T >::~TTTrack ( )

Destructor.

Definition at line 282 of file TTTrack.h.

282 {}

Member Function Documentation

◆ addStubRef()

template<typename T>
void TTTrack< T >::addStubRef ( edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > >  aStub)
inline

Definition at line 94 of file TTTrack.h.

References TTTrack< T >::theStubRefs.

94 { theStubRefs.push_back(aStub); }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32

◆ chi2()

template<typename T >
double TTTrack< T >::chi2 ( void  ) const

Chi2.

Definition at line 341 of file TTTrack.h.

Referenced by L1TrackQuality::setL1TrackQuality().

341  {
342  return theChi2_;
343 }
double theChi2_
Definition: TTTrack.h:43

◆ chi2Bend()

template<typename T>
double TTTrack< T >::chi2Bend ( )
inline

Definition at line 161 of file TTTrack.h.

References TTTrack< T >::chi2BendRed(), and TTTrack< T >::theStubRefs.

161 { return chi2BendRed() * theStubRefs.size(); }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
double chi2BendRed()
Definition: TTTrack.h:159

◆ chi2BendRed()

template<typename T>
double TTTrack< T >::chi2BendRed ( )
inline

Definition at line 159 of file TTTrack.h.

References TTTrack< T >::stubPtConsistency().

Referenced by TTTrack< T >::chi2Bend().

159 { return stubPtConsistency(); }
double stubPtConsistency() const
StubPtConsistency.
Definition: TTTrack.h:417

◆ chi2Red()

template<typename T >
double TTTrack< T >::chi2Red ( ) const

Chi2 reduced.

Definition at line 359 of file TTTrack.h.

359  {
360  return theChi2_ / (2 * theStubRefs.size() - theNumFitPars_);
361 }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
unsigned int theNumFitPars_
Definition: TTTrack.h:46
double theChi2_
Definition: TTTrack.h:43

◆ chi2XY()

template<typename T >
double TTTrack< T >::chi2XY ( ) const

Chi2XY.

Definition at line 353 of file TTTrack.h.

353  {
354  return theChi2_XY_;
355 }
double theChi2_XY_
Definition: TTTrack.h:44

◆ chi2XYRed()

template<typename T >
double TTTrack< T >::chi2XYRed ( ) const

Chi2XY reduced.

Definition at line 365 of file TTTrack.h.

365  {
366  return theChi2_XY_ / (theStubRefs.size() - (theNumFitPars_ - 2));
367 }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
unsigned int theNumFitPars_
Definition: TTTrack.h:46
double theChi2_XY_
Definition: TTTrack.h:44

◆ chi2Z()

template<typename T >
double TTTrack< T >::chi2Z ( ) const

Chi2Z.

Definition at line 347 of file TTTrack.h.

347  {
348  return theChi2_Z_;
349 }
double theChi2_Z_
Definition: TTTrack.h:45

◆ chi2ZRed()

template<typename T >
double TTTrack< T >::chi2ZRed ( ) const

Chi2Z reduced.

Definition at line 371 of file TTTrack.h.

371  {
372  return theChi2_Z_ / (theStubRefs.size() - 2.);
373 }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
double theChi2_Z_
Definition: TTTrack.h:45

◆ d0()

template<typename T >
double TTTrack< T >::d0 ( ) const

Track d0.

Definition at line 325 of file TTTrack.h.

325  {
326  return theD0_;
327 }
double theD0_
Definition: TTTrack.h:38

◆ eta()

template<typename T >
double TTTrack< T >::eta ( ) const

Track eta.

Definition at line 310 of file TTTrack.h.

Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), L1TrackQuality::featureTransform(), Jet.Jet::jetID(), datamodel.Object::p4(), and Jet.Jet::puJetId().

310  {
311  return theMomentum_.eta();
312 }
T eta() const
Definition: PV3DBase.h:73
GlobalVector theMomentum_
Definition: TTTrack.h:33

◆ etaSector()

template<typename T>
unsigned int TTTrack< T >::etaSector ( ) const
inline

Eta Sector.

Definition at line 139 of file TTTrack.h.

References TTTrack< T >::theEtaSector_.

139 { return theEtaSector_; }
unsigned int theEtaSector_
Definition: TTTrack.h:41

◆ getStubRefs()

template<typename T>
std::vector<edm::Ref<edmNew::DetSetVector<TTStub<T> >, TTStub<T> > > TTTrack< T >::getStubRefs ( ) const
inline

Track components.

Definition at line 93 of file TTTrack.h.

References TTTrack< T >::theStubRefs.

Referenced by L1TrackQuality::featureTransform(), StubPtConsistency::getConsistency(), and L1TrackQuality::setL1TrackQuality().

93 { return theStubRefs; }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32

◆ hitPattern()

template<typename T >
unsigned int TTTrack< T >::hitPattern ( ) const

Hit Pattern.

Definition at line 423 of file TTTrack.h.

Referenced by L1TrackQuality::featureTransform().

423  {
424  return theHitPattern_;
425 }
unsigned int theHitPattern_
Definition: TTTrack.h:47

◆ localPhi()

template<typename T >
double TTTrack< T >::localPhi ( ) const

Local track phi (within the sector)

Definition at line 320 of file TTTrack.h.

References TTTrack_TrackWord::localPhi().

320  {
322 }
unsigned int thePhiSector_
Definition: TTTrack.h:40
double thePhi_
Definition: TTTrack.h:36
float localPhi(float globalPhi, unsigned int sector) const

◆ momentum()

template<typename T >
GlobalVector TTTrack< T >::momentum ( ) const

◆ nFitPars()

template<typename T>
int TTTrack< T >::nFitPars ( ) const
inline

Definition at line 164 of file TTTrack.h.

References TTTrack< T >::theNumFitPars_.

164 { return theNumFitPars_; }
unsigned int theNumFitPars_
Definition: TTTrack.h:46

◆ phi()

template<typename T >
double TTTrack< T >::phi ( ) const

◆ phiSector()

template<typename T>
unsigned int TTTrack< T >::phiSector ( ) const
inline

Phi Sector.

Definition at line 135 of file TTTrack.h.

References TTTrack< T >::thePhiSector_.

135 { return thePhiSector_; }
unsigned int thePhiSector_
Definition: TTTrack.h:40

◆ POCA()

template<typename T >
GlobalPoint TTTrack< T >::POCA ( ) const

POCA.

Definition at line 335 of file TTTrack.h.

Referenced by l1t::TkPhiCandidate::dxyTrkPair(), SeedMvaEstimatorPhase2::getTsosOnPixels(), and trajectoryStateTransform::initialFreeStateL1TTrack().

335  {
336  return thePOCA_;
337 }
GlobalPoint thePOCA_
Definition: TTTrack.h:34

◆ print()

template<typename T >
std::string TTTrack< T >::print ( unsigned int  i = 0) const

Information.

Definition at line 501 of file TTTrack.h.

References mps_fire::i, dqmiolumiharvest::j, convertSQLitetoXML_cfg::output, nano_mu_digi_cff::rawId, and AlCaHLTBitMon_QueryRunRegistry::string.

501  {
502  std::string padding("");
503  for (unsigned int j = 0; j != i; ++j) {
504  padding += "\t";
505  }
506 
507  std::stringstream output;
508  output << padding << "TTTrack:\n";
509  padding += '\t';
510  output << '\n';
511  unsigned int iStub = 0;
512 
513  typename std::vector<edm::Ref<edmNew::DetSetVector<TTStub<T> >, TTStub<T> > >::const_iterator stubIter;
514  for (stubIter = theStubRefs.begin(); stubIter != theStubRefs.end(); ++stubIter) {
515  output << padding << "stub: " << iStub++ << ", DetId: " << ((*stubIter)->getDetId()).rawId() << '\n';
516  }
517 
518  return output.str();
519 }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
Definition: output.py:1

◆ rInv()

template<typename T >
double TTTrack< T >::rInv ( ) const

Track curvature.

Definition at line 300 of file TTTrack.h.

Referenced by StubPtConsistency::getConsistency(), SeedMvaEstimatorPhase2::getTsosOnPixels(), and trajectoryStateTransform::initialFreeStateL1TTrack().

300  {
301  return theRInv_;
302 }
double theRInv_
Definition: TTTrack.h:35

◆ setBField()

template<typename T >
void TTTrack< T >::setBField ( double  aBField)

set new Bfield

set B field if need be

Definition at line 429 of file TTTrack.h.

References funct::abs().

429  {
430  // if, for some reason, we want to change the value of the B-Field, recompute pT and momentum:
431  double thePT = std::abs(MagConstant / theRInv_ * aBField / 100.0); // Rinv is in cm-1
433 
434  return;
435 }
double thePhi_
Definition: TTTrack.h:36
double theTanL_
Definition: TTTrack.h:37
double theRInv_
Definition: TTTrack.h:35
GlobalVector theMomentum_
Definition: TTTrack.h:33
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static constexpr float MagConstant
Definition: TTTrack.h:55
Global3DVector GlobalVector
Definition: GlobalVector.h:10

◆ setChi2BendRed()

template<typename T>
void TTTrack< T >::setChi2BendRed ( double  aChi2BendRed)
inline

Definition at line 160 of file TTTrack.h.

References TTTrack< T >::setStubPtConsistency().

160 { setStubPtConsistency(aChi2BendRed); }
void setStubPtConsistency(double aPtConsistency)
StubPtConsistency.
Definition: TTTrack.h:410

◆ setEtaSector()

template<typename T>
void TTTrack< T >::setEtaSector ( unsigned int  aSector)
inline

Definition at line 140 of file TTTrack.h.

References TTTrack< T >::theEtaSector_.

140 { theEtaSector_ = aSector; }
unsigned int theEtaSector_
Definition: TTTrack.h:41

◆ setFitParNo()

template<typename T >
void TTTrack< T >::setFitParNo ( unsigned int  aFitParNo)

Definition at line 285 of file TTTrack.h.

References HcalResponse_cfi::nPar.

285  {
287 
288  return;
289 }
unsigned int theNumFitPars_
Definition: TTTrack.h:46

◆ setPhiSector()

template<typename T>
void TTTrack< T >::setPhiSector ( unsigned int  aSector)
inline

Definition at line 136 of file TTTrack.h.

References TTTrack< T >::thePhiSector_.

136 { thePhiSector_ = aSector; }
unsigned int thePhiSector_
Definition: TTTrack.h:40

◆ setStubPtConsistency()

template<typename T >
void TTTrack< T >::setStubPtConsistency ( double  aPtConsistency)

StubPtConsistency.

Definition at line 410 of file TTTrack.h.

Referenced by TTTrack< T >::setChi2BendRed().

410  {
411  theStubPtConsistency_ = aStubPtConsistency;
412  return;
413 }
double theStubPtConsistency_
Definition: TTTrack.h:42

◆ setStubRefs()

template<typename T>
void TTTrack< T >::setStubRefs ( std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > >  aStubs)
inline

Definition at line 95 of file TTTrack.h.

References TTTrack< T >::theStubRefs.

95  {
96  theStubRefs = aStubs;
97  }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32

◆ setTrackSeedType()

template<typename T>
void TTTrack< T >::setTrackSeedType ( int  aSeed)
inline

Definition at line 144 of file TTTrack.h.

References TTTrack< T >::theTrackSeedType_.

Referenced by trackerTFP::TrackKF::ttTrack().

144 { theTrackSeedType_ = aSeed; }
int theTrackSeedType_
Definition: TTTrack.h:51

◆ setTrackWordBits()

template<typename T >
void TTTrack< T >::setTrackWordBits ( )

Set bits in 96-bit Track word.

Definition at line 439 of file TTTrack.h.

References tttrack::errorSetTrackWordBits(), and validateGeometry_cfg::valid.

Referenced by l1tpf::PFTrackProducerFromL1Tracks::produce().

439  {
440  if (!(theNumFitPars_ == Npars4 || theNumFitPars_ == Npars5)) {
442  return;
443  }
444 
445  unsigned int valid = true;
446  unsigned int mvaQuality = 0;
447  unsigned int mvaOther = 0;
448 
449  // missing conversion of global phi to difference from sector center phi
450 
451  if (theChi2_Z_ < 0) {
453  theMomentum_,
454  thePOCA_,
455  theRInv_,
456  theChi2_,
457  0,
460  mvaQuality,
461  mvaOther,
462  thePhiSector_);
463  } else {
465  theMomentum_,
466  thePOCA_,
467  theRInv_,
468  chi2XYRed(),
469  chi2ZRed(),
470  chi2BendRed(),
472  mvaQuality,
473  mvaOther,
474  thePhiSector_);
475  }
476  return;
477 }
unsigned int thePhiSector_
Definition: TTTrack.h:40
double theStubPtConsistency_
Definition: TTTrack.h:42
void errorSetTrackWordBits(unsigned int)
Definition: TTTrack.cc:4
double theRInv_
Definition: TTTrack.h:35
unsigned int theHitPattern_
Definition: TTTrack.h:47
double chi2ZRed() const
Chi2Z reduced.
Definition: TTTrack.h:371
void setTrackWord(unsigned int valid, const GlobalVector &momentum, const GlobalPoint &POCA, double rInv, double chi2RPhi, double chi2RZ, double bendChi2, unsigned int hitPattern, unsigned int mvaQuality, unsigned int mvaOther, unsigned int sector)
GlobalVector theMomentum_
Definition: TTTrack.h:33
double chi2BendRed()
Definition: TTTrack.h:159
static constexpr unsigned int Npars4
Definition: TTTrack.h:53
unsigned int theNumFitPars_
Definition: TTTrack.h:46
static constexpr unsigned int Npars5
Definition: TTTrack.h:54
GlobalPoint thePOCA_
Definition: TTTrack.h:34
double chi2XYRed() const
Chi2XY reduced.
Definition: TTTrack.h:365
double theChi2_
Definition: TTTrack.h:43
double theChi2_Z_
Definition: TTTrack.h:45

◆ settrkMVA1()

template<typename T >
void TTTrack< T >::settrkMVA1 ( double  atrkMVA1)

Definition at line 381 of file TTTrack.h.

Referenced by L1TrackQuality::setL1TrackQuality().

381  {
382  theTrkMVA1_ = atrkMVA1;
383  return;
384 }
double theTrkMVA1_
Definition: TTTrack.h:48

◆ settrkMVA2()

template<typename T >
void TTTrack< T >::settrkMVA2 ( double  atrkMVA2)

Definition at line 392 of file TTTrack.h.

392  {
393  theTrkMVA2_ = atrkMVA2;
394  return;
395 }
double theTrkMVA2_
Definition: TTTrack.h:49

◆ settrkMVA3()

template<typename T >
void TTTrack< T >::settrkMVA3 ( double  atrkMVA3)

Definition at line 403 of file TTTrack.h.

403  {
404  theTrkMVA3_ = atrkMVA3;
405  return;
406 }
double theTrkMVA3_
Definition: TTTrack.h:50

◆ stubPtConsistency()

template<typename T >
double TTTrack< T >::stubPtConsistency ( ) const

StubPtConsistency.

Stub Pt consistency (i.e. stub bend chi2/dof) Note: The "stubPtConsistency" names are historic and people are encouraged to adopt the "chi2Bend" names.

Definition at line 417 of file TTTrack.h.

Referenced by TTTrack< T >::chi2BendRed(), and L1TrackQuality::setL1TrackQuality().

417  {
418  return theStubPtConsistency_;
419 }
double theStubPtConsistency_
Definition: TTTrack.h:42

◆ tanL()

template<typename T >
double TTTrack< T >::tanL ( ) const

Track tanL.

Definition at line 305 of file TTTrack.h.

Referenced by L1TrackQuality::featureTransform().

305  {
306  return theTanL_;
307 }
double theTanL_
Definition: TTTrack.h:37

◆ testTrackWordBits()

template<typename T >
void TTTrack< T >::testTrackWordBits ( )

Test bits in 96-bit Track word.

Definition at line 481 of file TTTrack.h.

481  {
482  // float rPhi = theMomentum_.phi(); // this needs to be phi relative to center of sector ****
483  //float rEta = theMomentum_.eta();
484  //float rZ0 = thePOCA_.z();
485  //float rD0 = thePOCA_.perp();
486 
487  //this is meant for debugging only.
488 
489  //std::cout << " phi " << rPhi << " " << get_iphi() << std::endl;
490  //std::cout << " eta " << rEta << " " << get_ieta() << std::endl;
491  //std::cout << " Z0 " << rZ0 << " " << get_iz0() << std::endl;
492  //std::cout << " D0 " << rD0 << " " << get_id0() << std::endl;
493  //std::cout << " Rinv " << theRInv_ << " " << get_iRinv() << std::endl;
494  //std::cout << " chi2 " << theChi2_ << " " << get_ichi2() << std::endl;
495 
496  return;
497 }

◆ trackSeedType()

template<typename T>
unsigned int TTTrack< T >::trackSeedType ( ) const
inline

Track seeding (for debugging)

Definition at line 143 of file TTTrack.h.

References TTTrack< T >::theTrackSeedType_.

143 { return theTrackSeedType_; }
int theTrackSeedType_
Definition: TTTrack.h:51

◆ trkMVA1()

template<typename T >
double TTTrack< T >::trkMVA1 ( ) const

MVA Track quality variables.

Definition at line 376 of file TTTrack.h.

376  {
377  return theTrkMVA1_;
378 }
double theTrkMVA1_
Definition: TTTrack.h:48

◆ trkMVA2()

template<typename T >
double TTTrack< T >::trkMVA2 ( ) const

Definition at line 387 of file TTTrack.h.

387  {
388  return theTrkMVA2_;
389 }
double theTrkMVA2_
Definition: TTTrack.h:49

◆ trkMVA3()

template<typename T >
double TTTrack< T >::trkMVA3 ( ) const

Definition at line 398 of file TTTrack.h.

398  {
399  return theTrkMVA3_;
400 }
double theTrkMVA3_
Definition: TTTrack.h:50

◆ z0()

template<typename T >
double TTTrack< T >::z0 ( ) const

Member Data Documentation

◆ MagConstant

template<typename T>
constexpr float TTTrack< T >::MagConstant
staticprivate
Initial value:
=
CLHEP::c_light / 1.0E3

Definition at line 55 of file TTTrack.h.

◆ Npars4

template<typename T>
constexpr unsigned int TTTrack< T >::Npars4 = 4
staticprivate

Definition at line 53 of file TTTrack.h.

◆ Npars5

template<typename T>
constexpr unsigned int TTTrack< T >::Npars5 = 5
staticprivate

Definition at line 54 of file TTTrack.h.

◆ theBField_

template<typename T>
double TTTrack< T >::theBField_
private

Definition at line 52 of file TTTrack.h.

◆ theChi2_

template<typename T>
double TTTrack< T >::theChi2_
private

Definition at line 43 of file TTTrack.h.

◆ theChi2_XY_

template<typename T>
double TTTrack< T >::theChi2_XY_
private

Definition at line 44 of file TTTrack.h.

Referenced by TTTrack< T >::TTTrack().

◆ theChi2_Z_

template<typename T>
double TTTrack< T >::theChi2_Z_
private

Definition at line 45 of file TTTrack.h.

Referenced by TTTrack< T >::TTTrack().

◆ theD0_

template<typename T>
double TTTrack< T >::theD0_
private

Definition at line 38 of file TTTrack.h.

◆ theEtaSector_

template<typename T>
unsigned int TTTrack< T >::theEtaSector_
private

Definition at line 41 of file TTTrack.h.

Referenced by TTTrack< T >::etaSector(), and TTTrack< T >::setEtaSector().

◆ theHitPattern_

template<typename T>
unsigned int TTTrack< T >::theHitPattern_
private

Definition at line 47 of file TTTrack.h.

◆ theMomentum_

template<typename T>
GlobalVector TTTrack< T >::theMomentum_
private

Definition at line 33 of file TTTrack.h.

◆ theNumFitPars_

template<typename T>
unsigned int TTTrack< T >::theNumFitPars_
private

Definition at line 46 of file TTTrack.h.

Referenced by TTTrack< T >::nFitPars().

◆ thePhi_

template<typename T>
double TTTrack< T >::thePhi_
private

Definition at line 36 of file TTTrack.h.

◆ thePhiSector_

template<typename T>
unsigned int TTTrack< T >::thePhiSector_
private

Definition at line 40 of file TTTrack.h.

Referenced by TTTrack< T >::phiSector(), and TTTrack< T >::setPhiSector().

◆ thePOCA_

template<typename T>
GlobalPoint TTTrack< T >::thePOCA_
private

Definition at line 34 of file TTTrack.h.

◆ theRInv_

template<typename T>
double TTTrack< T >::theRInv_
private

Definition at line 35 of file TTTrack.h.

◆ theStubPtConsistency_

template<typename T>
double TTTrack< T >::theStubPtConsistency_
private

Definition at line 42 of file TTTrack.h.

◆ theStubRefs

template<typename T>
std::vector<edm::Ref<edmNew::DetSetVector<TTStub<T> >, TTStub<T> > > TTTrack< T >::theStubRefs
private

◆ theTanL_

template<typename T>
double TTTrack< T >::theTanL_
private

Definition at line 37 of file TTTrack.h.

◆ theTrackSeedType_

template<typename T>
int TTTrack< T >::theTrackSeedType_
private

Definition at line 51 of file TTTrack.h.

Referenced by TTTrack< T >::setTrackSeedType(), and TTTrack< T >::trackSeedType().

◆ theTrkMVA1_

template<typename T>
double TTTrack< T >::theTrkMVA1_
private

Definition at line 48 of file TTTrack.h.

◆ theTrkMVA2_

template<typename T>
double TTTrack< T >::theTrkMVA2_
private

Definition at line 49 of file TTTrack.h.

◆ theTrkMVA3_

template<typename T>
double TTTrack< T >::theTrkMVA3_
private

Definition at line 50 of file TTTrack.h.

◆ theZ0_

template<typename T>
double TTTrack< T >::theZ0_
private

Definition at line 39 of file TTTrack.h.