CMS 3D CMS Logo

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

#include <CSCRecHitMatcher.h>

Public Member Functions

bool areCSCRecHit2DsSame (const CSCRecHit2D &, const CSCRecHit2D &) const
 
bool areCSCSegmentsSame (const CSCSegment &, const CSCSegment &) const
 
CSCSegment bestCSCSegment (unsigned int)
 
std::set< unsigned int > chamberIdsCSCRecHit2D () const
 
std::set< unsigned int > chamberIdsCSCSegment () const
 
bool cscRecHit2DInContainer (const CSCRecHit2D &, const CSCRecHit2DContainer &) const
 
const CSCRecHit2DContainer cscRecHit2Ds () const
 
const CSCRecHit2DContainercscRecHit2DsInChamber (unsigned int) const
 
const CSCRecHit2DContainercscRecHit2DsInLayer (unsigned int) const
 
 CSCRecHitMatcher (edm::ParameterSet const &iPS, edm::ConsumesCollector &&iC)
 
bool cscSegmentInContainer (const CSCSegment &, const CSCSegmentContainer &) const
 
const CSCSegmentContainer cscSegments () const
 
const CSCSegmentContainercscSegmentsInChamber (unsigned int) const
 
GlobalPoint globalPoint (const CSCSegment &) const
 
void init (const edm::Event &e, const edm::EventSetup &eventSetup)
 
bool isCSCRecHit2DMatched (const CSCRecHit2D &) const
 
bool isCSCSegmentMatched (const CSCSegment &) const
 
std::set< unsigned int > layerIdsCSCRecHit2D () const
 
void match (const SimTrack &t, const SimVertex &v)
 do the matching More...
 
int nCSCRecHit2Ds () const
 
int nCSCRecHit2DsInChamber (unsigned int) const
 
int nCSCRecHit2DsInLayer (unsigned int) const
 
int nCSCSegments () const
 
int nCSCSegmentsInChamber (unsigned int) const
 
 ~CSCRecHitMatcher ()
 

Private Member Functions

void matchCSCRecHit2DsToSimTrack (const CSCRecHit2DCollection &)
 
void matchCSCSegmentsToSimTrack (const CSCSegmentCollection &)
 

Private Attributes

std::map< unsigned int, CSCRecHit2DContainerchamber_to_cscRecHit2D_
 
std::map< unsigned int, CSCSegmentContainerchamber_to_cscSegment_
 
std::unique_ptr< CSCDigiMatchercscDigiMatcher_
 
const CSCGeometrycscGeometry_
 
edm::ESGetToken< CSCGeometry, MuonGeometryRecordcscGeomToken_
 
edm::Handle< CSCRecHit2DCollectioncscRecHit2DH_
 
edm::EDGetTokenT< CSCRecHit2DCollectioncscRecHit2DToken_
 
edm::Handle< CSCSegmentCollectioncscSegmentH_
 
edm::EDGetTokenT< CSCSegmentCollectioncscSegmentToken_
 
std::map< unsigned int, CSCRecHit2DContainerlayer_to_cscRecHit2D_
 
int maxBXCSCRecHit2D_
 
int maxBXCSCSegment_
 
int minBXCSCRecHit2D_
 
int minBXCSCSegment_
 
CSCRecHit2DContainer no_cscRecHit2Ds_
 
CSCSegmentContainer no_cscSegments_
 
int verboseCSCRecHit2D_
 
int verboseCSCSegment_
 

Detailed Description

Definition at line 32 of file CSCRecHitMatcher.h.

Constructor & Destructor Documentation

◆ CSCRecHitMatcher()

CSCRecHitMatcher::CSCRecHitMatcher ( edm::ParameterSet const &  iPS,
edm::ConsumesCollector &&  iC 
)

Definition at line 7 of file CSCRecHitMatcher.cc.

References cscRecHitPSet::cscSegment, edm::ParameterSet::getParameter(), eostools::move(), and muonDTDigis_cfi::pset.

7  {
8  const auto& cscRecHit2D = pset.getParameter<edm::ParameterSet>("cscRecHit");
9  maxBXCSCRecHit2D_ = cscRecHit2D.getParameter<int>("maxBX");
10  minBXCSCRecHit2D_ = cscRecHit2D.getParameter<int>("minBX");
11  verboseCSCRecHit2D_ = cscRecHit2D.getParameter<int>("verbose");
12 
13  const auto& cscSegment = pset.getParameter<edm::ParameterSet>("cscSegment");
14  maxBXCSCSegment_ = cscSegment.getParameter<int>("maxBX");
15  minBXCSCSegment_ = cscSegment.getParameter<int>("minBX");
16  verboseCSCSegment_ = cscSegment.getParameter<int>("verbose");
17 
18  // make a new digi matcher
19  cscDigiMatcher_ = std::make_unique<CSCDigiMatcher>(pset, std::move(iC));
20 
21  cscRecHit2DToken_ = iC.consumes<CSCRecHit2DCollection>(cscRecHit2D.getParameter<edm::InputTag>("inputTag"));
23 
25 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
edm::EDGetTokenT< CSCRecHit2DCollection > cscRecHit2DToken_
edm::EDGetTokenT< CSCSegmentCollection > cscSegmentToken_
std::unique_ptr< CSCDigiMatcher > cscDigiMatcher_
def move(src, dest)
Definition: eostools.py:511

◆ ~CSCRecHitMatcher()

CSCRecHitMatcher::~CSCRecHitMatcher ( )
inline

Definition at line 38 of file CSCRecHitMatcher.h.

38 {}

Member Function Documentation

◆ areCSCRecHit2DsSame()

bool CSCRecHitMatcher::areCSCRecHit2DsSame ( const CSCRecHit2D l,
const CSCRecHit2D r 
) const

Definition at line 271 of file CSCRecHitMatcher.cc.

References cmsLHEtoEOSManager::l.

271  {
272  return l.localPosition() == r.localPosition();
273 }

◆ areCSCSegmentsSame()

bool CSCRecHitMatcher::areCSCSegmentsSame ( const CSCSegment l,
const CSCSegment r 
) const

Definition at line 275 of file CSCRecHitMatcher.cc.

References cmsLHEtoEOSManager::l.

275  {
276  return (l.localPosition() == r.localPosition() and l.localDirection() == r.localDirection());
277 }

◆ bestCSCSegment()

CSCSegment CSCRecHitMatcher::bestCSCSegment ( unsigned int  id)

Definition at line 279 of file CSCRecHitMatcher.cc.

References l1ctLayer2EG_cff::id.

279  {
280  CSCSegment emptySegment;
281  double chi2overNdf = 99;
282  int index = 0;
283  int foundIndex = -99;
284 
285  for (const auto& seg : chamber_to_cscSegment_[id]) {
286  double newChi2overNdf(seg.chi2() / seg.degreesOfFreedom());
287  if (newChi2overNdf < chi2overNdf) {
288  chi2overNdf = newChi2overNdf;
289  foundIndex = index;
290  }
291  ++index;
292  }
293  if (foundIndex != -99)
294  return chamber_to_cscSegment_[id][foundIndex];
295  return emptySegment;
296 }
std::map< unsigned int, CSCSegmentContainer > chamber_to_cscSegment_

◆ chamberIdsCSCRecHit2D()

std::set< unsigned int > CSCRecHitMatcher::chamberIdsCSCRecHit2D ( ) const

Definition at line 175 of file CSCRecHitMatcher.cc.

References AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.

175  {
176  std::set<unsigned int> result;
177  for (const auto& p : chamber_to_cscRecHit2D_)
178  result.insert(p.first);
179  return result;
180 }
std::map< unsigned int, CSCRecHit2DContainer > chamber_to_cscRecHit2D_

◆ chamberIdsCSCSegment()

std::set< unsigned int > CSCRecHitMatcher::chamberIdsCSCSegment ( ) const

Definition at line 182 of file CSCRecHitMatcher.cc.

References AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.

182  {
183  std::set<unsigned int> result;
184  for (const auto& p : chamber_to_cscSegment_)
185  result.insert(p.first);
186  return result;
187 }
std::map< unsigned int, CSCSegmentContainer > chamber_to_cscSegment_

◆ cscRecHit2DInContainer()

bool CSCRecHitMatcher::cscRecHit2DInContainer ( const CSCRecHit2D sg,
const CSCRecHit2DContainer c 
) const

Definition at line 231 of file CSCRecHitMatcher.cc.

References HltBtagPostValidation_cff::c.

231  {
232  bool isSame = false;
233  for (const auto& segment : c)
234  if (areCSCRecHit2DsSame(sg, segment))
235  isSame = true;
236  return isSame;
237 }
bool areCSCRecHit2DsSame(const CSCRecHit2D &, const CSCRecHit2D &) const

◆ cscRecHit2Ds()

const CSCRecHit2DContainer CSCRecHitMatcher::cscRecHit2Ds ( ) const

Definition at line 213 of file CSCRecHitMatcher.cc.

References mps_fire::result.

213  {
215  for (const auto& id : chamberIdsCSCRecHit2D()) {
216  const auto& segmentsInChamber(cscRecHit2DsInChamber(id));
217  result.insert(result.end(), segmentsInChamber.begin(), segmentsInChamber.end());
218  }
219  return result;
220 }
std::set< unsigned int > chamberIdsCSCRecHit2D() const
const CSCRecHit2DContainer & cscRecHit2DsInChamber(unsigned int) const
std::vector< CSCRecHit2D > CSCRecHit2DContainer

◆ cscRecHit2DsInChamber()

const CSCRecHit2DContainer & CSCRecHitMatcher::cscRecHit2DsInChamber ( unsigned int  detid) const

Definition at line 195 of file CSCRecHitMatcher.cc.

195  {
196  if (chamber_to_cscRecHit2D_.find(detid) == chamber_to_cscRecHit2D_.end())
197  return no_cscRecHit2Ds_;
198  return chamber_to_cscRecHit2D_.at(detid);
199 }
std::map< unsigned int, CSCRecHit2DContainer > chamber_to_cscRecHit2D_
CSCRecHit2DContainer no_cscRecHit2Ds_

◆ cscRecHit2DsInLayer()

const CSCRecHit2DContainer & CSCRecHitMatcher::cscRecHit2DsInLayer ( unsigned int  detid) const

Definition at line 189 of file CSCRecHitMatcher.cc.

189  {
190  if (layer_to_cscRecHit2D_.find(detid) == layer_to_cscRecHit2D_.end())
191  return no_cscRecHit2Ds_;
192  return layer_to_cscRecHit2D_.at(detid);
193 }
std::map< unsigned int, CSCRecHit2DContainer > layer_to_cscRecHit2D_
CSCRecHit2DContainer no_cscRecHit2Ds_

◆ cscSegmentInContainer()

bool CSCRecHitMatcher::cscSegmentInContainer ( const CSCSegment sg,
const CSCSegmentContainer c 
) const

Definition at line 239 of file CSCRecHitMatcher.cc.

References HltBtagPostValidation_cff::c.

239  {
240  bool isSame = false;
241  for (const auto& segment : c)
242  if (areCSCSegmentsSame(sg, segment))
243  isSame = true;
244  return isSame;
245 }
bool areCSCSegmentsSame(const CSCSegment &, const CSCSegment &) const

◆ cscSegments()

const CSCSegmentContainer CSCRecHitMatcher::cscSegments ( ) const

Definition at line 222 of file CSCRecHitMatcher.cc.

References mps_fire::result.

222  {
224  for (const auto& id : chamberIdsCSCSegment()) {
225  const auto& segmentsInChamber(cscSegmentsInChamber(id));
226  result.insert(result.end(), segmentsInChamber.begin(), segmentsInChamber.end());
227  }
228  return result;
229 }
const CSCSegmentContainer & cscSegmentsInChamber(unsigned int) const
std::set< unsigned int > chamberIdsCSCSegment() const
std::vector< CSCSegment > CSCSegmentContainer

◆ cscSegmentsInChamber()

const CSCSegmentContainer & CSCRecHitMatcher::cscSegmentsInChamber ( unsigned int  detid) const

Definition at line 201 of file CSCRecHitMatcher.cc.

201  {
202  if (chamber_to_cscSegment_.find(detid) == chamber_to_cscSegment_.end())
203  return no_cscSegments_;
204  return chamber_to_cscSegment_.at(detid);
205 }
std::map< unsigned int, CSCSegmentContainer > chamber_to_cscSegment_
CSCSegmentContainer no_cscSegments_

◆ globalPoint()

GlobalPoint CSCRecHitMatcher::globalPoint ( const CSCSegment c) const

Definition at line 298 of file CSCRecHitMatcher.cc.

References HltBtagPostValidation_cff::c.

298  {
299  return cscGeometry_->idToDet(c.cscDetId())->surface().toGlobal(c.localPosition());
300 }
const CSCGeometry * cscGeometry_
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
const GeomDet * idToDet(DetId) const override
Definition: CSCGeometry.cc:91

◆ init()

void CSCRecHitMatcher::init ( const edm::Event e,
const edm::EventSetup eventSetup 
)

Definition at line 27 of file CSCRecHitMatcher.cc.

References edm::EventSetup::getHandle(), and iEvent.

27  {
28  cscDigiMatcher_->init(iEvent, iSetup);
29 
32 
33  const auto& csc_geom = iSetup.getHandle(cscGeomToken_);
34  if (csc_geom.isValid()) {
35  cscGeometry_ = csc_geom.product();
36  } else {
37  edm::LogWarning("CSCSimHitMatcher") << "+++ Info: CSC geometry is unavailable. +++\n";
38  }
39 }
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
edm::EDGetTokenT< CSCRecHit2DCollection > cscRecHit2DToken_
int iEvent
Definition: GenABIO.cc:224
const CSCGeometry * cscGeometry_
edm::Handle< CSCSegmentCollection > cscSegmentH_
edm::EDGetTokenT< CSCSegmentCollection > cscSegmentToken_
std::unique_ptr< CSCDigiMatcher > cscDigiMatcher_
Log< level::Warning, false > LogWarning
edm::Handle< CSCRecHit2DCollection > cscRecHit2DH_

◆ isCSCRecHit2DMatched()

bool CSCRecHitMatcher::isCSCRecHit2DMatched ( const CSCRecHit2D thisSg) const

Definition at line 247 of file CSCRecHitMatcher.cc.

247  {
248  return cscRecHit2DInContainer(thisSg, cscRecHit2Ds());
249 }
const CSCRecHit2DContainer cscRecHit2Ds() const
bool cscRecHit2DInContainer(const CSCRecHit2D &, const CSCRecHit2DContainer &) const

◆ isCSCSegmentMatched()

bool CSCRecHitMatcher::isCSCSegmentMatched ( const CSCSegment thisSg) const

Definition at line 251 of file CSCRecHitMatcher.cc.

References dtChamberEfficiency_cfi::cscSegments.

251  {
252  return cscSegmentInContainer(thisSg, cscSegments());
253 }
const CSCSegmentContainer cscSegments() const
bool cscSegmentInContainer(const CSCSegment &, const CSCSegmentContainer &) const

◆ layerIdsCSCRecHit2D()

std::set< unsigned int > CSCRecHitMatcher::layerIdsCSCRecHit2D ( ) const

Definition at line 168 of file CSCRecHitMatcher.cc.

References AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.

168  {
169  std::set<unsigned int> result;
170  for (const auto& p : layer_to_cscRecHit2D_)
171  result.insert(p.first);
172  return result;
173 }
std::map< unsigned int, CSCRecHit2DContainer > layer_to_cscRecHit2D_

◆ match()

void CSCRecHitMatcher::match ( const SimTrack t,
const SimVertex v 
)

do the matching

Definition at line 42 of file CSCRecHitMatcher.cc.

References dtChamberEfficiency_cfi::cscSegments, submitPVValidationJobs::t, and findQualityFiles::v.

42  {
43  // match digis first
44  cscDigiMatcher_->match(t, v);
45 
46  // get the rechit collection
49 
50  // now match the rechits
53 }
void matchCSCRecHit2DsToSimTrack(const CSCRecHit2DCollection &)
T const * product() const
Definition: Handle.h:70
const CSCRecHit2DContainer cscRecHit2Ds() const
edm::Handle< CSCSegmentCollection > cscSegmentH_
const CSCSegmentContainer cscSegments() const
void matchCSCSegmentsToSimTrack(const CSCSegmentCollection &)
std::unique_ptr< CSCDigiMatcher > cscDigiMatcher_
edm::Handle< CSCRecHit2DCollection > cscRecHit2DH_

◆ matchCSCRecHit2DsToSimTrack()

void CSCRecHitMatcher::matchCSCRecHit2DsToSimTrack ( const CSCRecHit2DCollection rechits)
private

Definition at line 55 of file CSCRecHitMatcher.cc.

References CSCDetId::chamberId(), ztail::d, spr::find(), l1ctLayer2EG_cff::id, AlCaHLTBitMon_ParallelJobs::p, DetId::rawId(), and HI_PhotonSkim_cff::rechits.

55  {
57  edm::LogInfo("CSCRecHitMatcher") << "Matching simtrack to CSC rechits";
58 
59  // fetch all layerIds with digis
60  const auto& strip_ids = cscDigiMatcher_->detIdsStrip();
61  const auto& wire_ids = cscDigiMatcher_->detIdsWire();
62 
63  // merge the two collections
64  std::set<unsigned int> layer_ids;
65  layer_ids.insert(strip_ids.begin(), strip_ids.end());
66  layer_ids.insert(wire_ids.begin(), wire_ids.end());
67 
69  edm::LogInfo("CSCRecHitMatcher") << "Number of matched csc layer_ids " << layer_ids.size();
70 
71  for (const auto& id : layer_ids) {
72  CSCDetId p_id(id);
73 
74  // print all the wires in the CSCChamber
75  const auto& hit_wg(cscDigiMatcher_->wiregroupsInDetId(id));
76  if (verboseCSCRecHit2D_) {
77  edm::LogInfo("CSCRecHitMatcher") << "hit wg csc from simhit" << endl;
78  for (const auto& p : hit_wg) {
79  edm::LogInfo("CSCRecHitMatcher") << p;
80  }
81  }
82 
83  // print all the strips in the CSCChamber
84  const auto& hit_strips(cscDigiMatcher_->stripsInDetId(id));
85  if (verboseCSCRecHit2D_) {
86  edm::LogInfo("CSCRecHitMatcher") << "hit strip csc from simhit" << endl;
87  for (const auto& p : hit_strips) {
88  edm::LogInfo("CSCRecHitMatcher") << p;
89  }
90  }
91 
92  // get the rechits
93  const auto& rechits_in_det = rechits.get(p_id);
94  for (auto d = rechits_in_det.first; d != rechits_in_det.second; ++d) {
96  edm::LogInfo("CSCRecHitMatcher") << "rechit " << p_id << " " << *d;
97 
98  // does the wire number match?
99  const bool wireMatch(std::find(hit_wg.begin(), hit_wg.end(), d->hitWire()) != hit_wg.end());
100 
101  // does the strip number match?
102  bool stripMatch(false);
103  for (size_t iS = 0; iS < d->nStrips(); ++iS) {
104  if (hit_strips.find(d->channels(iS)) != hit_strips.end())
105  stripMatch = true;
106  }
107 
108  // this rechit was matched to a matching simhit
109  if (wireMatch and stripMatch) {
111  edm::LogInfo("CSCRecHitMatcher") << "\t...was matched!";
112  layer_to_cscRecHit2D_[id].push_back(*d);
113  chamber_to_cscRecHit2D_[p_id.chamberId().rawId()].push_back(*d);
114  }
115  }
116  }
117 }
std::map< unsigned int, CSCRecHit2DContainer > chamber_to_cscRecHit2D_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::map< unsigned int, CSCRecHit2DContainer > layer_to_cscRecHit2D_
d
Definition: ztail.py:151
Log< level::Info, false > LogInfo
std::unique_ptr< CSCDigiMatcher > cscDigiMatcher_

◆ matchCSCSegmentsToSimTrack()

void CSCRecHitMatcher::matchCSCSegmentsToSimTrack ( const CSCSegmentCollection cscSegments)
private

Definition at line 119 of file CSCRecHitMatcher.cc.

References dtChamberEfficiency_cfi::cscSegments, ztail::d, AlCaHLTBitMon_ParallelJobs::p, DetId::rawId(), and FastTrackerRecHitMaskProducer_cfi::recHits.

119  {
120  if (verboseCSCSegment_)
121  edm::LogInfo("CSCRecHitMatcher") << "Matching simtrack to segments";
122  // fetch all chamberIds with 2D rechits
123 
124  const auto& chamber_ids = chamberIdsCSCRecHit2D();
125  if (verboseCSCSegment_)
126  edm::LogInfo("CSCRecHitMatcher") << "Number of matched csc segments " << chamber_ids.size();
127  for (const auto& id : chamber_ids) {
128  CSCDetId p_id(id);
129 
130  // print all CSCRecHit2D in the CSCChamber
131  const auto& csc_rechits(cscRecHit2DsInChamber(id));
132  if (verboseCSCSegment_) {
133  edm::LogInfo("CSCRecHitMatcher") << "hit csc rechits" << endl;
134  for (const auto& p : csc_rechits) {
135  edm::LogInfo("CSCRecHitMatcher") << p;
136  }
137  }
138 
139  // get the segments
140  const auto& segments_in_det = cscSegments.get(p_id);
141  for (auto d = segments_in_det.first; d != segments_in_det.second; ++d) {
142  if (verboseCSCSegment_)
143  edm::LogInfo("CSCRecHitMatcher") << "segment " << p_id << " " << *d << endl;
144 
145  //access the rechits
146  const auto& recHits(d->recHits());
147 
148  int rechitsFound = 0;
149  if (verboseCSCSegment_)
150  edm::LogInfo("CSCRecHitMatcher") << recHits.size() << " csc rechits from segment " << endl;
151  for (const auto& rh : recHits) {
152  const CSCRecHit2D* cscrh(dynamic_cast<const CSCRecHit2D*>(rh));
153  if (isCSCRecHit2DMatched(*cscrh))
154  ++rechitsFound;
155  }
156  if (rechitsFound == 0)
157  continue;
158  if (verboseCSCSegment_) {
159  edm::LogInfo("CSCRecHitMatcher") << "Found " << rechitsFound << " rechits out of "
160  << cscRecHit2DsInChamber(id).size();
161  edm::LogInfo("CSCRecHitMatcher") << "\t...was matched!";
162  }
163  chamber_to_cscSegment_[p_id.rawId()].push_back(*d);
164  }
165  }
166 }
std::map< unsigned int, CSCSegmentContainer > chamber_to_cscSegment_
bool isCSCRecHit2DMatched(const CSCRecHit2D &) const
std::set< unsigned int > chamberIdsCSCRecHit2D() const
const CSCRecHit2DContainer & cscRecHit2DsInChamber(unsigned int) const
const CSCSegmentContainer cscSegments() const
d
Definition: ztail.py:151
Log< level::Info, false > LogInfo

◆ nCSCRecHit2Ds()

int CSCRecHitMatcher::nCSCRecHit2Ds ( ) const

Definition at line 255 of file CSCRecHitMatcher.cc.

References dqmiodumpmetadata::n.

255  {
256  int n = 0;
257  const auto& ids = chamberIdsCSCRecHit2D();
258  for (const auto& id : ids)
259  n += cscRecHit2DsInChamber(id).size();
260  return n;
261 }
std::set< unsigned int > chamberIdsCSCRecHit2D() const
const CSCRecHit2DContainer & cscRecHit2DsInChamber(unsigned int) const

◆ nCSCRecHit2DsInChamber()

int CSCRecHitMatcher::nCSCRecHit2DsInChamber ( unsigned int  detid) const

Definition at line 209 of file CSCRecHitMatcher.cc.

209 { return cscRecHit2DsInChamber(detid).size(); }
const CSCRecHit2DContainer & cscRecHit2DsInChamber(unsigned int) const

◆ nCSCRecHit2DsInLayer()

int CSCRecHitMatcher::nCSCRecHit2DsInLayer ( unsigned int  detid) const

Definition at line 207 of file CSCRecHitMatcher.cc.

207 { return cscRecHit2DsInLayer(detid).size(); }
const CSCRecHit2DContainer & cscRecHit2DsInLayer(unsigned int) const

◆ nCSCSegments()

int CSCRecHitMatcher::nCSCSegments ( ) const

Definition at line 263 of file CSCRecHitMatcher.cc.

References dqmiodumpmetadata::n.

263  {
264  int n = 0;
265  const auto& ids = chamberIdsCSCSegment();
266  for (const auto& id : ids)
267  n += cscSegmentsInChamber(id).size();
268  return n;
269 }
const CSCSegmentContainer & cscSegmentsInChamber(unsigned int) const
std::set< unsigned int > chamberIdsCSCSegment() const

◆ nCSCSegmentsInChamber()

int CSCRecHitMatcher::nCSCSegmentsInChamber ( unsigned int  detid) const

Definition at line 211 of file CSCRecHitMatcher.cc.

211 { return cscSegmentsInChamber(detid).size(); }
const CSCSegmentContainer & cscSegmentsInChamber(unsigned int) const

Member Data Documentation

◆ chamber_to_cscRecHit2D_

std::map<unsigned int, CSCRecHit2DContainer> CSCRecHitMatcher::chamber_to_cscRecHit2D_
private

Definition at line 107 of file CSCRecHitMatcher.h.

◆ chamber_to_cscSegment_

std::map<unsigned int, CSCSegmentContainer> CSCRecHitMatcher::chamber_to_cscSegment_
private

Definition at line 108 of file CSCRecHitMatcher.h.

◆ cscDigiMatcher_

std::unique_ptr<CSCDigiMatcher> CSCRecHitMatcher::cscDigiMatcher_
private

Definition at line 84 of file CSCRecHitMatcher.h.

◆ cscGeometry_

const CSCGeometry* CSCRecHitMatcher::cscGeometry_
private

Definition at line 93 of file CSCRecHitMatcher.h.

◆ cscGeomToken_

edm::ESGetToken<CSCGeometry, MuonGeometryRecord> CSCRecHitMatcher::cscGeomToken_
private

Definition at line 92 of file CSCRecHitMatcher.h.

◆ cscRecHit2DH_

edm::Handle<CSCRecHit2DCollection> CSCRecHitMatcher::cscRecHit2DH_
private

Definition at line 89 of file CSCRecHitMatcher.h.

◆ cscRecHit2DToken_

edm::EDGetTokenT<CSCRecHit2DCollection> CSCRecHitMatcher::cscRecHit2DToken_
private

Definition at line 86 of file CSCRecHitMatcher.h.

◆ cscSegmentH_

edm::Handle<CSCSegmentCollection> CSCRecHitMatcher::cscSegmentH_
private

Definition at line 90 of file CSCRecHitMatcher.h.

◆ cscSegmentToken_

edm::EDGetTokenT<CSCSegmentCollection> CSCRecHitMatcher::cscSegmentToken_
private

Definition at line 87 of file CSCRecHitMatcher.h.

◆ layer_to_cscRecHit2D_

std::map<unsigned int, CSCRecHit2DContainer> CSCRecHitMatcher::layer_to_cscRecHit2D_
private

Definition at line 106 of file CSCRecHitMatcher.h.

◆ maxBXCSCRecHit2D_

int CSCRecHitMatcher::maxBXCSCRecHit2D_
private

Definition at line 99 of file CSCRecHitMatcher.h.

◆ maxBXCSCSegment_

int CSCRecHitMatcher::maxBXCSCSegment_
private

Definition at line 103 of file CSCRecHitMatcher.h.

◆ minBXCSCRecHit2D_

int CSCRecHitMatcher::minBXCSCRecHit2D_
private

Definition at line 100 of file CSCRecHitMatcher.h.

◆ minBXCSCSegment_

int CSCRecHitMatcher::minBXCSCSegment_
private

Definition at line 104 of file CSCRecHitMatcher.h.

◆ no_cscRecHit2Ds_

CSCRecHit2DContainer CSCRecHitMatcher::no_cscRecHit2Ds_
private

Definition at line 110 of file CSCRecHitMatcher.h.

◆ no_cscSegments_

CSCSegmentContainer CSCRecHitMatcher::no_cscSegments_
private

Definition at line 111 of file CSCRecHitMatcher.h.

◆ verboseCSCRecHit2D_

int CSCRecHitMatcher::verboseCSCRecHit2D_
private

Definition at line 98 of file CSCRecHitMatcher.h.

◆ verboseCSCSegment_

int CSCRecHitMatcher::verboseCSCSegment_
private

Definition at line 102 of file CSCRecHitMatcher.h.