1 |
#ifndef TrackingTools_PatternTools_TrackConstraintAssociation_h
|
2 |
#define TrackingTools_PatternTools_TrackConstraintAssociation_h
|
3 |
|
4 |
#include "DataFormats/Common/interface/AssociationMap.h"
|
5 |
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
|
6 |
#include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
|
7 |
#include "DataFormats/TrackReco/interface/TrackFwd.h"
|
8 |
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
|
9 |
|
10 |
//typedef std::pair<double,double> MomentumConstraint;
|
11 |
struct MomentumConstraint {
|
12 |
MomentumConstraint(const double & f, const double & s) :momentum(f),error(s){}
|
13 |
MomentumConstraint() : momentum(0), error(0) {}
|
14 |
|
15 |
double momentum;
|
16 |
double error;
|
17 |
};
|
18 |
|
19 |
typedef std::pair<GlobalPoint,GlobalError> VertexConstraint;
|
20 |
|
21 |
typedef TrajectoryStateOnSurface TrackParamConstraint;
|
22 |
|
23 |
typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<MomentumConstraint> > > TrackMomConstraintAssociationCollection;
|
24 |
typedef TrackMomConstraintAssociationCollection::value_type TrackMomConstraintAssociation;
|
25 |
typedef edm::Ref<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRef;
|
26 |
typedef edm::RefProd<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefProd;
|
27 |
typedef edm::RefVector<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefVector;
|
28 |
|
29 |
typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<VertexConstraint> > > TrackVtxConstraintAssociationCollection;
|
30 |
typedef TrackVtxConstraintAssociationCollection::value_type TrackVtxConstraintAssociation;
|
31 |
typedef edm::Ref<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRef;
|
32 |
typedef edm::RefProd<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefProd;
|
33 |
typedef edm::RefVector<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefVector;
|
34 |
|
35 |
typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<TrackParamConstraint> > > TrackParamConstraintAssociationCollection;
|
36 |
typedef TrackParamConstraintAssociationCollection::value_type TrackParamConstraintAssociation;
|
37 |
typedef edm::Ref<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRef;
|
38 |
typedef edm::RefProd<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefProd;
|
39 |
typedef edm::RefVector<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefVector;
|
40 |
|
41 |
#endif
|