CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DiMuonSeedGeneratorHIC.h
Go to the documentation of this file.
1 #ifndef _HICDIMUONSEEDGENERATOR_H_
2 #define _HICDIMUONSEEDGENERATOR_H_
3 //
4 // MuSeedGenerator creates track seeds from L1/L2 Muon Trigger
5 // parametrization works up to 40 GeV tracks.
6 //
7 // HIC
8 
9 // Producer stuff
17 
18 // Magnetic field for propagators
21 
22 // TrackingTools
32 
33 // Detector geometry
38 
39 // RecoTracker
44 
45 // Internal stuff
49 
50 // HICConst
52 
53 // CLHEP includes
54 //#include "CLHEP/Units/GlobalPhysicalConstants.h"
55 //#include "CLHEP/Vector/ThreeVector.h"
56 //#include <CLHEP/Vector/LorentzVector.h>
57 
58 // System includes
59 #include <cmath>
60 #include <stdlib.h>
61 #include <string>
62 #include <iostream>
63 #include <vector>
64 
65 #include <map>
66 #include <vector>
67 
68 namespace cms
69 {
71 
72  public:
73  typedef std::vector<DiMuonTrajectorySeed> SeedContainer;
74  typedef SeedContainer::iterator SeedIterator;
75 
77  const MagneticField*,
79  const HICConst*,
80  const std::string,
81  int aMult);
82 
83  virtual std::map<DetLayer*,SeedContainer> produce(const edm::Event& e, const edm::EventSetup& c,
87  const TransientTrackingRecHitBuilder* RecHitBuilder,
88  const MeasurementTracker* measurementTracker,
89  std::vector<DetLayer*>*
90  );
91 
93 
94 // SeedContainer seeds();
95 
96  private:
101  std::string builderName;
103 
104  std::vector<BarrelDetLayer*> bl;
105  std::vector<ForwardDetLayer*> fpos;
106  std::vector<ForwardDetLayer*> fneg;
107  std::vector<const DetLayer*> theDetLayer;
108 
109  std::vector<LayerWithHits*> allLayersWithHits;
112 
113  std::pair<TrajectoryMeasurement,bool> barrelUpdateSeed(
114  const FreeTrajectoryState&,
115  const TrajectoryMeasurement&
116  ) const;
117  std::pair<TrajectoryMeasurement,bool> forwardUpdateSeed(
118  const FreeTrajectoryState&,
119  const TrajectoryMeasurement&
120  ) const;
121 
128 
129 };
130 }
131 #endif
132 
std::vector< LayerWithHits * > allLayersWithHits
std::vector< DiMuonTrajectorySeed > SeedContainer
SeedContainer::iterator SeedIterator
const TransientTrackingRecHitBuilder * TTRHbuilder
const LayerMeasurements * theLayerMeasurements
std::vector< ForwardDetLayer * > fpos
std::vector< BarrelDetLayer * > bl
const GeometricSearchTracker * theTracker
std::vector< ForwardDetLayer * > fneg
virtual std::map< DetLayer *, SeedContainer > produce(const edm::Event &e, const edm::EventSetup &c, FreeTrajectoryState &, TrajectoryStateOnSurface &, FreeTrajectoryState &, const TransientTrackingRecHitBuilder *RecHitBuilder, const MeasurementTracker *measurementTracker, std::vector< DetLayer * > *)
DiMuonSeedGeneratorHIC(edm::InputTag, const MagneticField *, const GeometricSearchTracker *, const HICConst *, const std::string, int aMult)
const MeasurementTracker * theMeasurementTracker
std::pair< TrajectoryMeasurement, bool > forwardUpdateSeed(const FreeTrajectoryState &, const TrajectoryMeasurement &) const
std::vector< const DetLayer * > theDetLayer
std::pair< TrajectoryMeasurement, bool > barrelUpdateSeed(const FreeTrajectoryState &, const TrajectoryMeasurement &) const