CMS 3D CMS Logo

AlignmentTrackSelector.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentTrackSelector_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignmentTrackSelector_h
3 
11 #include <vector>
12 
13 namespace edm {
14  class Event;
15  class EventSetup;
16  class ParameterSet;
17 } // namespace edm
18 
19 class TrackingRecHit;
20 class SiStripRecHit1D;
21 class SiStripRecHit2D;
22 
24 public:
25  typedef std::vector<const reco::Track*> Tracks;
26 
29 
32 
34  Tracks select(const Tracks& tracks, const edm::Event& evt, const edm::EventSetup& eSetup) const;
36  bool useThisFilter();
37 
38 private:
40  Tracks basicCuts(const Tracks& tracks, const edm::Event& evt, const edm::EventSetup& eSetup) const;
42  bool detailedHitsCheck(const reco::Track* track, const edm::Event& evt, const edm::EventSetup& eSetup) const;
43  bool isHit2D(const TrackingRecHit& hit) const;
45  bool isOkCharge(const TrackingRecHit* therechit) const;
46  bool isOkChargeStripHit(const SiStripRecHit1D& siStripRecHit1D) const;
47  bool isOkChargeStripHit(const SiStripRecHit2D& siStripRecHit2D) const;
48  bool isIsolated(const TrackingRecHit* therechit, const edm::Event& evt) const;
49  bool isOkTrkQuality(const reco::Track* track) const;
50 
53 
54  //filter tracks that do not have a min # of hits taken by the Skim&Prescale workflow
55  Tracks checkPrescaledHits(const Tracks& tracks, const edm::Event& evt) const;
56 
58  struct ComparePt {
59  bool operator()(const reco::Track* t1, const reco::Track* t2) const { return t1->pt() > t2->pt(); }
60  };
62 
64  const int seedOnlyFromAbove_;
67  const bool multiplicityOnInput_;
70  const int theCharge_;
74  const bool countStereoHitAs2D_; // count hits on stereo components of GluedDet for nHitMin2D_?
75  const unsigned int nHitMin2D_;
81  const double maxHitDiffEndcaps_;
82  const double nLostHitMax_;
83  std::vector<double> RorZofFirstHitMin_;
84  std::vector<double> RorZofFirstHitMax_;
85  std::vector<double> RorZofLastHitMin_;
86  std::vector<double> RorZofLastHitMax_;
87 
88  const edm::InputTag clusterValueMapTag_; // ValueMap containing association cluster - flag
89  edm::EDGetTokenT<AliClusterValueMap> clusterValueMapToken_; // ValueMap containing association cluster - flag
90  const int minPrescaledHits_;
92 
93  std::vector<reco::TrackBase::TrackQuality> trkQualities_;
94 
95  std::vector<reco::TrackBase::TrackAlgorithm> trkSteps_;
98 };
99 
100 #endif
AlignmentTrackSelector::minMultiplicity_
const int minMultiplicity_
Definition: AlignmentTrackSelector.h:66
AlignmentTrackSelector::RorZofLastHitMin_
std::vector< double > RorZofLastHitMin_
Definition: AlignmentTrackSelector.h:85
RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
AlignmentTrackSelector::theCharge_
const int theCharge_
Definition: AlignmentTrackSelector.h:70
AlignmentTrackSelector::clusterValueMapToken_
edm::EDGetTokenT< AliClusterValueMap > clusterValueMapToken_
Definition: AlignmentTrackSelector.h:89
AlignmentTrackSelector::minHitsinBPIX_
const int minHitsinBPIX_
Definition: AlignmentTrackSelector.h:77
AlignmentTrackSelector::minHitsinENDCAPminus_
const int minHitsinENDCAPminus_
Definition: AlignmentTrackSelector.h:80
AlignmentTrackSelector::minHitChargeStrip_
const double minHitChargeStrip_
Definition: AlignmentTrackSelector.h:71
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
AlignmentTrackSelector::ptMin_
const double ptMin_
if true, cut min/maxMultiplicity on input instead of on final result
Definition: AlignmentTrackSelector.h:68
AlignmentTrackSelector::minHitsinTIB_
const int minHitsinTIB_
Definition: AlignmentTrackSelector.h:76
AlignmentTrackSelector::detailedHitsCheck
bool detailedHitsCheck(const reco::Track *track, const edm::Event &evt, const edm::EventSetup &eSetup) const
checking hit requirements beyond simple number of valid hits
Definition: AlignmentTrackSelector.cc:320
SiStripMatchedRecHit2DCollection.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
AlignmentTrackSelector::minPrescaledHits_
const int minPrescaledHits_
Definition: AlignmentTrackSelector.h:90
AlignmentTrackSelector::isOkCharge
bool isOkCharge(const TrackingRecHit *therechit) const
if valid, check for minimum charge (currently only in strip), if invalid give true
Definition: AlignmentTrackSelector.cc:512
AlignmentTrackSelector::clusterValueMapTag_
const edm::InputTag clusterValueMapTag_
Definition: AlignmentTrackSelector.h:88
AlignmentTrackSelector::RorZofFirstHitMin_
std::vector< double > RorZofFirstHitMin_
Definition: AlignmentTrackSelector.h:83
AlignmentTrackSelector::applyIterStepCheck_
bool applyIterStepCheck_
Definition: AlignmentTrackSelector.h:97
AlignmentTrackSelector::minHitsinENDCAP_
const int minHitsinENDCAP_
Definition: AlignmentTrackSelector.h:80
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
AlignmentTrackSelector::applyBasicCuts_
const bool applyBasicCuts_
Definition: AlignmentTrackSelector.h:63
AlignmentTrackSelector::applyTrkQualityCheck_
bool applyTrkQualityCheck_
Definition: AlignmentTrackSelector.h:96
AlignmentTrackSelector::minHitsinPIX_
const int minHitsinPIX_
Definition: AlignmentTrackSelector.h:77
AlignmentTrackSelector::maxMultiplicity_
const int maxMultiplicity_
Definition: AlignmentTrackSelector.h:66
AlignmentTrackSelector::isOkTrkQuality
bool isOkTrkQuality(const reco::Track *track) const
Definition: AlignmentTrackSelector.cc:742
AlignmentTrackSelector::isHit2D
bool isHit2D(const TrackingRecHit &hit) const
Definition: AlignmentTrackSelector.cc:472
AlignmentTrackSelector
Definition: AlignmentTrackSelector.h:23
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
Track.h
AlignmentTrackSelector::AlignmentTrackSelector
AlignmentTrackSelector(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
constructor
Definition: AlignmentTrackSelector.cc:33
AliClusterValueMapFwd.h
AlignmentTrackSelector::ComparePt
compare two tracks in pt (used by theNHighestPtTracks)
Definition: AlignmentTrackSelector.h:58
AlignmentTrackSelector::minHitsinTIDminus_
const int minHitsinTIDminus_
Definition: AlignmentTrackSelector.h:78
AlignmentTrackSelector::RorZofLastHitMax_
std::vector< double > RorZofLastHitMax_
Definition: AlignmentTrackSelector.h:86
reco::Track
Definition: Track.h:27
AlignmentTrackSelector::minHitsinFPIX_
const int minHitsinFPIX_
Definition: AlignmentTrackSelector.h:77
AlignmentTrackSelector::etaMax_
const double etaMax_
Definition: AlignmentTrackSelector.h:68
Event
AlignmentTrackSelector::ptMax_
const double ptMax_
Definition: AlignmentTrackSelector.h:68
EDGetToken.h
AlignmentTrackSelector::ptComparator
ComparePt ptComparator
Definition: AlignmentTrackSelector.h:61
AlignmentTrackSelector::applyNHighestPt_
const bool applyNHighestPt_
Definition: AlignmentTrackSelector.h:63
AlignmentTrackSelector::applyPrescaledHitsFilter_
const bool applyPrescaledHitsFilter_
Definition: AlignmentTrackSelector.h:91
AlignmentTrackSelector::minHitsinTEC_
const int minHitsinTEC_
Definition: AlignmentTrackSelector.h:76
AlignmentTrackSelector::multiplicityOnInput_
const bool multiplicityOnInput_
Definition: AlignmentTrackSelector.h:67
AlignmentTrackSelector::minHitsinTECplus_
const int minHitsinTECplus_
Definition: AlignmentTrackSelector.h:78
AlignmentTrackSelector::nLostHitMax_
const double nLostHitMax_
Definition: AlignmentTrackSelector.h:82
AlignmentTrackSelector::useThisFilter
bool useThisFilter()
returns if any of the Filters is used.
Definition: AlignmentTrackSelector.cc:263
AlignmentTrackSelector::applyIsolation_
const bool applyIsolation_
Definition: AlignmentTrackSelector.h:65
edm::ParameterSet
Definition: ParameterSet.h:47
AlignmentTrackSelector::isOkChargeStripHit
bool isOkChargeStripHit(const SiStripRecHit1D &siStripRecHit1D) const
Definition: AlignmentTrackSelector.cc:588
AlignmentTrackSelector::matchedrecHitsToken_
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedrecHitsToken_
Definition: AlignmentTrackSelector.h:73
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:176
ParameterSet
Definition: Functions.h:16
AlignmentTrackSelector::isIsolated
bool isIsolated(const TrackingRecHit *therechit, const edm::Event &evt) const
Definition: AlignmentTrackSelector.cc:603
AlignmentTrackSelector::minHitsinFPIXminus_
const int minHitsinFPIXminus_
Definition: AlignmentTrackSelector.h:79
AlignmentTrackSelector::pMax_
const double pMax_
Definition: AlignmentTrackSelector.h:68
AlignmentTrackSelector::RorZofFirstHitMax_
std::vector< double > RorZofFirstHitMax_
Definition: AlignmentTrackSelector.h:84
SiStripRecHit2DCollection.h
AlignmentTrackSelector::theNHighestPtTracks
Tracks theNHighestPtTracks(const Tracks &tracks) const
filter the n highest pt tracks
Definition: AlignmentTrackSelector.cc:651
AlignmentTrackSelector::minHitsinFPIXplus_
const int minHitsinFPIXplus_
Definition: AlignmentTrackSelector.h:79
AlignmentTrackSelector::basicCuts
Tracks basicCuts(const Tracks &tracks, const edm::Event &evt, const edm::EventSetup &eSetup) const
apply basic cuts on pt,eta,phi,nhit
Definition: AlignmentTrackSelector.cc:269
AlignmentTrackSelector::minHitsinTOB_
const int minHitsinTOB_
Definition: AlignmentTrackSelector.h:76
AlignmentTrackSelector::checkPrescaledHits
Tracks checkPrescaledHits(const Tracks &tracks, const edm::Event &evt) const
Definition: AlignmentTrackSelector.cc:672
edm::EventSetup
Definition: EventSetup.h:58
AlignmentTrackSelector::~AlignmentTrackSelector
~AlignmentTrackSelector()
destructor
Definition: AlignmentTrackSelector.cc:225
AlignmentTrackSelector::d0Min_
const double d0Min_
Definition: AlignmentTrackSelector.h:69
AlignmentTrackSelector::Tracks
std::vector< const reco::Track * > Tracks
Definition: AlignmentTrackSelector.h:25
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
AlignmentTrackSelector::phiMax_
const double phiMax_
Definition: AlignmentTrackSelector.h:68
AlignmentTrackSelector::dzMin_
const double dzMin_
Definition: AlignmentTrackSelector.h:69
AlignmentTrackSelector::minHitsinTIDplus_
const int minHitsinTIDplus_
Definition: AlignmentTrackSelector.h:78
AlignmentTrackSelector::phiMin_
const double phiMin_
Definition: AlignmentTrackSelector.h:68
InputTag.h
looper.cfg
cfg
Definition: looper.py:296
TrackingRecHit
Definition: TrackingRecHit.h:21
AlignmentTrackSelector::pMin_
const double pMin_
Definition: AlignmentTrackSelector.h:68
AlignmentTrackSelector::select
Tracks select(const Tracks &tracks, const edm::Event &evt, const edm::EventSetup &eSetup) const
select tracks
Definition: AlignmentTrackSelector.cc:229
AlignmentTrackSelector::maxHitDiffEndcaps_
const double maxHitDiffEndcaps_
Definition: AlignmentTrackSelector.h:81
AlignmentTrackSelector::minHitIsolation_
const double minHitIsolation_
Definition: AlignmentTrackSelector.h:71
AlignmentTrackSelector::trkSteps_
std::vector< reco::TrackBase::TrackAlgorithm > trkSteps_
Definition: AlignmentTrackSelector.h:95
AlignmentTrackSelector::countStereoHitAs2D_
const bool countStereoHitAs2D_
Definition: AlignmentTrackSelector.h:74
AlignmentTrackSelector::trkQualities_
std::vector< reco::TrackBase::TrackQuality > trkQualities_
Definition: AlignmentTrackSelector.h:93
AlignmentTrackSelector::rphirecHitsToken_
edm::EDGetTokenT< SiStripRecHit2DCollection > rphirecHitsToken_
Definition: AlignmentTrackSelector.h:72
AlignmentTrackSelector::nHitMin2D_
const unsigned int nHitMin2D_
Definition: AlignmentTrackSelector.h:75
AlignmentTrackSelector::ComparePt::operator()
bool operator()(const reco::Track *t1, const reco::Track *t2) const
Definition: AlignmentTrackSelector.h:59
AlignmentTrackSelector::seedOnlyFromAbove_
const int seedOnlyFromAbove_
Definition: AlignmentTrackSelector.h:64
AlignmentTrackSelector::nHitMax_
const double nHitMax_
Definition: AlignmentTrackSelector.h:69
AlignmentTrackSelector::etaMin_
const double etaMin_
Definition: AlignmentTrackSelector.h:68
AlignmentTrackSelector::chargeCheck_
const bool chargeCheck_
Definition: AlignmentTrackSelector.h:65
AlignmentTrackSelector::applyMultiplicityFilter_
const bool applyMultiplicityFilter_
Definition: AlignmentTrackSelector.h:63
AlignmentTrackSelector::nHitMin_
const double nHitMin_
Definition: AlignmentTrackSelector.h:69
ConsumesCollector.h
EventSetup
AlignmentTrackSelector::dzMax_
const double dzMax_
Definition: AlignmentTrackSelector.h:69
edm::Event
Definition: Event.h:73
AlignmentTrackSelector::d0Max_
const double d0Max_
Definition: AlignmentTrackSelector.h:69
AlignmentTrackSelector::minHitsinTECminus_
const int minHitsinTECminus_
Definition: AlignmentTrackSelector.h:78
AlignmentTrackSelector::chi2nMax_
const double chi2nMax_
Definition: AlignmentTrackSelector.h:69
AlignmentTrackSelector::nHighestPt_
const int nHighestPt_
Definition: AlignmentTrackSelector.h:66
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
AlignmentTrackSelector::minHitsinTID_
const int minHitsinTID_
Definition: AlignmentTrackSelector.h:76
hit
Definition: SiStripHitEffFromCalibTree.cc:88
AlignmentTrackSelector::minHitsinENDCAPplus_
const int minHitsinENDCAPplus_
Definition: AlignmentTrackSelector.h:80