CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes
AlignmentCSCBeamHaloSelector Class Reference

#include <AlignmentCSCBeamHaloSelector.h>

Public Types

typedef std::vector< const
reco::Track * > 
Tracks
 

Public Member Functions

 AlignmentCSCBeamHaloSelector (const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
 constructor More...
 
Tracks select (const Tracks &tracks, const edm::Event &iEvent) const
 select tracks More...
 
 ~AlignmentCSCBeamHaloSelector ()
 destructor More...
 

Private Attributes

unsigned int m_minHitsPerStation
 
unsigned int m_minStations
 

Detailed Description

Definition at line 15 of file AlignmentCSCBeamHaloSelector.h.

Member Typedef Documentation

typedef std::vector<const reco::Track *> AlignmentCSCBeamHaloSelector::Tracks

Definition at line 17 of file AlignmentCSCBeamHaloSelector.h.

Constructor & Destructor Documentation

AlignmentCSCBeamHaloSelector::AlignmentCSCBeamHaloSelector ( const edm::ParameterSet iConfig,
edm::ConsumesCollector iC 
)

constructor

Definition at line 14 of file AlignmentCSCBeamHaloSelector.cc.

References m_minHitsPerStation, and m_minStations.

15  : m_minStations(iConfig.getParameter<unsigned int>("minStations")),
16  m_minHitsPerStation(iConfig.getParameter<unsigned int>("minHitsPerStation")) {
17  edm::LogInfo("AlignmentCSCBeamHaloSelector")
18  << "Acceptable tracks must have at least " << m_minHitsPerStation << " hits in " << m_minStations
19  << " different CSC stations." << std::endl;
20 }
Log< level::Info, false > LogInfo
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
AlignmentCSCBeamHaloSelector::~AlignmentCSCBeamHaloSelector ( )

destructor

Definition at line 24 of file AlignmentCSCBeamHaloSelector.cc.

24 {}

Member Function Documentation

AlignmentCSCBeamHaloSelector::Tracks AlignmentCSCBeamHaloSelector::select ( const Tracks tracks,
const edm::Event iEvent 
) const

select tracks

Definition at line 28 of file AlignmentCSCBeamHaloSelector.cc.

References MuonSubdetId::CSC, CSCDetId::endcap(), m_minHitsPerStation, m_minStations, DetId::Muon, mps_fire::result, relativeConstraints::station, CSCDetId::station(), mergeVDriftHistosByStation::stations, and HLT_FULL_cff::track.

Referenced by CSCBeamHaloConfigSelector::select().

29  {
30  Tracks result;
31 
32  for (auto const &track : tracks) {
33  std::map<int, unsigned int> station_map;
34 
35  for (auto const &hit : track->recHits()) {
36  DetId id = hit->geographicalId();
37  if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::CSC) {
38  CSCDetId cscid(id.rawId());
39  int station = (cscid.endcap() == 1 ? 1 : -1) * cscid.station();
40 
41  std::map<int, unsigned int>::const_iterator station_iter = station_map.find(station);
42  if (station_iter == station_map.end()) {
43  station_map[station] = 0;
44  }
45  station_map[station]++;
46  } // end if it's a CSC hit
47  } // end loop over hits
48 
49  unsigned int stations = 0;
50  for (std::map<int, unsigned int>::const_iterator station_iter = station_map.begin();
51  station_iter != station_map.end();
52  ++station_iter) {
53  if (station_iter->second > m_minHitsPerStation)
54  stations++;
55  }
56  if (stations >= m_minStations) {
57  result.push_back(track);
58  }
59  } // end loop over tracks
60 
61  return result;
62 }
auto const & tracks
cannot be loose
tuple result
Definition: mps_fire.py:311
Definition: DetId.h:17
static constexpr int CSC
Definition: MuonSubdetId.h:12
std::vector< const reco::Track * > Tracks

Member Data Documentation

unsigned int AlignmentCSCBeamHaloSelector::m_minHitsPerStation
private

Definition at line 30 of file AlignmentCSCBeamHaloSelector.h.

Referenced by AlignmentCSCBeamHaloSelector(), and select().

unsigned int AlignmentCSCBeamHaloSelector::m_minStations
private

Definition at line 29 of file AlignmentCSCBeamHaloSelector.h.

Referenced by AlignmentCSCBeamHaloSelector(), and select().