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;
21 
23 public:
24  static const int cotTheta_Max = 99999;
25 
29 
32  const std::string& propagator = "PropagatorWithMaterial",
33  double seedMomentumForBOFF = -5.0);
34 
35  //dtor
37 
39  const SeedingHitSet& phits,
40  const SeedingHitSet& mhits,
41  const TrackingRegion& region,
42  const edm::Event& ev,
43  const edm::EventSetup& es,
44  std::stringstream& ss,
45  std::vector<Quad>& quadV,
47 
52  const TrackingRegion& region,
53  double& cotTheta,
54  double& z0);
55  double verySimpleFit(int size, double* ax, double* ay, double* e2y, double& p0, double& e2p0, double& p1);
57 
58  //
59  // Some utility methods added by sguazz
60  void stupidPrint(std::string s, float* d);
61  void stupidPrint(std::string s, double* d);
62  void stupidPrint(const char* s, GlobalPoint* d);
63  void stupidPrint(const char* s, GlobalPoint* d, int n);
64  void bubbleSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx);
66  //
67  //
68 
69 protected:
72  const edm::EventSetup& es) const {
73  return true;
74  }
75 
77  const GlobalPoint& vertexPos,
78  const edm::EventSetup& es,
79  const float cotTheta) const;
80 
81  CurvilinearTrajectoryError initialError(const GlobalVector& vertexBounds, float ptMin, float sinTheta) const;
82 
84  const SeedingHitSet& hits,
85  const FreeTrajectoryState& fts,
86  const edm::EventSetup& es,
87  bool apply_dzCut,
88  const TrackingRegion& region) const;
89 
91  const SeedingHitSet& hits,
92  const FreeTrajectoryState& fts,
93  const edm::EventSetup& es,
94  bool apply_dzCut,
95  const TrackingRegion& region,
96  double dzcut) const;
97 
99  const TrajectoryStateOnSurface& state) const;
100 
101  bool similarQuadExist(Quad& thisQuad, std::vector<Quad>& quadV);
102 
103  double DeltaPhiManual(const math::XYZVector& v1, const math::XYZVector& v2);
104 
105 protected:
111  double kPI_;
112 
113  // FIXME (well the whole class needs to be fixed!)
115 
116  std::stringstream* pss;
118  std::unique_ptr<SeedComparitor> theComparitor;
119 };
120 #endif
size
Write out results.
GlobalTrajectoryParameters initialKinematic(const SeedingHitSet &hits, const GlobalPoint &vertexPos, const edm::EventSetup &es, const float cotTheta) const
bool buildSeedBool(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits, const FreeTrajectoryState &fts, const edm::EventSetup &es, bool apply_dzCut, const TrackingRegion &region, double dzcut) const
const TrajectorySeed * trajectorySeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &phits, const SeedingHitSet &mhits, const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es, std::stringstream &ss, std::vector< Quad > &quadV, edm::ParameterSet &QuadCutPSet)
CurvilinearTrajectoryError initialError(const GlobalVector &vertexBounds, float ptMin, float sinTheta) const
double DeltaPhiManual(const math::XYZVector &v1, const math::XYZVector &v2)
void bubbleReverseSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx)
constexpr float ptMin
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theBfieldToken
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > theTrackerToken
void bubbleSortVsPhi(GlobalPoint arr[], int n, GlobalPoint vtx)
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorToken
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)
BaseTrackerRecHit const * ConstRecHitPointer
Definition: SeedingHitSet.h:14
const TrajectorySeed * buildSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits, const FreeTrajectoryState &fts, const edm::EventSetup &es, bool apply_dzCut, const TrackingRegion &region) const
double verySimpleFit(int size, double *ax, double *ay, double *e2y, double &p0, double &e2p0, double &p1)
std::vector< TrajectorySeed > TrajectorySeedCollection
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ phits
SeedingHitSet::RecHitPointer refitHit(SeedingHitSet::ConstRecHitPointer hit, const TrajectoryStateOnSurface &state) const
d
Definition: ztail.py:151
bool checkHit(const TrajectoryStateOnSurface &, const SeedingHitSet::ConstRecHitPointer &hit, const edm::EventSetup &es) const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theTTRHBuilderToken
double getSqrEffectiveErrorOnZ(const SeedingHitSet::ConstRecHitPointer &hit, const TrackingRegion &region)
bool similarQuadExist(Quad &thisQuad, std::vector< Quad > &quadV)
Definition: Quad.h:4
SeedForPhotonConversionFromQuadruplets(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC, const edm::ParameterSet &SeedComparitorPSet)