CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
l1ct::LinPuppiEmulator Class Reference

#include <linpuppi_ref.h>

Public Types

enum  SortAlgo {
  SortAlgo::Insertion, SortAlgo::BitonicRUFL, SortAlgo::BitonicHLS, SortAlgo::Hybrid,
  SortAlgo::FoldedHybrid
}
 

Public Member Functions

void fwdlinpuppi_flt (const PFRegionEmu &region, const std::vector< HadCaloObjEmu > &caloin, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const
 
void fwdlinpuppi_ref (const PFRegionEmu &region, const std::vector< HadCaloObjEmu > &caloin, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const
 
void linpuppi_chs_ref (const PFRegionEmu &region, const PVObjEmu &pv, const std::vector< PFChargedObjEmu > &pfch, std::vector< PuppiObjEmu > &outallch) const
 
void linpuppi_chs_ref (const PFRegionEmu &region, const std::vector< PVObjEmu > &pv, const std::vector< PFChargedObjEmu > &pfch, std::vector< PuppiObjEmu > &outallch) const
 
void linpuppi_flt (const PFRegionEmu &region, const std::vector< TkObjEmu > &track, const std::vector< PVObjEmu > &pv, const std::vector< PFNeutralObjEmu > &pfallne, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const
 
void linpuppi_ref (const PFRegionEmu &region, const std::vector< TkObjEmu > &track, const std::vector< PVObjEmu > &pv, const std::vector< PFNeutralObjEmu > &pfallne, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const
 
void linpuppi_ref (const PFRegionEmu &region, const std::vector< TkObjEmu > &track, const std::vector< PVObjEmu > &pv, const std::vector< PFNeutralObjEmu > &pfallne, std::vector< PuppiObjEmu > &outselne) const
 
 LinPuppiEmulator (unsigned int nTrack, unsigned int nIn, unsigned int nOut, unsigned int nVtx, unsigned int dR2Min, unsigned int dR2Max, unsigned int iptMax, unsigned int dzCut, double ptSlopeNe, double ptSlopePh, double ptZeroNe, double ptZeroPh, double alphaSlope, double alphaZero, double alphaCrop, double priorNe, double priorPh, pt_t ptCut, unsigned int nFinalSort=0, SortAlgo finalSortAlgo=SortAlgo::Insertion)
 
 LinPuppiEmulator (unsigned int nTrack, unsigned int nIn, unsigned int nOut, unsigned int nVtx, unsigned int dR2Min, unsigned int dR2Max, unsigned int iptMax, unsigned int dzCut, glbeta_t etaCut, double ptSlopeNe_0, double ptSlopeNe_1, double ptSlopePh_0, double ptSlopePh_1, double ptZeroNe_0, double ptZeroNe_1, double ptZeroPh_0, double ptZeroPh_1, double alphaSlope_0, double alphaSlope_1, double alphaZero_0, double alphaZero_1, double alphaCrop_0, double alphaCrop_1, double priorNe_0, double priorNe_1, double priorPh_0, double priorPh_1, pt_t ptCut_0, pt_t ptCut_1, unsigned int nFinalSort=0, SortAlgo finalSortAlgo=SortAlgo::Insertion)
 
 LinPuppiEmulator (unsigned int nTrack, unsigned int nIn, unsigned int nOut, unsigned int nVtx, unsigned int dR2Min, unsigned int dR2Max, unsigned int iptMax, unsigned int dzCut, const std::vector< glbeta_t > &absEtaBins, const std::vector< double > &ptSlopeNe, const std::vector< double > &ptSlopePh, const std::vector< double > &ptZeroNe, const std::vector< double > &ptZeroPh, const std::vector< double > &alphaSlope, const std::vector< double > &alphaZero, const std::vector< double > &alphaCrop, const std::vector< double > &priorNe, const std::vector< double > &priorPh, const std::vector< pt_t > &ptCut, unsigned int nFinalSort, SortAlgo finalSortAlgo)
 
 LinPuppiEmulator (const edm::ParameterSet &iConfig)
 
void run (const PFInputRegion &in, const std::vector< l1ct::PVObjEmu > &pvs, OutputRegion &out) const
 
void setDebug (bool debug=true)
 
void setFakePuppi (bool fakePuppi=true)
 

Static Public Member Functions

static void puppisort_and_crop_ref (unsigned int nOutMax, const std::vector< PuppiObjEmu > &in, std::vector< PuppiObjEmu > &out, SortAlgo algo=SortAlgo::Insertion)
 

Protected Member Functions

unsigned int find_ieta (const PFRegionEmu &region, eta_t eta) const
 
std::pair< float, float > sum2puppiPt_flt (float sum, float pt, unsigned int ieta, bool isEM, int icand) const
 
std::pair< pt_t, puppiWgt_tsum2puppiPt_ref (uint64_t sum, pt_t pt, unsigned int ieta, bool isEM, int icand) const
 

Protected Attributes

std::vector< glbeta_tabsEtaBins_
 
std::vector< double > alphaCrop_
 
std::vector< double > alphaSlope_
 
std::vector< double > alphaZero_
 
bool debug_
 
unsigned int dR2Max_
 
unsigned int dR2Min_
 
unsigned int dzCut_
 
bool fakePuppi_
 
SortAlgo finalSortAlgo_
 
unsigned int iptMax_
 
unsigned int nFinalSort_
 
unsigned int nIn_
 
unsigned int nOut_
 
unsigned int nTrack_
 
unsigned int nVtx_
 
std::vector< double > priorNe_
 
std::vector< double > priorPh_
 
std::vector< pt_tptCut_
 
std::vector< double > ptSlopeNe_
 
std::vector< double > ptSlopePh_
 
std::vector< double > ptZeroNe_
 
std::vector< double > ptZeroPh_
 

Detailed Description

Definition at line 14 of file linpuppi_ref.h.

Member Enumeration Documentation

◆ SortAlgo

Enumerator
Insertion 
BitonicRUFL 
BitonicHLS 
Hybrid 
FoldedHybrid 

Definition at line 16 of file linpuppi_ref.h.

16 { Insertion, BitonicRUFL, BitonicHLS, Hybrid, FoldedHybrid };

Constructor & Destructor Documentation

◆ LinPuppiEmulator() [1/4]

l1ct::LinPuppiEmulator::LinPuppiEmulator ( unsigned int  nTrack,
unsigned int  nIn,
unsigned int  nOut,
unsigned int  nVtx,
unsigned int  dR2Min,
unsigned int  dR2Max,
unsigned int  iptMax,
unsigned int  dzCut,
double  ptSlopeNe,
double  ptSlopePh,
double  ptZeroNe,
double  ptZeroPh,
double  alphaSlope,
double  alphaZero,
double  alphaCrop,
double  priorNe,
double  priorPh,
pt_t  ptCut,
unsigned int  nFinalSort = 0,
SortAlgo  finalSortAlgo = SortAlgo::Insertion 
)
inline

Definition at line 18 of file linpuppi_ref.h.

38  : nTrack_(nTrack),
39  nIn_(nIn),
40  nOut_(nOut),
41  nVtx_(nVtx),
42  dR2Min_(dR2Min),
43  dR2Max_(dR2Max),
44  iptMax_(iptMax),
45  dzCut_(dzCut),
46  absEtaBins_(),
47  ptSlopeNe_(1, ptSlopeNe),
48  ptSlopePh_(1, ptSlopePh),
49  ptZeroNe_(1, ptZeroNe),
50  ptZeroPh_(1, ptZeroPh),
51  alphaSlope_(1, alphaSlope),
52  alphaZero_(1, alphaZero),
54  priorNe_(1, priorNe),
55  priorPh_(1, priorPh),
56  ptCut_(1, ptCut),
59  debug_(false),
60  fakePuppi_(false) {}
std::vector< pt_t > ptCut_
Definition: linpuppi_ref.h:209
const double dR2Max
std::vector< glbeta_t > absEtaBins_
Definition: linpuppi_ref.h:205
std::vector< double > ptZeroNe_
Definition: linpuppi_ref.h:206
unsigned int nFinalSort_
Definition: linpuppi_ref.h:210
std::vector< double > priorNe_
Definition: linpuppi_ref.h:208
std::vector< double > priorPh_
Definition: linpuppi_ref.h:208
std::vector< double > ptZeroPh_
Definition: linpuppi_ref.h:206
std::vector< double > alphaZero_
Definition: linpuppi_ref.h:207
std::vector< double > ptSlopePh_
Definition: linpuppi_ref.h:206
std::vector< double > ptSlopeNe_
Definition: linpuppi_ref.h:206
std::vector< double > alphaSlope_
Definition: linpuppi_ref.h:207
const double dR2Min
std::vector< double > alphaCrop_
Definition: linpuppi_ref.h:207

◆ LinPuppiEmulator() [2/4]

l1ct::LinPuppiEmulator::LinPuppiEmulator ( unsigned int  nTrack,
unsigned int  nIn,
unsigned int  nOut,
unsigned int  nVtx,
unsigned int  dR2Min,
unsigned int  dR2Max,
unsigned int  iptMax,
unsigned int  dzCut,
glbeta_t  etaCut,
double  ptSlopeNe_0,
double  ptSlopeNe_1,
double  ptSlopePh_0,
double  ptSlopePh_1,
double  ptZeroNe_0,
double  ptZeroNe_1,
double  ptZeroPh_0,
double  ptZeroPh_1,
double  alphaSlope_0,
double  alphaSlope_1,
double  alphaZero_0,
double  alphaZero_1,
double  alphaCrop_0,
double  alphaCrop_1,
double  priorNe_0,
double  priorNe_1,
double  priorPh_0,
double  priorPh_1,
pt_t  ptCut_0,
pt_t  ptCut_1,
unsigned int  nFinalSort = 0,
SortAlgo  finalSortAlgo = SortAlgo::Insertion 
)

◆ LinPuppiEmulator() [3/4]

l1ct::LinPuppiEmulator::LinPuppiEmulator ( unsigned int  nTrack,
unsigned int  nIn,
unsigned int  nOut,
unsigned int  nVtx,
unsigned int  dR2Min,
unsigned int  dR2Max,
unsigned int  iptMax,
unsigned int  dzCut,
const std::vector< glbeta_t > &  absEtaBins,
const std::vector< double > &  ptSlopeNe,
const std::vector< double > &  ptSlopePh,
const std::vector< double > &  ptZeroNe,
const std::vector< double > &  ptZeroPh,
const std::vector< double > &  alphaSlope,
const std::vector< double > &  alphaZero,
const std::vector< double > &  alphaCrop,
const std::vector< double > &  priorNe,
const std::vector< double > &  priorPh,
const std::vector< pt_t > &  ptCut,
unsigned int  nFinalSort,
SortAlgo  finalSortAlgo 
)
inline

Definition at line 94 of file linpuppi_ref.h.

115  : nTrack_(nTrack),
116  nIn_(nIn),
117  nOut_(nOut),
118  nVtx_(nVtx),
119  dR2Min_(dR2Min),
120  dR2Max_(dR2Max),
121  iptMax_(iptMax),
122  dzCut_(dzCut),
123  absEtaBins_(absEtaBins),
124  ptSlopeNe_(ptSlopeNe),
125  ptSlopePh_(ptSlopePh),
126  ptZeroNe_(ptZeroNe),
127  ptZeroPh_(ptZeroPh),
128  alphaSlope_(alphaSlope),
129  alphaZero_(alphaZero),
131  priorNe_(priorNe),
132  priorPh_(priorPh),
133  ptCut_(ptCut),
136  debug_(false),
137  fakePuppi_(false) {}
std::vector< pt_t > ptCut_
Definition: linpuppi_ref.h:209
const double dR2Max
std::vector< glbeta_t > absEtaBins_
Definition: linpuppi_ref.h:205
std::vector< double > ptZeroNe_
Definition: linpuppi_ref.h:206
unsigned int nFinalSort_
Definition: linpuppi_ref.h:210
std::vector< double > priorNe_
Definition: linpuppi_ref.h:208
std::vector< double > priorPh_
Definition: linpuppi_ref.h:208
std::vector< double > ptZeroPh_
Definition: linpuppi_ref.h:206
std::vector< double > alphaZero_
Definition: linpuppi_ref.h:207
std::vector< double > ptSlopePh_
Definition: linpuppi_ref.h:206
std::vector< double > ptSlopeNe_
Definition: linpuppi_ref.h:206
std::vector< double > alphaSlope_
Definition: linpuppi_ref.h:207
const double dR2Min
std::vector< double > alphaCrop_
Definition: linpuppi_ref.h:207

◆ LinPuppiEmulator() [4/4]

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

Member Function Documentation

◆ find_ieta()

unsigned int l1ct::LinPuppiEmulator::find_ieta ( const PFRegionEmu region,
eta_t  eta 
) const
protected

◆ fwdlinpuppi_flt()

void l1ct::LinPuppiEmulator::fwdlinpuppi_flt ( const PFRegionEmu region,
const std::vector< HadCaloObjEmu > &  caloin,
std::vector< PuppiObjEmu > &  outallne_nocut,
std::vector< PuppiObjEmu > &  outallne,
std::vector< PuppiObjEmu > &  outselne 
) const

◆ fwdlinpuppi_ref()

void l1ct::LinPuppiEmulator::fwdlinpuppi_ref ( const PFRegionEmu region,
const std::vector< HadCaloObjEmu > &  caloin,
std::vector< PuppiObjEmu > &  outallne_nocut,
std::vector< PuppiObjEmu > &  outallne,
std::vector< PuppiObjEmu > &  outselne 
) const

◆ linpuppi_chs_ref() [1/2]

void l1ct::LinPuppiEmulator::linpuppi_chs_ref ( const PFRegionEmu region,
const PVObjEmu pv,
const std::vector< PFChargedObjEmu > &  pfch,
std::vector< PuppiObjEmu > &  outallch 
) const

◆ linpuppi_chs_ref() [2/2]

void l1ct::LinPuppiEmulator::linpuppi_chs_ref ( const PFRegionEmu region,
const std::vector< PVObjEmu > &  pv,
const std::vector< PFChargedObjEmu > &  pfch,
std::vector< PuppiObjEmu > &  outallch 
) const

◆ linpuppi_flt()

void l1ct::LinPuppiEmulator::linpuppi_flt ( const PFRegionEmu region,
const std::vector< TkObjEmu > &  track,
const std::vector< PVObjEmu > &  pv,
const std::vector< PFNeutralObjEmu > &  pfallne,
std::vector< PuppiObjEmu > &  outallne_nocut,
std::vector< PuppiObjEmu > &  outallne,
std::vector< PuppiObjEmu > &  outselne 
) const

◆ linpuppi_ref() [1/2]

void l1ct::LinPuppiEmulator::linpuppi_ref ( const PFRegionEmu region,
const std::vector< TkObjEmu > &  track,
const std::vector< PVObjEmu > &  pv,
const std::vector< PFNeutralObjEmu > &  pfallne,
std::vector< PuppiObjEmu > &  outallne_nocut,
std::vector< PuppiObjEmu > &  outallne,
std::vector< PuppiObjEmu > &  outselne 
) const

Referenced by linpuppi_ref().

◆ linpuppi_ref() [2/2]

void l1ct::LinPuppiEmulator::linpuppi_ref ( const PFRegionEmu region,
const std::vector< TkObjEmu > &  track,
const std::vector< PVObjEmu > &  pv,
const std::vector< PFNeutralObjEmu > &  pfallne,
std::vector< PuppiObjEmu > &  outselne 
) const
inline

Definition at line 167 of file linpuppi_ref.h.

References linpuppi_ref(), HLT_2023v12_cff::region, and HLT_2023v12_cff::track.

171  {
172  std::vector<PuppiObjEmu> outallne_nocut, outallne;
173  linpuppi_ref(region, track, pv, pfallne, outallne_nocut, outallne, outselne);
174  }
void linpuppi_ref(const PFRegionEmu &region, const std::vector< TkObjEmu > &track, const std::vector< PVObjEmu > &pv, const std::vector< PFNeutralObjEmu > &pfallne, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const

◆ puppisort_and_crop_ref()

static void l1ct::LinPuppiEmulator::puppisort_and_crop_ref ( unsigned int  nOutMax,
const std::vector< PuppiObjEmu > &  in,
std::vector< PuppiObjEmu > &  out,
SortAlgo  algo = SortAlgo::Insertion 
)
static

◆ run()

void l1ct::LinPuppiEmulator::run ( const PFInputRegion in,
const std::vector< l1ct::PVObjEmu > &  pvs,
OutputRegion out 
) const

◆ setDebug()

void l1ct::LinPuppiEmulator::setDebug ( bool  debug = true)
inline

Definition at line 196 of file linpuppi_ref.h.

References debug, and debug_.

196 { debug_ = debug; }
#define debug
Definition: HDRShower.cc:19

◆ setFakePuppi()

void l1ct::LinPuppiEmulator::setFakePuppi ( bool  fakePuppi = true)
inline

Definition at line 199 of file linpuppi_ref.h.

References fakePuppi_.

199 { fakePuppi_ = fakePuppi; }

◆ sum2puppiPt_flt()

std::pair<float, float> l1ct::LinPuppiEmulator::sum2puppiPt_flt ( float  sum,
float  pt,
unsigned int  ieta,
bool  isEM,
int  icand 
) const
protected

◆ sum2puppiPt_ref()

std::pair<pt_t, puppiWgt_t> l1ct::LinPuppiEmulator::sum2puppiPt_ref ( uint64_t  sum,
pt_t  pt,
unsigned int  ieta,
bool  isEM,
int  icand 
) const
protected

Member Data Documentation

◆ absEtaBins_

std::vector<glbeta_t> l1ct::LinPuppiEmulator::absEtaBins_
protected

Definition at line 205 of file linpuppi_ref.h.

◆ alphaCrop_

std::vector<double> l1ct::LinPuppiEmulator::alphaCrop_
protected

Definition at line 207 of file linpuppi_ref.h.

◆ alphaSlope_

std::vector<double> l1ct::LinPuppiEmulator::alphaSlope_
protected

Definition at line 207 of file linpuppi_ref.h.

◆ alphaZero_

std::vector<double> l1ct::LinPuppiEmulator::alphaZero_
protected

Definition at line 207 of file linpuppi_ref.h.

◆ debug_

bool l1ct::LinPuppiEmulator::debug_
protected

Definition at line 213 of file linpuppi_ref.h.

Referenced by setDebug().

◆ dR2Max_

unsigned int l1ct::LinPuppiEmulator::dR2Max_
protected

Definition at line 204 of file linpuppi_ref.h.

◆ dR2Min_

unsigned int l1ct::LinPuppiEmulator::dR2Min_
protected

Definition at line 204 of file linpuppi_ref.h.

◆ dzCut_

unsigned int l1ct::LinPuppiEmulator::dzCut_
protected

Definition at line 204 of file linpuppi_ref.h.

◆ fakePuppi_

bool l1ct::LinPuppiEmulator::fakePuppi_
protected

Definition at line 214 of file linpuppi_ref.h.

Referenced by setFakePuppi().

◆ finalSortAlgo_

SortAlgo l1ct::LinPuppiEmulator::finalSortAlgo_
protected

Definition at line 211 of file linpuppi_ref.h.

◆ iptMax_

unsigned int l1ct::LinPuppiEmulator::iptMax_
protected

Definition at line 204 of file linpuppi_ref.h.

◆ nFinalSort_

unsigned int l1ct::LinPuppiEmulator::nFinalSort_
protected

Definition at line 210 of file linpuppi_ref.h.

◆ nIn_

unsigned int l1ct::LinPuppiEmulator::nIn_
protected

Definition at line 202 of file linpuppi_ref.h.

◆ nOut_

unsigned int l1ct::LinPuppiEmulator::nOut_
protected

Definition at line 202 of file linpuppi_ref.h.

◆ nTrack_

unsigned int l1ct::LinPuppiEmulator::nTrack_
protected

Definition at line 202 of file linpuppi_ref.h.

◆ nVtx_

unsigned int l1ct::LinPuppiEmulator::nVtx_
protected

Definition at line 202 of file linpuppi_ref.h.

◆ priorNe_

std::vector<double> l1ct::LinPuppiEmulator::priorNe_
protected

Definition at line 208 of file linpuppi_ref.h.

◆ priorPh_

std::vector<double> l1ct::LinPuppiEmulator::priorPh_
protected

Definition at line 208 of file linpuppi_ref.h.

◆ ptCut_

std::vector<pt_t> l1ct::LinPuppiEmulator::ptCut_
protected

◆ ptSlopeNe_

std::vector<double> l1ct::LinPuppiEmulator::ptSlopeNe_
protected

Definition at line 206 of file linpuppi_ref.h.

◆ ptSlopePh_

std::vector<double> l1ct::LinPuppiEmulator::ptSlopePh_
protected

Definition at line 206 of file linpuppi_ref.h.

◆ ptZeroNe_

std::vector<double> l1ct::LinPuppiEmulator::ptZeroNe_
protected

Definition at line 206 of file linpuppi_ref.h.

◆ ptZeroPh_

std::vector<double> l1ct::LinPuppiEmulator::ptZeroPh_
protected

Definition at line 206 of file linpuppi_ref.h.