CMS 3D CMS Logo

CosmicMuonSeedGenerator.h
Go to the documentation of this file.
1 #ifndef MuonSeedGenerator_CosmicMuonSeedGenerator_H
2 #define MuonSeedGenerator_CosmicMuonSeedGenerator_H
3 
14 
22 
23 #include <vector>
24 
26 
28 
29 namespace edm {
30  class ParameterSet;
31  class Event;
32  class EventSetup;
33 } // namespace edm
34 
36 public:
39 
41  ~CosmicMuonSeedGenerator() override;
42 
43  // Operations
44 
46  void produce(edm::Event&, const edm::EventSetup&) override;
47 
48 private:
49  struct MuonRecHitPair {
52  std::string c = "")
53  : first(a), second(b), type(c) {}
54 
58  };
59 
60  typedef std::vector<MuonRecHitPair> MuonRecHitPairVector;
61 
65  const edm::EventSetup& eSetup) const;
66 
69  const edm::EventSetup& eSetup) const;
70 
73 
77 
79  std::vector<TrajectorySeed> createSeed(const MuonTransientTrackingRecHit::MuonRecHitPointer&,
80  const edm::EventSetup&) const;
81 
82  std::vector<MuonRecHitPair> makeSegPairs(const MuonTransientTrackingRecHit::MuonRecHitContainer&,
84  std::string) const;
85 
87  std::vector<TrajectorySeed> createSeed(const MuonRecHitPair&, const edm::EventSetup&) const;
88 
89  TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface&, uint32_t) const;
91 
95 
99 
103  return lhs->globalPosition().y() > rhs->globalPosition().y();
104  }
105  };
106 
107 private:
110 
113 
116 
119 
121  unsigned int theMaxSeeds;
122 
124  double theMaxDTChi2;
131 
132  std::map<std::string, float> theParameters;
133 
135 };
136 #endif
CosmicMuonSeedGenerator::theDTRecSegmentLabel
edm::InputTag theDTRecSegmentLabel
the name of the DT rec hits collection
Definition: CosmicMuonSeedGenerator.h:115
MuonTransientTrackingRecHit::ConstMuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:22
CosmicMuonSeedGenerator::theForcePointDownFlag
bool theForcePointDownFlag
Definition: CosmicMuonSeedGenerator.h:126
TrajectorySeedCollection
std::vector< TrajectorySeed > TrajectorySeedCollection
Definition: TrajectorySeedCollection.h:6
CosmicMuonSeedGenerator::muonLayersToken
edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord > muonLayersToken
Definition: CosmicMuonSeedGenerator.h:129
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
ESHandle.h
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
edm
HLT enums.
Definition: AlignableModifier.h:19
EDProducer.h
bookConverter.results
results
Definition: bookConverter.py:144
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
MuonDetLayerGeometry.h
MuonTransientTrackingRecHit.h
ESGetToken.h
CosmicMuonSeedGenerator::theField
edm::ESHandle< MagneticField > theField
Definition: CosmicMuonSeedGenerator.h:128
CosmicMuonSeedGenerator::DecreasingGlobalY
Definition: CosmicMuonSeedGenerator.h:100
CosmicMuonSeedGenerator::theMuonLayers
edm::ESHandle< MuonDetLayerGeometry > theMuonLayers
Definition: CosmicMuonSeedGenerator.h:127
CosmicMuonSeedGenerator::MuonRecHitPair::second
MuonTransientTrackingRecHit::MuonRecHitPointer second
Definition: CosmicMuonSeedGenerator.h:56
CosmicMuonSeedGenerator::makeSegPairs
std::vector< MuonRecHitPair > makeSegPairs(const MuonTransientTrackingRecHit::MuonRecHitContainer &, const MuonTransientTrackingRecHit::MuonRecHitContainer &, std::string) const
Definition: CosmicMuonSeedGenerator.cc:410
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
CosmicMuonSeedGenerator::theMaxSeeds
unsigned int theMaxSeeds
the maximum number of Seeds
Definition: CosmicMuonSeedGenerator.h:121
MuonDetLayerGeometry
Definition: MuonDetLayerGeometry.h:21
CosmicMuonSeedGenerator
Definition: CosmicMuonSeedGenerator.h:35
MuonTransientTrackingRecHit::MuonRecHitPointer
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
Definition: MuonTransientTrackingRecHit.h:21
CosmicMuonSeedGenerator::theCSCRecSegmentLabel
edm::InputTag theCSCRecSegmentLabel
the name of the CSC rec hits collection
Definition: CosmicMuonSeedGenerator.h:118
CosmicMuonSeedGenerator::theMaxCSCChi2
double theMaxCSCChi2
Definition: CosmicMuonSeedGenerator.h:125
IdealMagneticFieldRecord.h
edm::ESHandle< MuonDetLayerGeometry >
Event
CosmicMuonSeedGenerator::tsosToSeed
TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface &, uint32_t) const
Definition: CosmicMuonSeedGenerator.cc:531
b
double b
Definition: hdecay.h:118
edm::ParameterSet
Definition: ParameterSet.h:47
CosmicMuonSeedGenerator::selectSegments
MuonTransientTrackingRecHit::MuonRecHitContainer selectSegments(const MuonTransientTrackingRecHit::MuonRecHitContainer &) const
select seed candidates from Segments in Event
Definition: CosmicMuonSeedGenerator.cc:218
CosmicMuonSeedGenerator::createSeeds
void createSeeds(TrajectorySeedCollection &results, const MuonTransientTrackingRecHit::MuonRecHitContainer &hits, const edm::EventSetup &eSetup) const
generate TrajectorySeeds and put them into results
Definition: CosmicMuonSeedGenerator.cc:269
a
double a
Definition: hdecay.h:119
CosmicMuonSeedGenerator::areCorrelated
bool areCorrelated(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
check if two rechits are correlated
Definition: CosmicMuonSeedGenerator.cc:369
ParameterSet
Definition: Functions.h:16
CosmicMuonSeedGenerator::~CosmicMuonSeedGenerator
~CosmicMuonSeedGenerator() override
Destructor.
Definition: CosmicMuonSeedGenerator.cc:91
type
type
Definition: SiPixelVCal_PayloadInspector.cc:39
CosmicMuonSeedGenerator::produce
void produce(edm::Event &, const edm::EventSetup &) override
reconstruct muon's seeds
Definition: CosmicMuonSeedGenerator.cc:97
CosmicMuonSeedGenerator::muonMeasurements
MuonDetLayerMeasurements * muonMeasurements
Definition: CosmicMuonSeedGenerator.h:134
CosmicMuonSeedGenerator::MuonRecHitPair::MuonRecHitPair
MuonRecHitPair(const MuonTransientTrackingRecHit::MuonRecHitPointer &a, const MuonTransientTrackingRecHit::MuonRecHitPointer &b, std::string c="")
Definition: CosmicMuonSeedGenerator.h:50
TrajectoryStateTransform
Definition: TrajectoryStateTransform.h:47
edm::stream::EDProducer
Definition: EDProducer.h:36
CosmicMuonSeedGenerator::magFieldToken
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken
Definition: CosmicMuonSeedGenerator.h:130
MuonRecoGeometryRecord.h
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
CosmicMuonSeedGenerator::theEnableCSCFlag
bool theEnableCSCFlag
enable CSCSegment Flag
Definition: CosmicMuonSeedGenerator.h:112
TrajectorySeedCollection.h
edm::ESGetToken< MuonDetLayerGeometry, MuonRecoGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CosmicMuonSeedGenerator::MuonRecHitPair::first
MuonTransientTrackingRecHit::MuonRecHitPointer first
Definition: CosmicMuonSeedGenerator.h:55
InputTag.h
CosmicMuonSeedGenerator::leftIsBetter
bool leftIsBetter(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
compare quality of two rechits
Definition: CosmicMuonSeedGenerator.cc:401
CosmicMuonSeedGenerator::MuonRecHitPair
Definition: CosmicMuonSeedGenerator.h:49
MuonDetLayerMeasurements.h
CosmicMuonSeedGenerator::CosmicMuonSeedGenerator
CosmicMuonSeedGenerator(const edm::ParameterSet &)
Constructor.
Definition: CosmicMuonSeedGenerator.cc:39
CosmicMuonSeedGenerator::theParameters
std::map< std::string, float > theParameters
Definition: CosmicMuonSeedGenerator.h:132
CosmicMuonSeedGenerator::checkQuality
bool checkQuality(const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
determine if a MuonTransientTrackingRecHit is qualified to build seed
Definition: CosmicMuonSeedGenerator.cc:196
TrajectorySeed
Definition: TrajectorySeed.h:18
CosmicMuonSeedGenerator::DecreasingGlobalY::operator()
bool operator()(const MuonTransientTrackingRecHit::ConstMuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::ConstMuonRecHitPointer &rhs) const
Definition: CosmicMuonSeedGenerator.h:101
CosmicMuonSeedGenerator::createSeed
std::vector< TrajectorySeed > createSeed(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const edm::EventSetup &) const
create TrajectorySeed from MuonTransientTrackingRecHit
Definition: CosmicMuonSeedGenerator.cc:305
EventSetup
CosmicMuonSeedGenerator::MuonRecHitPair::type
std::string type
Definition: CosmicMuonSeedGenerator.h:57
CosmicMuonSeedGenerator::theMaxDTChi2
double theMaxDTChi2
the maximum chi2 required for dt and csc rechits
Definition: CosmicMuonSeedGenerator.h:124
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
CosmicMuonSeedGenerator::theEnableDTFlag
bool theEnableDTFlag
enable DT Segment Flag
Definition: CosmicMuonSeedGenerator.h:109
edm::Event
Definition: Event.h:73
CosmicMuonSeedGenerator::MuonRecHitPairVector
std::vector< MuonRecHitPair > MuonRecHitPairVector
Definition: CosmicMuonSeedGenerator.h:60
edm::InputTag
Definition: InputTag.h:15
edm::OwnVector< TrackingRecHit >