File indexing completed on 2023-03-17 11:14:06
0001 #ifndef __L1Trigger_VertexFinder_L1Track_h__
0002 #define __L1Trigger_VertexFinder_L1Track_h__
0003
0004 #include <vector>
0005
0006 #include "DataFormats/Common/interface/Ptr.h"
0007 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0008
0009
0010 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0011 #include "SimTracker/TrackTriggerAssociation/interface/TTClusterAssociationMap.h"
0012 #include "SimTracker/TrackTriggerAssociation/interface/TTStubAssociationMap.h"
0013
0014 namespace l1tVertexFinder {
0015
0016
0017 class L1Track {
0018 public:
0019 L1Track(const edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>>& aTrack) : track_(aTrack){};
0020 ~L1Track(){};
0021
0022 float eta() const { return track_->momentum().eta(); };
0023 float phi0() const { return track_->momentum().phi(); };
0024 float pt() const { return track_->momentum().transverse(); };
0025 float z0() const { return track_->POCA().z(); };
0026
0027
0028 float chi2dof() const { return track_->chi2Red(); };
0029
0030 unsigned int getNumStubs() const { return track_->getStubRefs().size(); }
0031
0032 const edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>>& getTTTrackPtr() const { return track_; };
0033
0034 private:
0035 edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>> track_;
0036 };
0037
0038 }
0039
0040 #endif