Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:28

0001 #ifndef RecoTracker_PixelLowPtUtilities_ClusterShapeTrajectoryFilter_h
0002 #define RecoTracker_PixelLowPtUtilities_ClusterShapeTrajectoryFilter_h
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0005 #include "FWCore/Utilities/interface/EDGetToken.h"
0006 #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h"
0007 
0008 namespace edm {
0009   class ParameterSet;
0010   class EventSetup;
0011 }  // namespace edm
0012 
0013 class SiPixelRecHit;
0014 class SiStripRecHit2D;
0015 class GlobalTrackingGeometry;
0016 class MagneticField;
0017 class SiPixelLorentzAngle;
0018 class SiStripLorentzAngle;
0019 class ClusterShapeHitFilter;
0020 class SiPixelClusterShapeCache;
0021 
0022 class ClusterShapeTrajectoryFilter : public TrajectoryFilter {
0023 public:
0024   ClusterShapeTrajectoryFilter(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC);
0025   ~ClusterShapeTrajectoryFilter() override;
0026 
0027   static void fillPSetDescription(edm::ParameterSetDescription& iDesc);
0028 
0029   void setEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0030 
0031   bool qualityFilter(const TempTrajectory&) const override;
0032   bool qualityFilter(const Trajectory&) const override;
0033 
0034   bool toBeContinued(TempTrajectory&) const override;
0035   bool toBeContinued(Trajectory&) const override;
0036 
0037   std::string name() const override { return "ClusterShapeTrajectoryFilter"; }
0038 
0039 private:
0040   edm::EDGetTokenT<SiPixelClusterShapeCache> theCacheToken;
0041   edm::ESGetToken<ClusterShapeHitFilter, TrajectoryFilter::Record> theFilterToken;
0042   const SiPixelClusterShapeCache* theCache;
0043   const ClusterShapeHitFilter* theFilter;
0044 };
0045 
0046 #endif