CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
double getBendChi2 () const
 
unsigned int getBendChi2Bits () const
 
bendChi2_t getBendChi2Word () 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
 
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)
 

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
 
- 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

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
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(), 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
242  theNumFitPars_ = nPar;
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 trkMVA3() const
Definition: TTTrack.h:398
double theTrkMVA2_
Definition: TTTrack.h:49
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
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
double trkMVA2() const
Definition: TTTrack.h:387
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
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
GlobalPoint thePOCA_
Definition: TTTrack.h:34
double trkMVA1() const
MVA Track quality variables.
Definition: TTTrack.h:376
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
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 trkMVA3() const
Definition: TTTrack.h:398
TTTrack()
Constructors.
Definition: TTTrack.h:189
double trkMVA2() const
Definition: TTTrack.h:387
double trkMVA1() const
MVA Track quality variables.
Definition: TTTrack.h:376
double theChi2_Z_
Definition: TTTrack.h:45
double theChi2_XY_
Definition: TTTrack.h:44
template<typename T >
TTTrack< T >::~TTTrack ( )

Destructor.

Definition at line 282 of file TTTrack.h.

282 {}

Member Function Documentation

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
template<typename T >
double TTTrack< T >::chi2 ( void  ) const

Chi2.

Definition at line 341 of file TTTrack.h.

Referenced by TrackQuality::featureTransform(), and TrackQuality::setTrackQuality().

341  {
342  return theChi2_;
343 }
double theChi2_
Definition: TTTrack.h:43
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
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
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
template<typename T >
double TTTrack< T >::chi2XY ( ) const

Chi2XY.

Definition at line 353 of file TTTrack.h.

Referenced by TrackQuality::featureTransform().

353  {
354  return theChi2_XY_;
355 }
double theChi2_XY_
Definition: TTTrack.h:44
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
template<typename T >
double TTTrack< T >::chi2Z ( ) const

Chi2Z.

Definition at line 347 of file TTTrack.h.

Referenced by TrackQuality::featureTransform().

347  {
348  return theChi2_Z_;
349 }
double theChi2_Z_
Definition: TTTrack.h:45
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
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
template<typename T >
double TTTrack< T >::eta ( ) const

Track eta.

Definition at line 310 of file TTTrack.h.

Referenced by Particle.Particle::__str__(), TrackQuality::featureTransform(), Jet.Jet::jetID(), and Jet.Jet::puJetId().

310  {
311  return theMomentum_.eta();
312 }
GlobalVector theMomentum_
Definition: TTTrack.h:33
T eta() const
Definition: PV3DBase.h:73
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
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 TrackQuality::featureTransform(), StubPtConsistency::getConsistency(), and TrackQuality::setTrackQuality().

93 { return theStubRefs; }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
template<typename T >
unsigned int TTTrack< T >::hitPattern ( ) const

Hit Pattern.

Definition at line 423 of file TTTrack.h.

Referenced by TrackQuality::featureTransform().

423  {
424  return theHitPattern_;
425 }
unsigned int theHitPattern_
Definition: TTTrack.h:47
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
template<typename T >
GlobalVector TTTrack< T >::momentum ( ) const
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
template<typename T >
double TTTrack< T >::phi ( ) const

Track phi.

Definition at line 315 of file TTTrack.h.

Referenced by Particle.Particle::__str__(), TrackQuality::featureTransform(), and ntupleDataFormat.Track::phiPull().

315  {
316  return thePhi_;
317 }
double thePhi_
Definition: TTTrack.h:36
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
template<typename T >
GlobalPoint TTTrack< T >::POCA ( ) const
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, 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
template<typename T >
double TTTrack< T >::rInv ( ) const
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
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
template<typename T>
void TTTrack< T >::setEtaSector ( unsigned int  aSector)
inline

Definition at line 140 of file TTTrack.h.

References TTTrack< T >::theEtaSector_.

Referenced by tmtt::ConverterToTTTrack::makeTTTrack().

140 { theEtaSector_ = aSector; }
unsigned int theEtaSector_
Definition: TTTrack.h:41
template<typename T >
void TTTrack< T >::setFitParNo ( unsigned int  aFitParNo)

Definition at line 285 of file TTTrack.h.

285  {
286  theNumFitPars_ = nPar;
287 
288  return;
289 }
unsigned int theNumFitPars_
Definition: TTTrack.h:46
template<typename T>
void TTTrack< T >::setPhiSector ( unsigned int  aSector)
inline

Definition at line 136 of file TTTrack.h.

References TTTrack< T >::thePhiSector_.

Referenced by tmtt::ConverterToTTTrack::makeTTTrack().

136 { thePhiSector_ = aSector; }
unsigned int thePhiSector_
Definition: TTTrack.h:40
template<typename T >
void TTTrack< T >::setStubPtConsistency ( double  aPtConsistency)

StubPtConsistency.

Definition at line 410 of file TTTrack.h.

Referenced by tmtt::ConverterToTTTrack::makeTTTrack(), and TTTrack< T >::setChi2BendRed().

410  {
411  theStubPtConsistency_ = aStubPtConsistency;
412  return;
413 }
double theStubPtConsistency_
Definition: TTTrack.h:42
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.

Referenced by tmtt::ConverterToTTTrack::makeTTTrack().

95  {
96  theStubRefs = aStubs;
97  }
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
Definition: TTTrack.h:32
template<typename T>
void TTTrack< T >::setTrackSeedType ( int  aSeed)
inline

Definition at line 144 of file TTTrack.h.

References TTTrack< T >::theTrackSeedType_.

144 { theTrackSeedType_ = aSeed; }
int theTrackSeedType_
Definition: TTTrack.h:51
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().

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) {
452  setTrackWord(valid,
453  theMomentum_,
454  thePOCA_,
455  theRInv_,
456  theChi2_,
457  0,
460  mvaQuality,
461  mvaOther,
462  thePhiSector_);
463  } else {
464  setTrackWord(valid,
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
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)
double chi2XYRed() const
Chi2XY reduced.
Definition: TTTrack.h:365
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
double chi2ZRed() const
Chi2Z reduced.
Definition: TTTrack.h:371
GlobalPoint thePOCA_
Definition: TTTrack.h:34
double theChi2_
Definition: TTTrack.h:43
double theChi2_Z_
Definition: TTTrack.h:45
template<typename T >
void TTTrack< T >::settrkMVA1 ( double  atrkMVA1)

Definition at line 381 of file TTTrack.h.

Referenced by TrackQuality::setTrackQuality().

381  {
382  theTrkMVA1_ = atrkMVA1;
383  return;
384 }
double theTrkMVA1_
Definition: TTTrack.h:48
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
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
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(), TrackQuality::featureTransform(), and TrackQuality::setTrackQuality().

417  {
418  return theStubPtConsistency_;
419 }
double theStubPtConsistency_
Definition: TTTrack.h:42
template<typename T >
double TTTrack< T >::tanL ( ) const

Track tanL.

Definition at line 305 of file TTTrack.h.

Referenced by TrackQuality::featureTransform().

305  {
306  return theTanL_;
307 }
double theTanL_
Definition: TTTrack.h:37
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 }
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
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
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
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
template<typename T >
double TTTrack< T >::z0 ( ) const

Track z0.

Definition at line 330 of file TTTrack.h.

Referenced by TrackQuality::featureTransform(), and TrackQuality::setTrackQuality().

330  {
331  return theZ0_;
332 }
double theZ0_
Definition: TTTrack.h:39

Member Data Documentation

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

Definition at line 55 of file TTTrack.h.

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

Definition at line 53 of file TTTrack.h.

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

Definition at line 54 of file TTTrack.h.

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

Definition at line 52 of file TTTrack.h.

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

Definition at line 43 of file TTTrack.h.

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

Definition at line 44 of file TTTrack.h.

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

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

Definition at line 45 of file TTTrack.h.

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

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

Definition at line 38 of file TTTrack.h.

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().

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

Definition at line 47 of file TTTrack.h.

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

Definition at line 33 of file TTTrack.h.

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

Definition at line 46 of file TTTrack.h.

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

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

Definition at line 36 of file TTTrack.h.

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().

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

Definition at line 34 of file TTTrack.h.

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

Definition at line 35 of file TTTrack.h.

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

Definition at line 42 of file TTTrack.h.

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

Definition at line 37 of file TTTrack.h.

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().

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

Definition at line 48 of file TTTrack.h.

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

Definition at line 49 of file TTTrack.h.

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

Definition at line 50 of file TTTrack.h.

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

Definition at line 39 of file TTTrack.h.