CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
ticl::PatternRecognitionbyCA< TILES > Class Template Referencefinal

#include <PatternRecognitionbyCA.h>

Inheritance diagram for ticl::PatternRecognitionbyCA< TILES >:
ticl::PatternRecognitionAlgoBaseT< TILES >

Public Member Functions

void emptyTrackstersFromSeedsTRK (std::vector< Trackster > &tracksters, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation, const edm::ProductID &collectionID) const
 
void energyRegressionAndID (const std::vector< reco::CaloCluster > &layerClusters, const tensorflow::Session *, std::vector< Trackster > &result)
 
void filter (std::vector< Trackster > &output, const std::vector< Trackster > &inTracksters, const typename PatternRecognitionAlgoBaseT< TILES >::Inputs &input, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) override
 
void makeTracksters (const typename PatternRecognitionAlgoBaseT< TILES >::Inputs &input, std::vector< Trackster > &result, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) override
 
 PatternRecognitionbyCA (const edm::ParameterSet &conf, edm::ConsumesCollector iC)
 
 ~PatternRecognitionbyCA () override
 
- Public Member Functions inherited from ticl::PatternRecognitionAlgoBaseT< TILES >
virtual void filter (std::vector< Trackster > &output, const std::vector< Trackster > &inTracksters, const Inputs &input, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation)=0
 
virtual void makeTracksters (const Inputs &input, std::vector< Trackster > &result, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation)=0
 
 PatternRecognitionAlgoBaseT (const edm::ParameterSet &conf, edm::ConsumesCollector)
 
virtual ~PatternRecognitionAlgoBaseT ()
 

Static Public Member Functions

static void fillPSetDescription (edm::ParameterSetDescription &iDesc)
 

Private Member Functions

void mergeTrackstersTRK (const std::vector< Trackster > &, const std::vector< reco::CaloCluster > &, std::vector< Trackster > &, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) const
 

Private Attributes

edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeomToken_
 
bool check_missing_layers_ = false
 
const bool computeLocalTime_
 
const std::string eidInputName_
 
const std::string eidOutputNameEnergy_
 
const std::string eidOutputNameId_
 
const double energy_em_over_total_threshold_
 
const float etaLimitIncreaseWindow_
 
const std::vector< int > filter_on_categories_
 
const float max_delta_time_
 
const double max_longitudinal_sigmaPCA_
 
const int max_missing_layers_in_trackster_
 
const unsigned int max_out_in_hops_
 
const int min_clusters_per_ntuplet_
 
const float min_cos_pointing_
 
const float min_cos_theta_
 
const unsigned int min_layers_per_trackster_
 
const bool oneTracksterPerTrackSeed_
 
const bool out_in_dfs_
 
const double pid_threshold_
 
const bool promoteEmptyRegionToTrackster_
 
hgcal::RecHitTools rhtools_
 
const float root_doublet_max_distance_from_seed_squared_
 
const unsigned int shower_start_max_layer_
 
const std::vector< double > siblings_maxRSquared_
 
const int skip_layers_
 
const std::unique_ptr< HGCGraphT< TILES > > theGraph_
 

Additional Inherited Members

- Protected Attributes inherited from ticl::PatternRecognitionAlgoBaseT< TILES >
int algo_verbosity_
 

Detailed Description

template<typename TILES>
class ticl::PatternRecognitionbyCA< TILES >

Definition at line 14 of file PatternRecognitionbyCA.h.

Constructor & Destructor Documentation

◆ PatternRecognitionbyCA()

template<typename TILES >
PatternRecognitionbyCA::PatternRecognitionbyCA ( const edm::ParameterSet conf,
edm::ConsumesCollector  iC 
)

Definition at line 19 of file PatternRecognitionbyCA.cc.

22  theGraph_(std::make_unique<HGCGraphT<TILES>>()),
23  oneTracksterPerTrackSeed_(conf.getParameter<bool>("oneTracksterPerTrackSeed")),
24  promoteEmptyRegionToTrackster_(conf.getParameter<bool>("promoteEmptyRegionToTrackster")),
25  out_in_dfs_(conf.getParameter<bool>("out_in_dfs")),
26  max_out_in_hops_(conf.getParameter<int>("max_out_in_hops")),
27  min_cos_theta_(conf.getParameter<double>("min_cos_theta")),
28  min_cos_pointing_(conf.getParameter<double>("min_cos_pointing")),
30  conf.getParameter<double>("root_doublet_max_distance_from_seed_squared")),
31  etaLimitIncreaseWindow_(conf.getParameter<double>("etaLimitIncreaseWindow")),
32  skip_layers_(conf.getParameter<int>("skip_layers")),
33  max_missing_layers_in_trackster_(conf.getParameter<int>("max_missing_layers_in_trackster")),
35  shower_start_max_layer_(conf.getParameter<int>("shower_start_max_layer")),
36  min_layers_per_trackster_(conf.getParameter<int>("min_layers_per_trackster")),
37  filter_on_categories_(conf.getParameter<std::vector<int>>("filter_on_categories")),
38  pid_threshold_(conf.getParameter<double>("pid_threshold")),
39  energy_em_over_total_threshold_(conf.getParameter<double>("energy_em_over_total_threshold")),
40  max_longitudinal_sigmaPCA_(conf.getParameter<double>("max_longitudinal_sigmaPCA")),
42  max_delta_time_(conf.getParameter<double>("max_delta_time")),
43  computeLocalTime_(conf.getParameter<bool>("computeLocalTime")),
44  siblings_maxRSquared_(conf.getParameter<std::vector<double>>("siblings_maxRSquared")){};
const std::unique_ptr< HGCGraphT< TILES > > theGraph_
const std::vector< double > siblings_maxRSquared_
const std::vector< int > filter_on_categories_
const unsigned int min_layers_per_trackster_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
const unsigned int shower_start_max_layer_
const float root_doublet_max_distance_from_seed_squared_

◆ ~PatternRecognitionbyCA()

template<typename TILES >
PatternRecognitionbyCA::~PatternRecognitionbyCA ( )
override

Definition at line 47 of file PatternRecognitionbyCA.cc.

47 {};

Member Function Documentation

◆ emptyTrackstersFromSeedsTRK()

template<typename TILES >
void PatternRecognitionbyCA::emptyTrackstersFromSeedsTRK ( std::vector< Trackster > &  tracksters,
std::unordered_map< int, std::vector< int >> &  seedToTracksterAssociation,
const edm::ProductID collectionID 
) const

Definition at line 298 of file PatternRecognitionbyCA.cc.

References ticl::Trackster::charged_hadron, f, submitPVValidationJobs::t, and HitToTracksterAssociation_cfi::tracksters.

301  {
302  for (auto &thisSeed : seedToTracksterAssociation) {
303  if (thisSeed.second.empty()) {
304  Trackster t;
305  t.setRegressedEnergy(0.f);
306  t.zeroProbabilities();
308  t.setSeed(collectionID, thisSeed.first);
309  tracksters.emplace_back(t);
310  thisSeed.second.emplace_back(tracksters.size() - 1);
311  }
312  }
313 }
double f[11][100]

◆ energyRegressionAndID()

template<typename TILES >
void ticl::PatternRecognitionbyCA< TILES >::energyRegressionAndID ( const std::vector< reco::CaloCluster > &  layerClusters,
const tensorflow::Session *  ,
std::vector< Trackster > &  result 
)

◆ fillPSetDescription()

template<typename TILES >
void PatternRecognitionbyCA::fillPSetDescription ( edm::ParameterSetDescription iDesc)
static

Definition at line 316 of file PatternRecognitionbyCA.cc.

References edm::ParameterSetDescription::add(), MillePedeFileConverter_cfg::e, and edm::ParameterDescriptionNode::setComment().

316  {
317  iDesc.add<int>("algo_verbosity", 0);
318  iDesc.add<bool>("oneTracksterPerTrackSeed", false);
319  iDesc.add<bool>("promoteEmptyRegionToTrackster", false);
320  iDesc.add<bool>("out_in_dfs", true);
321  iDesc.add<int>("max_out_in_hops", 10);
322  iDesc.add<double>("min_cos_theta", 0.915);
323  iDesc.add<double>("min_cos_pointing", -1.);
324  iDesc.add<double>("root_doublet_max_distance_from_seed_squared", 9999);
325  iDesc.add<double>("etaLimitIncreaseWindow", 2.1);
326  iDesc.add<int>("skip_layers", 0);
327  iDesc.add<int>("max_missing_layers_in_trackster", 9999);
328  iDesc.add<int>("shower_start_max_layer", 9999)->setComment("make default such that no filtering is applied");
329  iDesc.add<int>("min_layers_per_trackster", 10);
330  iDesc.add<std::vector<int>>("filter_on_categories", {0});
331  iDesc.add<double>("pid_threshold", 0.)->setComment("make default such that no filtering is applied");
332  iDesc.add<double>("energy_em_over_total_threshold", -1.)
333  ->setComment("make default such that no filtering is applied");
334  iDesc.add<double>("max_longitudinal_sigmaPCA", 9999);
335  iDesc.add<double>("max_delta_time", 3.)->setComment("nsigma");
336  iDesc.add<bool>("computeLocalTime", false);
337  iDesc.add<std::vector<double>>("siblings_maxRSquared", {6e-4, 6e-4, 6e-4});
338 }
void setComment(std::string const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)

◆ filter()

template<typename TILES >
void PatternRecognitionbyCA::filter ( std::vector< Trackster > &  output,
const std::vector< Trackster > &  inTracksters,
const typename PatternRecognitionAlgoBaseT< TILES >::Inputs input,
std::unordered_map< int, std::vector< int >> &  seedToTracksterAssociation 
)
override

Definition at line 186 of file PatternRecognitionbyCA.cc.

References ticl::Advanced, mps_fire::i, input, LogDebug, AlCaHLTBitMon_ParallelJobs::p, submitPVValidationJobs::t, and createJobs::tmp.

189  {
190  auto filter_on_pids = [&](const ticl::Trackster &t) -> bool {
191  auto cumulative_prob = 0.;
192  for (auto index : filter_on_categories_) {
193  cumulative_prob += t.id_probabilities(index);
194  }
195  return (cumulative_prob <= pid_threshold_) &&
196  (t.raw_em_energy() < energy_em_over_total_threshold_ * t.raw_energy());
197  };
198 
199  std::vector<unsigned int> selectedTrackstersIds;
200  for (unsigned i = 0; i < inTracksters.size(); ++i) {
201  auto &t = inTracksters[i];
202  if (!filter_on_pids(t) and t.sigmasPCA()[0] < max_longitudinal_sigmaPCA_) {
203  selectedTrackstersIds.push_back(i);
204  }
205  }
206  output.reserve(selectedTrackstersIds.size());
207  bool isRegionalIter = !input.regions.empty() && (input.regions[0].index != -1);
208  for (unsigned i = 0; i < selectedTrackstersIds.size(); ++i) {
209  const auto &t = inTracksters[selectedTrackstersIds[i]];
210  if (isRegionalIter) {
211  seedToTracksterAssociation[t.seedIndex()].push_back(i);
212  }
213  output.push_back(t);
214  }
215 
216  // Now decide if the tracksters from the track-based iterations have to be merged
218  std::vector<Trackster> tmp;
219  mergeTrackstersTRK(output, input.layerClusters, tmp, seedToTracksterAssociation);
220  tmp.swap(output);
221  }
222 
223  // now adding dummy tracksters from seeds not connected to any shower in the result collection
224  // these are marked as charged hadrons with probability 1.
226  emptyTrackstersFromSeedsTRK(output, seedToTracksterAssociation, input.regions[0].collectionID);
227  }
228 
230  for (auto &trackster : output) {
231  LogDebug("HGCPatternRecoByCA") << "Trackster characteristics: " << std::endl;
232  LogDebug("HGCPatternRecoByCA") << "Size: " << trackster.vertices().size() << std::endl;
233  auto counter = 0;
234  for (auto const &p : trackster.id_probabilities()) {
235  LogDebug("HGCPatternRecoByCA") << counter++ << ": " << p << std::endl;
236  }
237  }
238  }
239 }
void mergeTrackstersTRK(const std::vector< Trackster > &, const std::vector< reco::CaloCluster > &, std::vector< Trackster > &, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation) const
void emptyTrackstersFromSeedsTRK(std::vector< Trackster > &tracksters, std::unordered_map< int, std::vector< int >> &seedToTracksterAssociation, const edm::ProductID &collectionID) const
static std::string const input
Definition: EdmProvDump.cc:50
const std::vector< int > filter_on_categories_
Definition: output.py:1
tmp
align.sh
Definition: createJobs.py:716
#define LogDebug(id)

◆ makeTracksters()

template<typename TILES >
void PatternRecognitionbyCA::makeTracksters ( const typename PatternRecognitionAlgoBaseT< TILES >::Inputs input,
std::vector< Trackster > &  result,
std::unordered_map< int, std::vector< int >> &  seedToTracksterAssociation 
)
override

Definition at line 50 of file PatternRecognitionbyCA.cc.

References ticl::Advanced, ticl::assignPCAtoTracksters(), ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), filterCSVwithJSON::copy, isoTrack_cff::doublets, dqmdumpme::first, caHitNtupletGeneratorKernels::foundNtuplets, relativeConstraints::geom, edm::EventSetup::getData(), mps_fire::i, input, dqmiolumiharvest::j, LogDebug, SiStripPI::min, L1TMuonDQMOffline_cfi::nEtaBins, isotrackNtuplerCondor::None, ecaldqm::binning::nPhiBins, pixelTracksMonitoring_cff::ntuplet, mps_fire::result, jetUpdater_cfi::sort, createJobs::tmp, tier0::unique(), and relativeConstraints::value.

53  {
54  // Protect from events with no seeding regions
55  if (input.regions.empty())
56  return;
57 
58  edm::EventSetup const &es = input.es;
61 
63  theGraph_->clear();
65  LogDebug("HGCPatternRecoByCA") << "Making Tracksters with CA" << std::endl;
66  }
67 
71 
72  std::vector<HGCDoublet::HGCntuplet> foundNtuplets;
73  std::vector<int> seedIndices;
74  std::vector<uint8_t> layer_cluster_usage(input.layerClusters.size(), 0);
75  theGraph_->makeAndConnectDoublets(input.tiles,
76  input.regions,
77  nEtaBin,
78  nPhiBin,
79  input.layerClusters,
80  input.mask,
81  input.layerClustersTime,
82  1,
83  1,
89  rhtools_.lastLayer(isHFnose),
91  rhtools_.lastLayerEE(isHFnose),
94 
96  //#ifdef FP_DEBUG
97  const auto &doublets = theGraph_->getAllDoublets();
98  int tracksterId = -1;
99 
100  // container for holding tracksters before selection
101  result.reserve(foundNtuplets.size());
102 
103  for (auto const &ntuplet : foundNtuplets) {
104  tracksterId++;
105 
106  std::set<unsigned int> effective_cluster_idx;
107 
108  for (auto const &doublet : ntuplet) {
109  auto innerCluster = doublets[doublet].innerClusterId();
110  auto outerCluster = doublets[doublet].outerClusterId();
111 
112  effective_cluster_idx.insert(innerCluster);
113  effective_cluster_idx.insert(outerCluster);
114 
116  LogDebug("HGCPatternRecoByCA") << " New doublet " << doublet << " for trackster: " << result.size()
117  << " InnerCl " << innerCluster << " " << input.layerClusters[innerCluster].x()
118  << " " << input.layerClusters[innerCluster].y() << " "
119  << input.layerClusters[innerCluster].z() << " OuterCl " << outerCluster << " "
120  << input.layerClusters[outerCluster].x() << " "
121  << input.layerClusters[outerCluster].y() << " "
122  << input.layerClusters[outerCluster].z() << " " << tracksterId << std::endl;
123  }
124  }
125  unsigned showerMinLayerId = 99999;
126  std::vector<unsigned int> uniqueLayerIds;
127  uniqueLayerIds.reserve(effective_cluster_idx.size());
128  std::vector<std::pair<unsigned int, unsigned int>> lcIdAndLayer;
129  lcIdAndLayer.reserve(effective_cluster_idx.size());
130  for (auto const i : effective_cluster_idx) {
131  auto const &haf = input.layerClusters[i].hitsAndFractions();
132  auto layerId = rhtools_.getLayerWithOffset(haf[0].first);
133  showerMinLayerId = std::min(layerId, showerMinLayerId);
134  uniqueLayerIds.push_back(layerId);
135  lcIdAndLayer.emplace_back(i, layerId);
136  }
137  std::sort(uniqueLayerIds.begin(), uniqueLayerIds.end());
138  uniqueLayerIds.erase(std::unique(uniqueLayerIds.begin(), uniqueLayerIds.end()), uniqueLayerIds.end());
139  unsigned int numberOfLayersInTrackster = uniqueLayerIds.size();
140  if (check_missing_layers_) {
141  int numberOfMissingLayers = 0;
142  unsigned int j = showerMinLayerId;
143  unsigned int indexInVec = 0;
144  for (const auto &layer : uniqueLayerIds) {
145  if (layer != j) {
146  numberOfMissingLayers++;
147  j++;
148  if (numberOfMissingLayers > max_missing_layers_in_trackster_) {
149  numberOfLayersInTrackster = indexInVec;
150  for (auto &llpair : lcIdAndLayer) {
151  if (llpair.second >= layer) {
152  effective_cluster_idx.erase(llpair.first);
153  }
154  }
155  break;
156  }
157  }
158  indexInVec++;
159  j++;
160  }
161  }
162  if ((numberOfLayersInTrackster >= min_layers_per_trackster_) and (showerMinLayerId <= shower_start_max_layer_)) {
163  // Put back indices, in the form of a Trackster, into the results vector
164  Trackster tmp;
165  tmp.vertices().reserve(effective_cluster_idx.size());
166  tmp.vertex_multiplicity().resize(effective_cluster_idx.size(), 1);
167  //regions and seedIndices can have different size
168  //if a seeding region does not lead to any trackster
169  tmp.setSeed(input.regions[0].collectionID, seedIndices[tracksterId]);
170 
171  std::copy(std::begin(effective_cluster_idx), std::end(effective_cluster_idx), std::back_inserter(tmp.vertices()));
172  result.push_back(tmp);
173  }
174  }
176  input.layerClusters,
177  input.layerClustersTime,
178  rhtools_.getPositionLayer(rhtools_.lastLayerEE(isHFnose), isHFnose).z(),
179  rhtools_,
181 
182  theGraph_->clear();
183 }
const std::unique_ptr< HGCGraphT< TILES > > theGraph_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
void assignPCAtoTracksters(std::vector< Trackster > &tracksters, const std::vector< reco::CaloCluster > &layerClusters, const edm::ValueMap< std::pair< float, float >> &layerClustersTime, double z_limit_em, hgcal::RecHitTools const &rhTools, bool computeLocalTime=false, bool energyWeight=true, bool clean=false, int minLayer=10, int maxLayer=10)
const std::vector< double > siblings_maxRSquared_
static std::string const input
Definition: EdmProvDump.cc:50
unsigned int lastLayerFH() const
Definition: RecHitTools.h:77
const unsigned int min_layers_per_trackster_
def unique(seq, keepstr=True)
Definition: tier0.py:24
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
GlobalPoint getPositionLayer(int layer, bool nose=false) const
Definition: RecHitTools.cc:152
void setGeometry(CaloGeometry const &)
Definition: RecHitTools.cc:79
static constexpr int nPhiBins
const unsigned int shower_start_max_layer_
const float root_doublet_max_distance_from_seed_squared_
tmp
align.sh
Definition: createJobs.py:716
unsigned int lastLayerEE(bool nose=false) const
Definition: RecHitTools.h:76
#define LogDebug(id)
unsigned int lastLayer(bool nose=false) const
Definition: RecHitTools.h:80
unsigned int getLayerWithOffset(const DetId &) const
Definition: RecHitTools.cc:381

◆ mergeTrackstersTRK()

template<typename TILES >
void PatternRecognitionbyCA::mergeTrackstersTRK ( const std::vector< Trackster > &  input,
const std::vector< reco::CaloCluster > &  layerClusters,
std::vector< Trackster > &  output,
std::unordered_map< int, std::vector< int >> &  seedToTracksterAssociation 
) const
private

Definition at line 241 of file PatternRecognitionbyCA.cc.

References ticl::Basic, filterCSVwithJSON::copy, HLT_2024v14_cff::distance, spr::find(), input, dqmiolumiharvest::j, LogDebug, GetRecoTauVFromDQM_MC_cff::next, jetUpdater_cfi::sort, and HitToTracksterAssociation_cfi::tracksters.

245  {
246  output.reserve(input.size());
247  for (auto &thisSeed : seedToTracksterAssociation) {
248  auto &tracksters = thisSeed.second;
249  if (!tracksters.empty()) {
250  auto numberOfTrackstersInSeed = tracksters.size();
251  output.emplace_back(input[tracksters[0]]);
252  auto &outTrackster = output.back();
253  tracksters[0] = output.size() - 1;
254  auto updated_size = outTrackster.vertices().size();
255  for (unsigned int j = 1; j < numberOfTrackstersInSeed; ++j) {
256  auto &thisTrackster = input[tracksters[j]];
257  updated_size += thisTrackster.vertices().size();
259  LogDebug("HGCPatternRecoByCA") << "Updated size: " << updated_size << std::endl;
260  }
261  outTrackster.vertices().reserve(updated_size);
262  outTrackster.vertex_multiplicity().reserve(updated_size);
263  std::copy(std::begin(thisTrackster.vertices()),
264  std::end(thisTrackster.vertices()),
265  std::back_inserter(outTrackster.vertices()));
266  std::copy(std::begin(thisTrackster.vertex_multiplicity()),
267  std::end(thisTrackster.vertex_multiplicity()),
268  std::back_inserter(outTrackster.vertex_multiplicity()));
269  }
270  tracksters.resize(1);
271 
272  // Find duplicate LCs
273  auto &orig_vtx = outTrackster.vertices();
274  auto vtx_sorted{orig_vtx};
275  std::sort(std::begin(vtx_sorted), std::end(vtx_sorted));
276  for (unsigned int iLC = 1; iLC < vtx_sorted.size(); ++iLC) {
277  if (vtx_sorted[iLC] == vtx_sorted[iLC - 1]) {
278  // Clean up duplicate LCs
279  const auto lcIdx = vtx_sorted[iLC];
280  const auto firstEl = std::find(orig_vtx.begin(), orig_vtx.end(), lcIdx);
281  const auto firstPos = std::distance(std::begin(orig_vtx), firstEl);
282  auto iDup = std::find(std::next(firstEl), orig_vtx.end(), lcIdx);
283  while (iDup != orig_vtx.end()) {
284  orig_vtx.erase(iDup);
285  outTrackster.vertex_multiplicity().erase(outTrackster.vertex_multiplicity().begin() +
286  std::distance(std::begin(orig_vtx), iDup));
287  outTrackster.vertex_multiplicity()[firstPos] -= 1;
288  iDup = std::find(std::next(firstEl), orig_vtx.end(), lcIdx);
289  };
290  }
291  }
292  }
293  }
294  output.shrink_to_fit();
295 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1
#define LogDebug(id)

Member Data Documentation

◆ caloGeomToken_

template<typename TILES >
edm::ESGetToken<CaloGeometry, CaloGeometryRecord> ticl::PatternRecognitionbyCA< TILES >::caloGeomToken_
private

Definition at line 42 of file PatternRecognitionbyCA.h.

◆ check_missing_layers_

template<typename TILES >
bool ticl::PatternRecognitionbyCA< TILES >::check_missing_layers_ = false
private

Definition at line 54 of file PatternRecognitionbyCA.h.

◆ computeLocalTime_

template<typename TILES >
const bool ticl::PatternRecognitionbyCA< TILES >::computeLocalTime_
private

Definition at line 66 of file PatternRecognitionbyCA.h.

◆ eidInputName_

template<typename TILES >
const std::string ticl::PatternRecognitionbyCA< TILES >::eidInputName_
private

Definition at line 63 of file PatternRecognitionbyCA.h.

◆ eidOutputNameEnergy_

template<typename TILES >
const std::string ticl::PatternRecognitionbyCA< TILES >::eidOutputNameEnergy_
private

Definition at line 64 of file PatternRecognitionbyCA.h.

◆ eidOutputNameId_

template<typename TILES >
const std::string ticl::PatternRecognitionbyCA< TILES >::eidOutputNameId_
private

Definition at line 65 of file PatternRecognitionbyCA.h.

◆ energy_em_over_total_threshold_

template<typename TILES >
const double ticl::PatternRecognitionbyCA< TILES >::energy_em_over_total_threshold_
private

Definition at line 59 of file PatternRecognitionbyCA.h.

◆ etaLimitIncreaseWindow_

template<typename TILES >
const float ticl::PatternRecognitionbyCA< TILES >::etaLimitIncreaseWindow_
private

Definition at line 51 of file PatternRecognitionbyCA.h.

◆ filter_on_categories_

template<typename TILES >
const std::vector<int> ticl::PatternRecognitionbyCA< TILES >::filter_on_categories_
private

Definition at line 57 of file PatternRecognitionbyCA.h.

◆ max_delta_time_

template<typename TILES >
const float ticl::PatternRecognitionbyCA< TILES >::max_delta_time_
private

Definition at line 62 of file PatternRecognitionbyCA.h.

◆ max_longitudinal_sigmaPCA_

template<typename TILES >
const double ticl::PatternRecognitionbyCA< TILES >::max_longitudinal_sigmaPCA_
private

Definition at line 60 of file PatternRecognitionbyCA.h.

◆ max_missing_layers_in_trackster_

template<typename TILES >
const int ticl::PatternRecognitionbyCA< TILES >::max_missing_layers_in_trackster_
private

Definition at line 53 of file PatternRecognitionbyCA.h.

◆ max_out_in_hops_

template<typename TILES >
const unsigned int ticl::PatternRecognitionbyCA< TILES >::max_out_in_hops_
private

Definition at line 47 of file PatternRecognitionbyCA.h.

◆ min_clusters_per_ntuplet_

template<typename TILES >
const int ticl::PatternRecognitionbyCA< TILES >::min_clusters_per_ntuplet_
private

Definition at line 61 of file PatternRecognitionbyCA.h.

◆ min_cos_pointing_

template<typename TILES >
const float ticl::PatternRecognitionbyCA< TILES >::min_cos_pointing_
private

Definition at line 49 of file PatternRecognitionbyCA.h.

◆ min_cos_theta_

template<typename TILES >
const float ticl::PatternRecognitionbyCA< TILES >::min_cos_theta_
private

Definition at line 48 of file PatternRecognitionbyCA.h.

◆ min_layers_per_trackster_

template<typename TILES >
const unsigned int ticl::PatternRecognitionbyCA< TILES >::min_layers_per_trackster_
private

Definition at line 56 of file PatternRecognitionbyCA.h.

◆ oneTracksterPerTrackSeed_

template<typename TILES >
const bool ticl::PatternRecognitionbyCA< TILES >::oneTracksterPerTrackSeed_
private

Definition at line 44 of file PatternRecognitionbyCA.h.

◆ out_in_dfs_

template<typename TILES >
const bool ticl::PatternRecognitionbyCA< TILES >::out_in_dfs_
private

Definition at line 46 of file PatternRecognitionbyCA.h.

◆ pid_threshold_

template<typename TILES >
const double ticl::PatternRecognitionbyCA< TILES >::pid_threshold_
private

Definition at line 58 of file PatternRecognitionbyCA.h.

◆ promoteEmptyRegionToTrackster_

template<typename TILES >
const bool ticl::PatternRecognitionbyCA< TILES >::promoteEmptyRegionToTrackster_
private

Definition at line 45 of file PatternRecognitionbyCA.h.

◆ rhtools_

template<typename TILES >
hgcal::RecHitTools ticl::PatternRecognitionbyCA< TILES >::rhtools_
private

Definition at line 68 of file PatternRecognitionbyCA.h.

◆ root_doublet_max_distance_from_seed_squared_

template<typename TILES >
const float ticl::PatternRecognitionbyCA< TILES >::root_doublet_max_distance_from_seed_squared_
private

Definition at line 50 of file PatternRecognitionbyCA.h.

◆ shower_start_max_layer_

template<typename TILES >
const unsigned int ticl::PatternRecognitionbyCA< TILES >::shower_start_max_layer_
private

Definition at line 55 of file PatternRecognitionbyCA.h.

◆ siblings_maxRSquared_

template<typename TILES >
const std::vector<double> ticl::PatternRecognitionbyCA< TILES >::siblings_maxRSquared_
private

Definition at line 69 of file PatternRecognitionbyCA.h.

◆ skip_layers_

template<typename TILES >
const int ticl::PatternRecognitionbyCA< TILES >::skip_layers_
private

Definition at line 52 of file PatternRecognitionbyCA.h.

◆ theGraph_

template<typename TILES >
const std::unique_ptr<HGCGraphT<TILES> > ticl::PatternRecognitionbyCA< TILES >::theGraph_
private

Definition at line 43 of file PatternRecognitionbyCA.h.