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 
16 class SeedComparitor;
17 namespace edm {
18  class ConsumesCollector;
19 }
20 
22 public:
23  static const int cotTheta_Max = 99999;
24 
28 
31  const std::string& propagator = "PropagatorWithMaterial",
32  double seedMomentumForBOFF = -5.0);
33 
34  //dtor
36 
38  const SeedingHitSet& phits,
39  const SeedingHitSet& mhits,
40  const TrackingRegion& region,
41  const edm::Event& ev,
42  const edm::EventSetup& es,
43  std::stringstream& ss,
44  std::vector<Quad>& quadV,
46 
47  double simpleGetSlope(const SeedingHitSet::ConstRecHitPointer& ohit,
51  const TrackingRegion& region,
52  double& cotTheta,
53  double& z0);
54  double verySimpleFit(int size, double* ax, double* ay, double* e2y, double& p0, double& e2p0, double& p1);
55  double getSqrEffectiveErrorOnZ(const SeedingHitSet::ConstRecHitPointer& hit, const TrackingRegion& region);
56 
57  //
58  // Some utility methods added by sguazz
59  void stupidPrint(std::string s, float* d);
60  void stupidPrint(std::string s, double* d);
61  void stupidPrint(const char* s, GlobalPoint* d);
62  void stupidPrint(const char* s, GlobalPoint* d, int n);
63  void bubbleSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx);
64  void bubbleReverseSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx);
65  //
66  //
67 
68 protected:
71  const edm::EventSetup& es) const {
72  return true;
73  }
74 
75  GlobalTrajectoryParameters initialKinematic(const SeedingHitSet& hits,
76  const GlobalPoint& vertexPos,
77  const edm::EventSetup& es,
78  const float cotTheta) const;
79 
80  CurvilinearTrajectoryError initialError(const GlobalVector& vertexBounds, float ptMin, float sinTheta) const;
81 
83  const SeedingHitSet& hits,
84  const FreeTrajectoryState& fts,
85  const edm::EventSetup& es,
86  bool apply_dzCut,
87  const TrackingRegion& region) const;
88 
89  bool buildSeedBool(TrajectorySeedCollection& seedCollection,
90  const SeedingHitSet& hits,
91  const FreeTrajectoryState& fts,
92  const edm::EventSetup& es,
93  bool apply_dzCut,
94  const TrackingRegion& region,
95  double dzcut) const;
96 
98  const TrajectoryStateOnSurface& state) const;
99 
100  bool similarQuadExist(Quad& thisQuad, std::vector<Quad>& quadV);
101 
102  double DeltaPhiManual(const math::XYZVector& v1, const math::XYZVector& v2);
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:10
std::vector< TrajectorySeed > TrajectorySeedCollection
bool checkHit(const TrajectoryStateOnSurface &, const SeedingHitSet::ConstRecHitPointer &hit, const edm::EventSetup &es) const
d
Definition: ztail.py:151
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
HLT enums.
double p1[4]
Definition: TauolaWrapper.h:89
Definition: Quad.h:4