CMS 3D CMS Logo

HICaloCompatibleTrackSelector.h
Go to the documentation of this file.
1 #ifndef HICaloCompatibleTrackSelector_H
2 #define HICaloCompatibleTrackSelector_H
3 
12 #include <utility>
13 #include <vector>
14 #include <memory>
15 #include <algorithm>
16 #include <map>
20 
29 
34 
38 
41 
42 // ROOT includes
43 #include "TF1.h"
44 
45 namespace reco {
46  namespace modules {
47 
49  public:
54 
55  private:
57  typedef reco::PFCandidateCollection::const_iterator CI;
58  typedef reco::TrackCollection::const_iterator TI;
59 
61  void produce(edm::Event& evt, const edm::EventSetup& es) override;
62 
63  void matchByDrAllowReuse(const reco::Track& trk,
65  double& bestdr,
66  double& bestpt);
67 
68  double matchPFCandToTrack(const edm::Handle<PFCandidateCollection>& pfCandidates, unsigned it, double trkPt);
69 
70  bool selectByPFCands(TI ti,
71  const edm::Handle<TrackCollection> hSrcTrack,
73  bool isPFThere);
74  bool selectByTowers(TI ti,
75  const edm::Handle<TrackCollection> hSrcTrack,
77  bool isTowerThere);
78 
85 
86  //
90  double trkCompPtMin_;
91  double trkEtaMax_;
92  double towerPtMin_;
94 
100 
106 
109 
110  // string of functional form
113 
115  std::unique_ptr<reco::TrackCollection> selTracks_;
116  std::unique_ptr<reco::TrackExtraCollection> selTrackExtras_;
117  std::unique_ptr<TrackingRecHitCollection> selHits_;
118  std::unique_ptr<std::vector<Trajectory>> selTrajs_;
119  std::unique_ptr<std::vector<const Trajectory*>> selTrajPtrs_;
120  std::unique_ptr<TrajTrackAssociationCollection> selTTAss_;
125  std::vector<reco::TrackRef> trackRefs_;
126 
127  // TF1
129  };
130 
131  } // namespace modules
132 } // namespace reco
133 
134 #endif
reco::modules::HICaloCompatibleTrackSelector::funcDeltaRTowerMatch_
std::string funcDeltaRTowerMatch_
Definition: HICaloCompatibleTrackSelector.h:111
edm::RefProd< TrackCollection >
reco::modules::HICaloCompatibleTrackSelector::trkCompPtMin_
double trkCompPtMin_
Definition: HICaloCompatibleTrackSelector.h:90
TrackExtra.h
HLT_FULL_cff.towers
towers
Definition: HLT_FULL_cff.py:36379
reco::modules::HICaloCompatibleTrackSelector::resetQuality_
bool resetQuality_
Definition: HICaloCompatibleTrackSelector.h:105
zmumugammaAnalyzer_cfi.pfCandidates
pfCandidates
Definition: zmumugammaAnalyzer_cfi.py:11
reco::modules::HICaloCompatibleTrackSelector::~HICaloCompatibleTrackSelector
~HICaloCompatibleTrackSelector() override
destructor
Definition: HICaloCompatibleTrackSelector.cc:70
reco::modules::HICaloCompatibleTrackSelector::trackRefs_
std::vector< reco::TrackRef > trackRefs_
Definition: HICaloCompatibleTrackSelector.h:125
CaloTower.h
reco::modules::HICaloCompatibleTrackSelector::srcPFCands_
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCands_
Definition: HICaloCompatibleTrackSelector.h:81
reco::modules::HICaloCompatibleTrackSelector::selectByTowers
bool selectByTowers(TI ti, const edm::Handle< TrackCollection > hSrcTrack, const edm::Handle< CaloTowerCollection > towers, bool isTowerThere)
Definition: HICaloCompatibleTrackSelector.cc:239
EDProducer.h
reco::modules::HICaloCompatibleTrackSelector
Definition: HICaloCompatibleTrackSelector.h:48
reco::modules::HICaloCompatibleTrackSelector::towerPtMin_
double towerPtMin_
Definition: HICaloCompatibleTrackSelector.h:92
PFCandidate.h
reco::modules::HICaloCompatibleTrackSelector::selTTAss_
std::unique_ptr< TrajTrackAssociationCollection > selTTAss_
Definition: HICaloCompatibleTrackSelector.h:120
modules
Definition: MuonCleanerBySegments.cc:35
edm::EDGetTokenT< reco::TrackCollection >
reco::modules::HICaloCompatibleTrackSelector::trkMatchPtMin_
double trkMatchPtMin_
Definition: HICaloCompatibleTrackSelector.h:89
reco::modules::HICaloCompatibleTrackSelector::matchPFCandToTrack
double matchPFCandToTrack(const edm::Handle< PFCandidateCollection > &pfCandidates, unsigned it, double trkPt)
Definition: HICaloCompatibleTrackSelector.cc:272
reco::modules::HICaloCompatibleTrackSelector::selTracks_
std::unique_ptr< reco::TrackCollection > selTracks_
storage
Definition: HICaloCompatibleTrackSelector.h:115
reco::modules::HICaloCompatibleTrackSelector::Point
math::XYZPoint Point
Definition: HICaloCompatibleTrackSelector.h:56
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
edm::Handle
Definition: AssociativeIterator.h:50
reco::modules::HICaloCompatibleTrackSelector::rHits_
TrackingRecHitRefProd rHits_
Definition: HICaloCompatibleTrackSelector.h:123
reco::modules::HICaloCompatibleTrackSelector::selHits_
std::unique_ptr< TrackingRecHitCollection > selHits_
Definition: HICaloCompatibleTrackSelector.h:117
reco::modules::HICaloCompatibleTrackSelector::selTrackExtras_
std::unique_ptr< reco::TrackExtraCollection > selTrackExtras_
Definition: HICaloCompatibleTrackSelector.h:116
reco::modules::HICaloCompatibleTrackSelector::selectByPFCands
bool selectByPFCands(TI ti, const edm::Handle< TrackCollection > hSrcTrack, const edm::Handle< PFCandidateCollection > pfCandidates, bool isPFThere)
Definition: HICaloCompatibleTrackSelector.cc:192
reco::modules::HICaloCompatibleTrackSelector::usePFCandMatching_
bool usePFCandMatching_
Definition: HICaloCompatibleTrackSelector.h:88
Track.h
TrackFwd.h
BeamSpot.h
reco::modules::HICaloCompatibleTrackSelector::rTrajectories_
edm::RefProd< std::vector< Trajectory > > rTrajectories_
Definition: HICaloCompatibleTrackSelector.h:124
reco::modules::HICaloCompatibleTrackSelector::qualityToSkip_
std::string qualityToSkip_
Definition: HICaloCompatibleTrackSelector.h:102
reco::Track
Definition: Track.h:27
reco::modules::HICaloCompatibleTrackSelector::copyTrajectories_
bool copyTrajectories_
copy also trajectories and trajectory->track associations
Definition: HICaloCompatibleTrackSelector.h:99
PFCluster.h
CaloTowerDefs.h
reco::modules::HICaloCompatibleTrackSelector::produce
void produce(edm::Event &evt, const edm::EventSetup &es) override
process one event
Definition: HICaloCompatibleTrackSelector.cc:72
TrajTrackAssociation.h
reco::modules::HICaloCompatibleTrackSelector::selTrajPtrs_
std::unique_ptr< std::vector< const Trajectory * > > selTrajPtrs_
Definition: HICaloCompatibleTrackSelector.h:119
reco::modules::HICaloCompatibleTrackSelector::srcTrackTrajAssoc_
edm::EDGetTokenT< TrajTrackAssociationCollection > srcTrackTrajAssoc_
Definition: HICaloCompatibleTrackSelector.h:84
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
Event.h
reco::modules::HICaloCompatibleTrackSelector::TI
reco::TrackCollection::const_iterator TI
Definition: HICaloCompatibleTrackSelector.h:58
reco::modules::HICaloCompatibleTrackSelector::minimumQuality_
std::string minimumQuality_
Definition: HICaloCompatibleTrackSelector.h:104
PFClusterFwd.h
reco::modules::HICaloCompatibleTrackSelector::srcTower_
edm::EDGetTokenT< CaloTowerCollection > srcTower_
Definition: HICaloCompatibleTrackSelector.h:82
reco::modules::HICaloCompatibleTrackSelector::rTracks_
reco::TrackRefProd rTracks_
Definition: HICaloCompatibleTrackSelector.h:121
edm::EventSetup
Definition: EventSetup.h:58
reco::modules::HICaloCompatibleTrackSelector::copyExtras_
bool copyExtras_
copy only the tracks, not extras and rechits (for AOD)
Definition: HICaloCompatibleTrackSelector.h:97
reco::modules::HICaloCompatibleTrackSelector::HICaloCompatibleTrackSelector
HICaloCompatibleTrackSelector(const edm::ParameterSet &cfg)
constructor
Definition: HICaloCompatibleTrackSelector.cc:29
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
reco::modules::HICaloCompatibleTrackSelector::applyPtDepCut_
bool applyPtDepCut_
Definition: HICaloCompatibleTrackSelector.h:87
looper.cfg
cfg
Definition: looper.py:296
CaloTowerCollection.h
PFBlock.h
VertexFwd.h
reco::modules::HICaloCompatibleTrackSelector::fCaloComp
TF1 * fCaloComp
Definition: HICaloCompatibleTrackSelector.h:128
Trajectory.h
TrackingParticle.h
reco::modules::HICaloCompatibleTrackSelector::qualityToMatch_
std::string qualityToMatch_
Definition: HICaloCompatibleTrackSelector.h:103
reco::modules::HICaloCompatibleTrackSelector::matchByDrAllowReuse
void matchByDrAllowReuse(const reco::Track &trk, const edm::Handle< CaloTowerCollection > &towers, double &bestdr, double &bestpt)
Definition: HICaloCompatibleTrackSelector.cc:353
Vertex.h
TrackingParticleFwd.h
reco::modules::HICaloCompatibleTrackSelector::funcCaloComp_
std::string funcCaloComp_
Definition: HICaloCompatibleTrackSelector.h:112
reco::modules::HICaloCompatibleTrackSelector::qualityToSet_
std::string qualityToSet_
Definition: HICaloCompatibleTrackSelector.h:101
edm::EDProducer
Definition: EDProducer.h:35
reco::modules::HICaloCompatibleTrackSelector::keepAllTracks_
bool keepAllTracks_
Definition: HICaloCompatibleTrackSelector.h:95
reco::modules::HICaloCompatibleTrackSelector::rTrackExtras_
reco::TrackExtraRefProd rTrackExtras_
Definition: HICaloCompatibleTrackSelector.h:122
reco::modules::HICaloCompatibleTrackSelector::selTrajs_
std::unique_ptr< std::vector< Trajectory > > selTrajs_
Definition: HICaloCompatibleTrackSelector.h:118
reco::modules::HICaloCompatibleTrackSelector::passMuons_
bool passMuons_
Definition: HICaloCompatibleTrackSelector.h:107
reco::modules::HICaloCompatibleTrackSelector::srcTracks_
edm::EDGetTokenT< reco::TrackCollection > srcTracks_
source collection label
Definition: HICaloCompatibleTrackSelector.h:80
ParameterSet.h
reco::modules::HICaloCompatibleTrackSelector::srcTrackTrajs_
edm::EDGetTokenT< std::vector< Trajectory > > srcTrackTrajs_
Definition: HICaloCompatibleTrackSelector.h:83
reco::modules::HICaloCompatibleTrackSelector::CI
reco::PFCandidateCollection::const_iterator CI
Definition: HICaloCompatibleTrackSelector.h:57
reco::modules::HICaloCompatibleTrackSelector::matchConeRadius_
double matchConeRadius_
Definition: HICaloCompatibleTrackSelector.h:93
reco::modules::HICaloCompatibleTrackSelector::passElectrons_
bool passElectrons_
Definition: HICaloCompatibleTrackSelector.h:108
edm::Event
Definition: Event.h:73
reco::modules::HICaloCompatibleTrackSelector::fDeltaRTowerMatch
TF1 * fDeltaRTowerMatch
Definition: HICaloCompatibleTrackSelector.h:128
reco::modules::HICaloCompatibleTrackSelector::trkEtaMax_
double trkEtaMax_
Definition: HICaloCompatibleTrackSelector.h:91