Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:33

0001 #ifndef TrackingTools_PatternTools_ClusterRemovalRefSetter_h
0002 #define TrackingTools_PatternTools_ClusterRemovalRefSetter_h
0003 
0004 #include "DataFormats/Common/interface/Handle.h"
0005 #include "DataFormats/Common/interface/DetSetVectorNew.h"
0006 #include "DataFormats/Common/interface/Ref.h"
0007 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
0008 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0009 
0010 #include "DataFormats/TrackerRecHit2D/interface/ClusterRemovalInfo.h"
0011 #include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h"
0012 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
0013 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
0014 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
0015 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Utilities/interface/InputTag.h"
0020 
0021 class ClusterRemovalRefSetter {
0022 public:
0023   inline ClusterRemovalRefSetter(const edm::Event& iEvent, const edm::InputTag& tag);
0024   inline ClusterRemovalRefSetter(const edm::Event& iEvent, const edm::EDGetTokenT<reco::ClusterRemovalInfo>& token);
0025 
0026   inline void reKey(TrackingRecHit* hit) const;
0027 
0028 private:
0029   typedef OmniClusterRef::ClusterPixelRef ClusterPixelRef;
0030   typedef OmniClusterRef::ClusterStripRef ClusterStripRef;
0031 
0032   inline void reKeyPixel(OmniClusterRef& clusRef) const;
0033   inline void reKeyStrip(OmniClusterRef& clusRef) const;
0034 
0035 private:
0036   const reco::ClusterRemovalInfo* cri_;
0037 };
0038 
0039 #include "ClusterRemovalRefSetter.icc"
0040 #endif