CMS 3D CMS Logo

AlignmentCSCBeamHaloSelector Class Reference

#include <Alignment/CommonAlignmentProducer/interface/AlignmentCSCBeamHaloSelector.h>

List of all members.

Public Types

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

Public Member Functions

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

Private Attributes

unsigned int m_minHitsPerStation
unsigned int m_minStations


Detailed Description

Definition at line 14 of file AlignmentCSCBeamHaloSelector.h.


Member Typedef Documentation

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

Definition at line 16 of file AlignmentCSCBeamHaloSelector.h.


Constructor & Destructor Documentation

AlignmentCSCBeamHaloSelector::AlignmentCSCBeamHaloSelector ( const edm::ParameterSet iConfig  ) 

constructor

Definition at line 14 of file AlignmentCSCBeamHaloSelector.cc.

References lat::endl(), m_minHitsPerStation, and m_minStations.

00015    : m_minStations(iConfig.getParameter<unsigned int>("minStations"))
00016    , m_minHitsPerStation(iConfig.getParameter<unsigned int>("minHitsPerStation"))
00017 {
00018    edm::LogInfo("AlignmentCSCBeamHaloSelector") 
00019       << "Acceptable tracks must have at least " << m_minHitsPerStation << " hits in " << m_minStations << " different CSC stations." << std::endl;
00020 }

AlignmentCSCBeamHaloSelector::~AlignmentCSCBeamHaloSelector (  ) 

destructor

Definition at line 24 of file AlignmentCSCBeamHaloSelector.cc.

00024 {}


Member Function Documentation

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

select tracks

Definition at line 29 of file AlignmentCSCBeamHaloSelector.cc.

References MuonSubdetId::CSC, CSCDetId::endcap(), m_minHitsPerStation, m_minStations, DetId::Muon, HLT_VtxMuL3::result, CSCDetId::station(), and track.

Referenced by CSCBeamHaloConfigSelector::select().

00029                                                                                        {
00030    Tracks result;
00031 
00032    for (Tracks::const_iterator track = tracks.begin();  track != tracks.end();  ++track) {
00033       std::map<int, unsigned int> station_map;
00034 
00035       for (trackingRecHit_iterator hit = (*track)->recHitsBegin();  hit != (*track)->recHitsEnd();  ++hit) {
00036          DetId id = (*hit)->geographicalId();
00037          if (id.det() == DetId::Muon  &&  id.subdetId() == MuonSubdetId::CSC) {
00038             CSCDetId cscid(id.rawId());
00039             int station = (cscid.endcap() == 1 ? 1 : -1) * cscid.station();
00040 
00041             std::map<int, unsigned int>::const_iterator station_iter = station_map.find(station);
00042             if (station_iter == station_map.end()) {
00043                station_map[station] = 0;
00044             }
00045             station_map[station]++;
00046          } // end if it's a CSC hit
00047       } // end loop over hits
00048 
00049       unsigned int stations = 0;
00050       for (std::map<int, unsigned int>::const_iterator station_iter = station_map.begin();  station_iter != station_map.end();  ++station_iter) {
00051          if (station_iter->second > m_minHitsPerStation) stations++;
00052       }
00053       if (stations >= m_minStations) {
00054          result.push_back(*track);
00055       }
00056    } // end loop over tracks
00057   
00058    return result;
00059 }


Member Data Documentation

unsigned int AlignmentCSCBeamHaloSelector::m_minHitsPerStation [private]

Definition at line 29 of file AlignmentCSCBeamHaloSelector.h.

Referenced by AlignmentCSCBeamHaloSelector(), and select().

unsigned int AlignmentCSCBeamHaloSelector::m_minStations [private]

Definition at line 28 of file AlignmentCSCBeamHaloSelector.h.

Referenced by AlignmentCSCBeamHaloSelector(), and select().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:14:27 2009 for CMSSW by  doxygen 1.5.4