CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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>
21 
30 
33 
34 // ROOT includes
35 #include "TF1.h"
36 
37 namespace reco { namespace modules {
38 
40 
41  public:
46 
47  private:
49  typedef reco::PFCandidateCollection::const_iterator CI;
50  typedef reco::TrackCollection::const_iterator TI;
51 
53  void produce( edm::Event& evt, const edm::EventSetup& es ) ;
54 
55  void matchByDrAllowReuse(const reco::Track & trk, const edm::Handle<CaloTowerCollection> & towers, double & bestdr, double & bestpt);
56 
57  double matchPFCandToTrack(const edm::Handle<PFCandidateCollection> & pfCandidates, unsigned it, double trkPt);
58 
60  bool selectByTowers(TI ti, const edm::Handle<TrackCollection> hSrcTrack, const edm::Handle<CaloTowerCollection> towers, bool isTowerThere);
61 
66 
67  //
71  double trkCompPtMin_;
72  double trkEtaMax_;
73  double towerPtMin_;
75 
81 
87 
88  bool passMuons_;
90 
91  // string of functional form
94 
96  std::auto_ptr<reco::TrackCollection> selTracks_;
97  std::auto_ptr<reco::TrackExtraCollection> selTrackExtras_;
98  std::auto_ptr< TrackingRecHitCollection> selHits_;
99  std::auto_ptr< std::vector<Trajectory> > selTrajs_;
100  std::auto_ptr< std::vector<const Trajectory *> > selTrajPtrs_;
101  std::auto_ptr< TrajTrackAssociationCollection > selTTAss_;
106  std::vector<reco::TrackRef> trackRefs_;
107 
108  // TF1
110 
111 
112  };
113 
114  }
115 }
116 
117 #endif
std::auto_ptr< TrackingRecHitCollection > selHits_
void produce(edm::Event &evt, const edm::EventSetup &es)
process one event
std::auto_ptr< reco::TrackExtraCollection > selTrackExtras_
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
reco::PFCandidateCollection::const_iterator CI
std::auto_ptr< std::vector< Trajectory > > selTrajs_
std::auto_ptr< std::vector< const Trajectory * > > selTrajPtrs_
bool selectByTowers(TI ti, const edm::Handle< TrackCollection > hSrcTrack, const edm::Handle< CaloTowerCollection > towers, bool isTowerThere)
bool copyExtras_
copy only the tracks, not extras and rechits (for AOD)
edm::RefProd< std::vector< Trajectory > > rTrajectories_
double matchPFCandToTrack(const edm::Handle< PFCandidateCollection > &pfCandidates, unsigned it, double trkPt)
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
HICaloCompatibleTrackSelector(const edm::ParameterSet &cfg)
constructor
std::auto_ptr< reco::TrackCollection > selTracks_
storage
std::auto_ptr< TrajTrackAssociationCollection > selTTAss_
bool selectByPFCands(TI ti, const edm::Handle< TrackCollection > hSrcTrack, const edm::Handle< PFCandidateCollection > pfCandidates, bool isPFThere)
void matchByDrAllowReuse(const reco::Track &trk, const edm::Handle< CaloTowerCollection > &towers, double &bestdr, double &bestpt)
edm::InputTag srcTracks_
source collection label
bool copyTrajectories_
copy also trajectories and trajectory-&gt;track associations