CMS 3D CMS Logo

SiPixelRecHitConverter.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPixelRecHits_SiPixelRecHitConverter_h
2 #define RecoLocalTracker_SiPixelRecHits_SiPixelRecHitConverter_h
3 
4 //---------------------------------------------------------------------------
32 //---------------------------------------------------------------------------
33 
34 //--- Base class for CPEs:
35 
37 
38 //--- Geometry + DataFormats
43 
44 //--- Framework
48 
49 //#define TP_OLD
50 #ifdef TP_OLD
51 #include "FWCore/Framework/interface/Handle.h"
52 #else
54 #endif
58 
59 class MagneticField;
60 namespace cms {
62  public:
63  //--- Constructor, virtual destructor (just in case)
64  explicit SiPixelRecHitConverter(const edm::ParameterSet& conf);
65  ~SiPixelRecHitConverter() override;
66 
67  //--- Factory method to make CPE's depending on the ParameterSet
68  //--- Not sure if we need to make more than one CPE to run concurrently
69  //--- on different parts of the detector (e.g., one for the barrel and the
70  //--- one for the forward). The way the CPE's are written now, it's
71  //--- likely we can use one (and they will switch internally), or
72  //--- make two of the same but configure them differently. We need a more
73  //--- realistic use case...
74 
75  //--- The top-level event method.
76  void produce(edm::Event& e, const edm::EventSetup& c) override;
77 
78  //--- Execute the position estimator algorithm(s).
79  //--- New interface with DetSetVector
83 
87 
88  private:
90  // TO DO: maybe allow a map of pointers?
91  std::string cpeName_ = "None"; // what the user said s/he wanted
93  PixelCPEBase const* cpe_ = nullptr; // What we got (for now, one ptr to base class)
96  bool m_newCont; // save also in emdNew::DetSetVector
97  };
98 } // namespace cms
99 
100 #endif
void run(const edmNew::DetSetVector< SiPixelCluster > &input, SiPixelRecHitCollectionNew &output, edm::ESHandle< TrackerGeometry > &geom)
static std::string const input
Definition: EdmProvDump.cc:48
SiPixelRecHitConverter(const edm::ParameterSet &conf)
Constructor: set the ParameterSet and defer all thinking to setupCPE().
void produce(edm::Event &e, const edm::EventSetup &c) override
The "Event" entrypoint: gets called by framework for every event.
Namespace of DDCMS conversion namespace.
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > tPixelCluster
PixelCPEBase const * cpe_
const PixelClusterParameterEstimator * cpe_; // what we got (for now, one ptr to base class) ...