1 #ifndef RecoLocalCalo_HGCalRecProducers_HGCalCLUEAlgo_h 2 #define RecoLocalCalo_HGCalRecProducers_HGCalCLUEAlgo_h 28 template <
typename TILE,
typename STRATEGY>
36 kappa_(ps.getParameter<double>(
"kappa")),
37 ecut_(ps.getParameter<double>(
"ecut")),
45 fcPerEle_(ps.getParameter<double>(
"fcPerEle")),
63 std::vector<reco::BasicCluster>
getClusters(
bool)
override;
74 cells.shrink_to_fit();
81 iDesc.
add<std::vector<double>>(
"thresholdW0", {2.9, 2.9, 2.9});
82 iDesc.
add<
double>(
"positionDeltaRho2", 1.69);
83 iDesc.
add<std::vector<double>>(
"deltac",
90 iDesc.
add<
bool>(
"dependSensor",
true);
91 iDesc.
add<
double>(
"ecut", 3.0);
92 iDesc.
add<
double>(
"kappa", 9.0);
94 iDesc.
add<std::vector<double>>(
"dEdXweights", {});
95 iDesc.
add<std::vector<double>>(
"thicknessCorrection", {});
96 iDesc.
add<
double>(
"sciThicknessCorrection", 0.9);
97 iDesc.
add<
int>(
"deltasi_index_regemfac", 3);
98 iDesc.
add<
unsigned>(
"maxNumberOfThickIndices", 6);
99 iDesc.
add<std::vector<double>>(
"fcPerMip", {});
100 iDesc.
add<
double>(
"fcPerEle", 0.0);
101 iDesc.
add<std::vector<double>>(
"noises", {});
103 descNestedNoiseMIP.
add<
bool>(
"scaleByDose",
false);
104 descNestedNoiseMIP.add<
unsigned int>(
"scaleByDoseAlgo", 0);
105 descNestedNoiseMIP.add<
double>(
"scaleByDoseFactor", 1.);
106 descNestedNoiseMIP.add<
std::string>(
"doseMap",
"");
107 descNestedNoiseMIP.add<
std::string>(
"sipmMap",
"");
108 descNestedNoiseMIP.add<
double>(
"referenceIdark", -1);
109 descNestedNoiseMIP.add<
double>(
"referenceXtalk", -1);
110 descNestedNoiseMIP.add<
double>(
"noise_MIP", 1. / 100.);
112 iDesc.
add<
bool>(
"use2x2",
true);
178 detid.shrink_to_fit();
179 dim1.shrink_to_fit();
180 dim2.shrink_to_fit();
183 delta.shrink_to_fit();
208 const unsigned int layerId,
std::vector< double > nonAgedNoises_
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
~HGCalCLUEAlgoT() override
HGCalCLUEAlgoT(const edm::ParameterSet &ps)
std::vector< double > vecDeltas_
std::vector< reco::BasicCluster > clusters_v_
std::vector< int > clusterIndex
void calculateDistanceToHigher(const TILE <, const unsigned int layerId, float delta)
int deltasi_index_regemfac_
void populate(const HGCRecHitCollection &hits) override
float outlierDeltaFactor_
double sciThicknessCorrection_
std::vector< std::vector< int > > followers
std::vector< int > nearestHigher
std::vector< double > thicknessCorrection_
void makeClusters() override
std::vector< bool > isSeed
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::vector< double > fcPerMip_
std::vector< float > weight
float distance(const TILE <, int cell1, int cell2, int layerId) const
std::vector< double > dEdXweights_
std::vector< std::vector< double > > v_sigmaNoise_
void getEventSetupPerAlgorithm(const edm::EventSetup &es) override
std::vector< int > numberOfClustersPerLayer_
void calculateLocalDensity(const TILE <, const unsigned int layerId, float delta)
static void fillPSetDescription(edm::ParameterSetDescription &iDesc)
XYZPointD XYZPoint
point in space with cartesian internal representation
unsigned maxNumberOfThickIndices_
std::vector< CellsOnLayer > cells_
math::XYZPoint Point
point in the space
void prepareDataStructures(const unsigned int layerId)
std::vector< float > delta
std::vector< DetId > detid
std::vector< float > dim1
std::vector< float > sigmaNoise
std::vector< std::vector< double > > thresholds_
int findAndAssignClusters(const unsigned int layerId, float delta)
std::vector< reco::BasicCluster > getClusters(bool) override
std::vector< float > dim2