1 #ifndef L1Trigger_Phase2L1ParticleFlow_PFAlgo3_h
2 #define L1Trigger_Phase2L1ParticleFlow_PFAlgo3_h
31 void link_tk2mu(
Region &r, std::vector<int> &tk2mu, std::vector<int> &mu2tk)
const;
43 const std::vector<int> &tk2em,
44 std::vector<int> &em2ntk,
45 std::vector<float> &em2sumtkpt,
46 std::vector<float> &em2sumtkpterr)
const;
50 const std::vector<int> &em2ntk,
51 const std::vector<float> &em2sumtkpt,
52 const std::vector<float> &em2sumtkpterr)
const;
56 const std::vector<int> &tk2em,
57 const std::vector<int> &em2ntk,
58 const std::vector<float> &em2sumtkpterr)
const;
69 const std::vector<int> &tk2calo,
70 std::vector<int> &calo2ntk,
71 std::vector<float> &calo2sumtkpt,
72 std::vector<float> &calo2sumtkpterr)
const;
82 const std::vector<int> &calo2ntk,
83 const std::vector<float> &calo2sumtkpt,
84 const std::vector<float> &calo2sumtkpterr)
const;
89 const std::vector<int> &calo2ntk,
90 const std::vector<float> &calo2sumtkpt,
91 const std::vector<float> &calo2sumtkpterr,
92 std::vector<float> &calo2alpha)
const;
96 const std::vector<int> &tk2calo,
97 const std::vector<int> &calo2ntk,
98 const std::vector<float> &calo2alpha)
const;
float caloReLinkThreshold_
bool trackEmMayUseCaloMomenta_
PFAlgo3(const edm::ParameterSet &)
void link_tk2calo(Region &r, std::vector< int > &tk2calo) const
track to calo matching
void runPF(Region &r) const override
void link_tk2em(Region &r, std::vector< int > &tk2em) const
match all tracks to the closest EM cluster
void link_em2calo(Region &r, std::vector< int > &em2calo) const
match all em to the closest had (can happen in parallel to the above)
void sub_em2calo(Region &r, const std::vector< int > &em2calo) const
subtract EM component from Calo clusters for all photons and electrons (within tracker coverage) ...
void unlinkedtk_algo(Region &r, const std::vector< int > &tk2calo) const
promote unlinked low pt tracks to hadrons
void sum_tk2calo(Region &r, const std::vector< int > &tk2calo, std::vector< int > &calo2ntk, std::vector< float > &calo2sumtkpt, std::vector< float > &calo2sumtkpterr) const
for each calo, compute the sum of the track pt
bool emCaloUseAlsoCaloSigma_
void linkedtk_algo(Region &r, const std::vector< int > &tk2calo, const std::vector< int > &calo2ntk, const std::vector< float > &calo2alpha) const
process matched tracks, if necessary rescale or average
float emHadSubtractionPtSlope_
void emtk_algo(Region &r, const std::vector< int > &tk2em, const std::vector< int > &em2ntk, const std::vector< float > &em2sumtkpterr) const
promote all flagged tracks to electrons
float tightTrackMaxInvisiblePt_
void calo_relink(Region &r, const std::vector< int > &calo2ntk, const std::vector< float > &calo2sumtkpt, const std::vector< float > &calo2sumtkpterr) const
try to recover split hadron showers (v1.0):
bool trackEmUseAlsoTrackSigma_
enum l1tpf_impl::PFAlgo3::MuMatchMode muMatchMode_
void sum_tk2em(Region &r, const std::vector< int > &tk2em, std::vector< int > &em2ntk, std::vector< float > &em2sumtkpt, std::vector< float > &em2sumtkpterr) const
for each EM cluster, count and add up the pt of all the corresponding tracks (skipping muons) ...
unsigned int tightTrackMinStubs_
void unlinkedcalo_algo(Region &r) const
process unmatched calo clusters
TkCaloLinkMetric tkCaloLinkMetric_
bool rescaleUnmatchedTrack_
bool caloTrkWeightedAverage_
void linkedcalo_algo(Region &r, const std::vector< int > &calo2ntk, const std::vector< float > &calo2sumtkpt, const std::vector< float > &calo2sumtkpterr, std::vector< float > &calo2alpha) const
process matched calo clusters, compare energy to sum track pt, compute track rescaling factor if need...
void emcalo_algo(Region &r, const std::vector< int > &em2ntk, const std::vector< float > &em2sumtkpt, const std::vector< float > &em2sumtkpterr) const
process ecal clusters after linking
void save_muons(Region &r, const std::vector< int > &tk2mu) const
save muons in output list
void link_tk2mu(Region &r, std::vector< int > &tk2mu, std::vector< int > &mu2tk) const
do muon track linking (also sets track.muonLink)