CMS 3D CMS Logo

Stage1Layer2TauAlgorithmImp.h
Go to the documentation of this file.
1 #ifndef Stage1Layer2TauAlgorithmImp_h
2 #define Stage1Layer2TauAlgorithmImp_h
3 
7 
9 
10 #include <memory>
11 // This is the implementation of the Stage1Layer2TauAlgorithm abstract base class.
12 // This class will be used to find sngle high pt tracks in heavy ion collisions.
13 
14 namespace l1t {
15 
17  public:
19  ~Stage1Layer2SingleTrackHI() override =default;
20  void processEvent(const std::vector<l1t::CaloEmCand> & clusters,
21  const std::vector<l1t::CaloRegion> & regions,
22  std::vector<l1t::Tau> * isoTaus,
23  std::vector<l1t::Tau> * taus) override;
24 
25  private:
26  CaloParamsHelper const* const params_;
27 
28  };
29 
31  public:
33  ~Stage1Layer2TauAlgorithmImpPP() override =default;
34  void processEvent(const std::vector<l1t::CaloEmCand> & EMCands,
35  const std::vector<l1t::CaloRegion> & regions,
36  std::vector<l1t::Tau> * isoTaus,
37  std::vector<l1t::Tau> * taus) override;
38 
39  private:
40 
41  CaloParamsHelper const* const params_;
42 
43  string findNESW(int ieta, int iphi, int neta, int nphi) const;
44 
45  double JetIsolation(int et, int ieta, int iphi,
46  const std::vector<l1t::Jet> & jets) const;
47 
48  unsigned isoLutIndex(unsigned int tauPt,unsigned int jetPt) const;
49 
50  int AssociatedJetPt(int ieta, int iphi,
51  const std::vector<l1t::Jet> * jets) const;
52 
53  };
54 
56  public:
58  ~Stage1Layer2TauAlgorithmImpHW() override =default;
59  void processEvent(const std::vector<l1t::CaloEmCand> & EMCands,
60  const std::vector<l1t::CaloRegion> & regions,
61  std::vector<l1t::Tau> * isoTaus,
62  std::vector<l1t::Tau> * taus) override;
63 
64  private:
65 
66  CaloParamsHelper const* const params_;
67  std::unique_ptr<Stage1TauIsolationLUT> isoTauLut;
68 
69 
70  string findNESW(int ieta, int iphi, int neta, int nphi) const;
71 
72  double JetIsolation(int et, int ieta, int iphi,
73  const std::vector<l1t::Jet> & jets) const;
74 
75  unsigned isoLutIndex(unsigned int tauPt,unsigned int jetPt) const;
76 
77  int AssociatedJetPt(int ieta, int iphi,
78  const std::vector<l1t::Jet> * jets) const;
79  };
80 }
81 #endif
~Stage1Layer2SingleTrackHI() override=default
delete x;
Definition: CaloConfig.h:22
Stage1Layer2SingleTrackHI(CaloParamsHelper const *params)
vector< PseudoJet > jets
CaloParamsHelper const *const params_
void processEvent(const std::vector< l1t::CaloEmCand > &clusters, const std::vector< l1t::CaloRegion > &regions, std::vector< l1t::Tau > *isoTaus, std::vector< l1t::Tau > *taus) override
et
define resolution functions of each parameter
std::unique_ptr< Stage1TauIsolationLUT > isoTauLut