CMS 3D CMS Logo

SeedForPhotonConversionFromQuadruplets.h
Go to the documentation of this file.
1 #ifndef SeedForPhotonConversionFromQuadruplets_H
2 #define SeedForPhotonConversionFromQuadruplets_H
3 
9 
10 #include "PrintRecoObjects.h"
11 #include "Quad.h"
12 
14 
15 
17 class SeedComparitor;
18 namespace edm {class ConsumesCollector;}
19 
21 public:
22  static const int cotTheta_Max=99999;
23 
25 
27  const std::string & propagator = "PropagatorWithMaterial", double seedMomentumForBOFF = -5.0);
28 
29  //dtor
31 
32  const TrajectorySeed * trajectorySeed( TrajectorySeedCollection & seedCollection,
33  const SeedingHitSet & phits,
34  const SeedingHitSet & mhits,
35  const TrackingRegion & region,
36  const edm::Event& ev,
37  const edm::EventSetup& es,
38  std::stringstream& ss, std::vector<Quad> & quadV,
40 
41 
42  double simpleGetSlope(const SeedingHitSet::ConstRecHitPointer &ohit, const SeedingHitSet::ConstRecHitPointer &nohit, const SeedingHitSet::ConstRecHitPointer &ihit, const SeedingHitSet::ConstRecHitPointer &nihit, const TrackingRegion & region, double & cotTheta, double & z0);
43  double verySimpleFit(int size, double* ax, double* ay, double* e2y, double& p0, double& e2p0, double& p1);
44  double getSqrEffectiveErrorOnZ(const SeedingHitSet::ConstRecHitPointer &hit, const TrackingRegion & region);
45 
46  //
47  // Some utility methods added by sguazz
48  void stupidPrint(std::string s,float* d);
49  void stupidPrint(std::string s,double* d);
50  void stupidPrint(const char* s,GlobalPoint* d);
51  void stupidPrint(const char* s,GlobalPoint* d, int n);
52  void bubbleSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx);
53  void bubbleReverseSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx);
54  //
55  //
56 
57 
58 
59 
60  protected:
61 
62  bool checkHit(
65  const edm::EventSetup& es) const { return true; }
66 
67  GlobalTrajectoryParameters initialKinematic(
68  const SeedingHitSet & hits,
69  const GlobalPoint & vertexPos,
70  const edm::EventSetup& es,
71  const float cotTheta) const;
72 
73  CurvilinearTrajectoryError initialError(
74  const GlobalVector& vertexBounds,
75  float ptMin,
76  float sinTheta) const;
77 
78  const TrajectorySeed * buildSeed(
79  TrajectorySeedCollection & seedCollection,
80  const SeedingHitSet & hits,
81  const FreeTrajectoryState & fts,
82  const edm::EventSetup& es,
83  bool apply_dzCut,
84  const TrackingRegion &region) const;
85 
86  bool buildSeedBool(
87  TrajectorySeedCollection & seedCollection,
88  const SeedingHitSet & hits,
89  const FreeTrajectoryState & fts,
90  const edm::EventSetup& es,
91  bool apply_dzCut,
92  const TrackingRegion & region,
93  double dzcut) const;
94 
97  const TrajectoryStateOnSurface &state) const;
98 
99  bool similarQuadExist(Quad & thisQuad, std::vector<Quad>& quadV);
100 
101  double DeltaPhiManual(const math::XYZVector& v1, const math::XYZVector& v2);
102 
103 
104 protected:
107  double kPI_;
108 
109  // FIXME (well the whole class needs to be fixed!)
111 
112  std::stringstream * pss;
114  std::unique_ptr<SeedComparitor> theComparitor;
115 };
116 #endif
size
Write out results.
bool ev
BaseTrackerRecHit const * ConstRecHitPointer
Definition: SeedingHitSet.h:11
std::vector< TrajectorySeed > TrajectorySeedCollection
bool checkHit(const TrajectoryStateOnSurface &, const SeedingHitSet::ConstRecHitPointer &hit, const edm::EventSetup &es) const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
HLT enums.
double p1[4]
Definition: TauolaWrapper.h:89
Definition: Quad.h:4