CMS 3D CMS Logo

ParticleTowerProducer.h
Go to the documentation of this file.
1 #ifndef ParticleTowerProducer_h
2 #define ParticleTowerProducer_h
3 
4 // user include files
7 
10 
12 
14 
18 
21 
22 #include "TMath.h"
23 #include "TRandom.h"
24 
26 public:
28  ~ParticleTowerProducer() override;
29 
30 private:
31  void beginJob() override;
32  void produce(edm::Event&, const edm::EventSetup&) override;
33  void endJob() override;
34  void resetTowers(edm::Event& iEvent, const edm::EventSetup& iSetup);
36  DetId getNearestTower(double eta, double phi) const;
37  // uint32_t denseIndex(int ieta, int iphi, double eta) const;
38  int eta2ieta(double eta) const;
39  int phi2iphi(double phi, int ieta) const;
40 
41  // ----------member data ---------------------------
42 
44  bool useHF_;
45 
46  std::map<DetId, double> towers_;
47 
48  double PI;
49  TRandom* random_;
50 
51  CaloGeometry const* geo_; // geometry
52 
53  static const double etatow[];
54  static const double etacent[];
55  double etaedge[42];
56 };
57 #endif
static const double etatow[]
int phi2iphi(double phi, int ieta) const
ParticleTowerProducer(const edm::ParameterSet &)
void resetTowers(edm::Event &iEvent, const edm::EventSetup &iSetup)
int iEvent
Definition: GenABIO.cc:224
void produce(edm::Event &, const edm::EventSetup &) override
static const double etacent[]
Definition: DetId.h:17
int eta2ieta(double eta) const
edm::EDGetTokenT< reco::PFCandidateCollection > src_
std::map< DetId, double > towers_
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
CaloGeometry const * geo_
DetId getNearestTower(const reco::PFCandidate &in) const