CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TSGForOIFromL2.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackerSeedGenerator_TSGForOIFromL2_H
2 #define RecoMuon_TrackerSeedGenerator_TSGForOIFromL2_H
3 
33 
35 public:
36  explicit TSGForOIFromL2(const edm::ParameterSet& iConfig);
37  ~TSGForOIFromL2() override;
38  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
39  void produce(edm::StreamID sid, edm::Event& iEvent, const edm::EventSetup& iSetup) const override;
40 
41 private:
44 
46  const unsigned int maxSeeds_;
47 
49  const unsigned int maxHitlessSeeds_;
50 
52  const unsigned int maxHitSeeds_;
53 
55  const unsigned int numOfLayersToTry_;
56 
58  const unsigned int numOfHitsToTry_;
59 
61  const unsigned int numL2ValidHitsCutAllEta_;
62  const unsigned int numL2ValidHitsCutAllEndcap_;
63 
67 
71 
74 
76  const double minEtaForTEC_;
77 
79  const double maxEtaForTOB_;
80 
83  const bool useHitLessSeeds_;
84 
86  const std::unique_ptr<TrajectoryStateUpdator> updator_;
87 
89 
91  const double pT1_, pT2_, pT3_;
92  const double eta1_, eta2_, eta3_, eta4_, eta5_, eta6_, eta7_;
93  const double SF1_, SF2_, SF3_, SF4_, SF5_, SF6_;
94 
96  const double tsosDiff1_;
97  const double tsosDiff2_;
98 
108 
111  const TrajectoryStateOnSurface& tsos,
114  double errorSF,
115  unsigned int& hitlessSeedsMade,
116  unsigned int& numSeedsMade,
117  std::vector<TrajectorySeed>& out) const;
118 
121  const TrajectoryStateOnSurface& tsos,
125  double errorSF,
126  unsigned int& hitSeedsMade,
127  unsigned int& numSeedsMade,
128  unsigned int& layerCount,
129  std::vector<TrajectorySeed>& out) const;
130 
132  double calculateSFFromL2(const reco::TrackRef track) const;
133 
135  double match_Chi2(const TrajectoryStateOnSurface& tsos1, const TrajectoryStateOnSurface& tsos2) const;
136 };
137 
138 #endif
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const bool useHitLessSeeds_
TSGForOIFromL2(const edm::ParameterSet &iConfig)
const double eta2_
const unsigned int numOfHitsToTry_
How many hits to try per layer.
tuple propagatorAlong
Definition: HLT_FULL_cff.py:98
tuple measurementTracker
const double minEtaForTEC_
Minimum eta value to activate searching in the TEC.
const std::string estimatorName_
Estimator used to find dets and TrajectoryMeasurements.
const unsigned int maxHitSeeds_
Maximum number of hitbased seeds for each L2.
const double SF2_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magfieldToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tmpTkGeometryToken_
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > geometryToken_
constexpr std::array< uint8_t, layerIndexSize > layer
const edm::ESGetToken< Chi2MeasurementEstimatorBase, TrackingComponentsRecord > estimatorToken_
const unsigned int maxHitlessSeeds_
Maximum number of hitless seeds for each L2.
const double pT2_
const double SF6_
int iEvent
Definition: GenABIO.cc:224
const double tsosDiff2_
const double eta7_
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorToken_
const unsigned int numL2ValidHitsCutAllEndcap_
const double tsosDiff1_
Distance of L2 TSOSs before and after updated with vertex.
void produce(edm::StreamID sid, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
const unsigned int maxSeeds_
Maximum number of seeds for each L2.
const double eta1_
const std::unique_ptr< TrajectoryStateUpdator > updator_
KFUpdator defined in constructor.
const double SF3_
const double fixedErrorRescalingForHits_
Rescale L2 parameter uncertainties (fixed error vs pT, eta)
const double maxEtaForTOB_
Maximum eta value to activate searching in the TOB.
const bool adjustErrorsDynamicallyForHits_
Whether or not to use an automatically calculated scale-factor value.
const std::string theCategory_
const edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrackerTag_
const unsigned int numL2ValidHitsCutAllEta_
L2 valid hit cuts to decide seed creation by both states.
~TSGForOIFromL2() override
const double eta6_
double match_Chi2(const TrajectoryStateOnSurface &tsos1, const TrajectoryStateOnSurface &tsos2) const
Find compatability between two TSOSs.
const double eta5_
const double SF4_
void makeSeedsWithoutHits(const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsos, const Propagator &propagatorAlong, const edm::ESHandle< Chi2MeasurementEstimatorBase > &estimator, double errorSF, unsigned int &hitlessSeedsMade, unsigned int &numSeedsMade, std::vector< TrajectorySeed > &out) const
Create seeds without hits on a given layer (TOB or TEC)
const edm::EDGetTokenT< reco::TrackCollection > src_
Labels for input collections.
const double eta3_
double calculateSFFromL2(const reco::TrackRef track) const
Calculate the dynamic error SF by analysing the L2.
const double eta4_
const bool adjustErrorsDynamicallyForHitless_
const edm::ESGetToken< Propagator, TrackingComponentsRecord > sHPOppositeToken_
Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside-in manner.
const double SF5_
void makeSeedsFromHits(const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsos, const Propagator &propagatorAlong, const edm::ESHandle< Chi2MeasurementEstimatorBase > &estimator, const edm::Handle< MeasurementTrackerEvent > &measurementTracker, double errorSF, unsigned int &hitSeedsMade, unsigned int &numSeedsMade, unsigned int &layerCount, std::vector< TrajectorySeed > &out) const
Find hits on a given layer (TOB or TEC) and create seeds from updated TSOS with hit.
const unsigned int numOfLayersToTry_
How many layers to try.
const std::string propagatorName_
Counters and flags for the implementation.
const double SF1_
const double pT3_
const double pT1_
pT, eta ranges and scale factor values
const double fixedErrorRescalingForHitless_