CMS 3D CMS Logo

pfalgo2hgc_ref.h
Go to the documentation of this file.
1 #ifndef PFALGO2HGC_REF_H
2 #define PFALGO2HGC_REF_H
3 
4 #include "pfalgo_common_ref.h"
5 
6 namespace edm {
7  class ParameterSet;
8 }
9 
10 namespace l1ct {
11 
13  public:
14  PFAlgo2HGCEmulator(unsigned int nTrack,
15  unsigned int nCalo,
16  unsigned int nMu,
17  unsigned int nSelCalo,
18  unsigned int dR2Max_Tk_Mu,
19  unsigned int dR2Max_Tk_Calo,
20  pt_t tk_MaxInvPt_Loose,
21  pt_t tk_MaxInvPt_Tight)
23  nTrack, nCalo, nMu, nSelCalo, dR2Max_Tk_Mu, dR2Max_Tk_Calo, tk_MaxInvPt_Loose, tk_MaxInvPt_Tight) {}
24 
25  // note: this one will work only in CMSSW
26  PFAlgo2HGCEmulator(const edm::ParameterSet& iConfig);
27 
28  ~PFAlgo2HGCEmulator() override {}
29 
30  void run(const PFInputRegion& in, OutputRegion& out) const override;
31 
33  void mergeNeutrals(OutputRegion& out) const override {}
34 
35  void toFirmware(const PFInputRegion& in,
37  HadCaloObj calo[/*nCALO*/],
38  TkObj track[/*nTRACK*/],
39  MuObj mu[/*nMU*/]) const;
40  void toFirmware(const OutputRegion& out,
41  PFChargedObj outch[/*nTRACK*/],
42  PFNeutralObj outne[/*nSELCALO*/],
43  PFChargedObj outmu[/*nMU*/]) const;
44  };
45 
46 } // namespace l1ct
47 
48 #endif
void run(const PFInputRegion &in, OutputRegion &out) const override
void toFirmware(const PFInputRegion &in, PFRegion &region, HadCaloObj calo[], TkObj track[], MuObj mu[]) const
void mergeNeutrals(OutputRegion &out) const override
moves all objects from out.pfphoton to the beginning of out.pfneutral: nothing to do for this algo ...
PFAlgo2HGCEmulator(unsigned int nTrack, unsigned int nCalo, unsigned int nMu, unsigned int nSelCalo, unsigned int dR2Max_Tk_Mu, unsigned int dR2Max_Tk_Calo, pt_t tk_MaxInvPt_Loose, pt_t tk_MaxInvPt_Tight)
ap_ufixed< 14, 12, AP_TRN, AP_SAT > pt_t
Definition: datatypes.h:21
HLT enums.
Definition: Common.h:9
Definition: datatypes.h:19