CMS 3D CMS Logo

MuonSeedOrcaPatternRecognition.h
Go to the documentation of this file.
1 #ifndef MuonSeedGenerator_MuonSeedOrcaPatternRecognition_h
2 #define MuonSeedGenerator_MuonSeedOrcaPatternRecognition_h
3 
10 
12 public:
14 
15  void produce(const edm::Event& event,
16  const edm::EventSetup& eSetup,
17  std::vector<MuonRecHitContainer>& result) override;
18 
19 private:
20  // aalocates a zeroed array of a given size
21  bool* zero(unsigned listSize);
22 
23  void endcapPatterns(const MuonRecHitContainer& me11,
24  const MuonRecHitContainer& me12,
25  const MuonRecHitContainer& me2,
26  const MuonRecHitContainer& me3,
27  const MuonRecHitContainer& me4,
28  const MuonRecHitContainer& me0,
29  const MuonRecHitContainer& mb1,
30  const MuonRecHitContainer& mb2,
31  const MuonRecHitContainer& mb3,
32  bool* MB1,
33  bool* MB2,
34  bool* MB3,
35  std::vector<MuonRecHitContainer>& result);
36 
37  void complete(MuonRecHitContainer& seedSegments, const MuonRecHitContainer& recHits, bool* used = nullptr) const;
38 
40  // some score to measure how well the two hits match
42  // see if it's OK to add
43  bool check(const MuonRecHitContainer& segments);
44  bool isCrack(const ConstMuonRecHitPointer& segment) const;
45  void rememberCrackSegments(const MuonRecHitContainer& segments, MuonRecHitContainer& crackSegments) const;
46 
47  void dumpLayer(const char* name, const MuonRecHitContainer& segments) const;
48 
50  MuonRecHitContainer filterSegments(const MuonRecHitContainer& segments, double dThetaCut) const;
51  void filterOverlappingChambers(MuonRecHitContainer& segments) const;
52  bool isME1A(const ConstMuonRecHitPointer& segment) const;
53  int countHits(const MuonRecHitPointer& segment) const;
54  // can mark other ME1A as used if one is.
55  void markAsUsed(int nr, const MuonRecHitContainer& recHits, bool* used) const;
56  std::vector<double> theCrackEtas;
63 };
64 
65 #endif
MuonSeedOrcaPatternRecognition::isME1A
bool isME1A(const ConstMuonRecHitPointer &segment) const
Definition: MuonSeedOrcaPatternRecognition.cc:750
MuonSeedVPatternRecognition::MuonRecHitPointer
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
Definition: MuonSeedVPatternRecognition.h:10
MuonSeedOrcaPatternRecognition::dumpLayer
void dumpLayer(const char *name, const MuonRecHitContainer &segments) const
Definition: MuonSeedOrcaPatternRecognition.cc:649
MuonSeedOrcaPatternRecognition::discriminator
double discriminator(const ConstMuonRecHitPointer &first, MuonRecHitPointer &other) const
Definition: MuonSeedOrcaPatternRecognition.cc:569
MuonStationSelectors_cff.mb3
mb3
Definition: MuonStationSelectors_cff.py:15
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
MuonSeedOrcaPatternRecognition::muonMeasurements
MuonDetLayerMeasurements * muonMeasurements
Definition: MuonSeedOrcaPatternRecognition.h:58
MuonSeedOrcaPatternRecognition::endcapPatterns
void endcapPatterns(const MuonRecHitContainer &me11, const MuonRecHitContainer &me12, const MuonRecHitContainer &me2, const MuonRecHitContainer &me3, const MuonRecHitContainer &me4, const MuonRecHitContainer &me0, const MuonRecHitContainer &mb1, const MuonRecHitContainer &mb2, const MuonRecHitContainer &mb3, bool *MB1, bool *MB2, bool *MB3, std::vector< MuonRecHitContainer > &result)
Definition: MuonSeedOrcaPatternRecognition.cc:312
MuonSeedOrcaPatternRecognition::theDeltaCrackWindow
double theDeltaCrackWindow
Definition: MuonSeedOrcaPatternRecognition.h:61
MuonSeedVPatternRecognition::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: MuonSeedVPatternRecognition.h:12
MuonStationSelectors_cff.mb2
mb2
Definition: MuonStationSelectors_cff.py:9
MuonDetLayerGeometry.h
ESGetToken.h
MuonSeedOrcaPatternRecognition::rememberCrackSegments
void rememberCrackSegments(const MuonRecHitContainer &segments, MuonRecHitContainer &crackSegments) const
Definition: MuonSeedOrcaPatternRecognition.cc:636
MuonSeedOrcaPatternRecognition::theCrackEtas
std::vector< double > theCrackEtas
Definition: MuonSeedOrcaPatternRecognition.h:56
MuonSeedOrcaPatternRecognition::produce
void produce(const edm::Event &event, const edm::EventSetup &eSetup, std::vector< MuonRecHitContainer > &result) override
Definition: MuonSeedOrcaPatternRecognition.cc:70
hlt_dqm_clientPB-live_cfg.me2
me2
Definition: hlt_dqm_clientPB-live_cfg.py:78
MuonSeedVPatternRecognition::ConstMuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
Definition: MuonSeedVPatternRecognition.h:11
MuonSeedOrcaPatternRecognition::filterOverlappingChambers
void filterOverlappingChambers(MuonRecHitContainer &segments) const
Definition: MuonSeedOrcaPatternRecognition.cc:693
MuonSeedVPatternRecognition.h
MuonSeedOrcaPatternRecognition::countHits
int countHits(const MuonRecHitPointer &segment) const
Definition: MuonSeedOrcaPatternRecognition.cc:754
trackingPlots.other
other
Definition: trackingPlots.py:1464
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
MuonSeedOrcaPatternRecognition::filterSegments
MuonRecHitContainer filterSegments(const MuonRecHitContainer &segments, double dThetaCut) const
apply some cuts to segments before using them
Definition: MuonSeedOrcaPatternRecognition.cc:658
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
edm::ParameterSet
Definition: ParameterSet.h:47
mixOne_premix_on_sim_cfi.me0
me0
Definition: mixOne_premix_on_sim_cfi.py:309
MuonSeedOrcaPatternRecognition::theDeltaEtaWindow
double theDeltaEtaWindow
Definition: MuonSeedOrcaPatternRecognition.h:60
EgHLTOffHistBins_cfi.nr
nr
Definition: EgHLTOffHistBins_cfi.py:4
MuonSeedOrcaPatternRecognition::zero
bool * zero(unsigned listSize)
Definition: MuonSeedOrcaPatternRecognition.cc:302
MuonRecoGeometryRecord.h
edm::EventSetup
Definition: EventSetup.h:58
edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord >
MuonSeedOrcaPatternRecognition::theDeltaPhiWindow
double theDeltaPhiWindow
Definition: MuonSeedOrcaPatternRecognition.h:59
MuonSeedOrcaPatternRecognition::complete
void complete(MuonRecHitContainer &seedSegments, const MuonRecHitContainer &recHits, bool *used=nullptr) const
Definition: MuonSeedOrcaPatternRecognition.cc:520
MuonSeedOrcaPatternRecognition::markAsUsed
void markAsUsed(int nr, const MuonRecHitContainer &recHits, bool *used) const
Definition: MuonSeedOrcaPatternRecognition.cc:603
MuonStationSelectors_cff.mb1
mb1
Definition: MuonStationSelectors_cff.py:3
MuonDetLayerMeasurements.h
MuonSeedOrcaPatternRecognition::muonLayersToken
edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord > muonLayersToken
Definition: MuonSeedOrcaPatternRecognition.h:62
MuonSeedOrcaPatternRecognition
Definition: MuonSeedOrcaPatternRecognition.h:11
MuonSeedVPatternRecognition
Definition: MuonSeedVPatternRecognition.h:8
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
mps_fire.result
result
Definition: mps_fire.py:311
ConsumesCollector.h
MuonSeedOrcaPatternRecognition::check
bool check(const MuonRecHitContainer &segments)
Definition: MuonSeedOrcaPatternRecognition.cc:601
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
MuonSeedOrcaPatternRecognition::bestMatch
MuonRecHitPointer bestMatch(const ConstMuonRecHitPointer &first, MuonRecHitContainer &good_rhit) const
Definition: MuonSeedOrcaPatternRecognition.cc:553
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MuonSeedOrcaPatternRecognition::MuonSeedOrcaPatternRecognition
MuonSeedOrcaPatternRecognition(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
Definition: MuonSeedOrcaPatternRecognition.cc:43
MuonSeedOrcaPatternRecognition::theCrackWindow
double theCrackWindow
Definition: MuonSeedOrcaPatternRecognition.h:57
MuonSeedOrcaPatternRecognition::isCrack
bool isCrack(const ConstMuonRecHitPointer &segment) const
Definition: MuonSeedOrcaPatternRecognition.cc:624