Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:39

0001 /**********************************************************************
0002  *
0003  * Author: F.Ferro - INFN Genova
0004  *
0005  **********************************************************************/
0006 #ifndef RecoPPS_Local_CTPPSPixelRecHitProducer_H
0007 #define RecoPPS_Local_CTPPSPixelRecHitProducer_H
0008 
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "DataFormats/Common/interface/DetSetVector.h"
0011 #include "DataFormats/Common/interface/DetSet.h"
0012 
0013 #include "FWCore/Framework/interface/stream/EDProducer.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "DataFormats/Common/interface/Handle.h"
0017 #include "FWCore/Framework/interface/ESHandle.h"
0018 
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 #include "FWCore/Utilities/interface/InputTag.h"
0021 #include "FWCore/Utilities/interface/ESGetToken.h"
0022 
0023 #include "DataFormats/CTPPSReco/interface/CTPPSPixelCluster.h"
0024 #include "DataFormats/CTPPSReco/interface/CTPPSPixelRecHit.h"
0025 #include "DataFormats/DetId/interface/DetId.h"
0026 #include "DataFormats/Common/interface/DetSetVector.h"
0027 #include "DataFormats/CTPPSDetId/interface/CTPPSPixelDetId.h"
0028 #include "RecoPPS/Local/interface/RPixClusterToHit.h"
0029 
0030 #include "CondFormats/PPSObjects/interface/PPSPixelTopology.h"
0031 #include "CondFormats/DataRecord/interface/PPSPixelTopologyRcd.h"
0032 
0033 class CTPPSPixelRecHitProducer : public edm::stream::EDProducer<> {
0034 public:
0035   explicit CTPPSPixelRecHitProducer(const edm::ParameterSet &param);
0036 
0037   ~CTPPSPixelRecHitProducer() override;
0038 
0039   void produce(edm::Event &, const edm::EventSetup &) override;
0040 
0041   static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0042 
0043 private:
0044   edm::ParameterSet param_;
0045   int verbosity_;
0046 
0047   edm::InputTag src_;
0048   edm::EDGetTokenT<edm::DetSetVector<CTPPSPixelCluster>> tokenCTPPSPixelCluster_;
0049   edm::ESGetToken<PPSPixelTopology, PPSPixelTopologyRcd> pixelTopologyToken_;
0050 
0051   RPixClusterToHit cluster2hit_;
0052 
0053   void run(const edm::DetSetVector<CTPPSPixelCluster> &input,
0054            edm::DetSetVector<CTPPSPixelRecHit> &output,
0055            const PPSPixelTopology &ppt);
0056 };
0057 
0058 #endif