Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:49

0001 #ifndef L1Trigger_TrackFindingTMTT_SimpleLR4_h
0002 #define L1Trigger_TrackFindingTMTT_SimpleLR4_h
0003 
0004 ///=== This is the simple linear regression with 4 helix parameters (qOverPt, phiT, z0, tanLambda) track fit algorithm.
0005 
0006 ///=== Written by: Davide Cieri (davide.cieri@stfc.ac.uk)
0007 
0008 #include "L1Trigger/TrackFindingTMTT/interface/TrackFitGeneric.h"
0009 #include "L1Trigger/TrackFindingTMTT/interface/Settings.h"
0010 #include "L1Trigger/TrackFindingTMTT/interface/L1track3D.h"
0011 #include "L1Trigger/TrackFindingTMTT/interface/L1fittedTrack.h"
0012 #include "L1Trigger/TrackFindingTMTT/interface/Stub.h"
0013 
0014 #include <vector>
0015 #include <sstream>
0016 #include <string>
0017 
0018 namespace tmtt {
0019 
0020   class SimpleLR4 : public TrackFitGeneric {
0021   public:
0022     SimpleLR4(const Settings* settings);
0023 
0024     ~SimpleLR4() override = default;
0025 
0026     L1fittedTrack fit(const L1track3D& l1track3D) override;
0027 
0028   protected:
0029     float phiSectorWidth_;
0030     float phiSectorCentre_;
0031     float phiNonantWidth_;
0032 
0033     float phiMult_;
0034     float rTMult_;
0035     float zMult_;
0036     float qOverPtMult_;
0037     float phiTMult_;
0038     float z0Mult_;
0039     float tanLambdaMult_;
0040     float numeratorPtMult_;
0041     float numeratorZ0Mult_;
0042     float numeratorLambdaMult_;
0043     float numeratorPhiMult_;
0044     float denominatorMult_;
0045     float chi2Mult_;
0046     float resMult_;
0047     float chi2cut_;
0048     float invPtToDPhi_;
0049     float chosenRofPhi_;
0050     unsigned int minStubLayersRed_;
0051 
0052     unsigned int dividerBitsHelix_;
0053     unsigned int dividerBitsHelixZ_;
0054     unsigned int dividerBitsChi2_;
0055     unsigned int shiftingBitsPhi_;
0056     unsigned int shiftingBitsDenRPhi_;
0057     unsigned int shiftingBitsDenRZ_;
0058     unsigned int shiftingBitsPt_;
0059     unsigned int shiftingBitsz0_;
0060     unsigned int shiftingBitsLambda_;
0061     bool digitize_;
0062 
0063     bool debug_;
0064   };
0065 
0066 }  // namespace tmtt
0067 
0068 #endif