CMS 3D CMS Logo

pfalgo3_ref.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1ParticleFlow_PFALGO3_REF_H
2 #define L1Trigger_Phase2L1ParticleFlow_PFALGO3_REF_H
3 
4 #include "../firmware/pfalgo3.h"
5 #include "pfalgo_common_ref.h"
6 
7 struct pfalgo3_config : public pfalgo_config {
8  unsigned int nEMCALO, nPHOTON, nALLNEUTRAL;
9  unsigned int dR2MAX_TK_EM;
10  unsigned int dR2MAX_EM_CALO;
11 
12  pfalgo3_config(unsigned int nTrack,
13  unsigned int nEmCalo,
14  unsigned int nCalo,
15  unsigned int nMu,
16  unsigned int nPhoton,
17  unsigned int nSelCalo,
18  unsigned int nAllNeutral,
19  unsigned int dR2Max_Tk_Mu,
20  unsigned int dR2Max_Tk_Em,
21  unsigned int dR2Max_Em_Calo,
22  unsigned int dR2Max_Tk_Calo,
23  unsigned int tk_MaxInvPt_Loose,
24  unsigned int tk_MaxInvPt_Tight)
25  : pfalgo_config(nTrack, nCalo, nMu, nSelCalo, dR2Max_Tk_Mu, dR2Max_Tk_Calo, tk_MaxInvPt_Loose, tk_MaxInvPt_Tight),
26  nEMCALO(nEmCalo),
27  nPHOTON(nPhoton),
28  nALLNEUTRAL(nAllNeutral),
29  dR2MAX_TK_EM(dR2Max_Tk_Em),
30  dR2MAX_EM_CALO(dR2Max_Em_Calo) {}
31  ~pfalgo3_config() override {}
32 };
33 
35  const EmCaloObj emcalo[/*cfg.nEMCALO*/],
36  const HadCaloObj hadcalo[/*cfg.nCALO*/],
37  const TkObj track[/*cfg.nTRACK*/],
38  const bool isMu[/*cfg.nTRACK*/],
39  bool isEle[/*cfg.nTRACK*/],
40  PFNeutralObj outpho[/*cfg.nPHOTON*/],
41  HadCaloObj hadcalo_out[/*cfg.nCALO*/],
42  bool debug);
43 void pfalgo3_ref(const pfalgo3_config &cfg,
44  const EmCaloObj emcalo[/*cfg.nEMCALO*/],
45  const HadCaloObj hadcalo[/*cfg.nCALO*/],
46  const TkObj track[/*cfg.nTRACK*/],
47  const MuObj mu[/*cfg.nMU*/],
48  PFChargedObj outch[/*cfg.nTRACK*/],
49  PFNeutralObj outpho[/*cfg.nPHOTON*/],
50  PFNeutralObj outne[/*cfg.nSELCALO*/],
51  PFChargedObj outmu[/*cfg.nMU*/],
52  bool debug);
53 
55  const PFNeutralObj pho[/*cfg.nPHOTON*/],
56  const PFNeutralObj ne[/*cfg.nSELCALO*/],
57  PFNeutralObj allne[/*cfg.nALLNEUTRALS*/]);
58 #endif
Definition: data.h:158
unsigned int nALLNEUTRAL
Definition: pfalgo3_ref.h:8
~pfalgo3_config() override
Definition: pfalgo3_ref.h:31
void pfalgo3_em_ref(const pfalgo3_config &cfg, const EmCaloObj emcalo[], const HadCaloObj hadcalo[], const TkObj track[], const bool isMu[], bool isEle[], PFNeutralObj outpho[], HadCaloObj hadcalo_out[], bool debug)
unsigned int nPHOTON
Definition: pfalgo3_ref.h:8
void pfalgo3_ref(const pfalgo3_config &cfg, const EmCaloObj emcalo[], const HadCaloObj hadcalo[], const TkObj track[], const MuObj mu[], PFChargedObj outch[], PFNeutralObj outpho[], PFNeutralObj outne[], PFChargedObj outmu[], bool debug)
#define debug
Definition: HDRShower.cc:19
pfalgo3_config(unsigned int nTrack, unsigned int nEmCalo, unsigned int nCalo, unsigned int nMu, unsigned int nPhoton, unsigned int nSelCalo, unsigned int nAllNeutral, unsigned int dR2Max_Tk_Mu, unsigned int dR2Max_Tk_Em, unsigned int dR2Max_Em_Calo, unsigned int dR2Max_Tk_Calo, unsigned int tk_MaxInvPt_Loose, unsigned int tk_MaxInvPt_Tight)
Definition: pfalgo3_ref.h:12
void pfalgo3_merge_neutrals_ref(const pfalgo3_config &cfg, const PFNeutralObj pho[], const PFNeutralObj ne[], PFNeutralObj allne[])
unsigned int nEMCALO
Definition: pfalgo3_ref.h:8
unsigned int dR2MAX_TK_EM
Definition: pfalgo3_ref.h:9
unsigned int dR2MAX_EM_CALO
Definition: pfalgo3_ref.h:10
Definition: data.h:143