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 phiSector() const
Phi Sector.
unsigned int thePhiSector_
std::string print(unsigned int i=0) const
Information.
double theStubPtConsistency_
GlobalVector momentum() const
Track momentum.
void setBField(double aBField)
set new Bfield
void testTrackWordBits()
Test bits in 96-bit Track word.
Sin< T >::type sin(const T &t)
Global3DPoint GlobalPoint
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > getStubRefs() const
Track components.
GlobalPoint POCA() const
POCA.
double stubPtConsistency() const
StubPtConsistency.
void errorSetTrackWordBits(unsigned int)
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
double eta() const
Track eta.
unsigned int etaSector() const
Eta Sector.
double chi2Z() const
Chi2Z.
void setFitParNo(unsigned int aFitParNo)
double phi() const
Track phi.
unsigned int theHitPattern_
void settrkMVA1(double atrkMVA1)
double rInv() const
Track curvature.
unsigned int hitPattern() const
Hit Pattern.
unsigned int trackSeedType() const
Track seeding (for debugging)
void setEtaSector(unsigned int aSector)
double chi2XY() const
Chi2XY.
double chi2XYRed() const
Chi2XY reduced.
Cos< T >::type cos(const T &t)
GlobalVector theMomentum_
Abs< T >::type abs(const T &t)
double z0() const
Track z0.
void addStubRef(edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > aStub)
static constexpr unsigned int Npars4
Class to store the L1 Track Trigger stubs.
void setStubPtConsistency(double aPtConsistency)
StubPtConsistency.
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)
double localPhi() const
Local track phi (within the sector)
unsigned int theNumFitPars_
double chi2Red() const
Chi2 reduced.
Class to store the L1 Track Trigger tracks.
void settrkMVA3(double atrkMVA3)
void setPhiSector(unsigned int aSector)
static constexpr unsigned int Npars5
double chi2ZRed() const
Chi2Z reduced.
double chi2() const
Chi2.
float localPhi(float globalPhi, unsigned int sector) const
double tanL() const
Track tanL.
void setTrackSeedType(int aSeed)
double trkMVA1() const
MVA Track quality variables.
double d0() const
Track d0.
void setTrackWordBits()
Set bits in 96-bit Track word.
Global3DVector GlobalVector