CMS 3D CMS Logo

TSGForOIFromL2.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackerSeedGenerator_TSGForOIFromL2_H
2 #define RecoMuon_TrackerSeedGenerator_TSGForOIFromL2_H
3 
33 
35 
36  public:
37 
38  explicit TSGForOIFromL2(const edm::ParameterSet & iConfig);
39  ~TSGForOIFromL2() override;
40  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
41  void produce(edm::StreamID sid, edm::Event& iEvent, const edm::EventSetup& iSetup) const override;
42 
43  private:
44 
47 
49  const unsigned int maxSeeds_;
50 
52  const unsigned int maxHitlessSeeds_;
53 
55  const unsigned int maxHitSeeds_;
56 
58  const unsigned int numOfLayersToTry_;
59 
61  const unsigned int numOfHitsToTry_;
62 
64  const unsigned int numL2ValidHitsCutAllEta_;
65  const unsigned int numL2ValidHitsCutAllEndcap_;
66 
70 
74 
77 
79  const double minEtaForTEC_;
80 
82  const double maxEtaForTOB_;
83 
86  const bool useHitLessSeeds_;
87 
89  const std::unique_ptr<TrajectoryStateUpdator> updator_;
90 
92 
94  const double pT1_,pT2_,pT3_;
96  const double SF1_,SF2_,SF3_,SF4_,SF5_,SF6_;
97 
99  const double tsosDiff1_;
100  const double tsosDiff2_;
101 
105 
108  const GeometricSearchDet& layer,
109  const TrajectoryStateOnSurface& tsos,
112  double errorSF,
113  unsigned int& hitlessSeedsMade,
114  unsigned int& numSeedsMade,
115  std::vector<TrajectorySeed>& out) const;
116 
118  void makeSeedsFromHits(
119  const GeometricSearchDet& layer,
120  const TrajectoryStateOnSurface& tsos,
123  edm::Handle<MeasurementTrackerEvent>& measurementTracker,
124  double errorSF,
125  unsigned int& hitSeedsMade,
126  unsigned int& numSeedsMade,
127  unsigned int& layerCount,
128  std::vector<TrajectorySeed>& out) const;
129 
131  double calculateSFFromL2(const reco::TrackRef track) const;
132 
134  double match_Chi2(const TrajectoryStateOnSurface& tsos1,
135  const TrajectoryStateOnSurface& tsos2) const;
136 
137 };
138 
139 #endif
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const bool useHitLessSeeds_
void makeSeedsFromHits(const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsos, const Propagator &propagatorAlong, edm::ESHandle< Chi2MeasurementEstimatorBase > &estimator, 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.
TSGForOIFromL2(const edm::ParameterSet &iConfig)
const double eta2_
const unsigned int numOfHitsToTry_
How many hits to try per layer.
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_
void produce(edm::StreamID sid, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
const unsigned int maxHitlessSeeds_
Maximum number of hitless seeds for each L2.
const double pT2_
const double SF6_
int iEvent
Definition: GenABIO.cc:230
const double tsosDiff2_
const double eta7_
const unsigned int numL2ValidHitsCutAllEndcap_
const double tsosDiff1_
Distance of L2 TSOSs before and after updated with vertex.
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_
void makeSeedsWithoutHits(const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsos, const Propagator &propagatorAlong, 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< 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_
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_
Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside-in manner.
const double SF5_
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_