103 const std::vector<glbeta_t> &absEtaBins,
104 const std::vector<double> &ptSlopeNe,
105 const std::vector<double> &ptSlopePh,
106 const std::vector<double> &ptZeroNe,
107 const std::vector<double> &ptZeroPh,
108 const std::vector<double> &alphaSlope,
109 const std::vector<double> &alphaZero,
111 const std::vector<double> &priorNe,
112 const std::vector<double> &priorPh,
113 const std::vector<pt_t> &
ptCut,
147 const std::vector<PFChargedObjEmu> &pfch ,
148 std::vector<PuppiObjEmu> &outallch )
const;
151 const std::vector<PVObjEmu> &
pv ,
152 const std::vector<PFChargedObjEmu> &pfch ,
153 std::vector<PuppiObjEmu> &outallch )
const;
157 const std::vector<TkObjEmu> &
track ,
158 const std::vector<PVObjEmu> &
pv ,
159 const std::vector<PFNeutralObjEmu> &pfallne ,
160 std::vector<PuppiObjEmu> &outallne_nocut ,
161 std::vector<PuppiObjEmu> &outallne ,
162 std::vector<PuppiObjEmu> &outselne )
const;
164 const std::vector<TkObjEmu> &
track ,
165 const std::vector<PVObjEmu> &
pv ,
166 const std::vector<PFNeutralObjEmu> &pfallne ,
167 std::vector<PuppiObjEmu> &outallne_nocut ,
168 std::vector<PuppiObjEmu> &outallne ,
169 std::vector<PuppiObjEmu> &outselne )
const;
171 const std::vector<TkObjEmu> &
track ,
172 const std::vector<PVObjEmu> &
pv ,
173 const std::vector<PFNeutralObjEmu> &pfallne ,
174 std::vector<PuppiObjEmu> &outselne )
const {
175 std::vector<PuppiObjEmu> outallne_nocut, outallne;
181 const std::vector<HadCaloObjEmu> &caloin ,
182 std::vector<PuppiObjEmu> &outallne_nocut ,
183 std::vector<PuppiObjEmu> &outallne ,
184 std::vector<PuppiObjEmu> &outselne )
const;
186 const std::vector<HadCaloObjEmu> &caloin ,
187 std::vector<PuppiObjEmu> &outallne_nocut ,
188 std::vector<PuppiObjEmu> &outallne ,
189 std::vector<PuppiObjEmu> &outselne )
const;
192 const std::vector<PuppiObjEmu> &
in,
193 std::vector<PuppiObjEmu> &
out,
221 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)
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)
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
unsigned long long uint64_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_
std::pair< pt_t, puppiWgt_t > sum2puppiPt_ref(uint64_t sum, pt_t pt, unsigned int ieta, bool isEM, int icand) const
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