CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/TrackingTools/PatternTools/interface/TrackConstraintAssociation.h

Go to the documentation of this file.
00001 #ifndef TrackingTools_PatternTools_TrackConstraintAssociation_h
00002 #define TrackingTools_PatternTools_TrackConstraintAssociation_h
00003 
00004 #include "DataFormats/Common/interface/AssociationMap.h"
00005 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00006 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00007 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00008 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00009 
00010 //typedef std::pair<double,double> MomentumConstraint;
00011 struct MomentumConstraint {
00012   MomentumConstraint(const double & f, const double & s) :momentum(f),error(s){}
00013   MomentumConstraint() : momentum(0), error(0) {}
00014   
00015   double momentum;
00016   double error;
00017 };
00018 
00019 typedef std::pair<GlobalPoint,GlobalError> VertexConstraint;
00020 
00021 typedef TrajectoryStateOnSurface TrackParamConstraint;
00022 
00023 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<MomentumConstraint> > > TrackMomConstraintAssociationCollection;
00024 typedef TrackMomConstraintAssociationCollection::value_type TrackMomConstraintAssociation;
00025 typedef edm::Ref<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRef;
00026 typedef edm::RefProd<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefProd;
00027 typedef edm::RefVector<TrackMomConstraintAssociationCollection> TrackMomConstraintAssociationRefVector;
00028 
00029 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<VertexConstraint> > > TrackVtxConstraintAssociationCollection;
00030 typedef TrackVtxConstraintAssociationCollection::value_type TrackVtxConstraintAssociation;
00031 typedef edm::Ref<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRef;
00032 typedef edm::RefProd<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefProd;
00033 typedef edm::RefVector<TrackVtxConstraintAssociationCollection> TrackVtxConstraintAssociationRefVector;
00034 
00035 typedef edm::AssociationMap<edm::OneToOne<reco::TrackCollection,std::vector<TrackParamConstraint> > > TrackParamConstraintAssociationCollection;
00036 typedef TrackParamConstraintAssociationCollection::value_type TrackParamConstraintAssociation;
00037 typedef edm::Ref<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRef;
00038 typedef edm::RefProd<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefProd;
00039 typedef edm::RefVector<TrackParamConstraintAssociationCollection> TrackParamConstraintAssociationRefVector;
00040 
00041 #endif