CMS 3D CMS Logo

RPCSeedPattern.h
Go to the documentation of this file.
1 #ifndef MRecoMuon_MuonSeedGenerator_RPCSeedPattern_H
2 #define MRecoMuon_MuonSeedGenerator_RPCSeedPattern_H
3 
18 #include <vector>
19 
20 #ifndef upper_limit_pt
21 #define upper_limit_pt 100
22 #endif
23 
24 #ifndef lower_limit_pt
25 #define lower_limit_pt 3.0
26 #endif
27 
33 
34 public:
35  typedef std::pair<ConstMuonRecHitPointer, ConstMuonRecHitPointer> RPCSegment;
36  typedef std::pair<TrajectorySeed, double> weightedTrajectorySeed;
37 
38 public:
41  void configure(const edm::ParameterSet& iConfig);
42  void clear() { theRecHits.clear(); }
43  void add(const ConstMuonRecHitPointer& hit) { theRecHits.push_back(hit); }
44  unsigned int nrhit() const { return theRecHits.size(); }
45 
46 private:
47  friend class RPCSeedFinder;
48  weightedTrajectorySeed seed(const edm::EventSetup& eSetup, int& isGoodSeed);
49  void ThreePointsAlgorithm();
50  void MiddlePointsAlgorithm();
51  void SegmentAlgorithm();
53  bool checkSegment() const;
57  const ConstMuonRecHitPointer& best);
60  double getDistance(const ConstMuonRecHitPointer& precHit, const GlobalVector& Center) const;
61  bool checkStraightwithThreerecHits(ConstMuonRecHitPointer (&precHit)[3], double MinDeltaPhi) const;
62  GlobalVector computePtwithThreerecHits(double& pt, double& pt_err, ConstMuonRecHitPointer (&precHit)[3]) const;
63  bool checkStraightwithSegment(const RPCSegment& Segment1, const RPCSegment& Segment2, double MinDeltaPhi) const;
64  GlobalVector computePtwithSegment(const RPCSegment& Segment1, const RPCSegment& Segment2) const;
65  bool checkStraightwithThreerecHits(double (&x)[3], double (&y)[3], double MinDeltaPhi) const;
66  GlobalVector computePtWithThreerecHits(double& pt, double& pt_err, double (&x)[3], double (&y)[3]) const;
67 
70  double extropolateStep(const GlobalPoint& startPosition,
71  const GlobalVector& startMomentum,
72  ConstMuonRecHitContainer::const_iterator iter,
73  const int ClockwiseDirection,
74  double& tracklength,
75  const edm::EventSetup& eSetup);
76 
77  //void computeBestPt(double* pt, double* spt, double& ptmean0, double& sptmean0, unsigned int NumberofPt) const;
78 
79  // ----------member data ---------------------------
80 
81  // parameters for configuration
82  double MaxRSD;
84  unsigned int AlgorithmType;
86  double ZError;
87  double MinDeltaPhi;
88  double stepLength;
89  unsigned int sampleCount;
90  // Signals for run seed()
92  // recHits of a pattern
94  // Complex pattern
99  double meanRadius2;
103  double lastPhi;
104  double S;
105  // Simple pattern
108  double meanRadius;
109  double meanBz;
110  double deltaBz;
111  // Pattern estimation part
116  int Charge;
117  double meanPt;
118  double meanSpt;
120 };
121 
122 #endif
Vector3DBase
Definition: Vector3DBase.h:8
RPCSeedPattern::getSpecialAlgorithmErrorMatrix
LocalTrajectoryError getSpecialAlgorithmErrorMatrix(const ConstMuonRecHitPointer &first, const ConstMuonRecHitPointer &best)
Definition: RPCSeedPattern.cc:1108
RPCSeedPattern::MuonRecHitPointer
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
Definition: RPCSeedPattern.h:29
DDAxes::y
RPCSeedPattern::ThreePointsAlgorithm
void ThreePointsAlgorithm()
Definition: RPCSeedPattern.cc:107
MuonTransientTrackingRecHit::ConstMuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:22
RPCSeedPattern::Center2
GlobalVector Center2
Definition: RPCSeedPattern.h:98
RPCSeedPattern::meanMagneticField2
GlobalVector meanMagneticField2
Definition: RPCSeedPattern.h:96
RPCSeedPattern::MagnecticFieldThreshold
double MagnecticFieldThreshold
Definition: RPCSeedPattern.h:95
ESHandle.h
RPCSeedPattern::isPatternChecked
bool isPatternChecked
Definition: RPCSeedPattern.h:112
RPCSeedPattern::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: RPCSeedPattern.h:31
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
RPCSeedPattern::isStraight2
bool isStraight2
Definition: RPCSeedPattern.h:97
RPCSeedPattern::createSeed
weightedTrajectorySeed createSeed(int &isGoodSeed, const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:1017
RPCSeedPattern::extropolateStep
double extropolateStep(const GlobalPoint &startPosition, const GlobalVector &startMomentum, ConstMuonRecHitContainer::const_iterator iter, const int ClockwiseDirection, double &tracklength, const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:882
RPCSeedPattern::theRecHits
ConstMuonRecHitContainer theRecHits
Definition: RPCSeedPattern.h:93
RPCSeedPattern::AlgorithmType
unsigned int AlgorithmType
Definition: RPCSeedPattern.h:84
MuonTransientTrackingRecHit::ConstMuonRecHitContainer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:27
RPCSeedPattern::entryPosition
GlobalPoint entryPosition
Definition: RPCSeedPattern.h:101
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
DDAxes::x
RPCSeedPattern::stepLength
double stepLength
Definition: RPCSeedPattern.h:88
RPCSeedPattern::weightedTrajectorySeed
std::pair< TrajectorySeed, double > weightedTrajectorySeed
Definition: RPCSeedPattern.h:36
MuonTransientTrackingRecHit.h
RPCSeedPattern::MaxRSD
double MaxRSD
Definition: RPCSeedPattern.h:82
RPCSeedPattern::checkStraightwithSegment
bool checkStraightwithSegment(const RPCSegment &Segment1, const RPCSegment &Segment2, double MinDeltaPhi) const
Definition: RPCSeedPattern.cc:528
RPCSeedPattern::deltaRThreshold
double deltaRThreshold
Definition: RPCSeedPattern.h:83
RPCSeedPattern::ConstMuonRecHitContainer
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
Definition: RPCSeedPattern.h:32
RPCSeedPattern::isConfigured
bool isConfigured
Definition: RPCSeedPattern.h:91
RPCSeedPattern::S
double S
Definition: RPCSeedPattern.h:104
MuonTransientTrackingRecHit::MuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:21
LocalTrajectoryError.h
RPCSeedPattern::createFakeSeed
weightedTrajectorySeed createFakeSeed(int &isGoodSeed, const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:967
RPCSeedPattern::computePtwithSegment
GlobalVector computePtwithSegment(const RPCSegment &Segment1, const RPCSegment &Segment2) const
Definition: RPCSeedPattern.cc:549
RPCSeedPattern::FirstRecHit
ConstMuonRecHitPointer FirstRecHit() const
Definition: RPCSeedPattern.cc:468
RPCSeedPattern::meanRadius
double meanRadius
Definition: RPCSeedPattern.h:108
RPCSeedPattern::RPCSeedPattern
RPCSeedPattern()
Definition: RPCSeedPattern.cc:32
RPCSeedPattern::computePtwithThreerecHits
GlobalVector computePtwithThreerecHits(double &pt, double &pt_err, ConstMuonRecHitPointer(&precHit)[3]) const
Definition: RPCSeedPattern.cc:503
RPCSeedFinder
Definition: RPCSeedFinder.h:23
RPCSeedPattern
Definition: RPCSeedPattern.h:28
Point3DBase< float, GlobalTag >
TrajectorySeed.h
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
RPCSeedPattern::add
void add(const ConstMuonRecHitPointer &hit)
Definition: RPCSeedPattern.h:43
RPCSeedPattern::SegmentRB
RPCSegment SegmentRB[2]
Definition: RPCSeedPattern.h:100
RPCSeedPattern::nrhit
unsigned int nrhit() const
Definition: RPCSeedPattern.h:44
RPCSeedPattern::isParralZ
int isParralZ
Definition: RPCSeedPattern.h:115
LocalTrajectoryError
Definition: LocalTrajectoryError.h:20
RPCSeedPattern::BestRefRecHit
ConstMuonRecHitPointer BestRefRecHit() const
Definition: RPCSeedPattern.cc:470
RPCSeedPattern::isStraight
bool isStraight
Definition: RPCSeedPattern.h:106
edm::ParameterSet
Definition: ParameterSet.h:47
RPCSeedPattern::meanSpt
double meanSpt
Definition: RPCSeedPattern.h:118
RPCSeedFinder::eSetup
const edm::EventSetup * eSetup
Definition: RPCSeedFinder.h:46
RPCSeedPattern::~RPCSeedPattern
~RPCSeedPattern()
Definition: RPCSeedPattern.cc:38
RPCSeedPattern::RPCSegment
std::pair< ConstMuonRecHitPointer, ConstMuonRecHitPointer > RPCSegment
Definition: RPCSeedPattern.h:35
RPCSeedPattern::seed
weightedTrajectorySeed seed(const edm::EventSetup &eSetup, int &isGoodSeed)
Definition: RPCSeedPattern.cc:53
RPCSeedPattern::checkSegmentAlgorithmSpecial
void checkSegmentAlgorithmSpecial(const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:748
RPCSeedPattern::ZError
double ZError
Definition: RPCSeedPattern.h:86
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
RPCSeedPattern::deltaBz
double deltaBz
Definition: RPCSeedPattern.h:110
RPCSeedPattern::meanPt
double meanPt
Definition: RPCSeedPattern.h:117
RPCSeedPattern::meanRadius2
double meanRadius2
Definition: RPCSeedPattern.h:99
RPCSeedPattern::ConstMuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
Definition: RPCSeedPattern.h:30
RPCSeedPattern::isGoodPattern
int isGoodPattern
Definition: RPCSeedPattern.h:113
RPCSeedPattern::clear
void clear()
Definition: RPCSeedPattern.h:42
RPCSeedPattern::SegmentAlgorithmSpecial
void SegmentAlgorithmSpecial(const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:277
RPCSeedPattern::autoAlgorithmChoose
bool autoAlgorithmChoose
Definition: RPCSeedPattern.h:85
RPCSeedPattern::Center
GlobalVector Center
Definition: RPCSeedPattern.h:107
RPCSeedPattern::checkSegment
bool checkSegment() const
Definition: RPCSeedPattern.cc:440
RPCSeedPattern::leavePosition
GlobalPoint leavePosition
Definition: RPCSeedPattern.h:102
RPCSeedPattern::checkSimplePattern
void checkSimplePattern(const edm::EventSetup &eSetup)
Definition: RPCSeedPattern.cc:607
RPCSeedPattern::lastPhi
double lastPhi
Definition: RPCSeedPattern.h:103
EventSetup.h
RPCSeedPattern::sampleCount
unsigned int sampleCount
Definition: RPCSeedPattern.h:89
RPCSeedPattern::MinDeltaPhi
double MinDeltaPhi
Definition: RPCSeedPattern.h:87
RPCSeedPattern::getDistance
double getDistance(const ConstMuonRecHitPointer &precHit, const GlobalVector &Center) const
Definition: RPCSeedPattern.cc:485
RPCSeedPattern::Momentum
GlobalVector Momentum
Definition: RPCSeedPattern.h:119
RPCSeedPattern::SegmentAlgorithm
void SegmentAlgorithm()
Definition: RPCSeedPattern.cc:226
RPCSeedPattern::computePtWithThreerecHits
GlobalVector computePtWithThreerecHits(double &pt, double &pt_err, double(&x)[3], double(&y)[3]) const
Definition: RPCSeedPattern.cc:588
ParameterSet.h
RPCSeedPattern::meanBz
double meanBz
Definition: RPCSeedPattern.h:109
RPCSeedPattern::MiddlePointsAlgorithm
void MiddlePointsAlgorithm()
Definition: RPCSeedPattern.cc:169
RPCSeedPattern::isClockwise
int isClockwise
Definition: RPCSeedPattern.h:114
hit
Definition: SiStripHitEffFromCalibTree.cc:88
RPCSeedPattern::checkStraightwithThreerecHits
bool checkStraightwithThreerecHits(ConstMuonRecHitPointer(&precHit)[3], double MinDeltaPhi) const
Definition: RPCSeedPattern.cc:490
RPCSeedPattern::configure
void configure(const edm::ParameterSet &iConfig)
Definition: RPCSeedPattern.cc:40
RPCSeedPattern::Charge
int Charge
Definition: RPCSeedPattern.h:116