Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:13

0001 // Author: dalfonso@cern.ch
0002 // Date: 02/2021
0003 
0004 #ifndef RecoHGCal_TICL_SeedingRegionByHF_h
0005 #define RecoHGCal_TICL_SeedingRegionByHF_h
0006 #include <memory>  // unique_ptr
0007 #include <string>
0008 #include "RecoHGCal/TICL/plugins/SeedingRegionAlgoBase.h"
0009 
0010 #include "FWCore/Framework/interface/ESHandle.h"
0011 #include "FWCore/Framework/interface/Event.h"
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0015 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0017 #include "FWCore/Framework/interface/ConsumesCollector.h"
0018 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
0019 #include "FWCore/Utilities/interface/ESGetToken.h"
0020 
0021 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
0022 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0023 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0024 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0025 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0026 
0027 namespace ticl {
0028   class SeedingRegionByHF final : public SeedingRegionAlgoBase {
0029   public:
0030     SeedingRegionByHF(const edm::ParameterSet& conf, edm::ConsumesCollector& sumes);
0031     ~SeedingRegionByHF() override;
0032 
0033     void initialize(const edm::EventSetup& es) override;
0034 
0035     void makeRegions(const edm::Event& ev, const edm::EventSetup& es, std::vector<TICLSeedingRegion>& result) override;
0036     static void fillPSetDescription(edm::ParameterSetDescription& desc);
0037     static edm::ParameterSetDescription makePSetDescription();
0038 
0039   private:
0040     void buildFirstLayers();
0041 
0042     edm::EDGetTokenT<HFRecHitCollection> hfhits_token_;
0043 
0044     int algoVerbosity_ = 0;
0045 
0046     double minAbsEta_;
0047     double maxAbsEta_;
0048     double minEt_;
0049 
0050     edm::ESGetToken<CaloGeometry, CaloGeometryRecord> geo_token_;
0051     const CaloGeometry* geometry_;
0052   };
0053 }  // namespace ticl
0054 #endif