Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:31:41

0001 #ifndef TrackingTools_PatternTools_TrackConstraintAssociation_h
0002 #define TrackingTools_PatternTools_TrackConstraintAssociation_h
0003 
0004 #include "DataFormats/Common/interface/AssociationMap.h"
0005 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0006 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
0007 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0008 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0009 
0010 //typedef std::pair<double,double> MomentumConstraint;
0011 struct MomentumConstraint {
0012   MomentumConstraint(const double& f, const double& s) : momentum(f), error(s) {}
0013   MomentumConstraint() : momentum(0), error(0) {}
0014 
0015   double momentum;
0016   double error;
0017 };
0018 
0019 typedef std::pair<GlobalPoint, GlobalError> VertexConstraint;
0020 
0021 typedef TrajectoryStateOnSurface TrackParamConstraint;
0022 
0023 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection, std::vector<MomentumConstraint> > >
0024     TrackMomConstraintAssociationCollection;
0025 typedef TrackMomConstraintAssociationCollection::value_type TrackMomConstraintAssociation;
0026 typedef edm::Ref<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRef;
0027 typedef edm::RefProd<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefProd;
0028 typedef edm::RefVector<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefVector;
0029 
0030 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection, std::vector<VertexConstraint> > >
0031     TrackVtxConstraintAssociationCollection;
0032 typedef TrackVtxConstraintAssociationCollection::value_type TrackVtxConstraintAssociation;
0033 typedef edm::Ref<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRef;
0034 typedef edm::RefProd<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefProd;
0035 typedef edm::RefVector<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefVector;
0036 
0037 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection, std::vector<TrackParamConstraint> > >
0038     TrackParamConstraintAssociationCollection;
0039 typedef TrackParamConstraintAssociationCollection::value_type TrackParamConstraintAssociation;
0040 typedef edm::Ref<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRef;
0041 typedef edm::RefProd<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefProd;
0042 typedef edm::RefVector<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefVector;
0043 
0044 #endif