|
|
Go to the documentation of this file.
13 #ifndef L1_TRACK_TRIGGER_TRACK_FORMAT_H
14 #define L1_TRACK_TRIGGER_TRACK_FORMAT_H
16 #include "CLHEP/Units/GlobalPhysicalConstants.h"
50 static constexpr
unsigned int Npars4 = 4;
51 static constexpr
unsigned int Npars5 = 5;
53 CLHEP::c_light / 1.0E3;
68 unsigned int aHitpattern,
82 unsigned int aHitpattern,
140 double chi2Z()
const;
173 template <
typename T>
189 theTrackSeedType_ = 0;
193 theStubPtConsistency_ = 0.0;
198 template <
typename T>
208 unsigned int aHitPattern,
212 double thePT =
std::abs(MagConstant / aRinv * aBfield / 100.0);
219 theTanL_ = aTanlambda;
222 theTrackSeedType_ = 0;
224 theTrkMVA1_ = trkMVA1;
225 theTrkMVA2_ = trkMVA2;
226 theTrkMVA3_ = trkMVA3;
227 theStubPtConsistency_ = 0.0;
228 theNumFitPars_ =
nPar;
229 theHitPattern_ = aHitPattern;
230 theBField_ = aBfield;
236 template <
typename T>
247 unsigned int aHitPattern,
267 template <
typename T>
270 template <
typename T>
272 theNumFitPars_ =
nPar;
280 template <
typename T>
285 template <
typename T>
290 template <
typename T>
295 template <
typename T>
297 return theMomentum_.eta();
300 template <
typename T>
305 template <
typename T>
310 template <
typename T>
315 template <
typename T>
321 template <
typename T>
327 template <
typename T>
333 template <
typename T>
339 template <
typename T>
341 return theChi2_ / (2 * theStubRefs.size() - theNumFitPars_);
345 template <
typename T>
347 return theChi2_XY_ / (theStubRefs.size() - (theNumFitPars_ - 2));
351 template <
typename T>
353 return theChi2_Z_ / (theStubRefs.size() - 2.);
357 template <
typename T>
362 template <
typename T>
367 template <
typename T>
373 template <
typename T>
375 theStubPtConsistency_ = aStubPtConsistency;
380 template <
typename T>
382 return theStubPtConsistency_;
386 template <
typename T>
388 return theHitPattern_;
392 template <
typename T>
395 double thePT =
std::abs(MagConstant / theRInv_ * aBField / 100.0);
402 template <
typename T>
404 if (!(theNumFitPars_ == Npars4 || theNumFitPars_ == Npars5)) {
405 edm::LogError(
"TTTrack") <<
" setTrackWordBits method is called with theNumFitPars_=" << theNumFitPars_
406 <<
" only possible values are 4/5" << std::endl;
410 unsigned int sparebits = 0;
414 if (theChi2_Z_ < 0) {
415 setTrackWord(theMomentum_, thePOCA_, theRInv_, theChi2_, 0, theStubPtConsistency_, theHitPattern_, sparebits);
419 theMomentum_, thePOCA_, theRInv_, theChi2_XY_, theChi2_Z_, theStubPtConsistency_, theHitPattern_, sparebits);
425 template <
typename T>
445 template <
typename T>
448 for (
unsigned int j = 0;
j !=
i; ++
j) {
453 output << padding <<
"TTTrack:\n";
456 unsigned int iStub = 0;
458 typename std::vector<edm::Ref<edmNew::DetSetVector<TTStub<T> >,
TTStub<T> > >::const_iterator stubIter;
459 for (stubIter = theStubRefs.begin(); stubIter != theStubRefs.end(); ++stubIter) {
460 output << padding <<
"stub: " << iStub++ <<
", DetId: " << ((*stubIter)->getDetId()).rawId() <<
'\n';
466 template <
typename T>
468 return (os << aTTTrack.
print());
double chi2XY() const
Chi2XY.
double chi2XYRed() const
Chi2XY reduced.
double chi2Red() const
Chi2 reduced.
unsigned int theEtaSector_
GlobalVector momentum() const
Track momentum.
void setStubPtConsistency(double aPtConsistency)
StubPtConsistency.
double chi2Z() const
Chi2Z.
void addStubRef(edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > aStub)
Class to store the L1 Track Trigger tracks.
double phi() const
Track phi.
void setStubRefs(std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > aStubs)
unsigned int theHitPattern_
static constexpr unsigned int Npars4
void setTrackSeedType(int aSeed)
Global3DVector GlobalVector
double rInv() const
Track curvature.
Sin< T >::type sin(const T &t)
GlobalPoint POCA() const
POCA.
unsigned int hitPattern() const
Hit Pattern.
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > getStubRefs() const
Track components.
unsigned int theNumFitPars_
Cos< T >::type cos(const T &t)
double chi2ZRed() const
Chi2Z reduced.
void setTrackWordBits()
Set bits in 96-bit Track word.
Class to store the L1 Track Trigger stubs.
Global3DPoint GlobalPoint
static constexpr float MagConstant
void setFitParNo(unsigned int aFitParNo)
double d0() const
Track d0.
double stubPtConsistency() const
Stub Pt consistency.
std::ostream & operator<<(std::ostream &os, const TTTrack< T > &aTTTrack)
unsigned int trackSeedType() const
Track seeding (for debugging)
double tanL() const
Track tanL.
unsigned int thePhiSector_
double z0() const
Track z0.
GlobalVector theMomentum_
void testTrackWordBits()
Test bits in 96-bit Track word.
double trkMVA1() const
MVA Track quality variables.
static constexpr unsigned int Npars5
void setEtaSector(unsigned int aSector)
Log< level::Error, false > LogError
std::string print(unsigned int i=0) const
Information.
std::vector< edm::Ref< edmNew::DetSetVector< TTStub< T > >, TTStub< T > > > theStubRefs
Data members.
unsigned int etaSector() const
Eta Sector.
Abs< T >::type abs(const T &t)
void setPhiSector(unsigned int aSector)
double theStubPtConsistency_
double eta() const
Track eta.
void setBField(double aBField)
set new Bfield
unsigned int phiSector() const
Phi Sector.