CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrajectorySeedProducer.h
Go to the documentation of this file.
1 #ifndef FastSimulation_Tracking_TrajectorySeedProducer_h
2 #define FastSimulation_Tracking_TrajectorySeedProducer_h
3 
8 
9 #include <vector>
10 #include <string>
11 
13 class MagneticField;
14 class MagneticFieldMap;
15 class TrackerGeometry;
18 class ParticlePropagator;
20 
21 namespace edm {
22  class ParameterSet;
23  class Event;
24  class EventSetup;
25 }
26 
28 {
29  public:
30 
32 
33  virtual ~TrajectorySeedProducer();
34 
35  virtual void beginRun(edm::Run const& run, const edm::EventSetup & es) override;
36 
37  virtual void produce(edm::Event& e, const edm::EventSetup& es) override;
38 
39  private:
40 
42  void stateOnDet(const TrajectoryStateOnSurface& ts,
43  unsigned int detid,
44  PTrajectoryStateOnDet& pts) const;
45 
49  GlobalPoint& gpos2,
50  double error,
51  bool forward,
52  unsigned algo) const;
53 
54  private:
55 
60 
61  std::vector<double> pTMin;
62  std::vector<double> maxD0;
63  std::vector<double> maxZ0;
64  std::vector<unsigned> minRecHits;
67 
70  unsigned int absMinRecHits;
71  std::vector<std::string> seedingAlgo;
72  std::vector<unsigned int> numberOfHits;
74  std::vector<unsigned int> firstHitSubDetectorNumber;
75  std::vector<unsigned int> secondHitSubDetectorNumber;
76  std::vector<unsigned int> thirdHitSubDetectorNumber;
77  std::vector< std::vector<unsigned int> > firstHitSubDetectors;
78  std::vector< std::vector<unsigned int> > secondHitSubDetectors;
79  std::vector< std::vector<unsigned int> > thirdHitSubDetectors;
81  bool newSyntax;
82  std::vector<std::string> layerList;
83 
84  std::vector<double> originRadius;
85  std::vector<double> originHalfLength;
86  std::vector<double> originpTMin;
87 
88  std::vector<edm::InputTag> primaryVertices;
89  std::vector<double> zVertexConstraint;
90 
92 
93  std::vector<const reco::VertexCollection*> vertices;
94  double x0, y0, z0;
95 
96 };
97 
98 #endif
bool compatibleWithBeamAxis(GlobalPoint &gpos1, GlobalPoint &gpos2, double error, bool forward, unsigned algo) const
std::vector< unsigned > minRecHits
std::vector< unsigned int > firstHitSubDetectorNumber
virtual void beginRun(edm::Run const &run, const edm::EventSetup &es) override
TrajectorySeedProducer(const edm::ParameterSet &conf)
std::vector< double > pTMin
std::vector< double > originRadius
const MagneticFieldMap * theFieldMap
void stateOnDet(const TrajectoryStateOnSurface &ts, unsigned int detid, PTrajectoryStateOnDet &pts) const
A mere copy (without memory leak) of an existing tracking method.
std::vector< std::string > layerList
std::vector< double > originpTMin
std::vector< unsigned int > numberOfHits
PropagatorWithMaterial * thePropagator
static const double pts[33]
Definition: Constants.h:31
std::vector< std::vector< unsigned int > > secondHitSubDetectors
virtual void produce(edm::Event &e, const edm::EventSetup &es) override
std::vector< std::vector< unsigned int > > thirdHitSubDetectors
std::vector< double > zVertexConstraint
const TrackerGeometry * theGeometry
tuple conf
Definition: dbtoconf.py:185
std::vector< unsigned int > thirdHitSubDetectorNumber
std::vector< unsigned int > secondHitSubDetectorNumber
std::vector< const reco::VertexCollection * > vertices
std::vector< double > originHalfLength
std::vector< double > maxZ0
std::vector< std::string > seedingAlgo
std::vector< edm::InputTag > primaryVertices
std::vector< std::vector< unsigned int > > firstHitSubDetectors
std::vector< double > maxD0
Definition: Run.h:36
const MagneticField * theMagField