CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CosmicTrackSelector.h
Go to the documentation of this file.
1 #ifndef RecoAlgos_CosmicTrackSelector_h
2 #define RecoAlgos_CosmicTrackSelector_h
3 
13 #include <utility>
14 #include <vector>
15 #include <memory>
16 #include <algorithm>
17 #include <map>
23 
31 
32 
33 namespace reco { namespace modules {
34 
36  private:
37  public:
38  // constructor
39  explicit CosmicTrackSelector( const edm::ParameterSet & cfg ) ;
40  // destructor
41  virtual ~CosmicTrackSelector() ;
42 
43  private:
45  // process one event
46  void produce( edm::Event& evt, const edm::EventSetup& es ) override;
47  // return class, or -1 if rejected
48  bool select (const reco::BeamSpot &vertexBeamSpot, const reco::Track &tk);
49  // source collection label
52  // copy only the tracks, not extras and rechits (for AOD)
54  // copy also trajectories and trajectory->track associations
58 
59  // save all the tracks
61  // do I have to set a quality bit?
64 
65  // parameters for adapted optimal cuts on chi2 and primary vertex compatibility
66  std::vector<double> res_par_;
67  double chi2n_par_;
68 
69  // Impact parameter absolute cuts
70  double max_d0_;
71  double max_z0_;
72  // Trackk parameter cuts
73  double min_pt_;
74  double max_eta_;
75  // Cut on number of valid hits
76  uint32_t min_nHit_;
77  // Cut on number of valid Pixel hits
78  uint32_t min_nPixelHit_;
79  // Cuts on numbers of layers with hits/3D hits/lost hits.
80  uint32_t min_layers_;
81  uint32_t min_3Dlayers_;
82  uint32_t max_lostLayers_;
83 
84  // storage
85  std::auto_ptr<reco::TrackCollection> selTracks_;
86  std::auto_ptr<reco::TrackExtraCollection> selTrackExtras_;
87  std::auto_ptr< TrackingRecHitCollection> selHits_;
88  std::auto_ptr< std::vector<Trajectory> > selTrajs_;
89  std::auto_ptr< std::vector<const Trajectory *> > selTrajPtrs_;
90  std::auto_ptr< TrajTrackAssociationCollection > selTTAss_;
95  std::vector<reco::TrackRef> trackRefs_;
96 
97  };
98 
99  } }
100 
101 #endif
std::auto_ptr< reco::TrackExtraCollection > selTrackExtras_
edm::EDGetTokenT< std::vector< Trajectory > > srcTraj_
TrackQuality
track quality
Definition: TrackBase.h:93
edm::RefProd< std::vector< Trajectory > > rTrajectories_
std::auto_ptr< std::vector< Trajectory > > selTrajs_
reco::TrackExtraRefProd rTrackExtras_
std::vector< reco::TrackRef > trackRefs_
edm::EDGetTokenT< reco::TrackCollection > src_
void produce(edm::Event &evt, const edm::EventSetup &es) override
edm::EDGetTokenT< reco::BeamSpot > beamspot_
TrackBase::TrackQuality qualityToSet_
std::auto_ptr< TrajTrackAssociationCollection > selTTAss_
std::auto_ptr< std::vector< const Trajectory * > > selTrajPtrs_
std::auto_ptr< TrackingRecHitCollection > selHits_
std::auto_ptr< reco::TrackCollection > selTracks_
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
bool select(const reco::BeamSpot &vertexBeamSpot, const reco::Track &tk)
CosmicTrackSelector(const edm::ParameterSet &cfg)
edm::EDGetTokenT< TrajTrackAssociationCollection > srcTass_