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
16 
17 // Magnetic field for propagators
20 
21 // TrackingTools
31 
32 // Detector geometry
37 
38 // RecoTracker
43 
44 // Internal stuff
48 
49 // HICConst
51 
52 // CLHEP includes
53 //#include "CLHEP/Units/GlobalPhysicalConstants.h"
54 //#include "CLHEP/Vector/ThreeVector.h"
55 //#include <CLHEP/Vector/LorentzVector.h>
56 
57 // System includes
58 #include <cmath>
59 #include <stdlib.h>
60 #include <string>
61 #include <iostream>
62 #include <vector>
63 
64 #include <map>
65 #include <vector>
66 
67 namespace cms
68 {
70 
71  public:
72  typedef std::vector<DiMuonTrajectorySeed> SeedContainer;
73  typedef SeedContainer::iterator SeedIterator;
74 
76  const MagneticField*,
78  const HICConst*,
79  const std::string,
80  int aMult);
81 
82  virtual std::map<DetLayer*,SeedContainer> produce(const edm::Event& e, const edm::EventSetup& c,
86  const TransientTrackingRecHitBuilder* RecHitBuilder,
87  const MeasurementTracker* measurementTracker,
88  std::vector<DetLayer*>*
89  );
90 
92 
93 // SeedContainer seeds();
94 
95  private:
100  std::string builderName;
102 
103  std::vector<BarrelDetLayer*> bl;
104  std::vector<ForwardDetLayer*> fpos;
105  std::vector<ForwardDetLayer*> fneg;
106  std::vector<const DetLayer*> theDetLayer;
107 
108  std::vector<LayerWithHits*> allLayersWithHits;
111 
112  std::pair<TrajectoryMeasurement,bool> barrelUpdateSeed(
113  const FreeTrajectoryState&,
114  const TrajectoryMeasurement&
115  ) const;
116  std::pair<TrajectoryMeasurement,bool> forwardUpdateSeed(
117  const FreeTrajectoryState&,
118  const TrajectoryMeasurement&
119  ) const;
120 
127 
128 };
129 }
130 #endif
131 
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