CMS 3D CMS Logo

ElectronSeedProducer.h
Go to the documentation of this file.
1 #ifndef ElectronSeedProducer_h
2 #define ElectronSeedProducer_h
3 
4 //
5 // Package: RecoEgamma/ElectronTrackSeedProducers
6 // Class: ElectronSeedProducer
7 //
8 // Description: Calls ElectronSeedGenerator
9 // to find TrajectorySeeds.
10 
11 
13 class SeedFilter ;
14 class EgammaHcalIsolation ;
15 class ElectronHcalHelper ;
16 
21 
25 
27 namespace edm
28  {
30  }
31 
38 
41 
43  {
44  public:
45 
46  //static void fillDescriptions( edm::ConfigurationDescriptions & ) ;
47 
48  explicit ElectronSeedProducer( const edm::ParameterSet & ) ;
49  void beginRun( edm::Run const&, edm::EventSetup const & ) final;
50  void endRun( edm::Run const&, edm::EventSetup const & ) final;
51  ~ElectronSeedProducer() override ;
52 
53  void produce( edm::Event &, const edm::EventSetup & ) final;
54 
55  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
56  private:
57 
58  void filterClusters
59  ( const reco::BeamSpot & bs,
60  const edm::Handle<reco::SuperClusterCollection> & superClusters,
62  std::vector<float> & hoe1s, std::vector<float> & hoe2s, edm::Event& e, const edm::EventSetup& setup ) ;
63  void filterSeeds(edm::Event& e, const edm::EventSetup& setup, reco::SuperClusterRefVector &sclRefs);
64 
66  std::vector<edm::EDGetTokenT<TrajectorySeedCollection>> initialSeeds_ ;
70 
72  std::unique_ptr<SeedFilter> seedFilter_;
73 
75  std::vector<const TrajectorySeedCollection *> theInitialSeedColls ;
76 
77  // for the filter
78  // H/E
79  // edm::InputTag hcalRecHits_;
82  // edm::ESHandle<CaloGeometry> caloGeom_ ;
83  // unsigned long long caloGeomCacheId_ ;
85  unsigned long long caloGeomCacheId_ ;
87  unsigned long long caloTopoCacheId_;
88  // EgammaHcalIsolation * hcalIso_ ;
90  // double maxHOverE_ ;
93  double maxHBarrel_ ;
94  double maxHEndcaps_ ;
95  // double hOverEConeSize_;
96  // double hOverEHBMinE_;
97  // double hOverEHFMinE_;
98  // super cluster Et cut
99  double SCEtCut_;
100 
104 
107 
109  std::unique_ptr<hgcal::ClusterTools> hgcClusterTools_;
110 
111  } ;
112 
113 #endif
114 
115 
116 
unsigned long long caloGeomCacheId_
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
edm::EDGetTokenT< EcalRecHitCollection > eeRecHitCollection_
edm::ESHandle< CaloTopology > caloTopo_
std::vector< TrajectorySeed > TrajectorySeedCollection
edm::EDGetTokenT< EcalRecHitCollection > ebRecHitCollection_
std::unique_ptr< SeedFilter > seedFilter_
edm::ESHandle< CaloGeometry > caloGeom_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ElectronSeedGenerator * matcher_
TrajectorySeedCollection * theInitialSeedColl
unsigned long long caloTopoCacheId_
HLT enums.
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
ElectronHcalHelper * hcalHelper_
std::unique_ptr< hgcal::ClusterTools > hgcClusterTools_
Definition: Run.h:44
std::vector< edm::EDGetTokenT< TrajectorySeedCollection > > initialSeeds_
std::vector< const TrajectorySeedCollection * > theInitialSeedColls