CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
CSCGEMMatcher Class Reference

#include <CSCGEMMatcher.h>

Public Types

typedef std::vector< GEMInternalClusterGEMInternalClusters
 

Public Member Functions

void bestClusterBXLoc (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalCluster &best) const
 
void bestClusterBXLoc (const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalCluster &best) const
 
void bestClusterBXLoc (const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalCluster &best) const
 
unsigned calculateGEMCSCBending (const CSCCLCTDigi &clct, const GEMInternalCluster &cluster) const
 
 CSCGEMMatcher (int endcap, unsigned station, unsigned chamber, const edm::ParameterSet &tmbParams, const edm::ParameterSet &luts)
 
bool matchedClusterLocES (const CSCCLCTDigi &clct, const GEMInternalCluster &cluster) const
 
bool matchedClusterLocHS (const CSCCLCTDigi &clct, const GEMInternalCluster &cluster) const
 
void matchingClustersBX (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersBX (const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersBX (const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersBXLoc (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersBXLoc (const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersBXLoc (const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersLoc (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersLoc (const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 
void matchingClustersLoc (const CSCCLCTDigi &clct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
 

Private Member Functions

int CSCGEMSlopeCorrector (const bool isL1orCopad, const int cscSlope) const
 
uint16_t mitigatedSlopeByConsistency (const CSCCLCTDigi &clct) const
 

Private Attributes

bool assign_gem_csc_bending_
 
unsigned chamber_
 
unsigned endcap_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME1a_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME1a_odd_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME1b_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME1b_odd_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME21_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L1_ME21_odd_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME1a_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME1a_odd_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME1b_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME1b_odd_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME21_even_
 
std::unique_ptr< CSCLUTReaderes_diff_slope_L2_ME21_odd_
 
std::vector< std::string > esDiffToSlopeME1aFiles_
 
std::vector< std::string > esDiffToSlopeME1bFiles_
 
std::vector< std::string > esDiffToSlopeME21Files_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_corr_L1_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_corr_L1_ME11_odd_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_corr_L2_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_corr_L2_ME11_odd_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_2to1_L1_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_2to1_L1_ME11_odd_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_3to1_L1_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_3to1_L1_ME11_odd_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_corr_L1_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_corr_L1_ME11_odd_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_corr_L2_ME11_even_
 
std::unique_ptr< CSCLUTReadergem_csc_slope_cosi_corr_L2_ME11_odd_
 
std::vector< std::string > gemCscSlopeCorrectionFiles_
 
std::vector< std::string > gemCscSlopeCosiCorrectionFiles_
 
std::vector< std::string > gemCscSlopeCosiFiles_
 
bool isEven_
 
bool matchWithHS_
 
unsigned maxDeltaBXALCTGEM_
 
unsigned maxDeltaBXCLCTGEM_
 
unsigned maxDeltaHsEven_
 
unsigned maxDeltaHsEvenME1a_
 
unsigned maxDeltaHsOdd_
 
unsigned maxDeltaHsOddME1a_
 
bool mitigateSlopeByCosi_
 
unsigned ring_
 
unsigned station_
 

Detailed Description

Helper class to check if an ALCT or CLCT matches with a GEMInternalCluster

Author
Sven Dildick (Rice University)

Definition at line 23 of file CSCGEMMatcher.h.

Member Typedef Documentation

◆ GEMInternalClusters

Definition at line 25 of file CSCGEMMatcher.h.

Constructor & Destructor Documentation

◆ CSCGEMMatcher()

CSCGEMMatcher::CSCGEMMatcher ( int  endcap,
unsigned  station,
unsigned  chamber,
const edm::ParameterSet tmbParams,
const edm::ParameterSet luts 
)

Definition at line 12 of file CSCGEMMatcher.cc.

15  isEven_ = (chamber_ % 2 == 0);
16 
17  maxDeltaBXALCTGEM_ = tmbParams.getParameter<unsigned>("maxDeltaBXALCTGEM");
18  maxDeltaBXCLCTGEM_ = tmbParams.getParameter<unsigned>("maxDeltaBXCLCTGEM");
19 
20  matchWithHS_ = tmbParams.getParameter<bool>("matchWithHS");
21 
22  maxDeltaHsEven_ = tmbParams.getParameter<unsigned>("maxDeltaHsEven");
23  maxDeltaHsOdd_ = tmbParams.getParameter<unsigned>("maxDeltaHsOdd");
24 
25  if (station_ == 1) {
26  maxDeltaHsEvenME1a_ = tmbParams.getParameter<unsigned>("maxDeltaHsEvenME1a");
27  maxDeltaHsOddME1a_ = tmbParams.getParameter<unsigned>("maxDeltaHsOddME1a");
28  }
29 
30  mitigateSlopeByCosi_ = tmbParams.getParameter<bool>("mitigateSlopeByCosi");
31  assign_gem_csc_bending_ = tmbParams.getParameter<bool>("assignGEMCSCBending");
32 
34  gemCscSlopeCosiFiles_ = conf.getParameter<std::vector<std::string>>("gemCscSlopeCosiFiles");
35 
36  gem_csc_slope_cosi_2to1_L1_ME11_even_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiFiles_[0]);
37  gem_csc_slope_cosi_2to1_L1_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiFiles_[1]);
38  gem_csc_slope_cosi_3to1_L1_ME11_even_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiFiles_[2]);
39  gem_csc_slope_cosi_3to1_L1_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiFiles_[3]);
40 
41  gemCscSlopeCosiCorrectionFiles_ = conf.getParameter<std::vector<std::string>>("gemCscSlopeCosiCorrectionFiles");
42 
45  gem_csc_slope_cosi_corr_L1_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiCorrectionFiles_[2]);
46  gem_csc_slope_cosi_corr_L2_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCosiCorrectionFiles_[3]);
47  } else {
48  gemCscSlopeCorrectionFiles_ = conf.getParameter<std::vector<std::string>>("gemCscSlopeCorrectionFiles");
49 
50  gem_csc_slope_corr_L1_ME11_even_ = std::make_unique<CSCLUTReader>(gemCscSlopeCorrectionFiles_[0]);
51  gem_csc_slope_corr_L2_ME11_even_ = std::make_unique<CSCLUTReader>(gemCscSlopeCorrectionFiles_[1]);
52  gem_csc_slope_corr_L1_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCorrectionFiles_[2]);
53  gem_csc_slope_corr_L2_ME11_odd_ = std::make_unique<CSCLUTReader>(gemCscSlopeCorrectionFiles_[3]);
54  }
55 
57  if (station_ == 1) {
58  esDiffToSlopeME1aFiles_ = conf.getParameter<std::vector<std::string>>("esDiffToSlopeME1aFiles");
59  esDiffToSlopeME1bFiles_ = conf.getParameter<std::vector<std::string>>("esDiffToSlopeME1bFiles");
60 
61  es_diff_slope_L1_ME1a_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1aFiles_[0]);
62  es_diff_slope_L1_ME1a_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1aFiles_[1]);
63  es_diff_slope_L2_ME1a_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1aFiles_[2]);
64  es_diff_slope_L2_ME1a_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1aFiles_[3]);
65 
66  es_diff_slope_L1_ME1b_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1bFiles_[0]);
67  es_diff_slope_L1_ME1b_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1bFiles_[1]);
68  es_diff_slope_L2_ME1b_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1bFiles_[2]);
69  es_diff_slope_L2_ME1b_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME1bFiles_[3]);
70  }
71 
72  if (station_ == 2) {
73  esDiffToSlopeME21Files_ = conf.getParameter<std::vector<std::string>>("esDiffToSlopeME21Files");
74 
75  es_diff_slope_L1_ME21_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME21Files_[0]);
76  es_diff_slope_L1_ME21_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME21Files_[1]);
77  es_diff_slope_L2_ME21_even_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME21Files_[2]);
78  es_diff_slope_L2_ME21_odd_ = std::make_unique<CSCLUTReader>(esDiffToSlopeME21Files_[3]);
79  }
80  }
81 }

References assign_gem_csc_bending_, chamber_, es_diff_slope_L1_ME1a_even_, es_diff_slope_L1_ME1a_odd_, es_diff_slope_L1_ME1b_even_, es_diff_slope_L1_ME1b_odd_, es_diff_slope_L1_ME21_even_, es_diff_slope_L1_ME21_odd_, es_diff_slope_L2_ME1a_even_, es_diff_slope_L2_ME1a_odd_, es_diff_slope_L2_ME1b_even_, es_diff_slope_L2_ME1b_odd_, es_diff_slope_L2_ME21_even_, es_diff_slope_L2_ME21_odd_, esDiffToSlopeME1aFiles_, esDiffToSlopeME1bFiles_, esDiffToSlopeME21Files_, gem_csc_slope_corr_L1_ME11_even_, gem_csc_slope_corr_L1_ME11_odd_, gem_csc_slope_corr_L2_ME11_even_, gem_csc_slope_corr_L2_ME11_odd_, gem_csc_slope_cosi_2to1_L1_ME11_even_, gem_csc_slope_cosi_2to1_L1_ME11_odd_, gem_csc_slope_cosi_3to1_L1_ME11_even_, gem_csc_slope_cosi_3to1_L1_ME11_odd_, gem_csc_slope_cosi_corr_L1_ME11_even_, gem_csc_slope_cosi_corr_L1_ME11_odd_, gem_csc_slope_cosi_corr_L2_ME11_even_, gem_csc_slope_cosi_corr_L2_ME11_odd_, gemCscSlopeCorrectionFiles_, gemCscSlopeCosiCorrectionFiles_, gemCscSlopeCosiFiles_, edm::ParameterSet::getParameter(), isEven_, matchWithHS_, maxDeltaBXALCTGEM_, maxDeltaBXCLCTGEM_, maxDeltaHsEven_, maxDeltaHsEvenME1a_, maxDeltaHsOdd_, maxDeltaHsOddME1a_, mitigateSlopeByCosi_, and station_.

Member Function Documentation

◆ bestClusterBXLoc() [1/3]

void CSCGEMMatcher::bestClusterBXLoc ( const CSCALCTDigi alct,
const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalCluster best 
) const

Definition at line 401 of file CSCGEMMatcher.cc.

404  {
405  // match by BX
406  GEMInternalClusters clustersBXLoc;
407  matchingClustersBXLoc(alct, clct, clusters, clustersBXLoc);
408 
409  // FIXME - for now: pick the first matching one
410  if (!clustersBXLoc.empty())
411  best = clustersBXLoc[0];
412 }

References bsc_activity_cfg::clusters, and matchingClustersBXLoc().

◆ bestClusterBXLoc() [2/3]

void CSCGEMMatcher::bestClusterBXLoc ( const CSCALCTDigi alct,
const GEMInternalClusters clusters,
GEMInternalCluster best 
) const

Definition at line 372 of file CSCGEMMatcher.cc.

374  {
375  if (!alct.isValid() or clusters.empty())
376  return;
377 
378  GEMInternalClusters clustersBXLoc;
379  matchingClustersBXLoc(alct, clusters, clustersBXLoc);
380 
381  // simply pick the first matching one
382  if (!clustersBXLoc.empty())
383  best = clustersBXLoc[0];
384 }

References bsc_activity_cfg::clusters, CSCALCTDigi::isValid(), matchingClustersBXLoc(), and or.

◆ bestClusterBXLoc() [3/3]

void CSCGEMMatcher::bestClusterBXLoc ( const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalCluster best 
) const

Definition at line 386 of file CSCGEMMatcher.cc.

388  {
389  if (!clct.isValid() or clusters.empty())
390  return;
391 
392  // match by BX
393  GEMInternalClusters clustersBXLoc;
394  matchingClustersBXLoc(clct, clusters, clustersBXLoc);
395 
396  // FIXME - for now: pick the first matching one
397  if (!clustersBXLoc.empty())
398  best = clustersBXLoc[0];
399 }

References bsc_activity_cfg::clusters, CSCCLCTDigi::isValid(), matchingClustersBXLoc(), and or.

◆ calculateGEMCSCBending()

unsigned CSCGEMMatcher::calculateGEMCSCBending ( const CSCCLCTDigi clct,
const GEMInternalCluster cluster 
) const

Definition at line 83 of file CSCGEMMatcher.cc.

83  {
84  // difference in 1/8-strip number
85  const unsigned diff = std::abs(int(clct.getKeyStrip(8)) - int(cluster.getKeyStrip(8)));
86 
87  unsigned slope = 0;
88 
89  // need LUT to convert differences in 1/8-strips between GEM and CSC to slope
90  if (station_ == 2) {
91  if (isEven_) {
92  if (cluster.id().layer() == 1)
94  else
96  } else {
97  if (cluster.id().layer() == 1)
99  else
101  }
102  }
103 
104  const bool isME1a(station_ == 1 and clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B);
105 
106  if (station_ == 1 and isME1a) {
107  if (isEven_) {
108  if (cluster.id().layer() == 1)
110  else
112  } else {
113  if (cluster.id().layer() == 1)
115  else
117  }
118  } else {
119  if (isEven_) {
120  if (cluster.id().layer() == 1)
122  else
124  } else {
125  if (cluster.id().layer() == 1)
127  else
129  }
130  }
131 
132  return slope;
133 }

References funct::abs(), change_name::diff, es_diff_slope_L1_ME1a_even_, es_diff_slope_L1_ME1a_odd_, es_diff_slope_L1_ME1b_even_, es_diff_slope_L1_ME1b_odd_, es_diff_slope_L1_ME21_even_, es_diff_slope_L1_ME21_odd_, es_diff_slope_L2_ME1a_even_, es_diff_slope_L2_ME1a_odd_, es_diff_slope_L2_ME1b_even_, es_diff_slope_L2_ME1b_odd_, es_diff_slope_L2_ME21_even_, es_diff_slope_L2_ME21_odd_, GEMInternalCluster::getKeyStrip(), CSCCLCTDigi::getKeyStrip(), GEMInternalCluster::id(), isEven_, GEMDetId::layer(), CSCConstants::MAX_HALF_STRIP_ME1B, slope, and station_.

◆ CSCGEMSlopeCorrector()

int CSCGEMMatcher::CSCGEMSlopeCorrector ( const bool  isL1orCopad,
const int  cscSlope 
) const
private

Definition at line 478 of file CSCGEMMatcher.cc.

478  {
479  int SlopeShift = 0;
480  int SlopeSign = cscSlope / std::abs(cscSlope);
481  //account for slope mitigation by cosi, if opted-in
482  if (mitigateSlopeByCosi_) {
483  //determine cosi-based slope correction
484  if (chamber_ % 2 == 0) {
485  if (isL1orCoincidence)
486  SlopeShift = gem_csc_slope_cosi_corr_L1_ME11_even_->lookup(std::abs(cscSlope));
487  else
488  SlopeShift = gem_csc_slope_cosi_corr_L2_ME11_even_->lookup(std::abs(cscSlope));
489  } else {
490  if (isL1orCoincidence)
491  SlopeShift = gem_csc_slope_cosi_corr_L1_ME11_odd_->lookup(std::abs(cscSlope));
492  else
493  SlopeShift = gem_csc_slope_cosi_corr_L2_ME11_odd_->lookup(std::abs(cscSlope));
494  }
495  } else {
496  //determine shift by slope correction
497  if (chamber_ % 2 == 0) {
498  if (isL1orCoincidence)
499  SlopeShift = gem_csc_slope_corr_L1_ME11_even_->lookup(std::abs(cscSlope));
500  else
501  SlopeShift = gem_csc_slope_corr_L2_ME11_even_->lookup(std::abs(cscSlope));
502  } else {
503  if (isL1orCoincidence)
504  SlopeShift = gem_csc_slope_corr_L1_ME11_odd_->lookup(std::abs(cscSlope));
505  else
506  SlopeShift = gem_csc_slope_corr_L2_ME11_odd_->lookup(std::abs(cscSlope));
507  }
508  }
509  return std::round(SlopeShift * SlopeSign * endcap_);
510 }

References funct::abs(), chamber_, endcap_, gem_csc_slope_corr_L1_ME11_even_, gem_csc_slope_corr_L1_ME11_odd_, gem_csc_slope_corr_L2_ME11_even_, gem_csc_slope_corr_L2_ME11_odd_, gem_csc_slope_cosi_corr_L1_ME11_even_, gem_csc_slope_cosi_corr_L1_ME11_odd_, gem_csc_slope_cosi_corr_L2_ME11_even_, gem_csc_slope_cosi_corr_L2_ME11_odd_, and mitigateSlopeByCosi_.

Referenced by matchedClusterLocES().

◆ matchedClusterLocES()

bool CSCGEMMatcher::matchedClusterLocES ( const CSCCLCTDigi clct,
const GEMInternalCluster cluster 
) const

Definition at line 259 of file CSCGEMMatcher.cc.

259  {
260  // key 1/8-strip
261  int key_es = -1;
262 
263  //modification of DeltaStrip by CLCT slope
264  int SlopeShift = 0;
265  uint16_t baseSlope = 0;
267  baseSlope = mitigatedSlopeByConsistency(clct);
268  else
269  baseSlope = clct.getSlope();
270  int clctSlope = pow(-1, clct.getBend()) * baseSlope;
271 
272  // for coincidences or single clusters in L1
273  if (cl.isCoincidence() or cl.id().layer() == 1) {
274  key_es = cl.layer1_middle_es();
276  key_es = cl.layer1_middle_es_me1a();
277 
278  //set SlopeShift for L1 or Copad case
279  SlopeShift =
280  CSCGEMSlopeCorrector(true, clctSlope); // fixed to facing detectors, must be determined at motherboard level
281  }
282 
283  // for single clusters in L2
284  else if (cl.id().layer() == 2) {
285  key_es = cl.layer2_middle_es();
287  key_es = cl.layer2_middle_es_me1a();
288 
289  //set SlopeShift for L2 case
290  SlopeShift =
291  CSCGEMSlopeCorrector(false, clctSlope); // fixed to facing detectors, must be determined at motherboard level
292 
293  }
294 
295  else
296  edm::LogWarning("CSCGEMMatcher") << "cluster.id().layer =" << cl.id().layer() << " out of acceptable range 1-2!";
297 
298  // matching by 1/8-strip
299  // determine matching window by chamber, assuming facing chambers only are processed
300  int window = chamber_ % 2 == 0 ? 20 : 40;
301 
302  return std::abs(clct.getKeyStrip(8) - key_es + SlopeShift) < window;
303 }

References funct::abs(), chamber_, GetRecoTauVFromDQM_MC_cff::cl, CSCGEMSlopeCorrector(), CSCCLCTDigi::getBend(), CSCCLCTDigi::getKeyStrip(), CSCCLCTDigi::getSlope(), CSCConstants::MAX_HALF_STRIP_ME1B, mitigatedSlopeByConsistency(), mitigateSlopeByCosi_, or, funct::pow(), station_, and svgfig::window().

Referenced by matchingClustersLoc().

◆ matchedClusterLocHS()

bool CSCGEMMatcher::matchedClusterLocHS ( const CSCCLCTDigi clct,
const GEMInternalCluster cluster 
) const

Definition at line 222 of file CSCGEMMatcher.cc.

222  {
223  const bool isME1a(station_ == 1 and clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B);
224 
225  unsigned halfStripDiff = std::abs(int(clct.getKeyStrip(2)) - int(cluster.getKeyStrip(2)));
226  if (isME1a) {
227  halfStripDiff = std::abs(int(clct.getKeyStrip(2)) - int(cluster.getKeyStripME1a(2)));
228  }
229 
230  // 98% acceptance cuts
231  unsigned halfStripCut;
232  if (isEven_) {
233  if (isME1a)
234  halfStripCut = maxDeltaHsEvenME1a_;
235  else
236  halfStripCut = maxDeltaHsEven_;
237  } else {
238  if (isME1a)
239  halfStripCut = maxDeltaHsOddME1a_;
240  else
241  halfStripCut = maxDeltaHsOdd_;
242  }
243  // 10 degree chamber is ~0.18 radian wide
244  // 98% acceptance for clusters in odd/even chambers for muons with 5 GeV
245  // {5, 0.02123785, 0.00928431}
246  // This corresponds to 0.12 and 0.052 fractions of the chamber
247  // or 16 and 7 half-strips
248 
249  // 20 degree chamber is ~0.35 radian wide
250  // 98% acceptance for clusters in odd/even chambers for muons with 5 GeV
251  // {5, 0.01095490, 0.00631625},
252  // This corresponds to 0.031 and 0.018 fractions of the chamber
253  // or 5 and 3 half-strips
254 
255  return halfStripDiff <= halfStripCut;
256 }

References funct::abs(), GEMInternalCluster::getKeyStrip(), CSCCLCTDigi::getKeyStrip(), GEMInternalCluster::getKeyStripME1a(), isEven_, CSCConstants::MAX_HALF_STRIP_ME1B, maxDeltaHsEven_, maxDeltaHsEvenME1a_, maxDeltaHsOdd_, maxDeltaHsOddME1a_, and station_.

Referenced by matchingClustersLoc().

◆ matchingClustersBX() [1/3]

void CSCGEMMatcher::matchingClustersBX ( const CSCALCTDigi alct,
const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 166 of file CSCGEMMatcher.cc.

169  {
170  // both need to be valid
171  if (!alct.isValid() or !clct.isValid() or clusters.empty())
172  return;
173 
174  // get the single matches
175  GEMInternalClusters alctClusters, clctClusters;
176  matchingClustersBX(alct, clusters, alctClusters);
177  matchingClustersBX(clct, clusters, clctClusters);
178 
179  // get the intersection
180  for (const auto& p : alctClusters) {
181  for (const auto& q : clctClusters) {
182  if (p == q) {
183  output.push_back(p);
184  }
185  }
186  }
187 }

References bsc_activity_cfg::clusters, CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), matchingClustersBX(), or, convertSQLitetoXML_cfg::output, AlCaHLTBitMon_ParallelJobs::p, and submitPVResolutionJobs::q.

◆ matchingClustersBX() [2/3]

void CSCGEMMatcher::matchingClustersBX ( const CSCALCTDigi alct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 136 of file CSCGEMMatcher.cc.

138  {
139  if (!alct.isValid() or clusters.empty())
140  return;
141 
142  // select clusters matched in time
143  for (const auto& cl : clusters) {
144  const unsigned diff = std::abs(int(alct.getBX()) - cl.bx());
145  if (diff <= maxDeltaBXALCTGEM_)
146  output.push_back(cl);
147  }
148 }

References funct::abs(), GetRecoTauVFromDQM_MC_cff::cl, bsc_activity_cfg::clusters, change_name::diff, CSCALCTDigi::getBX(), CSCALCTDigi::isValid(), maxDeltaBXALCTGEM_, or, and convertSQLitetoXML_cfg::output.

Referenced by matchingClustersBX(), and matchingClustersBXLoc().

◆ matchingClustersBX() [3/3]

void CSCGEMMatcher::matchingClustersBX ( const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 151 of file CSCGEMMatcher.cc.

153  {
154  if (!clct.isValid() or clusters.empty())
155  return;
156 
157  // select clusters matched in time
158  for (const auto& cl : clusters) {
159  const unsigned diff = std::abs(int(clct.getBX()) - cl.bx());
160  if (diff <= maxDeltaBXCLCTGEM_)
161  output.push_back(cl);
162  }
163 }

References funct::abs(), GetRecoTauVFromDQM_MC_cff::cl, bsc_activity_cfg::clusters, change_name::diff, CSCCLCTDigi::getBX(), CSCCLCTDigi::isValid(), maxDeltaBXCLCTGEM_, or, and convertSQLitetoXML_cfg::output.

◆ matchingClustersBXLoc() [1/3]

void CSCGEMMatcher::matchingClustersBXLoc ( const CSCALCTDigi alct,
const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 356 of file CSCGEMMatcher.cc.

359  {
360  // both need to be valid
361  if (!alct.isValid() or !clct.isValid() or clusters.empty())
362  return;
363 
364  // match by BX
365  GEMInternalClusters clustersBX;
366  matchingClustersBX(alct, clct, clusters, clustersBX);
367 
368  // match spatially
369  matchingClustersLoc(alct, clct, clustersBX, selected);
370 }

References bsc_activity_cfg::clusters, CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), matchingClustersBX(), matchingClustersLoc(), and or.

◆ matchingClustersBXLoc() [2/3]

void CSCGEMMatcher::matchingClustersBXLoc ( const CSCALCTDigi alct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 328 of file CSCGEMMatcher.cc.

330  {
331  if (!alct.isValid() or clusters.empty())
332  return;
333 
334  // match by BX
335  GEMInternalClusters clustersBX;
336  matchingClustersBX(alct, clusters, clustersBX);
337 
338  // match spatially
339  matchingClustersLoc(alct, clustersBX, output);
340 }

References bsc_activity_cfg::clusters, CSCALCTDigi::isValid(), matchingClustersBX(), matchingClustersLoc(), or, and convertSQLitetoXML_cfg::output.

Referenced by bestClusterBXLoc().

◆ matchingClustersBXLoc() [3/3]

void CSCGEMMatcher::matchingClustersBXLoc ( const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 342 of file CSCGEMMatcher.cc.

344  {
345  if (!clct.isValid() or clusters.empty())
346  return;
347 
348  // match by BX
349  GEMInternalClusters clustersBX;
350  matchingClustersBX(clct, clusters, clustersBX);
351 
352  // match spatially
353  matchingClustersLoc(clct, clustersBX, output);
354 }

References bsc_activity_cfg::clusters, CSCCLCTDigi::isValid(), matchingClustersBX(), matchingClustersLoc(), or, and convertSQLitetoXML_cfg::output.

◆ matchingClustersLoc() [1/3]

void CSCGEMMatcher::matchingClustersLoc ( const CSCALCTDigi alct,
const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 305 of file CSCGEMMatcher.cc.

308  {
309  // both need to be valid
310  if (!alct.isValid() or !clct.isValid() or clusters.empty())
311  return;
312 
313  // get the single matches
314  GEMInternalClusters alctClusters, clctClusters;
315  matchingClustersLoc(alct, clusters, alctClusters);
316  matchingClustersLoc(clct, clusters, clctClusters);
317 
318  // get the intersection
319  for (const auto& p : alctClusters) {
320  for (const auto& q : clctClusters) {
321  if (p == q) {
322  output.push_back(p);
323  }
324  }
325  }
326 }

References bsc_activity_cfg::clusters, CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), matchingClustersLoc(), or, convertSQLitetoXML_cfg::output, AlCaHLTBitMon_ParallelJobs::p, and submitPVResolutionJobs::q.

◆ matchingClustersLoc() [2/3]

void CSCGEMMatcher::matchingClustersLoc ( const CSCALCTDigi alct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 189 of file CSCGEMMatcher.cc.

191  {
192  if (!alct.isValid() or clusters.empty())
193  return;
194 
195  // select clusters matched in wiregroup
196  for (const auto& cl : clusters) {
197  // for now add 10 wiregroups to make sure the matching can be done
198  // this should be quite generous
199  unsigned deltaWG(station_ == 1 ? 10 : 20);
200  if (cl.min_wg() <= alct.getKeyWG() and alct.getKeyWG() <= cl.max_wg() + deltaWG) {
201  output.push_back(cl);
202  }
203  }
204 }

References GetRecoTauVFromDQM_MC_cff::cl, bsc_activity_cfg::clusters, CSCALCTDigi::getKeyWG(), CSCALCTDigi::isValid(), or, convertSQLitetoXML_cfg::output, and station_.

Referenced by matchingClustersBXLoc(), and matchingClustersLoc().

◆ matchingClustersLoc() [3/3]

void CSCGEMMatcher::matchingClustersLoc ( const CSCCLCTDigi clct,
const GEMInternalClusters clusters,
GEMInternalClusters selected 
) const

Definition at line 206 of file CSCGEMMatcher.cc.

208  {
209  if (!clct.isValid() or clusters.empty())
210  return;
211 
212  // select clusters matched by 1/2-strip or 1/8-strip
213  for (const auto& cl : clusters) {
214  const bool isMatched(matchWithHS_ ? matchedClusterLocHS(clct, cl) : matchedClusterLocES(clct, cl));
215  if (isMatched) {
216  output.push_back(cl);
217  }
218  }
219 }

References GetRecoTauVFromDQM_MC_cff::cl, bsc_activity_cfg::clusters, trackerHitRTTI::isMatched(), CSCCLCTDigi::isValid(), matchedClusterLocES(), matchedClusterLocHS(), matchWithHS_, or, and convertSQLitetoXML_cfg::output.

◆ mitigatedSlopeByConsistency()

uint16_t CSCGEMMatcher::mitigatedSlopeByConsistency ( const CSCCLCTDigi clct) const
private

Definition at line 414 of file CSCGEMMatcher.cc.

414  {
415  //extract hit values from CLCT hit matrix
416  std::vector<std::vector<uint16_t>> CLCTHitMatrix = clct.getHits();
417  int CLCTHits[6] = {-1, -1, -1, -1, -1, -1};
418 
419  for (unsigned layer = 0; layer < CLCTHitMatrix.size(); ++layer) {
420  for (unsigned position = 0; position < CLCTHitMatrix.at(layer).size(); ++position) {
421  const uint16_t value = CLCTHitMatrix.at(layer).at(position);
422  if (value != 0 && value != 65535) {
423  CLCTHits[layer] = (int)value;
424  break;
425  }
426  }
427  }
428 
429  //calculate slope consistency
430  float MinMaxPairDifferences[2] = {999., -999.};
431  for (unsigned First = 0; First < 5; ++First) {
432  //skip empty layers
433  if (CLCTHits[First] == -1)
434  continue;
435  for (unsigned Second = First + 1; Second < 6; ++Second) {
436  //skip empty layers
437  if (CLCTHits[Second] == -1)
438  continue;
439  float PairDifference = (CLCTHits[First] - CLCTHits[Second]) / (float)(Second - First);
440  if (PairDifference < MinMaxPairDifferences[0])
441  MinMaxPairDifferences[0] = PairDifference;
442  if (PairDifference > MinMaxPairDifferences[1])
443  MinMaxPairDifferences[1] = PairDifference;
444  }
445  }
446 
447  //calculate consistency of slope indicator: cosi
448  uint16_t cosi = std::ceil(std::abs(MinMaxPairDifferences[1] - MinMaxPairDifferences[0]));
449 
450  //disambiguate cosi cases
451 
452  //extremely inconsistent track, deprecate slope
453  if (cosi > 3)
454  return 0;
455  //consistent slope, do not change
456  else if (cosi < 2)
457  return clct.getSlope();
458  //need to look up in table 2->1
459  else if (cosi == 2) {
460  if (chamber_ % 2 == 0)
461  return gem_csc_slope_cosi_2to1_L1_ME11_even_->lookup(clct.getSlope());
462  else
463  return gem_csc_slope_cosi_2to1_L1_ME11_odd_->lookup(clct.getSlope());
464  }
465  //need to look up in table 3->1
466  else if (cosi == 3) {
467  if (chamber_ % 2 == 0)
468  return gem_csc_slope_cosi_3to1_L1_ME11_even_->lookup(clct.getSlope());
469  else
470  return gem_csc_slope_cosi_3to1_L1_ME11_odd_->lookup(clct.getSlope());
471  }
472  //just to avoid compiler errors an error code
473  else {
474  return 999;
475  }
476 }

References funct::abs(), reco::ceil(), chamber_, gem_csc_slope_cosi_2to1_L1_ME11_even_, gem_csc_slope_cosi_2to1_L1_ME11_odd_, gem_csc_slope_cosi_3to1_L1_ME11_even_, gem_csc_slope_cosi_3to1_L1_ME11_odd_, CSCCLCTDigi::getHits(), CSCCLCTDigi::getSlope(), createfilelist::int, phase1PixelTopology::layer, and position.

Referenced by matchedClusterLocES().

Member Data Documentation

◆ assign_gem_csc_bending_

bool CSCGEMMatcher::assign_gem_csc_bending_
private

Definition at line 131 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ chamber_

unsigned CSCGEMMatcher::chamber_
private

◆ endcap_

unsigned CSCGEMMatcher::endcap_
private

Definition at line 115 of file CSCGEMMatcher.h.

Referenced by CSCGEMSlopeCorrector().

◆ es_diff_slope_L1_ME1a_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME1a_even_
private

Definition at line 164 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L1_ME1a_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME1a_odd_
private

Definition at line 167 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L1_ME1b_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME1b_even_
private

Definition at line 158 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L1_ME1b_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME1b_odd_
private

Definition at line 161 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L1_ME21_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME21_even_
private

Definition at line 170 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L1_ME21_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L1_ME21_odd_
private

Definition at line 173 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME1a_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME1a_even_
private

Definition at line 165 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME1a_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME1a_odd_
private

Definition at line 168 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME1b_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME1b_even_
private

Definition at line 159 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME1b_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME1b_odd_
private

Definition at line 162 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME21_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME21_even_
private

Definition at line 171 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ es_diff_slope_L2_ME21_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::es_diff_slope_L2_ME21_odd_
private

Definition at line 174 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), and CSCGEMMatcher().

◆ esDiffToSlopeME1aFiles_

std::vector<std::string> CSCGEMMatcher::esDiffToSlopeME1aFiles_
private

Definition at line 138 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ esDiffToSlopeME1bFiles_

std::vector<std::string> CSCGEMMatcher::esDiffToSlopeME1bFiles_
private

Definition at line 139 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ esDiffToSlopeME21Files_

std::vector<std::string> CSCGEMMatcher::esDiffToSlopeME21Files_
private

Definition at line 140 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ gem_csc_slope_corr_L1_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_corr_L1_ME11_even_
private

Definition at line 148 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_corr_L1_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_corr_L1_ME11_odd_
private

Definition at line 150 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_corr_L2_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_corr_L2_ME11_even_
private

Definition at line 149 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_corr_L2_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_corr_L2_ME11_odd_
private

Definition at line 151 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_cosi_2to1_L1_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_2to1_L1_ME11_even_
private

Definition at line 143 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and mitigatedSlopeByConsistency().

◆ gem_csc_slope_cosi_2to1_L1_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_2to1_L1_ME11_odd_
private

Definition at line 145 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and mitigatedSlopeByConsistency().

◆ gem_csc_slope_cosi_3to1_L1_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_3to1_L1_ME11_even_
private

Definition at line 144 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and mitigatedSlopeByConsistency().

◆ gem_csc_slope_cosi_3to1_L1_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_3to1_L1_ME11_odd_
private

Definition at line 146 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and mitigatedSlopeByConsistency().

◆ gem_csc_slope_cosi_corr_L1_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_corr_L1_ME11_even_
private

Definition at line 153 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_cosi_corr_L1_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_corr_L1_ME11_odd_
private

Definition at line 155 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_cosi_corr_L2_ME11_even_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_corr_L2_ME11_even_
private

Definition at line 154 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gem_csc_slope_cosi_corr_L2_ME11_odd_

std::unique_ptr<CSCLUTReader> CSCGEMMatcher::gem_csc_slope_cosi_corr_L2_ME11_odd_
private

Definition at line 156 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and CSCGEMSlopeCorrector().

◆ gemCscSlopeCorrectionFiles_

std::vector<std::string> CSCGEMMatcher::gemCscSlopeCorrectionFiles_
private

Definition at line 135 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ gemCscSlopeCosiCorrectionFiles_

std::vector<std::string> CSCGEMMatcher::gemCscSlopeCosiCorrectionFiles_
private

Definition at line 137 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ gemCscSlopeCosiFiles_

std::vector<std::string> CSCGEMMatcher::gemCscSlopeCosiFiles_
private

Definition at line 136 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher().

◆ isEven_

bool CSCGEMMatcher::isEven_
private

Definition at line 119 of file CSCGEMMatcher.h.

Referenced by calculateGEMCSCBending(), CSCGEMMatcher(), and matchedClusterLocHS().

◆ matchWithHS_

bool CSCGEMMatcher::matchWithHS_
private

Definition at line 124 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchingClustersLoc().

◆ maxDeltaBXALCTGEM_

unsigned CSCGEMMatcher::maxDeltaBXALCTGEM_
private

Definition at line 121 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchingClustersBX().

◆ maxDeltaBXCLCTGEM_

unsigned CSCGEMMatcher::maxDeltaBXCLCTGEM_
private

Definition at line 122 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchingClustersBX().

◆ maxDeltaHsEven_

unsigned CSCGEMMatcher::maxDeltaHsEven_
private

Definition at line 126 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchedClusterLocHS().

◆ maxDeltaHsEvenME1a_

unsigned CSCGEMMatcher::maxDeltaHsEvenME1a_
private

Definition at line 128 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchedClusterLocHS().

◆ maxDeltaHsOdd_

unsigned CSCGEMMatcher::maxDeltaHsOdd_
private

Definition at line 127 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchedClusterLocHS().

◆ maxDeltaHsOddME1a_

unsigned CSCGEMMatcher::maxDeltaHsOddME1a_
private

Definition at line 129 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), and matchedClusterLocHS().

◆ mitigateSlopeByCosi_

bool CSCGEMMatcher::mitigateSlopeByCosi_
private

Definition at line 132 of file CSCGEMMatcher.h.

Referenced by CSCGEMMatcher(), CSCGEMSlopeCorrector(), and matchedClusterLocES().

◆ ring_

unsigned CSCGEMMatcher::ring_
private

Definition at line 117 of file CSCGEMMatcher.h.

◆ station_

unsigned CSCGEMMatcher::station_
private
change_name.diff
diff
Definition: change_name.py:13
CSCALCTDigi::getBX
uint16_t getBX() const
return BX - five low bits of BXN counter tagged by the ALCT
Definition: CSCALCTDigi.h:73
CSCGEMMatcher::gem_csc_slope_cosi_2to1_L1_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_2to1_L1_ME11_even_
Definition: CSCGEMMatcher.h:143
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:190
CSCGEMMatcher::CSCGEMSlopeCorrector
int CSCGEMSlopeCorrector(const bool isL1orCopad, const int cscSlope) const
Definition: CSCGEMMatcher.cc:478
CSCGEMMatcher::maxDeltaHsEven_
unsigned maxDeltaHsEven_
Definition: CSCGEMMatcher.h:126
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
CSCGEMMatcher::maxDeltaBXCLCTGEM_
unsigned maxDeltaBXCLCTGEM_
Definition: CSCGEMMatcher.h:122
CSCGEMMatcher::mitigatedSlopeByConsistency
uint16_t mitigatedSlopeByConsistency(const CSCCLCTDigi &clct) const
Definition: CSCGEMMatcher.cc:414
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMInternalCluster::getKeyStripME1a
uint16_t getKeyStripME1a(int n=2) const
Definition: GEMInternalCluster.cc:164
CSCGEMMatcher::gem_csc_slope_corr_L1_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_corr_L1_ME11_even_
Definition: CSCGEMMatcher.h:148
svgfig.window
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
CSCGEMMatcher::es_diff_slope_L1_ME21_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME21_odd_
Definition: CSCGEMMatcher.h:173
CSCGEMMatcher::maxDeltaBXALCTGEM_
unsigned maxDeltaBXALCTGEM_
Definition: CSCGEMMatcher.h:121
CSCGEMMatcher::matchingClustersBXLoc
void matchingClustersBXLoc(const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
Definition: CSCGEMMatcher.cc:328
CSCGEMMatcher::chamber_
unsigned chamber_
Definition: CSCGEMMatcher.h:118
CSCGEMMatcher::gem_csc_slope_corr_L2_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_corr_L2_ME11_even_
Definition: CSCGEMMatcher.h:149
CSCGEMMatcher::es_diff_slope_L1_ME21_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME21_even_
Definition: CSCGEMMatcher.h:170
CSCGEMMatcher::gemCscSlopeCorrectionFiles_
std::vector< std::string > gemCscSlopeCorrectionFiles_
Definition: CSCGEMMatcher.h:135
CSCGEMMatcher::es_diff_slope_L2_ME1b_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME1b_even_
Definition: CSCGEMMatcher.h:159
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
CSCCLCTDigi::getKeyStrip
uint16_t getKeyStrip(const uint16_t n=2) const
Definition: CSCCLCTDigi.cc:99
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
CSCGEMMatcher::gemCscSlopeCosiCorrectionFiles_
std::vector< std::string > gemCscSlopeCosiCorrectionFiles_
Definition: CSCGEMMatcher.h:137
CSCGEMMatcher::maxDeltaHsEvenME1a_
unsigned maxDeltaHsEvenME1a_
Definition: CSCGEMMatcher.h:128
CSCGEMMatcher::endcap_
unsigned endcap_
Definition: CSCGEMMatcher.h:115
CSCGEMMatcher::isEven_
bool isEven_
Definition: CSCGEMMatcher.h:119
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition: GetRecoTauVFromDQM_MC_cff.py:38
CSCGEMMatcher::es_diff_slope_L2_ME21_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME21_even_
Definition: CSCGEMMatcher.h:171
CSCALCTDigi::getKeyWG
uint16_t getKeyWG() const
return key wire group
Definition: CSCALCTDigi.h:67
CSCCLCTDigi::getBend
uint16_t getBend() const
Definition: CSCCLCTDigi.h:93
CSCGEMMatcher::es_diff_slope_L2_ME1a_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME1a_even_
Definition: CSCGEMMatcher.h:165
GEMInternalCluster::id
GEMDetId id() const
Definition: GEMInternalCluster.h:26
reco::ceil
constexpr int32_t ceil(float num)
Definition: constexpr_cmath.h:7
CSCGEMMatcher::gemCscSlopeCosiFiles_
std::vector< std::string > gemCscSlopeCosiFiles_
Definition: CSCGEMMatcher.h:136
CSCGEMMatcher::gem_csc_slope_cosi_corr_L1_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_corr_L1_ME11_odd_
Definition: CSCGEMMatcher.h:155
tmbParams
Definition: tmbParams.py:1
CSCConstants::MAX_HALF_STRIP_ME1B
Definition: CSCConstants.h:88
CSCGEMMatcher::matchedClusterLocHS
bool matchedClusterLocHS(const CSCCLCTDigi &clct, const GEMInternalCluster &cluster) const
Definition: CSCGEMMatcher.cc:222
CSCGEMMatcher::gem_csc_slope_cosi_corr_L1_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_corr_L1_ME11_even_
Definition: CSCGEMMatcher.h:153
CSCGEMMatcher::gem_csc_slope_cosi_corr_L2_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_corr_L2_ME11_even_
Definition: CSCGEMMatcher.h:154
CSCGEMMatcher::es_diff_slope_L1_ME1b_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME1b_odd_
Definition: CSCGEMMatcher.h:161
CSCGEMMatcher::gem_csc_slope_cosi_corr_L2_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_corr_L2_ME11_odd_
Definition: CSCGEMMatcher.h:156
CSCGEMMatcher::es_diff_slope_L2_ME21_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME21_odd_
Definition: CSCGEMMatcher.h:174
CSCGEMMatcher::maxDeltaHsOdd_
unsigned maxDeltaHsOdd_
Definition: CSCGEMMatcher.h:127
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
trackerHitRTTI::isMatched
bool isMatched(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:33
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
CSCGEMMatcher::station_
unsigned station_
Definition: CSCGEMMatcher.h:116
CSCGEMMatcher::matchWithHS_
bool matchWithHS_
Definition: CSCGEMMatcher.h:124
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
createfilelist.int
int
Definition: createfilelist.py:10
CSCCLCTDigi::isValid
bool isValid() const
check CLCT validity (1 - valid CLCT)
Definition: CSCCLCTDigi.h:50
value
Definition: value.py:1
CSCGEMMatcher::gem_csc_slope_cosi_3to1_L1_ME11_even_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_3to1_L1_ME11_even_
Definition: CSCGEMMatcher.h:144
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
CSCGEMMatcher::mitigateSlopeByCosi_
bool mitigateSlopeByCosi_
Definition: CSCGEMMatcher.h:132
CSCGEMMatcher::esDiffToSlopeME1aFiles_
std::vector< std::string > esDiffToSlopeME1aFiles_
Definition: CSCGEMMatcher.h:138
CSCCLCTDigi::getSlope
uint16_t getSlope() const
return the slope
Definition: CSCCLCTDigi.h:74
CSCGEMMatcher::es_diff_slope_L2_ME1b_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME1b_odd_
Definition: CSCGEMMatcher.h:162
GEMInternalCluster::getKeyStrip
uint16_t getKeyStrip(int n=2) const
Definition: GEMInternalCluster.cc:144
CSCCLCTDigi::getBX
uint16_t getBX() const
return BX
Definition: CSCCLCTDigi.h:123
CSCGEMMatcher::matchedClusterLocES
bool matchedClusterLocES(const CSCCLCTDigi &clct, const GEMInternalCluster &cluster) const
Definition: CSCGEMMatcher.cc:259
CSCGEMMatcher::gem_csc_slope_corr_L2_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_corr_L2_ME11_odd_
Definition: CSCGEMMatcher.h:151
CSCGEMMatcher::assign_gem_csc_bending_
bool assign_gem_csc_bending_
Definition: CSCGEMMatcher.h:131
CSCGEMMatcher::gem_csc_slope_cosi_2to1_L1_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_2to1_L1_ME11_odd_
Definition: CSCGEMMatcher.h:145
CSCGEMMatcher::matchingClustersLoc
void matchingClustersLoc(const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
Definition: CSCGEMMatcher.cc:189
CSCGEMMatcher::es_diff_slope_L1_ME1a_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME1a_even_
Definition: CSCGEMMatcher.h:164
CSCGEMMatcher::maxDeltaHsOddME1a_
unsigned maxDeltaHsOddME1a_
Definition: CSCGEMMatcher.h:129
CSCGEMMatcher::matchingClustersBX
void matchingClustersBX(const CSCALCTDigi &alct, const GEMInternalClusters &clusters, GEMInternalClusters &selected) const
Definition: CSCGEMMatcher.cc:136
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
CSCALCTDigi::isValid
bool isValid() const
check ALCT validity (1 - valid ALCT)
Definition: CSCALCTDigi.h:40
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
CSCGEMMatcher::esDiffToSlopeME21Files_
std::vector< std::string > esDiffToSlopeME21Files_
Definition: CSCGEMMatcher.h:140
CSCGEMMatcher::es_diff_slope_L2_ME1a_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L2_ME1a_odd_
Definition: CSCGEMMatcher.h:168
CSCGEMMatcher::es_diff_slope_L1_ME1b_even_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME1b_even_
Definition: CSCGEMMatcher.h:158
slope
static const double slope[3]
Definition: CastorTimeSlew.cc:6
CSCGEMMatcher::gem_csc_slope_cosi_3to1_L1_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_cosi_3to1_L1_ME11_odd_
Definition: CSCGEMMatcher.h:146
CSCGEMMatcher::GEMInternalClusters
std::vector< GEMInternalCluster > GEMInternalClusters
Definition: CSCGEMMatcher.h:25
CSCCLCTDigi::getHits
const ComparatorContainer & getHits() const
Definition: CSCCLCTDigi.h:176
CSCGEMMatcher::esDiffToSlopeME1bFiles_
std::vector< std::string > esDiffToSlopeME1bFiles_
Definition: CSCGEMMatcher.h:139
CSCGEMMatcher::es_diff_slope_L1_ME1a_odd_
std::unique_ptr< CSCLUTReader > es_diff_slope_L1_ME1a_odd_
Definition: CSCGEMMatcher.h:167
CSCGEMMatcher::gem_csc_slope_corr_L1_ME11_odd_
std::unique_ptr< CSCLUTReader > gem_csc_slope_corr_L1_ME11_odd_
Definition: CSCGEMMatcher.h:150