Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:12

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 // TTStubAssociationMap.h forgets to two needed files, so must include them here ...
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   //! Simple wrapper class for TTTrack
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     float weight() const { return weight_; };
0027     void setWeight(float w) { weight_ = w; };
0028     double MVA1() const { return track_->trkMVA1(); };  //Track Quality BDT
0029 
0030     // FIXME: Double check nPar=4 is correct
0031     float chi2dof() const { return track_->chi2Red(); };
0032 
0033     unsigned int getNumStubs() const { return track_->getStubRefs().size(); }
0034 
0035     const edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>>& getTTTrackPtr() const { return track_; };
0036 
0037   private:
0038     edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>> track_;
0039     float weight_;
0040   };
0041 
0042 }  // namespace l1tVertexFinder
0043 
0044 #endif