CMS 3D CMS Logo

Stage1Layer2EGammaAlgorithmImp.h
Go to the documentation of this file.
1 
11 //
12 // This header file contains the class definitions for all of the concrete
13 // implementations of the firmware interface. The Stage1Layer2FirmwareFactory
14 // selects the appropriate implementation based on the firmware version in the
15 // configuration.
16 //
17 
18 #ifndef L1TCALOSTAGE1EGAMMAALGORITHMIMP_H
19 #define L1TCALOSTAGE1EGAMMAALGORITHMIMP_H
20 
23 
24 namespace l1t {
25 
27  public:
29  ~Stage1Layer2EGammaAlgorithmImpPP() override =default;
30  void processEvent(const std::vector<l1t::CaloEmCand> & EMCands,
31  const std::vector<l1t::CaloRegion> & regions,
32  const std::vector<l1t::Jet> * jets,
33  std::vector<l1t::EGamma>* egammas) override;
34  private:
35  CaloParamsHelper const* const params_;
36  double Isolation(int ieta, int iphi,
37  const std::vector<l1t::CaloRegion> & regions) const;
38  double HoverE(int et, int ieta, int iphi,
39  const std::vector<l1t::CaloRegion> & regions) const;
40  int AssociatedJetPt(int ieta, int iphi,
41  const std::vector<l1t::Jet> * jets) const;
42 
43  unsigned isoLutIndex(unsigned int etaPt,unsigned int jetPt) const;
44  };
45 
47  public:
49  ~Stage1Layer2EGammaAlgorithmImpHI() override =default;
50  void processEvent(const std::vector<l1t::CaloEmCand> & EMCands,
51  const std::vector<l1t::CaloRegion> & regions,
52  const std::vector<l1t::Jet> * jets,
53  std::vector<l1t::EGamma>* egammas) override;
54  private:
55  CaloParamsHelper const* const params_;
56  double Isolation(int ieta, int iphi,
57  const std::vector<l1t::CaloRegion> & regions) const;
58  double HoverE(int et, int ieta, int iphi,
59  const std::vector<l1t::CaloRegion> & regions) const;
60  int AssociatedJetPt(int ieta, int iphi,
61  const std::vector<l1t::Jet> * jets) const;
62 
63  unsigned isoLutIndex(unsigned int etaPt,unsigned int jetPt) const;
64  };
65 
67  public:
69  ~Stage1Layer2EGammaAlgorithmImpHW() override = default;
70  void processEvent(const std::vector<l1t::CaloEmCand> & EMCands,
71  const std::vector<l1t::CaloRegion> & regions,
72  const std::vector<l1t::Jet> * jets,
73  std::vector<l1t::EGamma>* egammas) override;
74  private:
75  CaloParamsHelper const * const params_;
76  int AssociatedJetPt(int ieta, int iphi,
77  const std::vector<l1t::Jet> * jets) const;
78 
79  unsigned isoLutIndex(unsigned int etaPt,unsigned int jetPt) const;
80  };
81 
82 }
83 
84 #endif
double HoverE(int et, int ieta, int iphi, const std::vector< l1t::CaloRegion > &regions) const
--— Compute H/E -----------------—
int AssociatedJetPt(int ieta, int iphi, const std::vector< l1t::Jet > *jets) const
double Isolation(int ieta, int iphi, const std::vector< l1t::CaloRegion > &regions) const
–— Compute isolation sum --------------——
delete x;
Definition: CaloConfig.h:22
~Stage1Layer2EGammaAlgorithmImpPP() override=default
vector< PseudoJet > jets
void processEvent(const std::vector< l1t::CaloEmCand > &EMCands, const std::vector< l1t::CaloRegion > &regions, const std::vector< l1t::Jet > *jets, std::vector< l1t::EGamma > *egammas) override
et
define resolution functions of each parameter
unsigned isoLutIndex(unsigned int etaPt, unsigned int jetPt) const
Stage1Layer2EGammaAlgorithmImpPP(CaloParamsHelper const *params)