1 #ifndef L1Trigger_Phase2L1ParticleFlow_CALOCLUSTERER_H 2 #define L1Trigger_Phase2L1ParticleFlow_CALOCLUSTERER_H 28 float eta(
int icell)
const {
return eta_[icell]; }
29 float phi(
int icell)
const {
return phi_[icell]; }
128 for (
unsigned int i = 0,
n =
data_.size();
i <
n; ++
i) {
204 template <
typename Corrector>
211 std::unique_ptr<l1t::PFClusterCollection>
fetchCells(
bool unclusteredOnly =
false,
float ptMin = 0.)
const;
213 std::unique_ptr<l1t::PFClusterCollection>
fetch(
float ptMin = 0.)
const;
215 float ptMin = 0.)
const;
242 virtual void run() = 0;
249 template <
typename Corrector>
256 std::unique_ptr<l1t::PFClusterCollection>
fetch()
const;
273 void clear()
override;
283 void clear()
override;
Phase1GridBase(int nEta, int nPhi, int ietaCoarse, int ietaVeryCoarse, const float *towerEtas)
std::vector< CombinedCluster > clusters_
int iphi(int icell) const
int imove(int ieta, int iphi, int deta, int dphi)
float ptOverNeighLocalMaxSum
float eta(int icell) const
std::vector< float > eta_
virtual ~SimpleCaloLinkerBase()
const Grid & grid() const
T & operator()(float eta, float phi)
int ieta(int icell) const
const Cluster nullCluster_
SimpleCaloLinker(const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
const SingleCaloClusterer & hcal_
SingleCaloClusterer(const edm::ParameterSet &pset)
const IndexGrid & indexGrid() const
int iphi(int icell) const
std::unique_ptr< SimpleCaloLinkerBase > makeCaloLinker(const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
int ieta(int icell) const
GridData< PreCluster > PreClusterGrid
void add(const reco::Candidate &c)
static const int phase1_ietaVeryCoarse_
std::vector< float > etaWidth_
std::vector< Cluster > clusters_
const T & operator[](int icell) const
FlatCaloLinker(const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
PreClusterGrid ecalToHCal_
SimpleCaloLinkerBase(const edm::ParameterSet &pset, const SingleCaloClusterer &ecal, const SingleCaloClusterer &hcal)
T & operator[](int icell)
const Grid * getGrid(const std::string &type)
GridData(const Grid &grid)
bool valid_ieta_iphi(int ieta, int iphi) const
int ifind_cell(int ieta, int iphi) const
std::unique_ptr< l1t::PFClusterCollection > fetch() const
int find_cell(float eta, float phi) const override
std::vector< int > cell_map_
const int ietaVeryCoarse_
int neighbour(int icell, unsigned int idx) const
std::vector< float > phiWidth_
static const int phase1_nEta_
float phi(int icell) const
Abs< T >::type abs(const T &t)
static const int phase2_ietaCoarse_
std::unique_ptr< l1t::PFClusterCollection > fetchCells(bool unclusteredOnly=false, float ptMin=0.) const
static const int phase2_nEta_
std::vector< float > phi_
std::vector< std::pair< int, float > > constituents
const T & operator()(float eta, float phi) const
void add(float pt, float eta, float phi)
void correct(const Corrector &corrector)
const SingleCaloClusterer & ecal_
const T & neigh(int icell, unsigned int idx) const
static const int phase2_ietaVeryCoarse_
unsigned int size() const
void correct(const Corrector &corrector)
void grow()
possibly grow clusters by adding unclustered energy on the sides
EtGrid & raw()
non-const access to the energy: be careful to use it only before 'run()'
float etaWidth(int icell) const
static const int phase1_ietaCoarse_
const EtGrid & raw() const
static const int phase2_nPhi_
PreClusterGrid precluster_
float eta(int icell) const
std::unique_ptr< l1t::PFClusterCollection > fetch(float ptMin=0.) const
float phi(int icell) const
GridData< T > & operator+=(const GridData< T > &other)
SingleCaloClusterer combClusterer_
GridData< int > IndexGrid
virtual int find_cell(float eta, float phi) const =0
GridData< T > & operator=(const GridData< T > &other)
bool energyWeightedPosition_
const Cluster & cluster(int i) const
~SimpleCaloLinker() override
~FlatCaloLinker() override
unsigned int size() const
std::vector< std::array< int, 8 > > neighbours_
EnergyShareAlgo energyShareAlgo_
static const float phase1_towerEtas_[phase1_nEta_]
static const float phase2_towerEtas_[phase2_nEta_]
const std::vector< Cluster > & clusters() const
float phiWidth(int icell) const
static const int phase1_nPhi_