File indexing completed on 2022-06-10 01:53:49
0001 #ifndef PFALGO2HGC_REF_H
0002 #define PFALGO2HGC_REF_H
0003
0004 #include "pfalgo_common_ref.h"
0005
0006 namespace edm {
0007 class ParameterSet;
0008 }
0009
0010 namespace l1ct {
0011
0012 class PFAlgo2HGCEmulator : public PFAlgoEmulatorBase {
0013 public:
0014 PFAlgo2HGCEmulator(unsigned int nTrack,
0015 unsigned int nCalo,
0016 unsigned int nMu,
0017 unsigned int nSelCalo,
0018 unsigned int dR2Max_Tk_Mu,
0019 unsigned int dR2Max_Tk_Calo,
0020 pt_t tk_MaxInvPt_Loose,
0021 pt_t tk_MaxInvPt_Tight)
0022 : PFAlgoEmulatorBase(
0023 nTrack, nCalo, nMu, nSelCalo, dR2Max_Tk_Mu, dR2Max_Tk_Calo, tk_MaxInvPt_Loose, tk_MaxInvPt_Tight) {}
0024
0025
0026 PFAlgo2HGCEmulator(const edm::ParameterSet& iConfig);
0027
0028 ~PFAlgo2HGCEmulator() override {}
0029
0030 void run(const PFInputRegion& in, OutputRegion& out) const override;
0031
0032
0033 void mergeNeutrals(OutputRegion& out) const override {}
0034
0035 void toFirmware(const PFInputRegion& in,
0036 PFRegion& region,
0037 HadCaloObj calo[],
0038 TkObj track[],
0039 MuObj mu[]) const;
0040 void toFirmware(const OutputRegion& out,
0041 PFChargedObj outch[],
0042 PFNeutralObj outne[],
0043 PFChargedObj outmu[]) const;
0044 };
0045
0046 }
0047
0048 #endif