104 const std::vector<glbeta_t> &absEtaBins,
105 const std::vector<double> &ptSlopeNe,
106 const std::vector<double> &ptSlopePh,
107 const std::vector<double> &ptZeroNe,
108 const std::vector<double> &ptZeroPh,
109 const std::vector<double> &alphaSlope,
110 const std::vector<double> &alphaZero,
112 const std::vector<double> &priorNe,
113 const std::vector<double> &priorPh,
114 const std::vector<pt_t> &
ptCut,
148 const std::vector<PFChargedObjEmu> &pfch ,
149 std::vector<PuppiObjEmu> &outallch )
const;
152 const std::vector<PVObjEmu> &
pv ,
153 const std::vector<PFChargedObjEmu> &pfch ,
154 std::vector<PuppiObjEmu> &outallch )
const;
158 const std::vector<TkObjEmu> &
track ,
159 const std::vector<PVObjEmu> &
pv ,
160 const std::vector<PFNeutralObjEmu> &pfallne ,
161 std::vector<PuppiObjEmu> &outallne_nocut ,
162 std::vector<PuppiObjEmu> &outallne ,
163 std::vector<PuppiObjEmu> &outselne )
const;
165 const std::vector<TkObjEmu> &
track ,
166 const std::vector<PVObjEmu> &
pv ,
167 const std::vector<PFNeutralObjEmu> &pfallne ,
168 std::vector<PuppiObjEmu> &outallne_nocut ,
169 std::vector<PuppiObjEmu> &outallne ,
170 std::vector<PuppiObjEmu> &outselne )
const;
172 const std::vector<TkObjEmu> &
track ,
173 const std::vector<PVObjEmu> &
pv ,
174 const std::vector<PFNeutralObjEmu> &pfallne ,
175 std::vector<PuppiObjEmu> &outselne )
const {
176 std::vector<PuppiObjEmu> outallne_nocut, outallne;
182 const std::vector<HadCaloObjEmu> &caloin ,
183 std::vector<PuppiObjEmu> &outallne_nocut ,
184 std::vector<PuppiObjEmu> &outallne ,
185 std::vector<PuppiObjEmu> &outselne )
const;
187 const std::vector<HadCaloObjEmu> &caloin ,
188 std::vector<PuppiObjEmu> &outallne_nocut ,
189 std::vector<PuppiObjEmu> &outallne ,
190 std::vector<PuppiObjEmu> &outselne )
const;
193 const std::vector<PuppiObjEmu> &
in,
194 std::vector<PuppiObjEmu> &
out,
223 std::pair<float, float>
sum2puppiPt_flt(
float sum,
float pt,
unsigned int ieta,
bool isEM,
int icand)
const;
std::vector< pt_t > ptCut_
void run(const PFInputRegion &in, const std::vector< l1ct::PVObjEmu > &pvs, OutputRegion &out) const
void linpuppi_chs_ref(const PFRegionEmu ®ion, const PVObjEmu &pv, const std::vector< PFChargedObjEmu > &pfch, std::vector< PuppiObjEmu > &outallch) const
void linpuppi_flt(const PFRegionEmu ®ion, 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
std::vector< glbeta_t > absEtaBins_
std::vector< double > ptZeroNe_
std::vector< double > priorNe_
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)
std::vector< double > priorPh_
std::vector< double > ptZeroPh_
void linpuppi_ref(const PFRegionEmu ®ion, const std::vector< TkObjEmu > &track, const std::vector< PVObjEmu > &pv, const std::vector< PFNeutralObjEmu > &pfallne, std::vector< PuppiObjEmu > &outselne) const
std::vector< double > alphaZero_
static void puppisort_and_crop_ref(unsigned int nOutMax, const std::vector< PuppiObjEmu > &in, std::vector< PuppiObjEmu > &out, SortAlgo algo=SortAlgo::Insertion)
std::pair< pt_t, puppiWgt_t > sum2puppiPt_ref(linpuppi::sumTerm_t sum, pt_t pt, unsigned int ieta, bool isEM, int icand) const
unsigned int find_ieta(const PFRegionEmu ®ion, eta_t eta) const
std::vector< double > ptSlopePh_
std::vector< double > ptSlopeNe_
void setDebug(bool debug=true)
static edm::ParameterSetDescription getParameterSetDescription()
void linpuppi_ref(const PFRegionEmu ®ion, 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 setFakePuppi(bool fakePuppi=true)
ap_ufixed< 12, 6, AP_TRN, AP_SAT > sumTerm_t
void fwdlinpuppi_ref(const PFRegionEmu ®ion, const std::vector< HadCaloObjEmu > &caloin, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const
ap_ufixed< 14, 12, AP_TRN, AP_SAT > pt_t
std::vector< double > alphaSlope_
std::pair< float, float > sum2puppiPt_flt(float sum, float pt, unsigned int ieta, bool isEM, int icand) 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)
std::vector< double > alphaCrop_
void fwdlinpuppi_flt(const PFRegionEmu ®ion, const std::vector< HadCaloObjEmu > &caloin, std::vector< PuppiObjEmu > &outallne_nocut, std::vector< PuppiObjEmu > &outallne, std::vector< PuppiObjEmu > &outselne) const