13 #ifndef L1_TRACK_TRIGGER_TRACK_FORMAT_H 14 #define L1_TRACK_TRIGGER_TRACK_FORMAT_H 16 #include "CLHEP/Units/GlobalPhysicalConstants.h" 53 static constexpr
unsigned int Npars4 = 4;
54 static constexpr
unsigned int Npars5 = 5;
56 CLHEP::c_light / 1.0E3;
71 unsigned int aHitpattern,
85 unsigned int aHitpattern,
149 double chi2Z()
const;
187 template <
typename T>
203 theTrackSeedType_ = 0;
207 theStubPtConsistency_ = 0.0;
212 template <
typename T>
222 unsigned int aHitPattern,
226 double thePT =
std::abs(MagConstant / aRinv * aBfield / 100.0);
233 theTanL_ = aTanlambda;
236 theTrackSeedType_ = 0;
238 theTrkMVA1_ = trkMVA1;
239 theTrkMVA2_ = trkMVA2;
240 theTrkMVA3_ = trkMVA3;
241 theStubPtConsistency_ = 0.0;
242 theNumFitPars_ =
nPar;
243 theHitPattern_ = aHitPattern;
244 theBField_ = aBfield;
250 template <
typename T>
261 unsigned int aHitPattern,
281 template <
typename T>
284 template <
typename T>
286 theNumFitPars_ =
nPar;
294 template <
typename T>
299 template <
typename T>
304 template <
typename T>
309 template <
typename T>
311 return theMomentum_.eta();
314 template <
typename T>
319 template <
typename T>
324 template <
typename T>
329 template <
typename T>
334 template <
typename T>
340 template <
typename T>
346 template <
typename T>
352 template <
typename T>
358 template <
typename T>
360 return theChi2_ / (2 * theStubRefs.size() - theNumFitPars_);
364 template <
typename T>
366 return theChi2_XY_ / (theStubRefs.size() - (theNumFitPars_ - 2));
370 template <
typename T>
372 return theChi2_Z_ / (theStubRefs.size() - 2.);
375 template <
typename T>
380 template <
typename T>
382 theTrkMVA1_ = atrkMVA1;
386 template <
typename T>
391 template <
typename T>
393 theTrkMVA2_ = atrkMVA2;
397 template <
typename T>
402 template <
typename T>
404 theTrkMVA3_ = atrkMVA3;
409 template <
typename T>
411 theStubPtConsistency_ = aStubPtConsistency;
416 template <
typename T>
418 return theStubPtConsistency_;
422 template <
typename T>
424 return theHitPattern_;
428 template <
typename T>
431 double thePT =
std::abs(MagConstant / theRInv_ * aBField / 100.0);
438 template <
typename T>
440 if (!(theNumFitPars_ == Npars4 || theNumFitPars_ == Npars5)) {
445 unsigned int valid =
true;
446 unsigned int mvaQuality = 0;
447 unsigned int mvaOther = 0;
451 if (theChi2_Z_ < 0) {
458 theStubPtConsistency_,
480 template <
typename T>
500 template <
typename T>
503 for (
unsigned int j = 0;
j !=
i; ++
j) {
508 output << padding <<
"TTTrack:\n";
511 unsigned int iStub = 0;
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';
521 template <
typename T>
522 std::ostream& operator<<(std::ostream& os, const TTTrack<T>& aTTTrack) {
523 return (os << aTTTrack.print());
unsigned int thePhiSector_
double eta() const
Track eta.
double theStubPtConsistency_
void setBField(double aBField)
set new Bfield
void testTrackWordBits()
Test bits in 96-bit Track word.
Sin< T >::type sin(const T &t)
double trkMVA1() const
MVA Track quality variables.
Global3DPoint GlobalPoint
unsigned int trackSeedType() const
Track seeding (for debugging)
double phi() const
Track phi.
double tanL() const
Track tanL.
void errorSetTrackWordBits(unsigned int)
unsigned int hitPattern() const
Hit Pattern.
double chi2Z() const
Chi2Z.
GlobalVector momentum() const
Track momentum.
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
void setFitParNo(unsigned int aFitParNo)
unsigned int theHitPattern_
double chi2ZRed() const
Chi2Z reduced.
void settrkMVA1(double atrkMVA1)
void setEtaSector(unsigned int aSector)
Cos< T >::type cos(const T &t)
GlobalVector theMomentum_
Abs< T >::type abs(const T &t)
unsigned int phiSector() const
Phi Sector.
double rInv() const
Track curvature.
void addStubRef(edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > aStub)
static constexpr unsigned int Npars4
double chi2XY() const
Chi2XY.
Class to store the L1 Track Trigger stubs.
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > getStubRefs() const
Track components.
void setStubPtConsistency(double aPtConsistency)
StubPtConsistency.
double localPhi() const
Local track phi (within the sector)
void setChi2BendRed(double aChi2BendRed)
unsigned int theEtaSector_
static constexpr float MagConstant
void setStubRefs(std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > aStubs)
void settrkMVA2(double atrkMVA2)
unsigned int theNumFitPars_
Class to store the L1 Track Trigger tracks.
void settrkMVA3(double atrkMVA3)
void setPhiSector(unsigned int aSector)
double stubPtConsistency() const
StubPtConsistency.
static constexpr unsigned int Npars5
double d0() const
Track d0.
double chi2Red() const
Chi2 reduced.
double z0() const
Track z0.
unsigned int etaSector() const
Eta Sector.
void setTrackSeedType(int aSeed)
double chi2XYRed() const
Chi2XY reduced.
std::string print(unsigned int i=0) const
Information.
void setTrackWordBits()
Set bits in 96-bit Track word.
GlobalPoint POCA() const
POCA.
Global3DVector GlobalVector
float localPhi(float globalPhi, unsigned int sector) const