1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#ifndef _PFDisplacedTrackerVertex_H
#define _PFDisplacedTrackerVertex_H
// class which contains the secondary PFRecTracks
// this dataformat will be used to create PFBlockElementNuclTrack
// \author Maxime Gouzevitch
#include "DataFormats/ParticleFlowReco/interface/PFDisplacedVertex.h"
#include "DataFormats/ParticleFlowReco/interface/PFDisplacedVertexFwd.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h"
namespace reco {
class PFDisplacedTrackerVertex {
public:
PFDisplacedTrackerVertex() {}
PFDisplacedTrackerVertex(const PFDisplacedVertexRef& nuclref, const PFRecTrackRefVector& pfRecTracks)
: displacedVertexRef_(nuclref), pfRecTracks_(pfRecTracks) {}
const PFRecTrackRefVector& pfRecTracks() const { return pfRecTracks_; }
const bool isIncomingTrack(const reco::PFRecTrackRef originalTrack) const {
reco::TrackBaseRef trackBaseRef(originalTrack->trackRef());
return displacedVertexRef_->isIncomingTrack(trackBaseRef);
}
const bool isOutgoingTrack(const reco::PFRecTrackRef originalTrack) const {
reco::TrackBaseRef trackBaseRef(originalTrack->trackRef());
return displacedVertexRef_->isOutgoingTrack(trackBaseRef);
}
const PFDisplacedVertexRef& displacedVertexRef() const { return displacedVertexRef_; }
private:
// Reference to the initial DisplacedTrackerVertex
PFDisplacedVertexRef displacedVertexRef_;
// Collection of the secondary PFRecTracks
PFRecTrackRefVector pfRecTracks_;
};
/// collection of DisplacedTrackerVertexs
typedef std::vector<PFDisplacedTrackerVertex> PFDisplacedTrackerVertexCollection;
/// persistent reference to a DisplacedTrackerVertex
typedef edm::Ref<PFDisplacedTrackerVertexCollection> PFDisplacedTrackerVertexRef;
/// vector of reference to Track in the same collection
typedef edm::RefVector<PFDisplacedTrackerVertexCollection> PFDisplacedTrackerVertexRefVector;
} // namespace reco
#endif
|