CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
l1ct::MultififoRegionizerEmulator Class Reference

#include <multififo_regionizer_ref.h>

Inheritance diagram for l1ct::MultififoRegionizerEmulator:
l1ct::RegionizerEmulator

Public Types

enum  BarrelSetup {
  BarrelSetup::Full54, BarrelSetup::Full27, BarrelSetup::Central18, BarrelSetup::Central9,
  BarrelSetup::Phi18, BarrelSetup::Phi9
}
 

Public Member Functions

void destream (int iclock, const std::vector< l1ct::TkObjEmu > &tk_out, const std::vector< l1ct::EmCaloObjEmu > &em_out, const std::vector< l1ct::HadCaloObjEmu > &calo_out, const std::vector< l1ct::MuObjEmu > &mu_out, PFInputRegion &out)
 
void fillLinks (unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::TkObjEmu > &links, std::vector< bool > &valid)
 
void fillLinks (unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::HadCaloObjEmu > &links, std::vector< bool > &valid)
 
void fillLinks (unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::EmCaloObjEmu > &links, std::vector< bool > &valid)
 
void fillLinks (unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::MuObjEmu > &links, std::vector< bool > &valid)
 
template<typename T >
void fillLinks (unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< T > &links)
 
void initSectorsAndRegions (const RegionizerDecodedInputs &in, const std::vector< PFInputRegion > &out) override
 
 MultififoRegionizerEmulator (unsigned int nendcaps, unsigned int nclocks, unsigned int ntklinks, unsigned int ncalolinks, unsigned int ntk, unsigned int ncalo, unsigned int nem, unsigned int nmu, bool streaming, unsigned int outii, unsigned int pauseii, bool useAlsoVtxCoords)
 
 MultififoRegionizerEmulator (BarrelSetup barrelSetup, unsigned int nHCalLinks, unsigned int nECalLinks, unsigned int nclocks, unsigned int ntk, unsigned int ncalo, unsigned int nem, unsigned int nmu, bool streaming, unsigned int outii, unsigned int pauseii, bool useAlsoVtxCoords)
 
 MultififoRegionizerEmulator (const edm::ParameterSet &iConfig)
 
 MultififoRegionizerEmulator (const std::string &barrelSetup, const edm::ParameterSet &iConfig)
 
void reset ()
 
void run (const RegionizerDecodedInputs &in, std::vector< PFInputRegion > &out) override
 
void setEgInterceptMode (bool afterFifo, const l1ct::EGInputSelectorEmuConfig &interceptorConfig)
 
bool step (bool newEvent, const std::vector< l1ct::TkObjEmu > &links, std::vector< l1ct::TkObjEmu > &out, bool mux=true)
 
bool step (bool newEvent, const std::vector< l1ct::EmCaloObjEmu > &links, std::vector< l1ct::EmCaloObjEmu > &out, bool mux=true)
 
bool step (bool newEvent, const std::vector< l1ct::HadCaloObjEmu > &links, std::vector< l1ct::HadCaloObjEmu > &out, bool mux=true)
 
bool step (bool newEvent, const std::vector< l1ct::MuObjEmu > &links, std::vector< l1ct::MuObjEmu > &out, bool mux=true)
 
bool step (bool newEvent, const std::vector< l1ct::TkObjEmu > &links_tk, const std::vector< l1ct::HadCaloObjEmu > &links_hadCalo, const std::vector< l1ct::EmCaloObjEmu > &links_emCalo, const std::vector< l1ct::MuObjEmu > &links_mu, std::vector< l1ct::TkObjEmu > &out_tk, std::vector< l1ct::HadCaloObjEmu > &out_hadCalo, std::vector< l1ct::EmCaloObjEmu > &out_emCalo, std::vector< l1ct::MuObjEmu > &out_mu, bool mux=true)
 
void toFirmware (const std::vector< l1ct::TkObjEmu > &emu, TkObj fw[])
 
void toFirmware (const std::vector< l1ct::HadCaloObjEmu > &emu, HadCaloObj fw[])
 
void toFirmware (const std::vector< l1ct::EmCaloObjEmu > &emu, EmCaloObj fw[])
 
void toFirmware (const std::vector< l1ct::MuObjEmu > &emu, MuObj fw[])
 
 ~MultififoRegionizerEmulator () override
 
- Public Member Functions inherited from l1ct::RegionizerEmulator
 RegionizerEmulator (bool useAlsoVtxCoords=true)
 
 RegionizerEmulator (const edm::ParameterSet &iConfig)
 
void setDebug (bool debug=true)
 
virtual ~RegionizerEmulator ()
 

Static Public Member Functions

static BarrelSetup parseBarrelSetup (const std::string &setup)
 

Private Types

enum  EmInterceptMode { noIntercept = 0, interceptPreFifo, interceptPostFifo }
 

Private Member Functions

template<typename T >
void fillCaloLinks (unsigned int iclock, const std::vector< DetectorSector< T >> &in, std::vector< T > &links, std::vector< bool > &valid)
 

Private Attributes

std::vector< l1ct::multififo_regionizer::RoutecaloRoutes_
 
const unsigned int ECAL_LINKS
 
multififo_regionizer::Regionizer< l1ct::EmCaloObjEmuemCaloRegionizer_
 
std::vector< l1ct::multififo_regionizer::RouteemCaloRoutes_
 
enum l1ct::MultififoRegionizerEmulator::EmInterceptMode emInterceptMode_
 
multififo_regionizer::Regionizer< l1ct::HadCaloObjEmuhadCaloRegionizer_
 
const unsigned int HCAL_LINKS
 
bool init_
 
std::unique_ptr< EGInputSelectorEmulatorinterceptor_
 
multififo_regionizer::Regionizer< l1ct::MuObjEmumuRegionizer_
 
std::vector< l1ct::multififo_regionizer::RoutemuRoutes_
 
unsigned int ncalo_
 
const unsigned int NCALO_LINKS
 
const unsigned int NCALO_SECTORS
 
unsigned int nclocks_
 
unsigned int nem_
 
unsigned int nendcaps_
 
unsigned int nmu_
 
const unsigned int NMU_LINKS
 
unsigned int nregions_
 
unsigned int ntk_
 
const unsigned int NTK_LINKS
 
const unsigned int NTK_SECTORS
 
unsigned int outii_
 
unsigned int pauseii_
 
bool streaming_
 
multififo_regionizer::Regionizer< l1ct::TkObjEmutkRegionizer_
 
std::vector< l1ct::multififo_regionizer::RoutetkRoutes_
 

Additional Inherited Members

- Protected Attributes inherited from l1ct::RegionizerEmulator
bool debug_
 
bool useAlsoVtxCoords_
 

Detailed Description

Definition at line 18 of file multififo_regionizer_ref.h.

Member Enumeration Documentation

◆ BarrelSetup

Enumerator
Full54 
Full27 
Central18 
Central9 
Phi18 
Phi9 

Definition at line 33 of file multififo_regionizer_ref.h.

33 { Full54, Full27, Central18, Central9, Phi18, Phi9 };

◆ EmInterceptMode

Constructor & Destructor Documentation

◆ MultififoRegionizerEmulator() [1/4]

l1ct::MultififoRegionizerEmulator::MultififoRegionizerEmulator ( unsigned int  nendcaps,
unsigned int  nclocks,
unsigned int  ntklinks,
unsigned int  ncalolinks,
unsigned int  ntk,
unsigned int  ncalo,
unsigned int  nem,
unsigned int  nmu,
bool  streaming,
unsigned int  outii,
unsigned int  pauseii,
bool  useAlsoVtxCoords 
)

◆ MultififoRegionizerEmulator() [2/4]

l1ct::MultififoRegionizerEmulator::MultififoRegionizerEmulator ( BarrelSetup  barrelSetup,
unsigned int  nHCalLinks,
unsigned int  nECalLinks,
unsigned int  nclocks,
unsigned int  ntk,
unsigned int  ncalo,
unsigned int  nem,
unsigned int  nmu,
bool  streaming,
unsigned int  outii,
unsigned int  pauseii,
bool  useAlsoVtxCoords 
)

◆ MultififoRegionizerEmulator() [3/4]

l1ct::MultififoRegionizerEmulator::MultififoRegionizerEmulator ( const edm::ParameterSet iConfig)

◆ MultififoRegionizerEmulator() [4/4]

l1ct::MultififoRegionizerEmulator::MultififoRegionizerEmulator ( const std::string &  barrelSetup,
const edm::ParameterSet iConfig 
)

◆ ~MultififoRegionizerEmulator()

l1ct::MultififoRegionizerEmulator::~MultififoRegionizerEmulator ( )
override

Member Function Documentation

◆ destream()

void l1ct::MultififoRegionizerEmulator::destream ( int  iclock,
const std::vector< l1ct::TkObjEmu > &  tk_out,
const std::vector< l1ct::EmCaloObjEmu > &  em_out,
const std::vector< l1ct::HadCaloObjEmu > &  calo_out,
const std::vector< l1ct::MuObjEmu > &  mu_out,
PFInputRegion out 
)

◆ fillCaloLinks()

template<typename T >
void l1ct::MultififoRegionizerEmulator::fillCaloLinks ( unsigned int  iclock,
const std::vector< DetectorSector< T >> &  in,
std::vector< T > &  links,
std::vector< bool > &  valid 
)
private

◆ fillLinks() [1/5]

void l1ct::MultififoRegionizerEmulator::fillLinks ( unsigned int  iclock,
const RegionizerDecodedInputs in,
std::vector< l1ct::TkObjEmu > &  links,
std::vector< bool > &  valid 
)

Referenced by fillLinks().

◆ fillLinks() [2/5]

void l1ct::MultififoRegionizerEmulator::fillLinks ( unsigned int  iclock,
const RegionizerDecodedInputs in,
std::vector< l1ct::HadCaloObjEmu > &  links,
std::vector< bool > &  valid 
)

◆ fillLinks() [3/5]

void l1ct::MultififoRegionizerEmulator::fillLinks ( unsigned int  iclock,
const RegionizerDecodedInputs in,
std::vector< l1ct::EmCaloObjEmu > &  links,
std::vector< bool > &  valid 
)

◆ fillLinks() [4/5]

void l1ct::MultififoRegionizerEmulator::fillLinks ( unsigned int  iclock,
const RegionizerDecodedInputs in,
std::vector< l1ct::MuObjEmu > &  links,
std::vector< bool > &  valid 
)

◆ fillLinks() [5/5]

template<typename T >
void l1ct::MultififoRegionizerEmulator::fillLinks ( unsigned int  iclock,
const RegionizerDecodedInputs in,
std::vector< T > &  links 
)
inline

Definition at line 111 of file multififo_regionizer_ref.h.

References fillLinks(), recoMuon::in, and electronStore::links.

111  {
112  std::vector<bool> unused;
113  fillLinks(iclock, in, links, unused);
114  }
void fillLinks(unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::TkObjEmu > &links, std::vector< bool > &valid)

◆ initSectorsAndRegions()

void l1ct::MultififoRegionizerEmulator::initSectorsAndRegions ( const RegionizerDecodedInputs in,
const std::vector< PFInputRegion > &  out 
)
overridevirtual

Reimplemented from l1ct::RegionizerEmulator.

◆ parseBarrelSetup()

static BarrelSetup l1ct::MultififoRegionizerEmulator::parseBarrelSetup ( const std::string &  setup)
static

◆ reset()

void l1ct::MultififoRegionizerEmulator::reset ( )

◆ run()

void l1ct::MultififoRegionizerEmulator::run ( const RegionizerDecodedInputs in,
std::vector< PFInputRegion > &  out 
)
overridevirtual

Reimplemented from l1ct::RegionizerEmulator.

◆ setEgInterceptMode()

void l1ct::MultififoRegionizerEmulator::setEgInterceptMode ( bool  afterFifo,
const l1ct::EGInputSelectorEmuConfig interceptorConfig 
)

◆ step() [1/5]

bool l1ct::MultififoRegionizerEmulator::step ( bool  newEvent,
const std::vector< l1ct::TkObjEmu > &  links,
std::vector< l1ct::TkObjEmu > &  out,
bool  mux = true 
)

◆ step() [2/5]

bool l1ct::MultififoRegionizerEmulator::step ( bool  newEvent,
const std::vector< l1ct::EmCaloObjEmu > &  links,
std::vector< l1ct::EmCaloObjEmu > &  out,
bool  mux = true 
)

◆ step() [3/5]

bool l1ct::MultififoRegionizerEmulator::step ( bool  newEvent,
const std::vector< l1ct::HadCaloObjEmu > &  links,
std::vector< l1ct::HadCaloObjEmu > &  out,
bool  mux = true 
)

◆ step() [4/5]

bool l1ct::MultififoRegionizerEmulator::step ( bool  newEvent,
const std::vector< l1ct::MuObjEmu > &  links,
std::vector< l1ct::MuObjEmu > &  out,
bool  mux = true 
)

◆ step() [5/5]

bool l1ct::MultififoRegionizerEmulator::step ( bool  newEvent,
const std::vector< l1ct::TkObjEmu > &  links_tk,
const std::vector< l1ct::HadCaloObjEmu > &  links_hadCalo,
const std::vector< l1ct::EmCaloObjEmu > &  links_emCalo,
const std::vector< l1ct::MuObjEmu > &  links_mu,
std::vector< l1ct::TkObjEmu > &  out_tk,
std::vector< l1ct::HadCaloObjEmu > &  out_hadCalo,
std::vector< l1ct::EmCaloObjEmu > &  out_emCalo,
std::vector< l1ct::MuObjEmu > &  out_mu,
bool  mux = true 
)

◆ toFirmware() [1/4]

void l1ct::MultififoRegionizerEmulator::toFirmware ( const std::vector< l1ct::TkObjEmu > &  emu,
TkObj  fw[] 
)

◆ toFirmware() [2/4]

void l1ct::MultififoRegionizerEmulator::toFirmware ( const std::vector< l1ct::HadCaloObjEmu > &  emu,
HadCaloObj  fw[] 
)

◆ toFirmware() [3/4]

void l1ct::MultififoRegionizerEmulator::toFirmware ( const std::vector< l1ct::EmCaloObjEmu > &  emu,
EmCaloObj  fw[] 
)

◆ toFirmware() [4/4]

void l1ct::MultififoRegionizerEmulator::toFirmware ( const std::vector< l1ct::MuObjEmu > &  emu,
MuObj  fw[] 
)

Member Data Documentation

◆ caloRoutes_

std::vector<l1ct::multififo_regionizer::Route> l1ct::MultififoRegionizerEmulator::caloRoutes_
private

Definition at line 137 of file multififo_regionizer_ref.h.

◆ ECAL_LINKS

const unsigned int l1ct::MultififoRegionizerEmulator::ECAL_LINKS
private

Definition at line 126 of file multififo_regionizer_ref.h.

◆ emCaloRegionizer_

multififo_regionizer::Regionizer<l1ct::EmCaloObjEmu> l1ct::MultififoRegionizerEmulator::emCaloRegionizer_
private

Definition at line 135 of file multififo_regionizer_ref.h.

◆ emCaloRoutes_

std::vector<l1ct::multififo_regionizer::Route> l1ct::MultififoRegionizerEmulator::emCaloRoutes_
private

Definition at line 137 of file multififo_regionizer_ref.h.

◆ emInterceptMode_

enum l1ct::MultififoRegionizerEmulator::EmInterceptMode l1ct::MultififoRegionizerEmulator::emInterceptMode_
private

◆ hadCaloRegionizer_

multififo_regionizer::Regionizer<l1ct::HadCaloObjEmu> l1ct::MultififoRegionizerEmulator::hadCaloRegionizer_
private

Definition at line 134 of file multififo_regionizer_ref.h.

◆ HCAL_LINKS

const unsigned int l1ct::MultififoRegionizerEmulator::HCAL_LINKS
private

Definition at line 126 of file multififo_regionizer_ref.h.

◆ init_

bool l1ct::MultififoRegionizerEmulator::init_
private

Definition at line 131 of file multififo_regionizer_ref.h.

◆ interceptor_

std::unique_ptr<EGInputSelectorEmulator> l1ct::MultififoRegionizerEmulator::interceptor_
private

Definition at line 130 of file multififo_regionizer_ref.h.

◆ muRegionizer_

multififo_regionizer::Regionizer<l1ct::MuObjEmu> l1ct::MultififoRegionizerEmulator::muRegionizer_
private

Definition at line 136 of file multififo_regionizer_ref.h.

◆ muRoutes_

std::vector<l1ct::multififo_regionizer::Route> l1ct::MultififoRegionizerEmulator::muRoutes_
private

Definition at line 137 of file multififo_regionizer_ref.h.

◆ ncalo_

unsigned int l1ct::MultififoRegionizerEmulator::ncalo_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ NCALO_LINKS

const unsigned int l1ct::MultififoRegionizerEmulator::NCALO_LINKS
private

Definition at line 126 of file multififo_regionizer_ref.h.

◆ NCALO_SECTORS

const unsigned int l1ct::MultififoRegionizerEmulator::NCALO_SECTORS
private

Definition at line 125 of file multififo_regionizer_ref.h.

◆ nclocks_

unsigned int l1ct::MultififoRegionizerEmulator::nclocks_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ nem_

unsigned int l1ct::MultififoRegionizerEmulator::nem_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ nendcaps_

unsigned int l1ct::MultififoRegionizerEmulator::nendcaps_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ nmu_

unsigned int l1ct::MultififoRegionizerEmulator::nmu_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ NMU_LINKS

const unsigned int l1ct::MultififoRegionizerEmulator::NMU_LINKS
private

Definition at line 126 of file multififo_regionizer_ref.h.

◆ nregions_

unsigned int l1ct::MultififoRegionizerEmulator::nregions_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ ntk_

unsigned int l1ct::MultififoRegionizerEmulator::ntk_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ NTK_LINKS

const unsigned int l1ct::MultififoRegionizerEmulator::NTK_LINKS
private

Definition at line 126 of file multififo_regionizer_ref.h.

◆ NTK_SECTORS

const unsigned int l1ct::MultififoRegionizerEmulator::NTK_SECTORS
private

Definition at line 125 of file multififo_regionizer_ref.h.

◆ outii_

unsigned int l1ct::MultififoRegionizerEmulator::outii_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ pauseii_

unsigned int l1ct::MultififoRegionizerEmulator::pauseii_
private

Definition at line 127 of file multififo_regionizer_ref.h.

◆ streaming_

bool l1ct::MultififoRegionizerEmulator::streaming_
private

Definition at line 128 of file multififo_regionizer_ref.h.

◆ tkRegionizer_

multififo_regionizer::Regionizer<l1ct::TkObjEmu> l1ct::MultififoRegionizerEmulator::tkRegionizer_
private

Definition at line 133 of file multififo_regionizer_ref.h.

◆ tkRoutes_

std::vector<l1ct::multififo_regionizer::Route> l1ct::MultififoRegionizerEmulator::tkRoutes_
private

Definition at line 137 of file multififo_regionizer_ref.h.