1 |
dgele |
1.1 |
#ifndef PhysicsTools_RecoAlgos_TrackWithVertexSelector_H
|
2 |
|
|
#define PhysicsTools_RecoAlgos_TrackWithVertexSelector_H
|
3 |
|
|
|
4 |
|
|
// Original Author: Giovanni Petrucciani
|
5 |
|
|
// Created: Fri May 25 10:06:02 CEST 2007
|
6 |
|
|
// $Id: TrackWithVertexSelector.h,v 1.1 2007/12/13 12:57:24 gpetrucc Exp $
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
#include "FWCore/ParameterSet/interface/ParameterSet.h"
|
10 |
|
|
#include "FWCore/ParameterSet/interface/InputTag.h"
|
11 |
|
|
#include "FWCore/Framework/interface/Event.h"
|
12 |
|
|
#include "DataFormats/TrackReco/interface/Track.h"
|
13 |
|
|
#include "DataFormats/VertexReco/interface/Vertex.h"
|
14 |
|
|
#include "DataFormats/VertexReco/interface/VertexFwd.h"
|
15 |
|
|
|
16 |
|
|
class TrackWithVertexSelector {
|
17 |
|
|
public:
|
18 |
|
|
explicit TrackWithVertexSelector(const edm::ParameterSet&);
|
19 |
|
|
~TrackWithVertexSelector();
|
20 |
|
|
bool operator()(const reco::Track &t, const edm::Event &iEvent) const ;
|
21 |
|
|
bool operator()(const reco::Track &t, const reco::VertexCollection &vtxs) const;
|
22 |
|
|
bool testTrack(const reco::Track &t) const ;
|
23 |
|
|
bool testVertices(const reco::Track &t, const reco::VertexCollection &vtxs) const ;
|
24 |
|
|
private:
|
25 |
|
|
uint32_t numberOfValidHits_;
|
26 |
|
|
uint32_t numberOfValidPixelHits_;
|
27 |
|
|
uint32_t numberOfLostHits_;
|
28 |
|
|
double normalizedChi2_;
|
29 |
|
|
double ptMin_, ptMax_, etaMin_, etaMax_;
|
30 |
|
|
double dzMax_, d0Max_;
|
31 |
|
|
|
32 |
|
|
uint32_t nVertices_;
|
33 |
|
|
edm::InputTag vertexTag_;
|
34 |
|
|
bool vtxFallback_;
|
35 |
|
|
double zetaVtx_, rhoVtx_;
|
36 |
|
|
|
37 |
|
|
typedef math::XYZPoint Point;
|
38 |
|
|
bool testPoint(const Point &point, const Point &vtx) const ;
|
39 |
|
|
};
|
40 |
|
|
|
41 |
|
|
#endif
|