CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
cscdqm::StripClusterFinder Class Reference

Object used to find Strip Clusters. More...

#include <CSCDQM_StripClusterFinder.h>

Classes

class  Sort
 

Public Member Functions

void DoAction (int layerId, float *cathodes)
 
std::vector< StripClustergetClusters ()
 
void printClusters (void)
 
 StripClusterFinder (int l, int s, int cf, int st, bool ME11=false)
 

Public Attributes

ClusterLocalMax localMaxTMP
 
std::vector< StripClusterMEStripClusters
 
std::vector< StripClusterFitDatathePulseHeightMap
 

Private Member Functions

bool FindAndMatch (void)
 
void KillCluster (void)
 
void Match (void)
 
void RefindMax (void)
 
void SearchBorders (void)
 
void SearchMax (void)
 

Private Attributes

int AFEBSliceNmb
 
int AnodeGroupNmb
 
uint32_t i
 
uint32_t ic1
 
uint32_t IC1MAX
 
uint32_t IC1MIN
 
uint32_t ic2
 
uint32_t IC2MAX
 
uint32_t IC2MIN
 
uint32_t icstart
 
bool is7DCFEBs
 
bool isME11
 
uint32_t j
 
uint32_t JC1MAX
 
uint32_t JC1MIN
 
uint32_t JC2MAX
 
uint32_t JC2MIN
 
int LayerNmb
 
int32_t LId
 
int StripNmb
 
int TimeSliceNmb
 

Detailed Description

Object used to find Strip Clusters.

Definition at line 23 of file CSCDQM_StripClusterFinder.h.

Constructor & Destructor Documentation

◆ StripClusterFinder()

cscdqm::StripClusterFinder::StripClusterFinder ( int  l,
int  s,
int  cf,
int  st,
bool  ME11 = false 
)

Member Function Documentation

◆ DoAction()

void cscdqm::StripClusterFinder::DoAction ( int  layerId,
float *  cathodes 
)

Definition at line 20 of file CSCDQM_StripClusterFinder.cc.

References cscdqm::StripClusterFitData::bx_, cscdqm::StripClusterFitData::channel_, cscdqm::StripClusterFitData::height_, i, j, dqmdumpme::k, MainPageGenerator::l, LId, Match(), MEStripClusters, RefindMax(), SearchBorders(), SearchMax(), jetUpdater_cfi::sort, StripNmb, thePulseHeightMap, and TimeSliceNmb.

Referenced by cscdqm::EventProcessor::processCSC().

20  {
21  int TimeId, StripId;
22  this->LId = LayerId;
23  MEStripClusters.clear();
24  StripClusterFitData PulseHeightMapTMP;
25 
26  thePulseHeightMap.clear();
27 
28  // fill
29  //===========================================================================
30 
31  for (StripId = 0; StripId < StripNmb; StripId++) {
32  for (TimeId = 0; TimeId < TimeSliceNmb; TimeId++) {
33  PulseHeightMapTMP.height_[TimeId] = *(Cathodes + StripNmb * (TimeSliceNmb * LayerId + TimeId) + StripId);
34  }
35  PulseHeightMapTMP.bx_ = 0;
36  PulseHeightMapTMP.channel_ = StripId; // was StripId
37  thePulseHeightMap.push_back(PulseHeightMapTMP);
38  }
39  sort(thePulseHeightMap.begin(), thePulseHeightMap.end(), Sort());
40  //===========================================================================
41 
42  if (thePulseHeightMap.empty())
43  return;
44  SearchMax();
45  SearchBorders();
46  Match();
47  RefindMax();
48  /*
49  int val;
50  for(i=0;i<MEStripClusters.size();i++){
51  val=MEStripClusters[i].LFTBNDStrip;
52  MEStripClusters[i].LFTBNDStrip=thePulseHeightMap[val].channel_;
53  val=MEStripClusters[i].IRTBNDStrip;
54  MEStripClusters[i].IRTBNDStrip=thePulseHeightMap[val].channel_;
55  for(j=0;j<MEStripClusters[i].localMax.size();j++){
56  val=MEStripClusters[i].localMax[j].Strip;
57  MEStripClusters[i].localMax[j].Strip=thePulseHeightMap[val].channel_;
58  }
59  }
60  */
61 
62  float sumstrip;
63  float sumtime;
64  float sumheight;
65 
66  for (i = 0; i < MEStripClusters.size(); i++) {
67  MEStripClusters[i].ClusterPulseMapHeight.clear();
68  for (j = 0; j < thePulseHeightMap.size(); j++) {
69  if (thePulseHeightMap[j].channel_ >= MEStripClusters[i].LFTBNDStrip &&
70  thePulseHeightMap[j].channel_ <= MEStripClusters[i].IRTBNDStrip)
71  MEStripClusters[i].ClusterPulseMapHeight.push_back(thePulseHeightMap[j]);
72  }
73  sumstrip = 0;
74  sumtime = 0;
75  sumheight = 0;
76  for (uint32_t k = 0; k < MEStripClusters[i].ClusterPulseMapHeight.size(); k++) {
77  for (int l = 0; l < 16; l++) {
78  sumstrip += MEStripClusters[i].ClusterPulseMapHeight[k].height_[l] *
79  (MEStripClusters[i].ClusterPulseMapHeight[k].channel_ + 1);
80  sumtime += MEStripClusters[i].ClusterPulseMapHeight[k].height_[l] * (l + 1);
81  sumheight += MEStripClusters[i].ClusterPulseMapHeight[k].height_[l];
82  }
83  }
84  if (sumheight) {
85  MEStripClusters[i].Mean[0] = sumstrip / sumheight;
86  MEStripClusters[i].Mean[1] = sumtime / sumheight;
87  }
88  }
89  // printClusters();
90  return;
91  }
std::vector< StripClusterFitData > thePulseHeightMap
std::vector< StripCluster > MEStripClusters

◆ FindAndMatch()

bool cscdqm::StripClusterFinder::FindAndMatch ( void  )
private

!!???

Definition at line 190 of file CSCDQM_StripClusterFinder.cc.

References ic1, IC1MAX, IC1MIN, ic2, IC2MAX, IC2MIN, icstart, JC1MAX, JC1MIN, JC2MAX, JC2MIN, KillCluster(), and MEStripClusters.

Referenced by Match().

190  {
191  // Find clusters to match
192  icstart = 0;
193  for (ic1 = icstart; ic1 < MEStripClusters.size(); ic1++) {
194  IC1MIN = MEStripClusters[ic1].LFTBNDStrip;
195  IC1MAX = MEStripClusters[ic1].IRTBNDStrip;
196  JC1MIN = MEStripClusters[ic1].LFTBNDTime;
197  JC1MAX = MEStripClusters[ic1].IRTBNDTime;
198  for (ic2 = ic1 + 1; ic2 < MEStripClusters.size(); ic2++) {
199  IC2MIN = MEStripClusters[ic2].LFTBNDStrip;
200  IC2MAX = MEStripClusters[ic2].IRTBNDStrip;
201  JC2MIN = MEStripClusters[ic2].LFTBNDTime;
202  JC2MAX = MEStripClusters[ic2].IRTBNDTime;
203  if ((IC2MIN >= IC1MIN && IC2MIN <= IC1MAX && JC2MIN >= JC1MIN && JC2MIN <= JC1MAX) ||
204  (IC2MIN >= IC1MIN && IC2MIN <= IC1MAX && JC2MAX >= JC1MIN && JC2MAX <= JC1MAX) ||
205  (IC2MAX >= IC1MIN && IC2MAX <= IC1MAX && JC2MIN >= JC1MIN && JC2MIN <= JC1MAX) ||
206  (IC2MAX >= IC1MIN && IC2MAX <= IC1MAX && JC2MAX >= JC1MIN && JC2MAX <= JC1MAX)) {
207  KillCluster();
208  return true;
209  } else {
210  if ((IC1MIN >= IC2MIN && IC1MIN <= IC2MAX && JC1MIN >= JC2MIN && JC1MIN <= JC2MAX) ||
211  (IC1MIN >= IC2MIN && IC1MIN <= IC2MAX && JC1MAX >= JC2MIN && JC1MAX <= JC2MAX) ||
212  (IC1MAX >= IC2MIN && IC1MAX <= IC2MAX && JC1MIN >= JC2MIN && JC1MIN <= JC2MAX) ||
213  (IC1MAX >= IC2MIN && IC1MAX <= IC2MAX && JC1MAX >= JC2MIN && JC1MAX <= JC2MAX)) {
214  KillCluster();
215  return true;
216  }
217  }
218  }
219  }
220  return false;
221  }
std::vector< StripCluster > MEStripClusters

◆ getClusters()

std::vector<StripCluster> cscdqm::StripClusterFinder::getClusters ( )
inline

Definition at line 37 of file CSCDQM_StripClusterFinder.h.

References MEStripClusters.

Referenced by cscdqm::EventProcessor::processCSC().

37 { return MEStripClusters; }
std::vector< StripCluster > MEStripClusters

◆ KillCluster()

void cscdqm::StripClusterFinder::KillCluster ( void  )
private

Definition at line 222 of file CSCDQM_StripClusterFinder.cc.

References ic1, IC1MAX, IC1MIN, ic2, IC2MAX, IC2MIN, icstart, JC1MAX, JC1MIN, JC2MAX, JC2MIN, and MEStripClusters.

Referenced by FindAndMatch().

222  {
223  // Match Clusters and kill one of clusters.
224  if (IC1MIN < IC2MIN)
225  MEStripClusters[ic1].LFTBNDStrip = IC1MIN;
226  else
227  MEStripClusters[ic1].LFTBNDStrip = IC2MIN;
228  if (JC1MIN < JC2MIN)
229  MEStripClusters[ic1].LFTBNDTime = JC1MIN;
230  else
231  MEStripClusters[ic1].LFTBNDTime = JC2MIN;
232  if (IC1MAX > IC2MAX)
233  MEStripClusters[ic1].IRTBNDStrip = IC1MAX;
234  else
235  MEStripClusters[ic1].IRTBNDStrip = IC2MAX;
236  if (JC1MAX > JC2MAX)
237  MEStripClusters[ic1].IRTBNDTime = JC1MAX;
238  else
239  MEStripClusters[ic1].IRTBNDTime = JC2MAX;
240 
241  MEStripClusters.erase(MEStripClusters.begin() + ic2);
242  icstart = ic1;
243 
244  return;
245  }
std::vector< StripCluster > MEStripClusters

◆ Match()

void cscdqm::StripClusterFinder::Match ( void  )
private

Definition at line 180 of file CSCDQM_StripClusterFinder.cc.

References FindAndMatch().

Referenced by DoAction().

180  {
181  // MATCHING THE OVERLAPING CLASTERS
182  bool find2match = true;
183  do {
184  find2match = FindAndMatch();
185  } while (find2match);
186 
187  return;
188  }

◆ printClusters()

void cscdqm::StripClusterFinder::printClusters ( void  )

Definition at line 336 of file CSCDQM_StripClusterFinder.cc.

References gather_cfg::cout, i, j, dqmdumpme::k, MainPageGenerator::l, and MEStripClusters.

336  {
337  int iS, jT;
338  std::cout << "====================================================================" << std::endl;
339  std::cout << "debug information from StripClusterFinder" << std::endl;
340  for (i = 0; i < MEStripClusters.size(); i++) {
341  if (MEStripClusters[i].localMax.empty())
342  continue;
343  std::cout << " Cluster: " << i + 1 << " Number of local Maximums " << MEStripClusters[i].localMax.size()
344  << std::endl;
345  for (j = 0; j < MEStripClusters[i].localMax.size(); j++) {
346  iS = MEStripClusters[i].localMax[j].Strip;
347  jT = MEStripClusters[i].localMax[j].Time;
348 
349  // std::cout << "Local Max: " << j << " Strip: " << iS << " Time: " << jT << std::endl;
350  for (uint32_t k = 0; k < MEStripClusters[i].ClusterPulseMapHeight.size(); k++) {
351  if (MEStripClusters[i].ClusterPulseMapHeight[k].channel_ == iS)
352  std::cout << "Local Max: " << j + 1 << " Strip: " << iS + 1 << " Time: " << jT + 1
353  << " Height: " << MEStripClusters[i].ClusterPulseMapHeight[k].height_[jT] << std::endl;
354  }
355  }
356  for (uint32_t k = 0; k < MEStripClusters[i].ClusterPulseMapHeight.size(); k++) {
357  std::cout << "Strip: " << MEStripClusters[i].ClusterPulseMapHeight[k].channel_ + 1;
358  for (int l = 0; l < 16; l++)
359  std::cout << " " << MEStripClusters[i].ClusterPulseMapHeight[k].height_[l];
360  std::cout << std::endl;
361  }
362 
363  std::cout << " Left Top corner strip: " << MEStripClusters[i].LFTBNDStrip + 1 << " "
364  << " time: " << MEStripClusters[i].LFTBNDTime + 1 << std::endl;
365  std::cout << " Right Bottom corner strip: " << MEStripClusters[i].IRTBNDStrip + 1 << " "
366  << " time: " << MEStripClusters[i].IRTBNDTime + 1 << std::endl;
367  }
368  std::cout << "======================================================================" << std::endl;
369  return;
370  }
std::vector< StripCluster > MEStripClusters

◆ RefindMax()

void cscdqm::StripClusterFinder::RefindMax ( void  )
private

Definition at line 246 of file CSCDQM_StripClusterFinder.cc.

References dqmMemoryStats::float, i, is7DCFEBs, isME11, j, localMaxTMP, MEStripClusters, cscdqm::ClusterLocalMax::Strip, thePulseHeightMap, and cscdqm::ClusterLocalMax::Time.

Referenced by DoAction().

246  {
247  int iLS, iRS, iLT, iRT;
248  int iS, jT;
249  int ilocal;
250  float GlobalMax;
251  bool Erased;
252  // SEARCHING EXTREMUMS IN THE CLASTERS
253 
254  for (i = 0; i < MEStripClusters.size(); i++) {
255  MEStripClusters[i].localMax.clear();
256  ilocal = 0;
257  iLS = MEStripClusters[i].LFTBNDStrip;
258  iRS = MEStripClusters[i].IRTBNDStrip;
259  iLT = MEStripClusters[i].LFTBNDTime;
260  iRT = MEStripClusters[i].IRTBNDTime;
261 
262  /*
263  for(iS=iLS+1;iS<=iRS-1;iS++){
264  for(jT=iLT+1;jT<=iRT-1;jT++){
265  */
266  for (iS = iLS; iS <= iRS; iS++) {
267  if (isME11 && (thePulseHeightMap[iS].channel_ == 63 || thePulseHeightMap[iS].channel_ == 64))
268  continue;
269  for (jT = iLT; jT <= iRT; jT++) {
270  if (iS == 0 || jT == 0 || (!is7DCFEBs && (iS == 79)) || (is7DCFEBs && (iS == 111)) || jT == 7)
271  continue;
272  if (thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS - 1].height_[jT] &&
273  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS + 1].height_[jT] &&
274  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS].height_[jT - 1] &&
275  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS].height_[jT + 1] &&
276  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS - 1].height_[jT - 1] &&
277  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS - 1].height_[jT + 1] &&
278  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS + 1].height_[jT - 1] &&
279  thePulseHeightMap[iS].height_[jT] > thePulseHeightMap[iS + 1].height_[jT + 1]) {
280  localMaxTMP.Strip = iS;
281  localMaxTMP.Time = jT;
282  MEStripClusters[i].localMax.push_back(localMaxTMP);
283  ilocal++;
284  }
285  }
286  }
287  // kill local maximums rellated to noise, maximums with pulse height less then 10% of Global max of clust.
288  //fing Global Max
289  GlobalMax = 0;
290  if (!MEStripClusters[i].localMax.empty()) {
291  //std::cout << "Cluster: " << i << " Number of local maximums before erase: "
292  // << MEStripClusters[i].localMax.size() << std::endl;
293  for (j = 0; j < MEStripClusters[i].localMax.size(); j++) {
294  iS = MEStripClusters[i].localMax[j].Strip;
295  jT = MEStripClusters[i].localMax[j].Time;
296  /*
297  std::cout << "Current Max:"
298  << " " << iS
299  << " " << jT
300  << " " << thePulseHeightMap[iS].height_[jT] << std::endl;
301  */
302  if (thePulseHeightMap[iS].height_[jT] > GlobalMax)
303  GlobalMax = thePulseHeightMap[iS].height_[jT];
304  }
305  GlobalMax = (float)(GlobalMax / 10.);
306  //erase noise localMaximums
307  do {
308  Erased = false;
309  for (j = 0; j < MEStripClusters[i].localMax.size(); j++) {
310  iS = MEStripClusters[i].localMax[j].Strip;
311  jT = MEStripClusters[i].localMax[j].Time;
312  if (thePulseHeightMap[iS].height_[jT] < GlobalMax) {
313  MEStripClusters[i].localMax.erase(MEStripClusters[i].localMax.begin() + j);
314  Erased = true;
315  break;
316  }
317  }
318  } while (Erased);
319 
320  //debug outs
321  //std::cout << "Cluster: " << i << " Number of local maximums: "
322  // << MEStripClusters[i].localMax.size() << std::endl;
323  /*
324  for(j=0;j<MEStripClusters[i].localMax.size();j++){
325  iS=MEStripClusters[i].localMax[j].Strip;
326  jT=MEStripClusters[i].localMax[j].Time;
327  std::cout << "Local Max: " << j << " Strip: " << iS << " Time: " << jT
328  << " Height: " << thePulseHeightMap[iS].height_[jT]
329  << " Cut Value: " << GlobalMax << std::endl;
330  }
331  */
332  }
333  }
334  return;
335  }
std::vector< StripClusterFitData > thePulseHeightMap
std::vector< StripCluster > MEStripClusters

◆ SearchBorders()

void cscdqm::StripClusterFinder::SearchBorders ( void  )
private

Definition at line 122 of file CSCDQM_StripClusterFinder.cc.

References gather_cfg::cout, i, isME11, MEStripClusters, and thePulseHeightMap.

Referenced by DoAction().

122  {
123  uint32_t iS, iT, iL, jL, iR, jR;
124 
125  // SEARCHING PARAMETERS OF THE CLASTERS (LEFT DOWN & RIGHT UP)
126 
127  for (i = 0; i < MEStripClusters.size(); i++) {
128  if (MEStripClusters[i].localMax.empty()) {
129  std::cout << "!!!Warning Cluster has'nt local Maxima" << std::endl;
130  continue;
131  }
132  iS = MEStripClusters[i].localMax[0].Strip;
133  iT = MEStripClusters[i].localMax[0].Time;
134  // LEFT DOWN
135  // strip
136  MEStripClusters[i].LFTBNDStrip = 0;
137  for (iL = iS - 1; iL > 0; iL--) {
138  if (isME11 && (thePulseHeightMap[iL].channel_ == 64)) {
139  MEStripClusters[i].LFTBNDStrip = iL;
140  break;
141  }
142  if (thePulseHeightMap[iL].height_[iT] == 0.) {
143  MEStripClusters[i].LFTBNDStrip = iL + 1;
144  break;
145  }
146  }
147  //time
148  MEStripClusters[i].LFTBNDTime = 0;
149  for (jL = iT - 1; jL > 0; jL--) {
150  if (thePulseHeightMap[iS].height_[jL] == 0.) {
151  MEStripClusters[i].LFTBNDTime = jL + 1;
152  break;
153  }
154  }
155  // RIGHT UP
156  //strip
157  MEStripClusters[i].IRTBNDStrip = thePulseHeightMap.size() - 1;
158  for (iR = iS + 1; iR < thePulseHeightMap.size(); iR++) {
159  if (isME11 && (thePulseHeightMap[iR].channel_ == 63)) {
160  MEStripClusters[i].IRTBNDStrip = iR;
161  break;
162  }
163  if (thePulseHeightMap[iR].height_[iT] == 0.) {
164  MEStripClusters[i].IRTBNDStrip = iR - 1;
165  break;
166  }
167  }
168  //time
169  MEStripClusters[i].IRTBNDTime = 15;
170  for (jR = iT + 1; jR < 16; jR++) {
171  if (thePulseHeightMap[iS].height_[jR] == 0.) {
172  MEStripClusters[i].IRTBNDTime = jR - 1;
173  break;
174  }
175  }
176  }
177  return;
178  }
std::vector< StripClusterFitData > thePulseHeightMap
std::vector< StripCluster > MEStripClusters

◆ SearchMax()

void cscdqm::StripClusterFinder::SearchMax ( void  )
private

Definition at line 93 of file CSCDQM_StripClusterFinder.cc.

References i, cscdqm::StripCluster::IRTBNDStrip, cscdqm::StripCluster::IRTBNDTime, isME11, j, cscdqm::StripCluster::LayerId, cscdqm::StripCluster::LFTBNDStrip, cscdqm::StripCluster::LFTBNDTime, LId, cscdqm::StripCluster::localMax, localMaxTMP, MEStripClusters, cscdqm::ClusterLocalMax::Strip, thePulseHeightMap, and cscdqm::ClusterLocalMax::Time.

Referenced by DoAction().

93  {
94  StripCluster tmpCluster;
95  for (i = 1; i < (thePulseHeightMap.size() - 1); i++) {
96  if (isME11 && (thePulseHeightMap[i].channel_ == 63 || thePulseHeightMap[i].channel_ == 64))
97  continue;
98  for (j = 1; j < 15; j++) {
99  if (thePulseHeightMap[i].height_[j] > thePulseHeightMap[i - 1].height_[j] &&
100  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i + 1].height_[j] &&
101  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i].height_[j - 1] &&
102  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i].height_[j + 1] &&
103  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i - 1].height_[j - 1] &&
104  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i - 1].height_[j + 1] &&
105  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i + 1].height_[j - 1] &&
106  thePulseHeightMap[i].height_[j] > thePulseHeightMap[i + 1].height_[j + 1]) {
107  tmpCluster.localMax.clear();
108  localMaxTMP.Strip = i;
109  localMaxTMP.Time = j;
110  tmpCluster.localMax.push_back(localMaxTMP);
111  tmpCluster.LayerId = this->LId;
112  tmpCluster.LFTBNDTime = -100;
113  tmpCluster.LFTBNDStrip = -100;
114  tmpCluster.IRTBNDTime = -100;
115  tmpCluster.IRTBNDStrip = -100;
116  MEStripClusters.push_back(tmpCluster);
117  }
118  }
119  }
120  return;
121  }
std::vector< StripClusterFitData > thePulseHeightMap
std::vector< StripCluster > MEStripClusters

Member Data Documentation

◆ AFEBSliceNmb

int cscdqm::StripClusterFinder::AFEBSliceNmb
private

Definition at line 44 of file CSCDQM_StripClusterFinder.h.

◆ AnodeGroupNmb

int cscdqm::StripClusterFinder::AnodeGroupNmb
private

Definition at line 44 of file CSCDQM_StripClusterFinder.h.

◆ i

uint32_t cscdqm::StripClusterFinder::i
private

◆ ic1

uint32_t cscdqm::StripClusterFinder::ic1
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ IC1MAX

uint32_t cscdqm::StripClusterFinder::IC1MAX
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ IC1MIN

uint32_t cscdqm::StripClusterFinder::IC1MIN
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ ic2

uint32_t cscdqm::StripClusterFinder::ic2
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ IC2MAX

uint32_t cscdqm::StripClusterFinder::IC2MAX
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ IC2MIN

uint32_t cscdqm::StripClusterFinder::IC2MIN
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ icstart

uint32_t cscdqm::StripClusterFinder::icstart
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ is7DCFEBs

bool cscdqm::StripClusterFinder::is7DCFEBs
private

Definition at line 51 of file CSCDQM_StripClusterFinder.h.

Referenced by RefindMax(), and StripClusterFinder().

◆ isME11

bool cscdqm::StripClusterFinder::isME11
private

◆ j

uint32_t cscdqm::StripClusterFinder::j
private

Definition at line 42 of file CSCDQM_StripClusterFinder.h.

Referenced by DoAction(), printClusters(), RefindMax(), and SearchMax().

◆ JC1MAX

uint32_t cscdqm::StripClusterFinder::JC1MAX
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ JC1MIN

uint32_t cscdqm::StripClusterFinder::JC1MIN
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ JC2MAX

uint32_t cscdqm::StripClusterFinder::JC2MAX
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ JC2MIN

uint32_t cscdqm::StripClusterFinder::JC2MIN
private

Definition at line 43 of file CSCDQM_StripClusterFinder.h.

Referenced by FindAndMatch(), and KillCluster().

◆ LayerNmb

int cscdqm::StripClusterFinder::LayerNmb
private

Definition at line 44 of file CSCDQM_StripClusterFinder.h.

Referenced by StripClusterFinder().

◆ LId

int32_t cscdqm::StripClusterFinder::LId
private

Definition at line 40 of file CSCDQM_StripClusterFinder.h.

Referenced by DoAction(), and SearchMax().

◆ localMaxTMP

ClusterLocalMax cscdqm::StripClusterFinder::localMaxTMP

Definition at line 36 of file CSCDQM_StripClusterFinder.h.

Referenced by RefindMax(), and SearchMax().

◆ MEStripClusters

std::vector<StripCluster> cscdqm::StripClusterFinder::MEStripClusters

◆ StripNmb

int cscdqm::StripClusterFinder::StripNmb
private

Definition at line 44 of file CSCDQM_StripClusterFinder.h.

Referenced by DoAction(), and StripClusterFinder().

◆ thePulseHeightMap

std::vector<StripClusterFitData> cscdqm::StripClusterFinder::thePulseHeightMap

Definition at line 28 of file CSCDQM_StripClusterFinder.h.

Referenced by DoAction(), RefindMax(), SearchBorders(), and SearchMax().

◆ TimeSliceNmb

int cscdqm::StripClusterFinder::TimeSliceNmb
private

Definition at line 44 of file CSCDQM_StripClusterFinder.h.

Referenced by DoAction(), and StripClusterFinder().